@codingame/monaco-vscode-chat-service-override 20.5.0 → 21.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 (200) hide show
  1. package/index.js +15 -7
  2. package/package.json +38 -36
  3. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +2 -0
  4. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +60 -0
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +56 -46
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +18 -16
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +52 -11
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +28 -26
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +19 -13
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +2 -2
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +15 -12
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +11 -11
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +10 -10
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +68 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +433 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -18
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +7 -3
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +205 -551
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +7 -5
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +52 -29
  24. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -163
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +1 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +20 -5
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +17 -17
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +11 -14
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +32 -6
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +3 -1
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +22 -3
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +2 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +22 -9
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +6 -8
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +1 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +47 -15
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +12 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +8 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +33 -8
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +3 -3
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.d.ts +3 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.js +74 -19
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +2 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +19 -19
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +3 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +23 -19
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatLayoutService.d.ts +12 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatLayoutService.js +36 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +36 -35
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +6 -6
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +2 -2
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +1 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +37 -9
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +238 -52
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +23 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +257 -148
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +3 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +126 -77
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +2 -3
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +3 -13
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +4 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +55 -45
  67. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +6 -3
  68. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +13 -7
  70. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +130 -47
  71. package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-dark.svg +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-light.svg +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditingEditorOverlay.css +5 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatus.css +6 -6
  75. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +9 -9
  76. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +4 -4
  77. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +39 -35
  78. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +9 -9
  79. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +18 -18
  80. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +12 -12
  81. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  82. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  83. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  84. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  85. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +2 -2
  86. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +14 -14
  87. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  88. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +5 -4
  89. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +7 -4
  90. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +4 -8
  91. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +153 -168
  92. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.d.ts +127 -1
  93. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.js +111 -1
  94. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +3 -3
  95. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.d.ts +2 -1
  96. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +6 -3
  97. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.d.ts +20 -0
  98. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +66 -0
  99. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +38 -0
  100. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +143 -0
  101. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +3 -1
  102. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +12 -3
  103. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.d.ts +8 -3
  104. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +41 -8
  105. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.d.ts +4 -1
  106. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.js +55 -22
  107. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.js +1 -1
  108. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.js +1 -1
  109. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js +4 -4
  110. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.d.ts +2 -0
  112. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +5 -2
  113. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.d.ts +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.js +3 -4
  115. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.js +4 -4
  116. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +0 -5
  117. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +8 -23
  118. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +9 -9
  119. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +4 -5
  120. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +11 -5
  121. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +28 -28
  122. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  123. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +12 -0
  124. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +54 -0
  125. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  126. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +33 -31
  127. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +9 -9
  128. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.d.ts +1 -3
  129. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +9 -13
  130. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  131. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -18
  132. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +2 -1
  133. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +11 -4
  134. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  135. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +1 -2
  136. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +1 -6
  137. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.d.ts +16 -1
  138. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +84 -25
  139. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.d.ts +10 -0
  140. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.js +55 -0
  141. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +8 -2
  142. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +15 -7
  143. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +23 -0
  144. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +72 -1
  145. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +8 -2
  146. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +19 -9
  147. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +5 -0
  148. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -5
  149. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +12 -8
  150. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +6 -0
  151. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +85 -1
  152. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +35 -0
  153. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +448 -0
  154. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.d.ts +0 -1
  155. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.js +30 -77
  156. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +62 -0
  157. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +174 -0
  158. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +75 -10
  159. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +15 -2
  160. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +81 -38
  161. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.d.ts +11 -0
  162. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +106 -0
  163. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{getTerminalOutputTool.js → tools/getTerminalOutputTool.js} +5 -3
  164. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.d.ts +11 -0
  165. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +59 -0
  166. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +57 -0
  167. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +452 -0
  168. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +45 -0
  169. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
  170. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +2 -0
  171. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +31 -0
  172. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{runInTerminalTool.d.ts → tools/runInTerminalTool.d.ts} +11 -13
  173. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{runInTerminalTool.js → tools/runInTerminalTool.js} +282 -133
  174. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/createAndRunTaskTool.d.ts +5 -5
  175. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/createAndRunTaskTool.js +51 -50
  176. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/getTaskOutputTool.d.ts +6 -1
  177. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +117 -0
  178. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/runTaskTool.d.ts +3 -5
  179. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/runTaskTool.js +54 -50
  180. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +19 -0
  181. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +36 -0
  182. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminal.chatAgentTools.d.ts +3 -0
  183. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminal.chatAgentTools.js +8 -0
  184. package/vscode/src/vs/base/common/policy.d.ts +0 -41
  185. package/vscode/src/vs/base/common/policy.js +0 -11
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.d.ts +0 -12
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.js +0 -738
  188. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +0 -42
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptPathAutocompletion.d.ts +0 -67
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptPathAutocompletion.js +0 -167
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.d.ts +0 -23
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.js +0 -63
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.d.ts +0 -55
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.js +0 -163
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/getTaskOutputTool.js +0 -88
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.d.ts +0 -35
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.js +0 -80
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.d.ts +0 -1
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.js +0 -40
  200. /package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{getTerminalOutputTool.d.ts → tools/getTerminalOutputTool.d.ts} +0 -0
@@ -1,12 +1,18 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { DeferredPromise, disposableTimeout, timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
3
+ import { raceTimeout, DeferredPromise, disposableTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
4
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
5
5
  import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
6
- import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
+ import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
7
+ import { DisposableStore, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
8
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
9
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
8
10
  import { TerminalCapability } from '@codingame/monaco-vscode-a9da9abe-278d-5ce6-9418-99c7c07c5c37-common/vscode/vs/platform/terminal/common/capabilities/capabilities';
11
+ import { PromptInputState } from '@codingame/monaco-vscode-88141f48-1af9-57ef-a278-f4b2ff6128fa-common/vscode/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel';
12
+ import { TerminalSettingId } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal';
13
+ import { ITerminalLogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service';
9
14
  import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
15
+ import { TerminalChatAgentToolsSettingId } from '@codingame/monaco-vscode-a175bd1a-4858-5944-9ae5-fb73305dcb13-common/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration';
10
16
 
11
17
  var ToolTerminalCreator_1;
12
18
  var ShellLaunchType;
@@ -24,33 +30,66 @@ var ShellIntegrationQuality;
24
30
  let ToolTerminalCreator = class ToolTerminalCreator {
25
31
  static { ToolTerminalCreator_1 = this; }
26
32
  static { this._lastSuccessfulShell = ShellLaunchType.Unknown; }
27
- constructor(_terminalService) {
33
+ constructor(_configurationService, _logService, _terminalService) {
34
+ this._configurationService = _configurationService;
35
+ this._logService = _logService;
28
36
  this._terminalService = _terminalService;
29
37
  }
30
- async createTerminal(token) {
31
- const instance = await this._createCopilotTerminal();
38
+ async createTerminal(shell, token) {
39
+ const instance = await this._createCopilotTerminal(shell);
32
40
  const toolTerminal = {
33
41
  instance,
34
42
  shellIntegrationQuality: ShellIntegrationQuality.None,
35
43
  };
36
- if (ToolTerminalCreator_1._lastSuccessfulShell <= ShellLaunchType.Default) {
37
- const shellIntegrationQuality = await this._waitForShellIntegration(instance, 5000);
44
+ const siInjectionEnabled = this._configurationService.getValue(TerminalSettingId.ShellIntegrationEnabled);
45
+ const configuredTimeout = this._configurationService.getValue(TerminalChatAgentToolsSettingId.ShellIntegrationTimeout);
46
+ let waitTime;
47
+ if (configuredTimeout === undefined || typeof configuredTimeout !== 'number' || configuredTimeout < 0) {
48
+ waitTime = siInjectionEnabled ? 5000 : (instance.isRemote ? 3000 : 2000);
49
+ }
50
+ else {
51
+ waitTime = Math.max(configuredTimeout, 500);
52
+ }
53
+ if (ToolTerminalCreator_1._lastSuccessfulShell !== ShellLaunchType.Fallback ||
54
+ siInjectionEnabled) {
55
+ this._logService.info(`ToolTerminalCreator#createTerminal: Waiting ${waitTime}ms for shell integration`);
56
+ const shellIntegrationQuality = await this._waitForShellIntegration(instance, waitTime);
38
57
  if (token.isCancellationRequested) {
39
58
  instance.dispose();
40
59
  throw ( new CancellationError());
41
60
  }
61
+ if (shellIntegrationQuality === ShellIntegrationQuality.Rich) {
62
+ const commandDetection = instance.capabilities.get(TerminalCapability.CommandDetection);
63
+ if (commandDetection?.promptInputModel.state === PromptInputState.Unknown) {
64
+ this._logService.info(`ToolTerminalCreator#createTerminal: Waiting up to 2s for PromptInputModel state to change`);
65
+ await raceTimeout(Event.toPromise(commandDetection.onCommandStarted), 2000);
66
+ }
67
+ }
42
68
  if (shellIntegrationQuality !== ShellIntegrationQuality.None) {
43
69
  ToolTerminalCreator_1._lastSuccessfulShell = ShellLaunchType.Default;
44
70
  toolTerminal.shellIntegrationQuality = shellIntegrationQuality;
45
71
  return toolTerminal;
46
72
  }
47
73
  }
74
+ else {
75
+ this._logService.info(`ToolTerminalCreator#createTerminal: Skipping wait for shell integration - last successful launch type ${ToolTerminalCreator_1._lastSuccessfulShell}`);
76
+ }
48
77
  ToolTerminalCreator_1._lastSuccessfulShell = ShellLaunchType.Fallback;
49
78
  return toolTerminal;
50
79
  }
51
- _createCopilotTerminal() {
80
+ refreshShellIntegrationQuality(toolTerminal) {
81
+ const commandDetection = toolTerminal.instance.capabilities.get(TerminalCapability.CommandDetection);
82
+ if (commandDetection) {
83
+ if (toolTerminal.shellIntegrationQuality === ShellIntegrationQuality.None ||
84
+ toolTerminal.shellIntegrationQuality === ShellIntegrationQuality.Basic) {
85
+ toolTerminal.shellIntegrationQuality = commandDetection.hasRichCommandDetection ? ShellIntegrationQuality.Rich : ShellIntegrationQuality.Basic;
86
+ }
87
+ }
88
+ }
89
+ _createCopilotTerminal(shell) {
52
90
  return this._terminalService.createTerminal({
53
91
  config: {
92
+ executable: shell,
54
93
  icon: ThemeIcon.fromId(Codicon.chatSparkle.id),
55
94
  hideFromUser: true,
56
95
  env: {
@@ -60,55 +99,59 @@ let ToolTerminalCreator = class ToolTerminalCreator {
60
99
  });
61
100
  }
62
101
  _waitForShellIntegration(instance, timeoutMs) {
63
- const dataFinished = ( new DeferredPromise());
64
- const deferred = ( new DeferredPromise());
65
- const timer = disposableTimeout(() => deferred.complete(ShellIntegrationQuality.None), timeoutMs);
102
+ const store = ( new DisposableStore());
103
+ const result = ( new DeferredPromise());
104
+ const siNoneTimer = store.add(( new MutableDisposable()));
105
+ siNoneTimer.value = disposableTimeout(() => {
106
+ this._logService.info(`ToolTerminalCreator#_waitForShellIntegration: Timed out ${timeoutMs}ms, using no SI`);
107
+ result.complete(ShellIntegrationQuality.None);
108
+ }, timeoutMs);
66
109
  if (instance.capabilities.get(TerminalCapability.CommandDetection)?.hasRichCommandDetection) {
67
- timer.dispose();
68
- deferred.complete(ShellIntegrationQuality.Rich);
110
+ siNoneTimer.clear();
111
+ this._logService.info(`ToolTerminalCreator#_waitForShellIntegration: Rich SI available immediately`);
112
+ result.complete(ShellIntegrationQuality.Rich);
69
113
  }
70
114
  else {
71
- const onSetRichCommandDetection = this._terminalService.createOnInstanceCapabilityEvent(TerminalCapability.CommandDetection, e => e.onSetRichCommandDetection);
72
- const richCommandDetectionListener = onSetRichCommandDetection.event((e) => {
115
+ const onSetRichCommandDetection = store.add(this._terminalService.createOnInstanceCapabilityEvent(TerminalCapability.CommandDetection, e => e.onSetRichCommandDetection));
116
+ store.add(onSetRichCommandDetection.event((e) => {
73
117
  if (e.instance !== instance) {
74
118
  return;
75
119
  }
76
- deferred.complete(ShellIntegrationQuality.Rich);
77
- });
78
- const store = ( new DisposableStore());
120
+ siNoneTimer.clear();
121
+ this._logService.info(`ToolTerminalCreator#_waitForShellIntegration: Rich SI available eventually`);
122
+ result.complete(ShellIntegrationQuality.Rich);
123
+ }));
79
124
  const commandDetection = instance.capabilities.get(TerminalCapability.CommandDetection);
80
125
  if (commandDetection) {
81
- timer.dispose();
82
- Promise.race([
83
- dataFinished.p,
84
- timeout(200)
85
- ]).then(() => {
86
- if (!deferred.isResolved) {
87
- deferred.complete(ShellIntegrationQuality.Basic);
88
- }
89
- });
126
+ siNoneTimer.clear();
127
+ store.add(disposableTimeout(() => {
128
+ this._logService.info(`ToolTerminalCreator#_waitForShellIntegration: Timed out 200ms, using basic SI`);
129
+ result.complete(ShellIntegrationQuality.Basic);
130
+ }, 200));
90
131
  }
91
132
  else {
92
133
  store.add(instance.capabilities.onDidAddCapabilityType(e => {
93
134
  if (e === TerminalCapability.CommandDetection) {
94
- timer.dispose();
95
- Promise.race([
96
- dataFinished.p,
97
- timeout(200)
98
- ]).then(() => deferred.complete(ShellIntegrationQuality.Basic));
135
+ siNoneTimer.clear();
136
+ store.add(disposableTimeout(() => {
137
+ this._logService.info(`ToolTerminalCreator#_waitForShellIntegration: Timed out 200ms, using basic SI (via listener)`);
138
+ result.complete(ShellIntegrationQuality.Basic);
139
+ }, 200));
99
140
  }
100
141
  }));
101
142
  }
102
- deferred.p.finally(() => {
103
- store.dispose();
104
- richCommandDetectionListener.dispose();
105
- });
106
143
  }
107
- return deferred.p;
144
+ result.p.finally(() => {
145
+ this._logService.info(`ToolTerminalCreator#_waitForShellIntegration: Promise complete, disposing store`);
146
+ store.dispose();
147
+ });
148
+ return result.p;
108
149
  }
109
150
  };
110
151
  ToolTerminalCreator = ToolTerminalCreator_1 = ( __decorate([
111
- ( __param(0, ITerminalService))
152
+ ( __param(0, IConfigurationService)),
153
+ ( __param(1, ITerminalLogService)),
154
+ ( __param(2, ITerminalService))
112
155
  ], ToolTerminalCreator));
113
156
 
114
157
  export { ShellIntegrationQuality, ToolTerminalCreator };
@@ -0,0 +1,11 @@
1
+ import type { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { type IPreparedToolInvocation, type IToolData, type IToolImpl, type IToolInvocation, type IToolInvocationPreparationContext, type IToolResult, type CountTokensCallback, type ToolProgress } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
4
+ import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
5
+ export declare const GetTerminalLastCommandToolData: IToolData;
6
+ export declare class GetTerminalLastCommandTool extends Disposable implements IToolImpl {
7
+ private readonly _terminalService;
8
+ constructor(_terminalService: ITerminalService);
9
+ prepareToolInvocation(context: IToolInvocationPreparationContext, token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
10
+ invoke(invocation: IToolInvocation, _countTokens: CountTokensCallback, _progress: ToolProgress, token: CancellationToken): Promise<IToolResult>;
11
+ }
@@ -0,0 +1,106 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
4
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
+ import { TerminalCapability } from '@codingame/monaco-vscode-a9da9abe-278d-5ce6-9418-99c7c07c5c37-common/vscode/vs/platform/terminal/common/capabilities/capabilities';
7
+ import { ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
8
+ import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
9
+
10
+ const GetTerminalLastCommandToolData = {
11
+ id: 'terminal_last_command',
12
+ toolReferenceName: 'terminalLastCommand',
13
+ displayName: ( localize(11434, 'Get Terminal Last Command')),
14
+ modelDescription: 'Get the last command run in the active terminal.',
15
+ source: ToolDataSource.Internal,
16
+ icon: Codicon.terminal,
17
+ };
18
+ let GetTerminalLastCommandTool = class GetTerminalLastCommandTool extends Disposable {
19
+ constructor(_terminalService) {
20
+ super();
21
+ this._terminalService = _terminalService;
22
+ }
23
+ async prepareToolInvocation(context, token) {
24
+ return {
25
+ invocationMessage: ( localize(11435, "Getting last terminal command")),
26
+ pastTenseMessage: ( localize(11436, "Got last terminal command")),
27
+ };
28
+ }
29
+ async invoke(invocation, _countTokens, _progress, token) {
30
+ const activeInstance = this._terminalService.activeInstance;
31
+ if (!activeInstance) {
32
+ return {
33
+ content: [{
34
+ kind: 'text',
35
+ value: 'No active terminal instance found.'
36
+ }]
37
+ };
38
+ }
39
+ const commandDetection = activeInstance.capabilities.get(TerminalCapability.CommandDetection);
40
+ if (!commandDetection) {
41
+ return {
42
+ content: [{
43
+ kind: 'text',
44
+ value: 'No command detection capability available in the active terminal.'
45
+ }]
46
+ };
47
+ }
48
+ const executingCommand = commandDetection.executingCommand;
49
+ if (executingCommand) {
50
+ const userPrompt = [];
51
+ userPrompt.push('The following command is currently executing in the terminal:');
52
+ userPrompt.push(executingCommand);
53
+ const cwd = commandDetection.cwd;
54
+ if (cwd) {
55
+ userPrompt.push('It is running in the directory:');
56
+ userPrompt.push(cwd);
57
+ }
58
+ return {
59
+ content: [{
60
+ kind: 'text',
61
+ value: userPrompt.join('\n')
62
+ }]
63
+ };
64
+ }
65
+ const commands = commandDetection.commands;
66
+ if (!commands || commands.length === 0) {
67
+ return {
68
+ content: [{
69
+ kind: 'text',
70
+ value: 'No command has been run in the active terminal.'
71
+ }]
72
+ };
73
+ }
74
+ const lastCommand = commands[commands.length - 1];
75
+ const userPrompt = [];
76
+ if (lastCommand.command) {
77
+ userPrompt.push('The following is the last command run in the terminal:');
78
+ userPrompt.push(lastCommand.command);
79
+ }
80
+ if (lastCommand.cwd) {
81
+ userPrompt.push('It was run in the directory:');
82
+ userPrompt.push(lastCommand.cwd);
83
+ }
84
+ if (lastCommand.exitCode !== undefined) {
85
+ userPrompt.push(`It exited with code: ${lastCommand.exitCode}`);
86
+ }
87
+ if (lastCommand.hasOutput() && lastCommand.getOutput) {
88
+ const output = lastCommand.getOutput();
89
+ if (output && output.trim().length > 0) {
90
+ userPrompt.push('It has the following output:');
91
+ userPrompt.push(output);
92
+ }
93
+ }
94
+ return {
95
+ content: [{
96
+ kind: 'text',
97
+ value: userPrompt.join('\n')
98
+ }]
99
+ };
100
+ }
101
+ };
102
+ GetTerminalLastCommandTool = ( __decorate([
103
+ ( __param(0, ITerminalService))
104
+ ], GetTerminalLastCommandTool));
105
+
106
+ export { GetTerminalLastCommandTool, GetTerminalLastCommandToolData };
@@ -1,4 +1,5 @@
1
1
 
2
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
2
3
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
3
4
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
5
  import { ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
@@ -7,8 +8,9 @@ import { RunInTerminalTool } from './runInTerminalTool.js';
7
8
  const GetTerminalOutputToolData = {
8
9
  id: 'get_terminal_output',
9
10
  toolReferenceName: 'getTerminalOutput',
10
- displayName: ( localize(11261, 'Get Terminal Output')),
11
+ displayName: ( localize(11437, 'Get Terminal Output')),
11
12
  modelDescription: 'Get the output of a terminal command previously started with run_in_terminal',
13
+ icon: Codicon.terminal,
12
14
  source: ToolDataSource.Internal,
13
15
  inputSchema: {
14
16
  type: 'object',
@@ -26,8 +28,8 @@ const GetTerminalOutputToolData = {
26
28
  class GetTerminalOutputTool extends Disposable {
27
29
  async prepareToolInvocation(context, token) {
28
30
  return {
29
- invocationMessage: ( localize(11262, "Checking background terminal output")),
30
- pastTenseMessage: ( localize(11263, "Checked background terminal output")),
31
+ invocationMessage: ( localize(11438, "Checking background terminal output")),
32
+ pastTenseMessage: ( localize(11439, "Checked background terminal output")),
31
33
  };
32
34
  }
33
35
  async invoke(invocation, _countTokens, _progress, token) {
@@ -0,0 +1,11 @@
1
+ import type { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { type IPreparedToolInvocation, type IToolData, type IToolImpl, type IToolInvocation, type IToolInvocationPreparationContext, type IToolResult, type CountTokensCallback, type ToolProgress } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
4
+ import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
5
+ export declare const GetTerminalSelectionToolData: IToolData;
6
+ export declare class GetTerminalSelectionTool extends Disposable implements IToolImpl {
7
+ private readonly _terminalService;
8
+ constructor(_terminalService: ITerminalService);
9
+ prepareToolInvocation(context: IToolInvocationPreparationContext, token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
10
+ invoke(invocation: IToolInvocation, _countTokens: CountTokensCallback, _progress: ToolProgress, token: CancellationToken): Promise<IToolResult>;
11
+ }
@@ -0,0 +1,59 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
4
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
+ import { ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
7
+ import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
8
+
9
+ const GetTerminalSelectionToolData = {
10
+ id: 'terminal_selection',
11
+ toolReferenceName: 'terminalSelection',
12
+ displayName: ( localize(11440, 'Get Terminal Selection')),
13
+ modelDescription: 'Get the current selection in the active terminal.',
14
+ source: ToolDataSource.Internal,
15
+ icon: Codicon.terminal,
16
+ };
17
+ let GetTerminalSelectionTool = class GetTerminalSelectionTool extends Disposable {
18
+ constructor(_terminalService) {
19
+ super();
20
+ this._terminalService = _terminalService;
21
+ }
22
+ async prepareToolInvocation(context, token) {
23
+ return {
24
+ invocationMessage: ( localize(11441, "Reading terminal selection")),
25
+ pastTenseMessage: ( localize(11442, "Read terminal selection")),
26
+ };
27
+ }
28
+ async invoke(invocation, _countTokens, _progress, token) {
29
+ const activeInstance = this._terminalService.activeInstance;
30
+ if (!activeInstance) {
31
+ return {
32
+ content: [{
33
+ kind: 'text',
34
+ value: 'No active terminal instance found.'
35
+ }]
36
+ };
37
+ }
38
+ const selection = activeInstance.selection;
39
+ if (!selection) {
40
+ return {
41
+ content: [{
42
+ kind: 'text',
43
+ value: 'No text is currently selected in the active terminal.'
44
+ }]
45
+ };
46
+ }
47
+ return {
48
+ content: [{
49
+ kind: 'text',
50
+ value: `The active terminal's selection:\n${selection}`
51
+ }]
52
+ };
53
+ }
54
+ };
55
+ GetTerminalSelectionTool = ( __decorate([
56
+ ( __param(0, ITerminalService))
57
+ ], GetTerminalSelectionTool));
58
+
59
+ export { GetTerminalSelectionTool, GetTerminalSelectionToolData };
@@ -0,0 +1,57 @@
1
+ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
+ import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
5
+ import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
6
+ import { IToolInvocationContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
7
+ import { ITaskService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/tasks/common/taskService.service";
8
+ import { IPollingResult, OutputMonitorState, IExecution } from "./types.js";
9
+ import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
10
+ export interface IOutputMonitor extends Disposable {
11
+ readonly pollingResult: IPollingResult & {
12
+ pollDurationMs: number;
13
+ } | undefined;
14
+ readonly outputMonitorTelemetryCounters: IOutputMonitorTelemetryCounters;
15
+ readonly onDidFinishCommand: Event<void>;
16
+ }
17
+ export interface IOutputMonitorTelemetryCounters {
18
+ inputToolManualAcceptCount: number;
19
+ inputToolManualRejectCount: number;
20
+ inputToolManualChars: number;
21
+ }
22
+ export declare class OutputMonitor extends Disposable implements IOutputMonitor {
23
+ private readonly _execution;
24
+ private readonly _pollFn;
25
+ private readonly _languageModelsService;
26
+ private readonly _taskService;
27
+ private readonly _chatService;
28
+ private readonly _chatWidgetService;
29
+ private _state;
30
+ get state(): OutputMonitorState;
31
+ private _lastPromptMarker;
32
+ private _lastPrompt;
33
+ private _promptPart;
34
+ private _pollingResult;
35
+ get pollingResult(): IPollingResult & {
36
+ pollDurationMs: number;
37
+ } | undefined;
38
+ private readonly _outputMonitorTelemetryCounters;
39
+ get outputMonitorTelemetryCounters(): Readonly<IOutputMonitorTelemetryCounters>;
40
+ private readonly _onDidFinishCommand;
41
+ readonly onDidFinishCommand: Event<void>;
42
+ constructor(_execution: IExecution, _pollFn: ((execution: IExecution, token: CancellationToken, taskService: ITaskService) => Promise<IPollingResult | undefined>) | undefined, invocationContext: IToolInvocationContext, token: CancellationToken, command: string, _languageModelsService: ILanguageModelsService, _taskService: ITaskService, _chatService: IChatService, _chatWidgetService: IChatWidgetService);
43
+ private _startMonitoring;
44
+ private _handleIdleState;
45
+ private _handleTimeoutState;
46
+ /**
47
+ * Single bounded polling pass that returns when:
48
+ * - terminal becomes inactive/idle, or
49
+ * - timeout window elapses.
50
+ */
51
+ private _waitForIdle;
52
+ private _promptForMorePolling;
53
+ private _assessOutputForErrors;
54
+ private _determineUserInputOptions;
55
+ private _selectAndHandleOption;
56
+ private _confirmRunInTerminal;
57
+ }