@codingame/monaco-vscode-chat-service-override 24.3.0 → 25.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 (271) hide show
  1. package/index.js +35 -35
  2. package/package.json +5 -5
  3. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityService.d.ts → accessibility/chatAccessibilityService.d.ts} +10 -8
  4. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityService.js → accessibility/chatAccessibilityService.js} +23 -11
  5. package/vscode/src/vs/workbench/contrib/chat/browser/{chatResponseAccessibleView.d.ts → accessibility/chatResponseAccessibleView.d.ts} +6 -0
  6. package/vscode/src/vs/workbench/contrib/chat/browser/{chatResponseAccessibleView.js → accessibility/chatResponseAccessibleView.js} +38 -10
  7. package/vscode/src/vs/workbench/contrib/chat/browser/{chatTerminalOutputAccessibleView.js → accessibility/chatTerminalOutputAccessibleView.js} +1 -1
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +7 -7
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +69 -60
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +2 -12
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +3 -0
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +25 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +24 -22
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +13 -13
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +5 -5
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +48 -4
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -7
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +12 -12
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +10 -10
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +16 -19
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +4 -4
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +35 -19
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +4 -3
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +22 -17
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.d.ts +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +3 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -21
  32. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +31 -53
  33. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +61 -25
  34. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +482 -125
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +16 -13
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +84 -93
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +2 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +10 -8
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +7 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +41 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +23 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +137 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +15 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +92 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +81 -32
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +335 -102
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -2
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +47 -51
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +80 -8
  50. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentResolveService.d.ts → attachments/chatAttachmentResolveService.d.ts} +2 -2
  51. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentResolveService.js → attachments/chatAttachmentResolveService.js} +4 -4
  52. package/vscode/src/vs/workbench/contrib/chat/browser/{chatVariables.d.ts → attachments/chatVariables.d.ts} +3 -3
  53. package/vscode/src/vs/workbench/contrib/chat/browser/{chatVariables.js → attachments/chatVariables.js} +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditing → attachments}/simpleBrowserEditorOverlay.js +21 -21
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +171 -206
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditing.d.ts +1 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimeline.d.ts +2 -2
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -2
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +2 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +3 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.d.ts +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +20 -20
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +14 -14
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +3 -3
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -4
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +4 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +3 -3
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +3 -3
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +3 -3
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.d.ts +1 -1
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -4
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +10 -8
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +5 -5
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -2
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +1 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +1 -1
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +2 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +1 -1
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.d.ts +1 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +2 -2
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +5 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +18 -18
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +41 -41
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +10 -10
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +1 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +35 -35
  98. package/vscode/src/vs/workbench/contrib/chat/browser/{chatSessions.contribution.d.ts → chatSessions/chatSessions.contribution.d.ts} +7 -11
  99. package/vscode/src/vs/workbench/contrib/chat/browser/{chatSessions.contribution.js → chatSessions/chatSessions.contribution.js} +53 -106
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +18 -22
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +3 -3
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -29
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +3 -3
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +64 -64
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +22 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +90 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContextService.d.ts → contextContrib/chatContextService.d.ts} +3 -3
  111. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContextService.js → contextContrib/chatContextService.js} +1 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +7 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
  115. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  117. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +4 -4
  118. package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsConfirmationService.d.ts → tools/languageModelToolsConfirmationService.d.ts} +4 -4
  119. package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsConfirmationService.js → tools/languageModelToolsConfirmationService.js} +47 -58
  120. package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsService.d.ts → tools/languageModelToolsService.d.ts} +5 -5
  121. package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsService.js → tools/languageModelToolsService.js} +21 -21
  122. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +1 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +16 -16
  124. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  125. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownAnchorService.d.ts +2 -2
  126. package/vscode/src/vs/workbench/contrib/chat/browser/{chatLayoutService.d.ts → widget/chatLayoutService.d.ts} +1 -1
  127. package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidgetService.d.ts → widget/chatWidgetService.d.ts} +6 -2
  128. package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidgetService.js → widget/chatWidgetService.js} +27 -5
  129. package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusWidget.d.ts → widget/input/chatStatusWidget.d.ts} +4 -2
  130. package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusWidget.js → widget/input/chatStatusWidget.js} +17 -10
  131. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorContrib.js +12 -6
  132. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorHover.d.ts +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorHover.js +3 -3
  134. package/vscode/src/vs/workbench/contrib/chat/browser/{chatQuick.d.ts → widgetHosts/chatQuick.d.ts} +1 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/{chatQuick.js → widgetHosts/chatQuick.js} +4 -4
  136. package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditor.d.ts → widgetHosts/editor/chatEditor.d.ts} +4 -5
  137. package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditor.js → widgetHosts/editor/chatEditor.js} +6 -6
  138. package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewPane.d.ts → widgetHosts/viewPane/chatViewPane.d.ts} +46 -31
  139. package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewPane.js → widgetHosts/viewPane/chatViewPane.js} +258 -154
  140. package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewTitleControl.d.ts → widgetHosts/viewPane/chatViewTitleControl.d.ts} +5 -12
  141. package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewTitleControl.js → widgetHosts/viewPane/chatViewTitleControl.js} +97 -85
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +176 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +89 -0
  144. package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceImpl.d.ts → chatService/chatServiceImpl.d.ts} +16 -20
  145. package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceImpl.js → chatService/chatServiceImpl.js} +97 -151
  146. package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceTelemetry.d.ts → chatService/chatServiceTelemetry.d.ts} +4 -4
  147. package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceTelemetry.js → chatService/chatServiceTelemetry.js} +2 -2
  148. package/vscode/src/vs/workbench/contrib/chat/common/{chatCodeMapperService.d.ts → editing/chatCodeMapperService.d.ts} +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/common/{chatModelStore.d.ts → model/chatModelStore.d.ts} +2 -2
  150. package/vscode/src/vs/workbench/contrib/chat/common/{chatProgressTypes → model/chatProgressTypes}/chatToolInvocation.d.ts +2 -2
  151. package/vscode/src/vs/workbench/contrib/chat/common/{chatProgressTypes → model/chatProgressTypes}/chatToolInvocation.js +4 -4
  152. package/vscode/src/vs/workbench/contrib/chat/common/{chatSessionStore.d.ts → model/chatSessionStore.d.ts} +14 -7
  153. package/vscode/src/vs/workbench/contrib/chat/common/{chatSessionStore.js → model/chatSessionStore.js} +164 -39
  154. package/vscode/src/vs/workbench/contrib/chat/common/{chatTransferService.d.ts → model/chatTransferService.d.ts} +3 -3
  155. package/vscode/src/vs/workbench/contrib/chat/common/{chatTransferService.js → model/chatTransferService.js} +1 -1
  156. package/vscode/src/vs/workbench/contrib/chat/common/{chatSlashCommands.d.ts → participants/chatSlashCommands.d.ts} +2 -2
  157. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +25 -49
  158. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +1 -1
  159. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +2 -2
  160. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +6 -6
  162. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
  163. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +3 -3
  164. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -1
  165. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +29 -29
  166. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
  167. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +54 -54
  168. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +11 -4
  169. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +83 -18
  170. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +11 -5
  171. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -10
  172. package/vscode/src/vs/workbench/contrib/chat/common/{chatTodoListService.d.ts → tools/chatTodoListService.d.ts} +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/common/{chatTodoListService.js → tools/chatTodoListService.js} +1 -1
  174. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +1 -1
  175. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +29 -29
  176. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +2 -2
  177. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +3 -3
  178. package/vscode/src/vs/workbench/contrib/chat/common/{chatResponseResourceFileSystemProvider.d.ts → widget/chatResponseResourceFileSystemProvider.d.ts} +1 -1
  179. package/vscode/src/vs/workbench/contrib/chat/common/{chatResponseResourceFileSystemProvider.js → widget/chatResponseResourceFileSystemProvider.js} +4 -4
  180. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +5 -5
  181. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +23 -23
  183. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  184. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +1 -1
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +1 -0
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  187. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +47 -30
  188. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +1 -1
  189. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.d.ts +1 -1
  190. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  191. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +15 -1
  192. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +33 -11
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +4 -3
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +6 -5
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +1 -1
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +12 -2
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +17 -2
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +12 -2
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +10 -1
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +22 -1
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -2
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +100 -23
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +6 -6
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +2 -1
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +19 -6
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{commandLineAutoApprover.d.ts → tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts} +11 -12
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{commandLineAutoApprover.js → tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js} +83 -6
  210. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +156 -0
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +17 -2
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +1 -1
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +64 -26
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +1 -0
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +16 -8
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +31 -0
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.d.ts +1 -1
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +1 -1
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.d.ts +1 -1
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +3 -2
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +55 -23
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +3 -3
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +85 -46
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.d.ts +1 -1
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +16 -16
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.d.ts +1 -1
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +9 -9
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.d.ts +1 -1
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +16 -16
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +9 -5
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +1 -1
  241. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +0 -46
  242. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +0 -248
  243. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.d.ts +0 -36
  244. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +0 -184
  245. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsview.css +0 -19
  246. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +0 -22
  247. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +0 -229
  248. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +0 -102
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +0 -495
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +0 -64
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +0 -386
  252. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +0 -299
  253. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewPane.css +0 -142
  254. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewTitleControl.css +0 -39
  255. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatTerminalOutputAccessibleView.d.ts → accessibility/chatTerminalOutputAccessibleView.d.ts} +0 -0
  256. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → attachments/media}/simpleBrowserOverlay.css +0 -0
  257. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditing → attachments}/simpleBrowserEditorOverlay.d.ts +0 -0
  258. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatEditing/media}/chatEditingEditorOverlay.css +0 -0
  259. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatEditing/media}/chatEditorController.css +0 -0
  260. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownAnchorService.js +0 -0
  261. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatLayoutService.js → widget/chatLayoutService.js} +0 -0
  262. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEdinputInputContentProvider.d.ts → widget/input/editor/chatEditorInputContentProvider.d.ts} +0 -0
  263. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEdinputInputContentProvider.js → widget/input/editor/chatEditorInputContentProvider.js} +0 -0
  264. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorContrib.d.ts +0 -0
  265. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/editorHoverWrapper.d.ts +0 -0
  266. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/editorHoverWrapper.js +0 -0
  267. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/media/editorHoverWrapper.css +0 -0
  268. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → widget/input/media}/chatStatusWidget.css +0 -0
  269. /package/vscode/src/vs/workbench/contrib/chat/common/{chatCodeMapperService.js → editing/chatCodeMapperService.js} +0 -0
  270. /package/vscode/src/vs/workbench/contrib/chat/common/{chatModelStore.js → model/chatModelStore.js} +0 -0
  271. /package/vscode/src/vs/workbench/contrib/chat/common/{chatSlashCommands.js → participants/chatSlashCommands.js} +0 -0
@@ -13,42 +13,42 @@ import { IRemoteCodingAgentsService } from '@codingame/monaco-vscode-api/vscode/
13
13
  const extensionPoint = ExtensionsRegistry.registerExtensionPoint({
14
14
  extensionPoint: 'remoteCodingAgents',
15
15
  jsonSchema: {
16
- description: ( localize(10379, 'Contributes remote coding agent integrations to the chat widget.')),
16
+ description: ( localize(10409, 'Contributes remote coding agent integrations to the chat widget.')),
17
17
  type: 'array',
18
18
  items: {
19
19
  type: 'object',
20
20
  properties: {
21
21
  id: {
22
- description: ( localize(10380, 'A unique identifier for this item.')),
22
+ description: ( localize(10410, 'A unique identifier for this item.')),
23
23
  type: 'string',
24
24
  },
25
25
  command: {
26
26
  description: ( localize(
27
- 10381,
27
+ 10411,
28
28
  'Identifier of the command to execute. The command must be declared in the "commands" section.'
29
29
  )),
30
30
  type: 'string'
31
31
  },
32
32
  displayName: {
33
33
  description: ( localize(
34
- 10382,
34
+ 10412,
35
35
  'A user-friendly name for this item which is used for display in menus.'
36
36
  )),
37
37
  type: 'string'
38
38
  },
39
39
  description: {
40
- description: ( localize(10383, 'Description of the remote agent for use in menus and tooltips.')),
40
+ description: ( localize(10413, 'Description of the remote agent for use in menus and tooltips.')),
41
41
  type: 'string'
42
42
  },
43
43
  followUpRegex: {
44
44
  description: ( localize(
45
- 10384,
45
+ 10414,
46
46
  'The last occurrence of pattern in an existing chat conversation is sent to the contributing extension to facilitate follow-up responses.'
47
47
  )),
48
48
  type: 'string',
49
49
  },
50
50
  when: {
51
- description: ( localize(10385, 'Condition which must be true to show this item.')),
51
+ description: ( localize(10415, 'Condition which must be true to show this item.')),
52
52
  type: 'string'
53
53
  },
54
54
  },
@@ -5,7 +5,7 @@ import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event'
5
5
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
6
6
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
7
7
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
8
- import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
8
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
9
9
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
10
10
 
11
11
  let RemoteCodingAgentsService = class RemoteCodingAgentsService extends Disposable {
@@ -31,6 +31,7 @@
31
31
 
32
32
  .monaco-workbench .terminal-inline-chat .interactive-session {
33
33
  margin: initial;
34
+ max-width: unset;
34
35
  }
35
36
 
36
37
  .monaco-workbench .terminal-inline-chat.hide {
@@ -41,68 +41,68 @@ function getAccessibilityHelpText(accessor) {
41
41
  const focusResponseKeybinding = keybindingService.lookupKeybinding('chat.action.focus')?.getAriaLabel();
42
42
  const focusInputKeybinding = keybindingService.lookupKeybinding('workbench.action.chat.focusInput')?.getAriaLabel();
43
43
  content.push(( localize(
44
- 11951,
44
+ 11976,
45
45
  "Inline chat occurs within a terminal. It is useful for suggesting terminal commands. Keep in mind that AI generated code may be incorrect."
46
46
  )));
47
47
  content.push(( localize(
48
- 11952,
48
+ 11977,
49
49
  "It can be activated using the command: Terminal: Start Chat ({0}), which will focus the input box.",
50
50
  startChatKeybinding
51
51
  )));
52
52
  content.push(makeRequestKeybinding ? ( localize(
53
- 11953,
53
+ 11978,
54
54
  "The input box is where the user can type a request and can make the request ({0}). The widget will be closed and all content will be discarded when the Escape key is pressed and the terminal will regain focus.",
55
55
  makeRequestKeybinding
56
56
  )) : ( localize(
57
- 11954,
57
+ 11979,
58
58
  "The input box is where the user can type a request and can make the request by tabbing to the Make Request button, which is not currently triggerable via keybindings. The widget will be closed and all content will be discarded when the Escape key is pressed and the terminal will regain focus."
59
59
  )));
60
60
  content.push(openAccessibleViewKeybinding ? ( localize(
61
- 11955,
61
+ 11980,
62
62
  'The response can be inspected in the accessible view ({0}).',
63
63
  openAccessibleViewKeybinding
64
64
  )) : ( localize(
65
- 11956,
65
+ 11981,
66
66
  'With the input box focused, inspect the response in the accessible view via the Open Accessible View command, which is currently not triggerable by a keybinding.'
67
67
  )));
68
68
  content.push(focusResponseKeybinding ? ( localize(
69
- 11957,
69
+ 11982,
70
70
  'Reach the response from the input box ({0}).',
71
71
  focusResponseKeybinding
72
72
  )) : ( localize(
73
- 11958,
73
+ 11983,
74
74
  'Reach the response from the input box by tabbing or assigning a keybinding for the command: Focus Terminal Response.'
75
75
  )));
76
76
  content.push(focusInputKeybinding ? ( localize(
77
- 11959,
77
+ 11984,
78
78
  'Reach the input box from the response ({0}).',
79
79
  focusInputKeybinding
80
80
  )) : ( localize(
81
- 11960,
81
+ 11985,
82
82
  'Reach the response from the input box by shift+tabbing or assigning a keybinding for the command: Focus Terminal Input.'
83
83
  )));
84
84
  content.push(runCommandKeybinding ? ( localize(
85
- 11961,
85
+ 11986,
86
86
  'With focus in the input box or command editor, the Terminal: Run Chat Command ({0}) action.',
87
87
  runCommandKeybinding
88
88
  )) : ( localize(
89
- 11962,
89
+ 11987,
90
90
  'Run a command by tabbing to the button as the action is currently not triggerable by a keybinding.'
91
91
  )));
92
92
  content.push(insertCommandKeybinding ? ( localize(
93
- 11963,
93
+ 11988,
94
94
  'With focus in the input box command editor, the Terminal: Insert Chat Command ({0}) action.',
95
95
  insertCommandKeybinding
96
96
  )) : ( localize(
97
- 11964,
97
+ 11989,
98
98
  'Insert a command by tabbing to the button as the action is currently not triggerable by a keybinding.'
99
99
  )));
100
100
  content.push(( localize(
101
- 11965,
101
+ 11990,
102
102
  "Use tab to reach conditional parts like commands, status, message responses and more."
103
103
  )));
104
104
  content.push(( localize(
105
- 11966,
105
+ 11991,
106
106
  "Accessibility Signals can be changed via settings with a prefix of signals.chat. By default, if a request takes more than 4 seconds, you will hear a sound indicating that progress is still occurring."
107
107
  )));
108
108
  return content.join('\n');
@@ -8,9 +8,9 @@ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/
8
8
  import { KeybindingWeight, KeybindingsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
9
9
  import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
10
10
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
11
- import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
12
- import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
13
- import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatUri';
11
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
12
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
13
+ import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
14
14
  import { ChatAgentLocation, ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
15
15
  import { AbstractInline1ChatAction } from '../../../inlineChat/browser/inlineChatActions.js';
16
16
  import { isDetachedTerminalInstance } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal';
@@ -33,8 +33,8 @@ import { activeChatController } from './terminalChatControllerHolder.js';
33
33
 
34
34
  registerActiveXtermAction({
35
35
  id: TerminalChatCommandId.Start,
36
- title: ( localize2(11967, 'Open Inline Chat')),
37
- category: ( localize2(11968, "Terminal")),
36
+ title: ( localize2(11992, 'Open Inline Chat')),
37
+ category: ( localize2(11993, "Terminal")),
38
38
  keybinding: {
39
39
  primary: KeyMod.CtrlCmd | KeyCode.KeyI,
40
40
  when: ( ContextKeyExpr.and(TerminalContextKeys.focusInAny)),
@@ -76,7 +76,7 @@ registerActiveXtermAction({
76
76
  });
77
77
  registerActiveXtermAction({
78
78
  id: TerminalChatCommandId.Close,
79
- title: ( localize2(11969, 'Close')),
79
+ title: ( localize2(11994, 'Close')),
80
80
  category: AbstractInline1ChatAction.category,
81
81
  keybinding: {
82
82
  primary: KeyCode.Escape,
@@ -101,8 +101,8 @@ registerActiveXtermAction({
101
101
  });
102
102
  registerActiveXtermAction({
103
103
  id: TerminalChatCommandId.RunCommand,
104
- title: ( localize2(11970, 'Run Chat Command')),
105
- shortTitle: ( localize2(11971, 'Run')),
104
+ title: ( localize2(11995, 'Run Chat Command')),
105
+ shortTitle: ( localize2(11996, 'Run')),
106
106
  category: AbstractInline1ChatAction.category,
107
107
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
108
108
  TerminalContextKeys.processSupported,
@@ -130,8 +130,8 @@ registerActiveXtermAction({
130
130
  });
131
131
  registerActiveXtermAction({
132
132
  id: TerminalChatCommandId.RunFirstCommand,
133
- title: ( localize2(11972, 'Run First Chat Command')),
134
- shortTitle: ( localize2(11973, 'Run First')),
133
+ title: ( localize2(11997, 'Run First Chat Command')),
134
+ shortTitle: ( localize2(11998, 'Run First')),
135
135
  category: AbstractInline1ChatAction.category,
136
136
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
137
137
  TerminalContextKeys.processSupported,
@@ -159,8 +159,8 @@ registerActiveXtermAction({
159
159
  });
160
160
  registerActiveXtermAction({
161
161
  id: TerminalChatCommandId.InsertCommand,
162
- title: ( localize2(11974, 'Insert Chat Command')),
163
- shortTitle: ( localize2(11975, 'Insert')),
162
+ title: ( localize2(11999, 'Insert Chat Command')),
163
+ shortTitle: ( localize2(12000, 'Insert')),
164
164
  category: AbstractInline1ChatAction.category,
165
165
  icon: Codicon.insert,
166
166
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
@@ -189,8 +189,8 @@ registerActiveXtermAction({
189
189
  });
190
190
  registerActiveXtermAction({
191
191
  id: TerminalChatCommandId.InsertFirstCommand,
192
- title: ( localize2(11976, 'Insert First Chat Command')),
193
- shortTitle: ( localize2(11977, 'Insert First')),
192
+ title: ( localize2(12001, 'Insert First Chat Command')),
193
+ shortTitle: ( localize2(12002, 'Insert First')),
194
194
  category: AbstractInline1ChatAction.category,
195
195
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
196
196
  TerminalContextKeys.processSupported,
@@ -218,7 +218,7 @@ registerActiveXtermAction({
218
218
  });
219
219
  registerActiveXtermAction({
220
220
  id: TerminalChatCommandId.RerunRequest,
221
- title: ( localize2(11978, "Rerun Request")),
221
+ title: ( localize2(12003, "Rerun Request")),
222
222
  f1: false,
223
223
  icon: Codicon.refresh,
224
224
  category: AbstractInline1ChatAction.category,
@@ -259,7 +259,7 @@ registerActiveXtermAction({
259
259
  });
260
260
  registerActiveXtermAction({
261
261
  id: TerminalChatCommandId.ViewInChat,
262
- title: ( localize2(11979, 'View in Chat')),
262
+ title: ( localize2(12004, 'View in Chat')),
263
263
  category: AbstractInline1ChatAction.category,
264
264
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
265
265
  TerminalContextKeys.processSupported,
@@ -285,8 +285,8 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
285
285
  constructor() {
286
286
  super({
287
287
  id: TerminalChatCommandId.ViewHiddenChatTerminals,
288
- title: ( localize2(11980, 'View Hidden Chat Terminals')),
289
- category: ( localize2(11981, 'Terminal')),
288
+ title: ( localize2(12005, 'View Hidden Chat Terminals')),
289
+ category: ( localize2(12006, 'Terminal')),
290
290
  f1: true,
291
291
  precondition: ( ContextKeyExpr.and(TerminalChatContextKeys.hasHiddenChatTerminals, ChatContextKeys.enabled)),
292
292
  menu: [{
@@ -318,7 +318,8 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
318
318
  }
319
319
  }
320
320
  const items = [];
321
- const lastCommandLocalized = (command) => ( localize2(11982, 'Last: {0}', command)).value;
321
+ const lastCommandLocalized = (command) => ( localize2(12007, 'Last: {0}', command)).value;
322
+ const MAX_DETAIL_LENGTH = 80;
322
323
  const metas = [];
323
324
  for (const instance of ( all.values())) {
324
325
  const iconId = instantiationService.invokeFunction(getIconId, instance);
@@ -327,17 +328,32 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
327
328
  const chatSessionId = terminalChatService.getChatSessionIdForInstance(instance);
328
329
  let chatSessionTitle;
329
330
  if (chatSessionId) {
330
- const sessionUri = LocalChatSessionUri.forSession(chatSessionId);
331
- chatSessionTitle = chatService.getSession(sessionUri)?.title || chatService.getPersistedSessionTitle(sessionUri);
331
+ chatSessionTitle = chatService.getSessionTitle(LocalChatSessionUri.forSession(chatSessionId));
332
332
  }
333
- let description;
334
- if (chatSessionTitle) {
335
- description = `${chatSessionTitle}`;
333
+ const description = chatSessionTitle;
334
+ let detail;
335
+ let tooltip;
336
+ if (lastCommand) {
337
+ const commandLines = lastCommand.split('\n');
338
+ const firstLine = commandLines[0];
339
+ const displayCommand = firstLine.length > MAX_DETAIL_LENGTH ? firstLine.substring(0, MAX_DETAIL_LENGTH) + '…' : firstLine;
340
+ detail = lastCommandLocalized(displayCommand);
341
+ const wasTruncated = firstLine.length > MAX_DETAIL_LENGTH;
342
+ const hasMultipleLines = commandLines.length > 1;
343
+ if (wasTruncated || hasMultipleLines) {
344
+ if (hasMultipleLines) {
345
+ tooltip = { value: `\`\`\`\n${lastCommand}\n\`\`\``, supportThemeIcons: true };
346
+ }
347
+ else {
348
+ tooltip = lastCommandLocalized(lastCommand);
349
+ }
350
+ }
336
351
  }
337
352
  metas.push({
338
353
  label,
339
354
  description,
340
- detail: lastCommand ? lastCommandLocalized(lastCommand) : undefined,
355
+ detail,
356
+ tooltip,
341
357
  id: String(instance.instanceId),
342
358
  });
343
359
  }
@@ -346,14 +362,15 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
346
362
  label: m.label,
347
363
  description: m.description,
348
364
  detail: m.detail,
365
+ tooltip: m.tooltip,
349
366
  id: m.id
350
367
  });
351
368
  }
352
369
  const qp = quickInputService.createQuickPick();
353
- qp.placeholder = ( localize2(11983, 'Select a chat terminal to show and focus')).value;
370
+ qp.placeholder = ( localize2(12008, 'Select a chat terminal to show and focus')).value;
354
371
  qp.items = items;
355
372
  qp.canSelectMany = false;
356
- qp.title = ( localize2(11984, 'Chat Terminals')).value;
373
+ qp.title = ( localize2(12009, 'Chat Terminals')).value;
357
374
  qp.matchOnDescription = true;
358
375
  qp.matchOnDetail = true;
359
376
  const qpDisposables = ( new DisposableStore());
@@ -366,7 +383,7 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
366
383
  terminalService.setActiveInstance(instance);
367
384
  await terminalService.revealTerminal(instance);
368
385
  qp.hide();
369
- terminalService.focusInstance(instance);
386
+ await terminalService.focusInstance(instance);
370
387
  }
371
388
  else {
372
389
  qp.hide();
@@ -414,14 +431,14 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
414
431
  MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
415
432
  command: {
416
433
  id: TerminalChatCommandId.FocusMostRecentChatTerminal,
417
- title: ( localize(11985, 'Chat: Focus Most Recent Terminal')),
434
+ title: ( localize(12010, 'Chat: Focus Most Recent Terminal')),
418
435
  },
419
436
  when: ChatContextKeys.inChatSession
420
437
  });
421
438
  MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
422
439
  command: {
423
440
  id: TerminalChatCommandId.FocusMostRecentChatTerminalOutput,
424
- title: ( localize(11986, 'Chat: Focus Most Recent Terminal Output')),
441
+ title: ( localize(12011, 'Chat: Focus Most Recent Terminal Output')),
425
442
  },
426
443
  when: ChatContextKeys.inChatSession
427
444
  });
@@ -5,7 +5,7 @@ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/l
5
5
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
6
6
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
7
7
  import { IChatCodeBlockContextProviderService, IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
8
- import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
8
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
9
9
  import { isDetachedTerminalInstance } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal';
10
10
  import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
11
11
  import { TerminalChatWidget } from './terminalChatWidget.js';
@@ -1,5 +1,5 @@
1
1
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
2
- import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
2
+ import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service";
3
3
  export declare class TerminalChatEnabler {
4
4
  static Id: string;
5
5
  private readonly _ctxHasProvider;
@@ -3,7 +3,7 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
4
  import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
5
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
6
- import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
6
+ import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
7
7
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
8
8
  import { TerminalChatContextKeys } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
9
9
 
@@ -6,7 +6,7 @@ import { ITerminalChatService } from "@codingame/monaco-vscode-api/vscode/vs/wor
6
6
  import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
7
7
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
8
8
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
9
- import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
9
+ import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
10
10
  /**
11
11
  * Used to manage chat tool invocations and the underlying terminal instances they create/use.
12
12
  */
@@ -40,6 +40,12 @@ export declare class TerminalChatService extends Disposable implements ITerminal
40
40
  * approval that lasts only for the duration of the session.
41
41
  */
42
42
  private readonly _sessionAutoApprovalEnabled;
43
+ /**
44
+ * Tracks session-scoped auto-approve rules per chat session. These are temporary rules that
45
+ * last only for the duration of the chat session (not persisted to disk).
46
+ * Map<chatSessionId, Record<ruleKey, ruleValue>>
47
+ */
48
+ private readonly _sessionAutoApproveRules;
43
49
  constructor(_logService: ILogService, _terminalService: ITerminalService, _storageService: IStorageService, _contextKeyService: IContextKeyService, _chatService: IChatService);
44
50
  registerTerminalInstanceWithToolSession(terminalToolSessionId: string | undefined, instance: ITerminalInstance): void;
45
51
  getTerminalInstanceByToolSessionId(terminalToolSessionId: string | undefined): Promise<ITerminalInstance | undefined>;
@@ -61,4 +67,12 @@ export declare class TerminalChatService extends Disposable implements ITerminal
61
67
  private _updateHasToolTerminalContextKeys;
62
68
  setChatSessionAutoApproval(chatSessionId: string, enabled: boolean): void;
63
69
  hasChatSessionAutoApproval(chatSessionId: string): boolean;
70
+ addSessionAutoApproveRule(chatSessionId: string, key: string, value: boolean | {
71
+ approve: boolean;
72
+ matchCommandLine?: boolean;
73
+ }): void;
74
+ getSessionAutoApproveRules(chatSessionId: string): Readonly<Record<string, boolean | {
75
+ approve: boolean;
76
+ matchCommandLine?: boolean;
77
+ }>>;
64
78
  }
@@ -7,9 +7,9 @@ import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workben
7
7
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
8
8
  import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
9
9
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
10
- import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
10
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
11
11
  import { TerminalChatContextKeys } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
12
- import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatUri';
12
+ import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
13
13
  import { isNumber, isString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
14
14
 
15
15
  var StorageKeys;
@@ -35,9 +35,18 @@ let TerminalChatService = class TerminalChatService extends Disposable {
35
35
  this._activeProgressParts = ( new Set());
36
36
  this._pendingRestoredMappings = ( new Map());
37
37
  this._sessionAutoApprovalEnabled = ( new Set());
38
+ this._sessionAutoApproveRules = ( new Map());
38
39
  this._hasToolTerminalContext = TerminalChatContextKeys.hasChatTerminals.bindTo(this._contextKeyService);
39
40
  this._hasHiddenToolTerminalContext = TerminalChatContextKeys.hasHiddenChatTerminals.bindTo(this._contextKeyService);
40
41
  this._restoreFromStorage();
42
+ this._register(this._chatService.onDidDisposeSession(e => {
43
+ for (const resource of e.sessionResource) {
44
+ const sessionId = LocalChatSessionUri.parseLocalSessionId(resource);
45
+ if (sessionId) {
46
+ this._sessionAutoApproveRules.delete(sessionId);
47
+ }
48
+ }
49
+ }));
41
50
  }
42
51
  registerTerminalInstanceWithToolSession(terminalToolSessionId, instance) {
43
52
  if (!terminalToolSessionId) {
@@ -55,16 +64,18 @@ let TerminalChatService = class TerminalChatService extends Disposable {
55
64
  this._updateHasToolTerminalContextKeys();
56
65
  }));
57
66
  this._register(this._chatService.onDidDisposeSession(e => {
58
- if (LocalChatSessionUri.parseLocalSessionId(e.sessionResource) === terminalToolSessionId) {
59
- this._terminalInstancesByToolSessionId.delete(terminalToolSessionId);
60
- this._toolSessionIdByTerminalInstance.delete(instance);
61
- this._terminalInstanceListenersByToolSessionId.deleteAndDispose(terminalToolSessionId);
62
- const sessionId = LocalChatSessionUri.parseLocalSessionId(e.sessionResource);
63
- if (sessionId) {
64
- this._sessionAutoApprovalEnabled.delete(sessionId);
67
+ for (const resource of e.sessionResource) {
68
+ if (LocalChatSessionUri.parseLocalSessionId(resource) === terminalToolSessionId) {
69
+ this._terminalInstancesByToolSessionId.delete(terminalToolSessionId);
70
+ this._toolSessionIdByTerminalInstance.delete(instance);
71
+ this._terminalInstanceListenersByToolSessionId.deleteAndDispose(terminalToolSessionId);
72
+ const sessionId = LocalChatSessionUri.parseLocalSessionId(resource);
73
+ if (sessionId) {
74
+ this._sessionAutoApprovalEnabled.delete(sessionId);
75
+ }
76
+ this._persistToStorage();
77
+ this._updateHasToolTerminalContextKeys();
65
78
  }
66
- this._persistToStorage();
67
- this._updateHasToolTerminalContextKeys();
68
79
  }
69
80
  }));
70
81
  this._register(this._terminalService.onDidChangeInstances(() => this._updateHasToolTerminalContextKeys()));
@@ -252,6 +263,17 @@ let TerminalChatService = class TerminalChatService extends Disposable {
252
263
  hasChatSessionAutoApproval(chatSessionId) {
253
264
  return ( this._sessionAutoApprovalEnabled.has(chatSessionId));
254
265
  }
266
+ addSessionAutoApproveRule(chatSessionId, key, value) {
267
+ let sessionRules = this._sessionAutoApproveRules.get(chatSessionId);
268
+ if (!sessionRules) {
269
+ sessionRules = {};
270
+ this._sessionAutoApproveRules.set(chatSessionId, sessionRules);
271
+ }
272
+ sessionRules[key] = value;
273
+ }
274
+ getSessionAutoApproveRules(chatSessionId) {
275
+ return this._sessionAutoApproveRules.get(chatSessionId) ?? {};
276
+ }
255
277
  };
256
278
  TerminalChatService = ( __decorate([
257
279
  ( __param(0, ILogService)),
@@ -8,9 +8,9 @@ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
8
8
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
9
9
  import { IChatAcceptInputOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
10
10
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
11
- import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
12
- import { IChatResponseModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel";
13
- import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
11
+ import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service";
12
+ import { IChatResponseModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
13
+ import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
14
14
  import { InlineChatWidget } from "@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatWidget";
15
15
  import { ITerminalInstance, type IXtermTerminal } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
16
16
  export declare class TerminalChatWidget extends Disposable {
@@ -38,6 +38,7 @@ export declare class TerminalChatWidget extends Disposable {
38
38
  get lastResponseContent(): string | undefined;
39
39
  private _terminalAgentName;
40
40
  private readonly _model;
41
+ private readonly _sessionDisposables;
41
42
  private _sessionCtor;
42
43
  private _currentRequestId;
43
44
  private _activeRequestCts?;
@@ -15,10 +15,10 @@ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
15
15
  import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
16
16
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
17
17
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
18
- import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
19
- import { isCellTextEditOperationArray } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel';
18
+ import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
19
+ import { isCellTextEditOperationArray } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel';
20
20
  import { ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
21
- import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
21
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
22
22
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
23
23
  import { InlineChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatWidget';
24
24
  import { MENU_INLINE_CHAT_WIDGET_SECONDARY } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
@@ -68,6 +68,7 @@ let TerminalChatWidget = class TerminalChatWidget extends Disposable {
68
68
  this._viewStateStorageKey = 'terminal-inline-chat-view-state';
69
69
  this._terminalAgentName = 'terminal';
70
70
  this._model = this._register(( new MutableDisposable()));
71
+ this._sessionDisposables = this._register(( new MutableDisposable()));
71
72
  this._requestInProgress = observableValue(this, false);
72
73
  this.requestInProgress = this._requestInProgress;
73
74
  this._focusedContextKey = TerminalChatContextKeys.focused.bindTo(contextKeyService);
@@ -164,7 +165,7 @@ let TerminalChatWidget = class TerminalChatWidget extends Disposable {
164
165
  }
165
166
  _resetPlaceholder() {
166
167
  const defaultAgent = this._chatAgentService.getDefaultAgent(ChatAgentLocation.Terminal);
167
- this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(11987, 'Ask about commands'));
168
+ this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(12012, 'Ask about commands'));
168
169
  }
169
170
  async reveal() {
170
171
  await this._createSession();
@@ -262,7 +263,7 @@ let TerminalChatWidget = class TerminalChatWidget extends Disposable {
262
263
  this._resetPlaceholder();
263
264
  }
264
265
  });
265
- this._register(toDisposable(() => this._sessionCtor?.cancel()));
266
+ this._sessionDisposables.value = toDisposable(() => this._sessionCtor?.cancel());
266
267
  }
267
268
  _saveViewState() {
268
269
  const viewState = this._inlineChatWidget.chatWidget.getViewState();
@@ -1,2 +1,2 @@
1
- import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service";
1
+ import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
2
2
  export declare function getRecommendedToolsOverRunInTerminal(commandLine: string, languageModelToolsService: ILanguageModelToolsService): string | undefined;
@@ -6,7 +6,7 @@ import { MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api
6
6
  import { isNumber } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
7
7
  import { ITerminalLogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service';
8
8
  import { trackIdleOnPrompt, waitForIdle } from './executeStrategy.js';
9
- import { setupRecreatingStartMarker } from './strategyHelpers.js';
9
+ import { createAltBufferPromise, setupRecreatingStartMarker } from './strategyHelpers.js';
10
10
 
11
11
  let BasicExecuteStrategy = class BasicExecuteStrategy {
12
12
  constructor(_instance, _hasReceivedUserInput, _commandDetection, _logService) {
@@ -50,6 +50,7 @@ let BasicExecuteStrategy = class BasicExecuteStrategy {
50
50
  if (!xterm) {
51
51
  throw ( new Error('Xterm is not available'));
52
52
  }
53
+ const alternateBufferPromise = createAltBufferPromise(xterm, store, this._log.bind(this));
53
54
  this._log('Waiting for idle');
54
55
  await waitForIdle(this._instance.onData, 1000);
55
56
  setupRecreatingStartMarker(xterm, this._startMarker, m => this._onDidCreateStartMarker.fire(m), store, this._log.bind(this));
@@ -64,10 +65,19 @@ let BasicExecuteStrategy = class BasicExecuteStrategy {
64
65
  this._log(`Executing command line \`${commandLine}\``);
65
66
  this._instance.sendText(commandLine, true);
66
67
  this._log('Waiting for done event');
67
- const onDoneResult = await onDone;
68
+ const onDoneResult = await Promise.race([onDone, alternateBufferPromise.then(() => ({ type: 'alternateBuffer' }))]);
68
69
  if (onDoneResult && onDoneResult.type === 'disposal') {
69
70
  throw ( new Error('The terminal was closed'));
70
71
  }
72
+ if (onDoneResult && onDoneResult.type === 'alternateBuffer') {
73
+ this._log('Detected alternate buffer entry, skipping output capture');
74
+ return {
75
+ output: undefined,
76
+ exitCode: undefined,
77
+ error: 'alternateBuffer',
78
+ didEnterAltBuffer: true
79
+ };
80
+ }
71
81
  const finishedCommand = onDoneResult && onDoneResult.type === 'success' ? onDoneResult.command : undefined;
72
82
  if (finishedCommand) {
73
83
  this._log(`Finished command id=${finishedCommand.id ?? 'none'} for requested=${commandId ?? 'none'}`);
@@ -20,6 +20,7 @@ export interface ITerminalExecuteStrategyResult {
20
20
  additionalInformation?: string;
21
21
  exitCode?: number;
22
22
  error?: string;
23
+ didEnterAltBuffer?: boolean;
23
24
  }
24
25
  export declare function waitForIdle(onData: Event<unknown>, idleDurationMs: number): Promise<void>;
25
26
  export interface IPromptDetectionResult {