@codingame/monaco-vscode-chat-service-override 28.4.0 → 29.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 (339) hide show
  1. package/index.js +18 -12
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +300 -0
  4. package/vscode/src/vs/platform/agentHost/common/agentService.js +31 -0
  5. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +84 -0
  6. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -0
  7. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +488 -0
  8. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +424 -0
  9. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +50 -0
  10. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +202 -0
  11. package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +114 -0
  12. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +723 -0
  13. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +33 -0
  14. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
  15. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +22 -0
  16. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +13 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +29 -15
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +76 -10
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +1 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +162 -4
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +167 -4
  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.d.ts +1 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +52 -20
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +82 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +195 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +5 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +97 -88
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +4 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +5 -3
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +78 -35
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +7 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +174 -170
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +7 -4
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +12 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +118 -52
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +5 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +13 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +0 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -10
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +9 -10
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +23 -25
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +341 -196
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +79 -7
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +22 -10
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -14
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +85 -5
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +668 -214
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +10 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +306 -39
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +84 -4
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +651 -81
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -2
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +31 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +9 -20
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +11 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -142
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +11 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +44 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +25 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +297 -123
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +153 -31
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +17 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +111 -171
  98. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +1 -3
  99. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +5 -30
  100. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -186
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +4 -2
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +31 -23
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +3 -7
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +4 -16
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +18 -2
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +112 -17
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +3 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +16 -27
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +41 -19
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +7 -1
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +35 -23
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +1 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +8 -51
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +1 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +13 -8
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +29 -36
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +14 -7
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +5 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +79 -26
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +19 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +125 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +11 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +113 -82
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +18 -7
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +54 -15
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +8 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +103 -28
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +48 -37
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +28 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +62 -20
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +21 -37
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +2 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -3
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +17 -4
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +4 -1
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +43 -5
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +59 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +194 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -10
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +2 -1
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +8 -4
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +11 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +81 -50
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -18
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +2 -2
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +9 -7
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +0 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +19 -27
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -4
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +105 -172
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +80 -65
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -27
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  178. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.d.ts +16 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +70 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  181. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +20 -0
  182. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +40 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.d.ts +31 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +53 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +33 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +21 -2
  187. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +362 -18
  188. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +15 -4
  189. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +90 -43
  190. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +35 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +146 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  195. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  196. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  197. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -9
  198. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  199. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  200. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  201. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +1 -1
  202. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +33 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +200 -55
  205. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +7 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +90 -45
  207. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -2
  208. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +21 -10
  209. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +22 -16
  210. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +4 -2
  211. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +28 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +20 -16
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +68 -5
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
  221. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +57 -20
  222. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  223. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +21 -5
  224. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +171 -57
  225. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +7 -5
  226. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +206 -35
  227. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +4 -3
  228. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -7
  229. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +7 -1
  230. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +11 -3
  231. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +44 -22
  232. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +450 -301
  233. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +23 -0
  234. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +165 -0
  235. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +34 -20
  236. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +209 -144
  237. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +20 -0
  238. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +205 -0
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
  240. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +33 -0
  241. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +47 -0
  242. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +30 -0
  243. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  244. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  245. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  246. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
  247. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +191 -159
  248. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +6 -7
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +210 -233
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +19 -26
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +183 -193
  252. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -0
  253. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +75 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -5
  256. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -0
  257. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +97 -35
  258. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  259. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +16 -0
  260. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +67 -0
  261. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +2 -2
  262. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +62 -23
  263. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  264. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  265. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  266. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  267. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +3 -1
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +23 -9
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -1
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +2 -2
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +50 -9
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +3 -1
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +21 -7
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +20 -1
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +124 -1
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +20 -5
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +5 -0
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +10 -7
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +2 -1
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +46 -31
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +18 -1
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +74 -37
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +24 -14
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +1 -1
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +3 -2
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +1 -1
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +2 -0
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +5 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +1 -2
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +66 -64
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +1 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -0
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -2
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -2
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +390 -114
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +14 -0
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +21 -11
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +70 -51
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +61 -51
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +94 -76
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +19 -1
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +112 -21
  318. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +0 -53
  319. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +0 -219
  320. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +0 -89
  321. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +0 -251
  322. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -123
  323. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +0 -278
  324. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +0 -76
  325. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +0 -299
  326. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +0 -67
  327. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +0 -263
  328. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +0 -85
  329. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +0 -397
  330. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -56
  331. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +0 -26
  332. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +0 -5
  333. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +0 -30
  334. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +0 -40
  335. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +0 -28
  336. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +0 -190
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +0 -11
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -16
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -20
@@ -10,7 +10,7 @@ const GetTerminalOutputToolData = {
10
10
  id: TerminalToolId.GetTerminalOutput,
11
11
  toolReferenceName: "getTerminalOutput",
12
12
  legacyToolReferenceFullNames: ["runCommands/getTerminalOutput"],
13
- displayName: ( localize(13571, "Get Terminal Output")),
13
+ displayName: ( localize(13820, "Get Terminal Output")),
14
14
  modelDescription: `Get the output of a terminal command previously started with ${TerminalToolId.RunInTerminal}`,
15
15
  icon: Codicon.terminal,
16
16
  source: ToolDataSource.Internal,
@@ -28,8 +28,8 @@ const GetTerminalOutputToolData = {
28
28
  class GetTerminalOutputTool extends Disposable {
29
29
  async prepareToolInvocation(context, token) {
30
30
  return {
31
- invocationMessage: ( localize(13572, "Checking background terminal output")),
32
- pastTenseMessage: ( localize(13573, "Checked background terminal output"))
31
+ invocationMessage: ( localize(13821, "Checking background terminal output")),
32
+ pastTenseMessage: ( localize(13822, "Checked background terminal output"))
33
33
  };
34
34
  }
35
35
  async invoke(invocation, _countTokens, _progress, token) {
@@ -11,7 +11,7 @@ const GetTerminalSelectionToolData = {
11
11
  id: TerminalToolId.TerminalSelection,
12
12
  toolReferenceName: "terminalSelection",
13
13
  legacyToolReferenceFullNames: ["runCommands/terminalSelection"],
14
- displayName: ( localize(13574, "Get Terminal Selection")),
14
+ displayName: ( localize(13823, "Get Terminal Selection")),
15
15
  modelDescription: "Get the current selection in the active terminal.",
16
16
  source: ToolDataSource.Internal,
17
17
  icon: Codicon.terminal
@@ -23,8 +23,8 @@ let GetTerminalSelectionTool = class GetTerminalSelectionTool extends Disposable
23
23
  }
24
24
  async prepareToolInvocation(context, token) {
25
25
  return {
26
- invocationMessage: ( localize(13575, "Reading terminal selection")),
27
- pastTenseMessage: ( localize(13576, "Read terminal selection"))
26
+ invocationMessage: ( localize(13824, "Reading terminal selection")),
27
+ pastTenseMessage: ( localize(13825, "Read terminal selection"))
28
28
  };
29
29
  }
30
30
  async invoke(invocation, _countTokens, _progress, token) {
@@ -9,7 +9,7 @@ import { TerminalToolId } from './toolIds.js';
9
9
  const KillTerminalToolData = {
10
10
  id: TerminalToolId.KillTerminal,
11
11
  toolReferenceName: "killTerminal",
12
- displayName: ( localize(13577, "Kill Terminal")),
12
+ displayName: ( localize(13826, "Kill Terminal")),
13
13
  modelDescription: `Kill a terminal by its ID. Use this to clean up terminals that are no longer needed (e.g., after stopping a server or when a long-running task completes). The terminal ID is returned by ${TerminalToolId.RunInTerminal} when isBackground=true.`,
14
14
  icon: Codicon.terminal,
15
15
  source: ToolDataSource.Internal,
@@ -27,8 +27,8 @@ const KillTerminalToolData = {
27
27
  class KillTerminalTool extends Disposable {
28
28
  async prepareToolInvocation(_context, _token) {
29
29
  return {
30
- invocationMessage: ( localize(13578, "Killing terminal")),
31
- pastTenseMessage: ( localize(13579, "Killed terminal"))
30
+ invocationMessage: ( localize(13827, "Killing terminal")),
31
+ pastTenseMessage: ( localize(13828, "Killed terminal"))
32
32
  };
33
33
  }
34
34
  async invoke(invocation, _countTokens, _progress, _token) {
@@ -88,14 +88,13 @@ export declare class OutputMonitor extends Disposable implements IOutputMonitor
88
88
  * work autonomously from start to finish.
89
89
  */
90
90
  private _isAutopilotMode;
91
- private _normalizeAutoReplyInput;
92
- private _extractExplicitInputFromPrompt;
93
91
  private _selectAndHandleOption;
94
92
  private _requestFreeFormTerminalInput;
95
93
  private _confirmRunInTerminal;
96
94
  private _showInstance;
97
95
  private _createElicitationPart;
98
96
  private _getLanguageModel;
97
+ private _safeSelectLanguageModels;
99
98
  }
100
99
  export declare function matchTerminalPromptOption(options: readonly string[], suggestedOption: string): {
101
100
  option: string | undefined;
@@ -194,23 +194,24 @@ let OutputMonitor = class OutputMonitor extends Disposable {
194
194
  };
195
195
  }
196
196
  const isTask = this._execution.task !== undefined;
197
- const isTaskInactive = this._execution.isActive ? !(await this._execution.isActive()) : true;
198
- if (isTask && isTaskInactive && detectsVSCodeTaskFinishMessage(output)) {
199
- this._logService.trace(
200
- "OutputMonitor: Idle -> VS Code task finish message detected for inactive task, stopping"
201
- );
197
+ if (isTask && detectsVSCodeTaskFinishMessage(output)) {
198
+ this._logService.trace("OutputMonitor: Idle -> VS Code task finish message detected, stopping");
202
199
  return {
203
200
  shouldContinuePollling: false,
204
201
  output
205
202
  };
206
203
  }
207
- if ((!isTask || !isTaskInactive) && detectsGenericPressAnyKeyPattern(output)) {
204
+ if (!isTask && detectsGenericPressAnyKeyPattern(output)) {
208
205
  this._logService.trace("OutputMonitor: Idle -> generic \"press any key\" detected");
209
- if (this._isAutopilotMode()) {
210
- this._logService.trace("OutputMonitor: Autopilot mode -> auto-replying to \"press any key\"");
211
- await this._execution.instance.sendText("", true);
206
+ const autoReply = this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoReplyToPrompts) || this._isAutopilotMode();
207
+ if (autoReply) {
208
+ this._logService.trace(
209
+ "OutputMonitor: Auto-reply enabled -> not showing free-form prompt for \"press any key\", stopping"
210
+ );
211
+ this._cleanupIdleInputListener();
212
212
  return {
213
- shouldContinuePollling: true
213
+ shouldContinuePollling: false,
214
+ output
214
215
  };
215
216
  }
216
217
  this._logService.trace("OutputMonitor: Requesting free-form input for \"press any key\"");
@@ -275,18 +276,15 @@ let OutputMonitor = class OutputMonitor extends Disposable {
275
276
  };
276
277
  }
277
278
  const autoReply = this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoReplyToPrompts) || this._isAutopilotMode();
278
- if (autoReply && !this._isSensitivePrompt(confirmationPrompt.prompt)) {
279
- const explicitInput = confirmationPrompt.suggestedInput ?? this._extractExplicitInputFromPrompt(confirmationPrompt.prompt);
280
- const normalizedInput = this._normalizeAutoReplyInput(explicitInput);
281
- if (normalizedInput !== undefined) {
282
- this._logService.trace("OutputMonitor: Auto-replying to free-form prompt");
283
- await this._execution.instance.sendText(normalizedInput, true);
284
- this._outputMonitorTelemetryCounters.inputToolAutoAcceptCount++;
285
- this._outputMonitorTelemetryCounters.inputToolAutoChars += normalizedInput.length;
286
- return {
287
- shouldContinuePollling: true
288
- };
289
- }
279
+ if (autoReply) {
280
+ this._logService.trace(
281
+ "OutputMonitor: Auto-reply enabled -> not propagating free-form prompt, stopping"
282
+ );
283
+ this._cleanupIdleInputListener();
284
+ return {
285
+ shouldContinuePollling: false,
286
+ output
287
+ };
290
288
  }
291
289
  this._cleanupIdleInputListener();
292
290
  this._outputMonitorTelemetryCounters.inputToolFreeFormInputShownCount++;
@@ -590,35 +588,6 @@ let OutputMonitor = class OutputMonitor extends Disposable {
590
588
  const request = model?.getRequests().at(-1);
591
589
  return request?.modeInfo?.permissionLevel === ChatPermissionLevel.Autopilot;
592
590
  }
593
- _normalizeAutoReplyInput(input) {
594
- if (!input) {
595
- return undefined;
596
- }
597
- const trimmed = input.trim();
598
- if (!trimmed) {
599
- return undefined;
600
- }
601
- const lowered = trimmed.toLowerCase();
602
- if (lowered === "\\r" || lowered === "\\n" || lowered === "enter" || lowered === "return") {
603
- return "";
604
- }
605
- return trimmed;
606
- }
607
- _extractExplicitInputFromPrompt(prompt) {
608
- const normalizedPrompt = prompt.trim();
609
- if (!normalizedPrompt) {
610
- return undefined;
611
- }
612
- const directCommandMatch = normalizedPrompt.match(/\b(?:type|enter|input)\s+["'`]([^"'`]+)["'`]/i);
613
- if (directCommandMatch?.[1]) {
614
- return directCommandMatch[1];
615
- }
616
- const bareCommandMatch = normalizedPrompt.match(/\b(?:type|enter|input)\s+([\w.-]+)\b/i);
617
- if (bareCommandMatch?.[1]) {
618
- return bareCommandMatch[1];
619
- }
620
- return undefined;
621
- }
622
591
  async _selectAndHandleOption(confirmationPrompt, token) {
623
592
  if (!confirmationPrompt?.options.length) {
624
593
  return undefined;
@@ -626,7 +595,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
626
595
  const autoReply = this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoReplyToPrompts) || this._isAutopilotMode();
627
596
  let model = this._chatWidgetService.getWidgetsByLocations(ChatAgentLocation.Chat)[0]?.input.currentLanguageModel;
628
597
  if (model) {
629
- const models = await this._languageModelsService.selectLanguageModels({
598
+ const models = await this._safeSelectLanguageModels({
630
599
  vendor: "copilot",
631
600
  family: model.replaceAll("copilot/", "")
632
601
  });
@@ -714,11 +683,11 @@ let OutputMonitor = class OutputMonitor extends Disposable {
714
683
  const {
715
684
  promise: userPrompt,
716
685
  part
717
- } = this._createElicitationPart(token, execution.sessionResource, ( new MarkdownString(( localize(13580, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
718
- 13581,
686
+ } = this._createElicitationPart(token, execution.sessionResource, ( new MarkdownString(( localize(13829, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
687
+ 13830,
719
688
  "{0}\nPlease provide the required input to the terminal.\n\n",
720
689
  confirmationPrompt.prompt
721
- )))), "", ( localize(13582, "Focus terminal")), undefined, () => {
690
+ )))), "", ( localize(13831, "Focus terminal")), undefined, () => {
722
691
  this._showInstance(execution.instance.instanceId);
723
692
  return focusTerminalSelection;
724
693
  });
@@ -771,13 +740,13 @@ let OutputMonitor = class OutputMonitor extends Disposable {
771
740
  const {
772
741
  promise: userPrompt,
773
742
  part
774
- } = this._createElicitationPart(token, execution.sessionResource, ( new MarkdownString(( localize(13583, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
775
- 13584,
743
+ } = this._createElicitationPart(token, execution.sessionResource, ( new MarkdownString(( localize(13832, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
744
+ 13833,
776
745
  "{0}\n Do you want to send `{1}`{2} followed by `Enter` to the terminal?",
777
746
  confirmationPrompt.prompt,
778
747
  suggestedOptionValue,
779
748
  isString(suggestedOption) ? "" : suggestedOption.description ? " (" + suggestedOption.description + ")" : ""
780
- )))), "", ( localize(13585, "Allow")), ( localize(13586, "Focus Terminal")), async value => {
749
+ )))), "", ( localize(13834, "Allow")), ( localize(13835, "Focus Terminal")), async value => {
781
750
  let option = undefined;
782
751
  if (value === true) {
783
752
  option = suggestedOptionValue;
@@ -905,11 +874,42 @@ let OutputMonitor = class OutputMonitor extends Disposable {
905
874
  };
906
875
  }
907
876
  async _getLanguageModel() {
908
- const models = await this._languageModelsService.selectLanguageModels({
877
+ const fastModels = await this._safeSelectLanguageModels({
909
878
  vendor: "copilot",
910
879
  id: "copilot-fast"
911
880
  });
912
- return models.length ? models[0] : undefined;
881
+ if (fastModels.length) {
882
+ return fastModels[0];
883
+ }
884
+ const widget = this._chatWidgetService.lastFocusedWidget ?? this._chatWidgetService.getWidgetsByLocations(ChatAgentLocation.Chat)[0];
885
+ const currentModel = widget?.input.currentLanguageModel;
886
+ if (currentModel) {
887
+ const currentFamilyModels = await this._safeSelectLanguageModels({
888
+ vendor: "copilot",
889
+ family: currentModel.replaceAll("copilot/", "")
890
+ });
891
+ if (currentFamilyModels.length) {
892
+ return currentFamilyModels[0];
893
+ }
894
+ }
895
+ const copilotModels = await this._safeSelectLanguageModels({
896
+ vendor: "copilot"
897
+ });
898
+ if (copilotModels.length) {
899
+ return copilotModels[0];
900
+ }
901
+ return undefined;
902
+ }
903
+ async _safeSelectLanguageModels(selector) {
904
+ try {
905
+ return await this._languageModelsService.selectLanguageModels(selector);
906
+ } catch (error) {
907
+ this._logService.trace("OutputMonitor: selectLanguageModels failed", {
908
+ selector,
909
+ error
910
+ });
911
+ return [];
912
+ }
913
913
  }
914
914
  };
915
915
  OutputMonitor = ( __decorate([( __param(5, ILanguageModelsService)), ( __param(6, ITaskService)), ( __param(7, IChatService)), ( __param(8, IChatWidgetService)), ( __param(9, IConfigurationService)), ( __param(10, ITerminalLogService)), ( __param(11, ITerminalService))], OutputMonitor));
@@ -1001,11 +1001,13 @@ function detectsNonInteractiveHelpPattern(cursorLine) {
1001
1001
  ].some(e => e.test(cursorLine)));
1002
1002
  }
1003
1003
  const taskFinishMessages = [(
1004
- localize(13587, "Terminal will be reused by tasks, press any key to close it.")), ( localize(13588, "Terminal will be reused by tasks, press any key to close it.")), (
1005
- localize(13589, "Press any key to close the terminal.")), ( localize(13590, "Press any key to close the terminal."))];
1004
+ localize(13836, "Terminal will be reused by tasks, press any key to close it.")), ( localize(13837, "Terminal will be reused by tasks, press any key to close it.")), (
1005
+ localize(13838, "Press any key to close the terminal.")), ( localize(13839, "Press any key to close the terminal.")), (
1006
+ localize(13840, "The terminal will be reused by tasks. Press any key to close."))];
1007
+ const normalizedTaskFinishMessages = ( taskFinishMessages.map(msg => msg.replace(/[\s.,:;!?"'`()[\]{}<>\-_/\\]+/g, "").toLowerCase()));
1006
1008
  function detectsVSCodeTaskFinishMessage(cursorLine) {
1007
- const normalized = cursorLine.replace(/\s/g, "").toLowerCase();
1008
- return (taskFinishMessages.some(msg => normalized.includes(msg.replace(/\s/g, "").toLowerCase())));
1009
+ const compact = cursorLine.replace(/[\s.,:;!?"'`()[\]{}<>\-_/\\]+/g, "").toLowerCase();
1010
+ return ( normalizedTaskFinishMessages.some(msg => compact.includes(msg)));
1009
1011
  }
1010
1012
  function detectsGenericPressAnyKeyPattern(cursorLine) {
1011
1013
  if (detectsVSCodeTaskFinishMessage(cursorLine)) {
@@ -2,6 +2,7 @@ export interface IOutputAnalyzerOptions {
2
2
  readonly exitCode: number | undefined;
3
3
  readonly exitResult: string;
4
4
  readonly commandLine: string;
5
+ readonly isSandboxWrapped: boolean;
5
6
  }
6
7
  export interface IOutputAnalyzer {
7
8
  analyze(options: IOutputAnalyzerOptions): Promise<string | undefined>;
@@ -3,6 +3,7 @@ import { CountTokensCallback, IPreparedToolInvocation, IToolData, IToolInvocatio
3
3
  import { RunInTerminalTool } from "./runInTerminalTool.js";
4
4
  export declare const ConfirmTerminalCommandToolData: IToolData;
5
5
  export declare class ConfirmTerminalCommandTool extends RunInTerminalTool {
6
+ get _enableCommandLineSandboxRewriting(): boolean;
6
7
  prepareToolInvocation(context: IToolInvocationPreparationContext, token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
7
8
  invoke(invocation: IToolInvocation, countTokens: CountTokensCallback, progress: ToolProgress, token: CancellationToken): Promise<IToolResult>;
8
9
  }
@@ -7,7 +7,7 @@ import { TerminalToolId } from './toolIds.js';
7
7
 
8
8
  const ConfirmTerminalCommandToolData = {
9
9
  id: TerminalToolId.ConfirmTerminalCommand,
10
- displayName: ( localize(13591, "Confirm Terminal Command")),
10
+ displayName: ( localize(13841, "Confirm Terminal Command")),
11
11
  modelDescription: [
12
12
  "This tool allows you to get explicit user confirmation for a terminal command without executing it.",
13
13
  "",
@@ -25,7 +25,7 @@ const ConfirmTerminalCommandToolData = {
25
25
  "",
26
26
  "After confirmation, use a tool to actually execute the command."
27
27
  ].join("\n"),
28
- userDescription: ( localize(13592, "Tool for confirming terminal commands")),
28
+ userDescription: ( localize(13842, "Tool for confirming terminal commands")),
29
29
  source: ToolDataSource.Internal,
30
30
  icon: Codicon.shield,
31
31
  inputSchema: {
@@ -48,6 +48,9 @@ const ConfirmTerminalCommandToolData = {
48
48
  }
49
49
  };
50
50
  class ConfirmTerminalCommandTool extends RunInTerminalTool {
51
+ get _enableCommandLineSandboxRewriting() {
52
+ return false;
53
+ }
51
54
  async prepareToolInvocation(context, token) {
52
55
  const preparedInvocation = await super.prepareToolInvocation(context, token);
53
56
  if (preparedInvocation) {
@@ -3,6 +3,7 @@ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/l
3
3
  import { ResourceMap } from "@codingame/monaco-vscode-api/vscode/vs/base/common/map";
4
4
  import { OperatingSystem } from "@codingame/monaco-vscode-api/vscode/vs/base/common/platform";
5
5
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
6
+ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
6
7
  import { IInstantiationService, type ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
7
8
  import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service";
8
9
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
@@ -10,7 +11,7 @@ import { ITerminalProfile } from "@codingame/monaco-vscode-api/vscode/vs/platfor
10
11
  import { ITerminalLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service";
11
12
  import { IRemoteAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service";
12
13
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
13
- import { CountTokensCallback, IPreparedToolInvocation, IToolData, IToolImpl, IToolInvocation, IToolInvocationPreparationContext, IToolResult, ToolProgress } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
14
+ import { CountTokensCallback, IPreparedToolInvocation, IStreamedToolInvocation, IToolData, IToolImpl, IToolInvocation, IToolInvocationPreparationContext, IToolInvocationStreamContext, IToolResult, ToolProgress } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
14
15
  import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
15
16
  import { type ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
16
17
  import { ITerminalChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
@@ -21,6 +22,8 @@ import { type IToolTerminal } from "../toolTerminalCreator.js";
21
22
  import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
22
23
  import { IHistoryService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/history/common/history.service";
23
24
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
25
+ import { IAgentSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service";
26
+ import { ITerminalSandboxService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.service";
24
27
  export declare function createRunInTerminalToolData(accessor: ServicesAccessor): Promise<IToolData>;
25
28
  export interface IRunInTerminalInputParams {
26
29
  command: string;
@@ -28,6 +31,8 @@ export interface IRunInTerminalInputParams {
28
31
  goal: string;
29
32
  isBackground: boolean;
30
33
  timeout?: number;
34
+ requestUnsandboxedExecution?: boolean;
35
+ requestUnsandboxedExecutionReason?: string;
31
36
  }
32
37
  /**
33
38
  * Interface for accessing a running terminal execution.
@@ -50,6 +55,7 @@ export interface IActiveTerminalExecution {
50
55
  export declare class RunInTerminalTool extends Disposable implements IToolImpl {
51
56
  protected readonly _chatService: IChatService;
52
57
  private readonly _configurationService;
58
+ private readonly _fileService;
53
59
  private readonly _historyService;
54
60
  private readonly _instantiationService;
55
61
  private readonly _labelService;
@@ -59,8 +65,10 @@ export declare class RunInTerminalTool extends Disposable implements IToolImpl {
59
65
  private readonly _terminalChatService;
60
66
  private readonly _logService;
61
67
  private readonly _terminalService;
68
+ private readonly _terminalSandboxService;
62
69
  private readonly _workspaceContextService;
63
70
  private readonly _chatWidgetService;
71
+ private readonly _agentSessionsService;
64
72
  private readonly _terminalToolCreator;
65
73
  private readonly _treeSitterCommandParser;
66
74
  private readonly _telemetry;
@@ -70,7 +78,10 @@ export declare class RunInTerminalTool extends Disposable implements IToolImpl {
70
78
  private readonly _commandLineAnalyzers;
71
79
  private readonly _commandLinePresenters;
72
80
  private readonly _outputAnalyzers;
81
+ private readonly _archivedSessionListener;
73
82
  protected readonly _sessionTerminalAssociations: ResourceMap<IToolTerminal>;
83
+ protected readonly _sessionTerminalInstances: ResourceMap<Set<ITerminalInstance>>;
84
+ private readonly _terminalsBeingDisposedBySessionCleanup;
74
85
  protected readonly _osBackend: Promise<OperatingSystem>;
75
86
  private static readonly _activeExecutions;
76
87
  static getBackgroundOutput(id: string): string;
@@ -84,7 +95,16 @@ export declare class RunInTerminalTool extends Disposable implements IToolImpl {
84
95
  * @returns true if the execution was found and removed, false otherwise.
85
96
  */
86
97
  static removeExecution(id: string): boolean;
87
- constructor(_chatService: IChatService, _configurationService: IConfigurationService, _historyService: IHistoryService, _instantiationService: IInstantiationService, _labelService: ILabelService, _languageModelToolsService: ILanguageModelToolsService, _remoteAgentService: IRemoteAgentService, _storageService: IStorageService, _terminalChatService: ITerminalChatService, _logService: ITerminalLogService, _terminalService: ITerminalService, _workspaceContextService: IWorkspaceContextService, _chatWidgetService: IChatWidgetService);
98
+ /**
99
+ * Controls whether this tool wires up sandbox-specific command-line
100
+ * behavior, including both the {@link CommandLineSandboxRewriter} and the
101
+ * {@link CommandLineSandboxAnalyzer}. This is separate from
102
+ * ITerminalSandboxService.isEnabled(), which reports whether terminal
103
+ * sandboxing is currently enabled for the running window.
104
+ */
105
+ protected get _enableCommandLineSandboxRewriting(): boolean;
106
+ constructor(_chatService: IChatService, _configurationService: IConfigurationService, _fileService: IFileService, _historyService: IHistoryService, _instantiationService: IInstantiationService, _labelService: ILabelService, _languageModelToolsService: ILanguageModelToolsService, _remoteAgentService: IRemoteAgentService, _storageService: IStorageService, _terminalChatService: ITerminalChatService, _logService: ITerminalLogService, _terminalService: ITerminalService, _terminalSandboxService: ITerminalSandboxService, _workspaceContextService: IWorkspaceContextService, _chatWidgetService: IChatWidgetService, _agentSessionsService: IAgentSessionsService);
107
+ handleToolStream(context: IToolInvocationStreamContext, _token: CancellationToken): Promise<IStreamedToolInvocation | undefined>;
88
108
  prepareToolInvocation(context: IToolInvocationPreparationContext, token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
89
109
  /**
90
110
  * Returns true if the chat session's permission level (Autopilot/Bypass Approvals)
@@ -93,6 +113,13 @@ export declare class RunInTerminalTool extends Disposable implements IToolImpl {
93
113
  */
94
114
  private _isSessionAutoApproveLevel;
95
115
  invoke(invocation: IToolInvocation, _countTokens: CountTokensCallback, _progress: ToolProgress, token: CancellationToken): Promise<IToolResult>;
116
+ private _getOutputAnalyzerMessage;
117
+ private static readonly _maxImageFileSize;
118
+ /**
119
+ * Scans terminal output for file paths that point to images and reads them.
120
+ * Returns data content parts for any found images that exist on disk.
121
+ */
122
+ private _extractImagesFromOutput;
96
123
  private _handleTerminalVisibility;
97
124
  /**
98
125
  * Initializes a terminal for command execution. For foreground mode, reuses existing cached
@@ -106,6 +133,9 @@ export declare class RunInTerminalTool extends Disposable implements IToolImpl {
106
133
  private _associateProcessIdWithSession;
107
134
  private _removeProcessIdAssociation;
108
135
  private _cleanupSessionTerminals;
136
+ private _addSessionTerminalAssociation;
137
+ private _ensureArchivedSessionListener;
138
+ private _removeTerminalAssociations;
109
139
  }
110
140
  export declare class TerminalProfileFetcher {
111
141
  private readonly _configurationService;