@codingame/monaco-vscode-chat-service-override 21.6.0 → 22.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 (390) hide show
  1. package/index.js +3 -3
  2. package/package.json +41 -38
  3. package/vscode/src/vs/base/common/yaml.d.ts +74 -0
  4. package/vscode/src/vs/base/common/yaml.js +597 -0
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +5 -5
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +1 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +91 -83
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +32 -21
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +13 -10
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +14 -33
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +14 -14
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +11 -11
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +12 -7
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.d.ts +1 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +98 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +13 -14
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +192 -216
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +47 -23
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +1 -1
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +231 -175
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -18
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +200 -127
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +8 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +73 -6
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +1 -1
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +2 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +6 -6
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +38 -38
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +10 -10
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +3 -1
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +10 -3
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +2 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +4 -3
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +2 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +7 -4
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +1 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +17 -24
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +2 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +4 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +2 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +3 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +6 -6
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +20 -20
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +4 -4
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatLayoutService.d.ts +1 -3
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatLayoutService.js +2 -13
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +5 -5
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +41 -43
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +7 -7
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +45 -10
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +2 -2
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +4 -4
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.d.ts +22 -0
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.js +127 -0
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.d.ts +37 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.js +137 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.d.ts +32 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.js +212 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +22 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +268 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +93 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +455 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +68 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +409 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +2 -6
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +65 -144
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +10 -2
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +240 -107
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +131 -85
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +8 -8
  82. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +2 -2
  83. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +12 -3
  85. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +145 -26
  86. package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-dark.svg +2 -2
  87. package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-light.svg +2 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditingEditorOverlay.css +0 -2
  89. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditorController.css +4 -4
  90. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +262 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatus.css +7 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +2 -4
  93. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +16 -22
  94. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +4 -4
  95. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +7 -7
  96. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +9 -9
  97. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.d.ts +1 -1
  98. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +20 -19
  99. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.d.ts +3 -3
  100. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +66 -83
  101. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.d.ts +3 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +8 -6
  103. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +17 -24
  104. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  105. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +12 -10
  106. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +1 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  108. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  109. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +3 -3
  110. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +9 -9
  111. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.d.ts +1 -0
  112. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +17 -9
  113. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +8 -4
  114. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +74 -200
  115. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +1 -1
  117. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +9 -0
  118. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +150 -0
  119. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.d.ts +2 -6
  120. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +9 -33
  121. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +2 -5
  122. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +5 -19
  123. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +18 -0
  124. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +83 -0
  125. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.d.ts +15 -0
  126. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +55 -0
  127. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +2 -6
  128. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +25 -68
  129. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/{promptHeaderHovers.d.ts → promptHovers.d.ts} +5 -5
  130. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/{promptHeaderHovers.js → promptHovers.js} +77 -75
  131. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +13 -22
  132. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +48 -0
  133. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +456 -0
  134. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.d.ts +7 -8
  135. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +28 -21
  136. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser.d.ts +97 -0
  137. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser.js +247 -0
  138. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +118 -0
  139. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +10 -0
  140. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +33 -21
  141. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +217 -83
  142. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +4 -3
  143. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +34 -17
  144. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +29 -29
  145. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  146. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +8 -2
  147. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  148. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +24 -24
  149. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.d.ts +7 -7
  150. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +33 -33
  151. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  152. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  153. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +13 -13
  154. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +1 -1
  155. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +2 -2
  156. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  157. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.d.ts +3 -10
  158. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +7 -0
  159. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +1 -1
  160. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +25 -6
  161. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +1 -1
  162. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +25 -6
  163. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +1 -1
  164. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +24 -6
  165. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +1 -0
  166. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +20 -5
  167. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +5 -0
  168. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +3 -0
  169. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +3 -0
  170. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +6 -2
  171. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +5 -5
  172. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +2 -1
  173. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +32 -13
  174. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  175. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  176. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  177. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +14 -3
  178. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +177 -107
  179. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +2 -1
  180. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +4 -0
  181. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +113 -43
  182. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +21 -17
  183. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +11 -8
  184. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +19 -15
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +17 -9
  187. package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.d.ts +0 -84
  188. package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.js +0 -42
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptFileReferenceErrors.d.ts +0 -94
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptFileReferenceErrors.js +0 -107
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/asyncDecoder.d.ts +0 -27
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/asyncDecoder.js +0 -45
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseDecoder.d.ts +0 -137
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseDecoder.js +0 -150
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseToken.d.ts +0 -57
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseToken.js +0 -69
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/compositeToken.d.ts +0 -24
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/compositeToken.js +0 -33
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/constants.d.ts +0 -8
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/constants.js +0 -29
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/frontMatterDecoder.d.ts +0 -28
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/frontMatterDecoder.js +0 -118
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterArray.d.ts +0 -33
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterArray.js +0 -134
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterParserFactory.d.ts +0 -27
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterParserFactory.js +0 -34
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecord.d.ts +0 -48
  208. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecord.js +0 -134
  209. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordName.d.ts +0 -25
  210. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordName.js +0 -64
  211. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordNameWithDelimiter.d.ts +0 -32
  212. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordNameWithDelimiter.js +0 -75
  213. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterSequence.d.ts +0 -42
  214. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterSequence.js +0 -41
  215. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterString.d.ts +0 -18
  216. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterString.js +0 -63
  217. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterValue.d.ts +0 -61
  218. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterValue.js +0 -127
  219. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterArray.d.ts +0 -20
  220. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterArray.js +0 -25
  221. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterBoolean.d.ts +0 -34
  222. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterBoolean.js +0 -64
  223. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterRecord.d.ts +0 -83
  224. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterRecord.js +0 -37
  225. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterSequence.d.ts +0 -27
  226. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterSequence.js +0 -57
  227. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterString.d.ts +0 -25
  228. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterString.js +0 -18
  229. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterToken.d.ts +0 -21
  230. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterToken.js +0 -9
  231. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/linesDecoder.d.ts +0 -60
  232. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/linesDecoder.js +0 -100
  233. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/carriageReturn.d.ts +0 -28
  234. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/carriageReturn.js +0 -19
  235. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/line.d.ts +0 -13
  236. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/line.js +0 -20
  237. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/newLine.d.ts +0 -28
  238. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/newLine.js +0 -19
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/markdownDecoder.d.ts +0 -22
  240. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/markdownDecoder.js +0 -72
  241. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownComment.d.ts +0 -42
  242. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownComment.js +0 -113
  243. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownImage.d.ts +0 -20
  244. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownImage.js +0 -68
  245. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownLink.d.ts +0 -73
  246. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownLink.js +0 -99
  247. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownComment.d.ts +0 -18
  248. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownComment.js +0 -19
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownImage.d.ts +0 -50
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownImage.js +0 -54
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownLink.d.ts +0 -50
  252. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownLink.js +0 -53
  253. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownToken.d.ts +0 -7
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownToken.js +0 -7
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/markdownExtensionsDecoder.d.ts +0 -27
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/markdownExtensionsDecoder.js +0 -68
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/parsers/frontMatterHeader.d.ts +0 -49
  258. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/parsers/frontMatterHeader.js +0 -199
  259. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterHeader.d.ts +0 -34
  260. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterHeader.js +0 -37
  261. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterMarker.d.ts +0 -30
  262. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterMarker.js +0 -27
  263. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/markdownExtensionsToken.d.ts +0 -6
  264. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/markdownExtensionsToken.js +0 -7
  265. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/parserBase.d.ts +0 -87
  266. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/parserBase.js +0 -30
  267. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/simpleDecoder.d.ts +0 -30
  268. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/simpleDecoder.js +0 -66
  269. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/angleBrackets.d.ts +0 -41
  270. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/angleBrackets.js +0 -23
  271. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/at.d.ts +0 -19
  272. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/at.js +0 -14
  273. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/brackets.d.ts +0 -41
  274. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/brackets.js +0 -23
  275. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/colon.d.ts +0 -19
  276. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/colon.js +0 -14
  277. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/comma.d.ts +0 -19
  278. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/comma.js +0 -14
  279. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/curlyBraces.d.ts +0 -41
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/curlyBraces.js +0 -23
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dash.d.ts +0 -19
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dash.js +0 -14
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dollarSign.d.ts +0 -19
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dollarSign.js +0 -14
  285. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/doubleQuote.d.ts +0 -25
  286. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/doubleQuote.js +0 -17
  287. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/exclamationMark.d.ts +0 -19
  288. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/exclamationMark.js +0 -14
  289. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/formFeed.d.ts +0 -19
  290. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/formFeed.js +0 -14
  291. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/hash.d.ts +0 -19
  292. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/hash.js +0 -14
  293. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/parentheses.d.ts +0 -41
  294. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/parentheses.js +0 -23
  295. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/quote.d.ts +0 -25
  296. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/quote.js +0 -17
  297. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/simpleToken.d.ts +0 -36
  298. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/simpleToken.js +0 -19
  299. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/slash.d.ts +0 -19
  300. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/slash.js +0 -14
  301. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/space.d.ts +0 -19
  302. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/space.js +0 -14
  303. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tab.d.ts +0 -19
  304. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tab.js +0 -14
  305. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/verticalTab.d.ts +0 -19
  306. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/verticalTab.js +0 -14
  307. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/word.d.ts +0 -32
  308. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/word.js +0 -29
  309. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/textToken.d.ts +0 -9
  310. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/textToken.js +0 -10
  311. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStream.d.ts +0 -62
  312. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStream.js +0 -126
  313. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStreamFromTextModel.d.ts +0 -8
  314. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStreamFromTextModel.js +0 -25
  315. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptCodec.d.ts +0 -42
  316. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptCodec.js +0 -13
  317. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptDecoder.d.ts +0 -31
  318. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptDecoder.js +0 -109
  319. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptAtMentionParser.d.ts +0 -27
  320. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptAtMentionParser.js +0 -80
  321. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptSlashCommandParser.d.ts +0 -27
  322. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptSlashCommandParser.js +0 -81
  323. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptTemplateVariableParser.d.ts +0 -36
  324. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptTemplateVariableParser.js +0 -100
  325. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptVariableParser.d.ts +0 -42
  326. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptVariableParser.js +0 -149
  327. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/fileReference.d.ts +0 -19
  328. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/fileReference.js +0 -20
  329. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptAtMention.d.ts +0 -24
  330. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptAtMention.js +0 -25
  331. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptSlashCommand.d.ts +0 -24
  332. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptSlashCommand.js +0 -19
  333. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptTemplateVariable.d.ts +0 -26
  334. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptTemplateVariable.js +0 -25
  335. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptToken.d.ts +0 -6
  336. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptToken.js +0 -7
  337. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptVariable.d.ts +0 -51
  338. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptVariable.js +0 -48
  339. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/configMigration.d.ts +0 -17
  340. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/configMigration.js +0 -71
  341. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.d.ts +0 -38
  342. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.js +0 -97
  343. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.d.ts +0 -102
  344. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.js +0 -67
  345. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.d.ts +0 -42
  346. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.js +0 -46
  347. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.d.ts +0 -47
  348. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +0 -186
  349. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.d.ts +0 -30
  350. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.js +0 -54
  351. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceBase.d.ts +0 -24
  352. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceBase.js +0 -26
  353. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceManagerBase.d.ts +0 -37
  354. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceManagerBase.js +0 -87
  355. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.d.ts +0 -216
  356. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.js +0 -333
  357. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/diagnostics.d.ts +0 -32
  358. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/diagnostics.js +0 -20
  359. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.d.ts +0 -107
  360. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js +0 -101
  361. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.d.ts +0 -26
  362. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.js +0 -17
  363. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.d.ts +0 -20
  364. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.js +0 -87
  365. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/record.d.ts +0 -65
  366. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/record.js +0 -37
  367. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.d.ts +0 -24
  368. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +0 -57
  369. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/description.d.ts +0 -14
  370. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/description.js +0 -43
  371. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.d.ts +0 -14
  372. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.js +0 -40
  373. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/model.d.ts +0 -11
  374. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/model.js +0 -43
  375. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.d.ts +0 -41
  376. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.js +0 -98
  377. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.d.ts +0 -31
  378. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.js +0 -24
  379. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +0 -40
  380. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +0 -47
  381. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptParser.d.ts +0 -22
  382. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptParser.js +0 -36
  383. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +0 -17
  384. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +0 -25
  385. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.d.ts +0 -12
  386. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +0 -50
  387. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/objectCache.d.ts +0 -96
  388. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/objectCache.js +0 -39
  389. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/observableDisposable.d.ts +0 -48
  390. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/observableDisposable.js +0 -41
@@ -4,26 +4,29 @@ import { timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/asyn
4
4
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
5
5
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
6
6
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import { isObject, isString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
7
8
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
8
9
  import { ExtensionIdentifier } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
10
+ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
9
11
  import { ChatElicitationRequestPart } from '@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common/vscode/vs/workbench/contrib/chat/browser/chatElicitationRequestPart';
10
12
  import { ChatModel } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel';
11
13
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
14
+ import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
12
15
  import { ChatMessageRole } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
13
16
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
14
17
  import { ITaskService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/tasks/common/taskService.service';
18
+ import { detectsInputRequiredPattern } from '../../executeStrategy/executeStrategy.js';
15
19
  import { OutputMonitorState, PollingConsts } from './types.js';
16
20
  import { getTextResponseFromStream } from './utils.js';
17
- import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
18
- import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
19
- import { isObject, isString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
20
- import { detectsInputRequiredPattern } from '../../executeStrategy/executeStrategy.js';
21
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
22
+ import { TerminalChatAgentToolsSettingId } from '@codingame/monaco-vscode-a175bd1a-4858-5944-9ae5-fb73305dcb13-common/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration';
23
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
21
24
 
22
25
  let OutputMonitor = class OutputMonitor extends Disposable {
23
26
  get state() { return this._state; }
24
27
  get pollingResult() { return this._pollingResult; }
25
28
  get outputMonitorTelemetryCounters() { return this._outputMonitorTelemetryCounters; }
26
- constructor(_execution, _pollFn, invocationContext, token, command, _languageModelsService, _taskService, _chatService, _chatWidgetService) {
29
+ constructor(_execution, _pollFn, invocationContext, token, command, _languageModelsService, _taskService, _chatService, _chatWidgetService, _configurationService, _logService) {
27
30
  super();
28
31
  this._execution = _execution;
29
32
  this._pollFn = _pollFn;
@@ -31,11 +34,18 @@ let OutputMonitor = class OutputMonitor extends Disposable {
31
34
  this._taskService = _taskService;
32
35
  this._chatService = _chatService;
33
36
  this._chatWidgetService = _chatWidgetService;
37
+ this._configurationService = _configurationService;
38
+ this._logService = _logService;
34
39
  this._state = OutputMonitorState.PollingForIdle;
35
40
  this._outputMonitorTelemetryCounters = {
36
41
  inputToolManualAcceptCount: 0,
37
42
  inputToolManualRejectCount: 0,
38
- inputToolManualChars: 0
43
+ inputToolManualChars: 0,
44
+ inputToolAutoAcceptCount: 0,
45
+ inputToolAutoChars: 0,
46
+ inputToolManualShownCount: 0,
47
+ inputToolFreeFormInputShownCount: 0,
48
+ inputToolFreeFormInputCount: 0,
39
49
  };
40
50
  this._onDidFinishCommand = this._register(( new Emitter()));
41
51
  this.onDidFinishCommand = this._onDidFinishCommand.event;
@@ -47,6 +57,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
47
57
  const pollStartTime = Date.now();
48
58
  let modelOutputEvalResponse;
49
59
  let resources;
60
+ let output;
50
61
  let extended = false;
51
62
  try {
52
63
  while (!token.isCancellationRequested) {
@@ -63,7 +74,6 @@ let OutputMonitor = class OutputMonitor extends Disposable {
63
74
  }
64
75
  else {
65
76
  this._promptPart?.hide();
66
- this._promptPart?.dispose();
67
77
  this._promptPart = undefined;
68
78
  break;
69
79
  }
@@ -78,6 +88,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
78
88
  else {
79
89
  resources = idleResult.resources;
80
90
  modelOutputEvalResponse = idleResult.modelOutputEvalResponse;
91
+ output = idleResult.output;
81
92
  }
82
93
  break;
83
94
  }
@@ -93,22 +104,44 @@ let OutputMonitor = class OutputMonitor extends Disposable {
93
104
  finally {
94
105
  this._pollingResult = {
95
106
  state: this._state,
96
- output: this._execution.getOutput(),
107
+ output: output ?? this._execution.getOutput(),
97
108
  modelOutputEvalResponse: token.isCancellationRequested ? 'Cancelled' : modelOutputEvalResponse,
98
109
  pollDurationMs: Date.now() - pollStartTime,
99
110
  resources
100
111
  };
101
112
  this._promptPart?.hide();
102
- this._promptPart?.dispose();
103
113
  this._promptPart = undefined;
104
114
  this._onDidFinishCommand.fire();
105
115
  }
106
116
  }
107
117
  async _handleIdleState(token) {
108
118
  const confirmationPrompt = await this._determineUserInputOptions(this._execution, token);
109
- const suggestedOption = await this._selectAndHandleOption(confirmationPrompt, token);
119
+ if (confirmationPrompt?.detectedRequestForFreeFormInput) {
120
+ this._outputMonitorTelemetryCounters.inputToolFreeFormInputShownCount++;
121
+ const focusedTerminal = await this._requestFreeFormTerminalInput(token, this._execution, confirmationPrompt);
122
+ if (focusedTerminal) {
123
+ await ( new Promise(resolve => {
124
+ const disposable = this._execution.instance.onData(data => {
125
+ if (data === '\r' || data === '\n' || data === '\r\n') {
126
+ this._outputMonitorTelemetryCounters.inputToolFreeFormInputCount++;
127
+ disposable.dispose();
128
+ resolve();
129
+ }
130
+ });
131
+ }));
132
+ await timeout(200);
133
+ return { shouldContinuePollling: true };
134
+ }
135
+ else {
136
+ return { shouldContinuePollling: false };
137
+ }
138
+ }
110
139
  if (confirmationPrompt?.options.length) {
111
- const confirmed = await this._confirmRunInTerminal(suggestedOption ?? confirmationPrompt.options[0], this._execution, confirmationPrompt);
140
+ const suggestedOptionResult = await this._selectAndHandleOption(confirmationPrompt, token);
141
+ if (suggestedOptionResult?.sentToTerminal) {
142
+ return { shouldContinuePollling: true };
143
+ }
144
+ const confirmed = await this._confirmRunInTerminal(token, suggestedOptionResult?.suggestedOption ?? confirmationPrompt.options[0], this._execution, confirmationPrompt);
112
145
  if (confirmed) {
113
146
  return { shouldContinuePollling: true };
114
147
  }
@@ -120,7 +153,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
120
153
  const custom = await this._pollFn?.(this._execution, token, this._taskService);
121
154
  const resources = custom?.resources;
122
155
  const modelOutputEvalResponse = await this._assessOutputForErrors(this._execution.getOutput(), token);
123
- return { resources, modelOutputEvalResponse, shouldContinuePollling: false };
156
+ return { resources, modelOutputEvalResponse, shouldContinuePollling: false, output: custom?.output };
124
157
  }
125
158
  async _handleTimeoutState(command, invocationContext, extended, token) {
126
159
  let continuePollingPart;
@@ -145,7 +178,6 @@ let OutputMonitor = class OutputMonitor extends Disposable {
145
178
  if (race.kind === 'decision') {
146
179
  try {
147
180
  continuePollingPart?.hide();
148
- continuePollingPart?.dispose?.();
149
181
  }
150
182
  catch { }
151
183
  continuePollingPart = undefined;
@@ -161,7 +193,6 @@ let OutputMonitor = class OutputMonitor extends Disposable {
161
193
  if (r === OutputMonitorState.Idle || r === OutputMonitorState.Cancelled || r === OutputMonitorState.Timeout) {
162
194
  try {
163
195
  continuePollingPart?.hide();
164
- continuePollingPart?.dispose?.();
165
196
  }
166
197
  catch { }
167
198
  continuePollingPart = undefined;
@@ -207,6 +238,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
207
238
  }
208
239
  const recentlyIdle = consecutiveIdleEvents >= PollingConsts.MinIdleEvents;
209
240
  const isActive = execution.isActive ? await execution.isActive() : undefined;
241
+ this._logService.trace(`OutputMonitor: waitForIdle check: waited=${waited}ms, recentlyIdle=${recentlyIdle}, isActive=${isActive}`);
210
242
  if (recentlyIdle && isActive === true) {
211
243
  consecutiveIdleEvents = 0;
212
244
  continue;
@@ -228,35 +260,11 @@ let OutputMonitor = class OutputMonitor extends Disposable {
228
260
  if (token.isCancellationRequested || this._state === OutputMonitorState.Cancelled) {
229
261
  return { promise: Promise.resolve(false) };
230
262
  }
231
- const chatModel = this._chatService.getSession(context.sessionId);
232
- if (chatModel instanceof ChatModel) {
233
- const request = chatModel.getRequests().at(-1);
234
- if (request) {
235
- let part = undefined;
236
- const promise = ( new Promise(resolve => {
237
- const thePart = part = this._register(( new ChatElicitationRequestPart(( new MarkdownString(( localize(11456, "Continue waiting for `{0}`?", command)))), ( new MarkdownString(( localize(
238
- 11457,
239
- "This will continue to poll for output to determine when the terminal becomes idle for up to 2 minutes."
240
- )))), '', ( localize(11458, 'Yes')), ( localize(11459, 'No')), async () => {
241
- thePart.state = 'accepted';
242
- thePart.hide();
243
- thePart.dispose();
244
- this._promptPart = undefined;
245
- resolve(true);
246
- }, async () => {
247
- thePart.state = 'rejected';
248
- thePart.hide();
249
- this._state = OutputMonitorState.Cancelled;
250
- this._promptPart = undefined;
251
- resolve(false);
252
- })));
253
- chatModel.acceptResponseProgress(request, thePart);
254
- this._promptPart = thePart;
255
- }));
256
- return { promise, part };
257
- }
258
- }
259
- return { promise: Promise.resolve(false) };
263
+ const result = this._createElicitationPart(token, context?.sessionId, ( new MarkdownString(( localize(11556, "Continue waiting for `{0}`?", command)))), ( new MarkdownString(( localize(
264
+ 11557,
265
+ "This will continue to poll for output to determine when the terminal becomes idle for up to 2 minutes."
266
+ )))), '', ( localize(11558, 'Yes')), ( localize(11559, 'No')), async () => true, async () => { this._state = OutputMonitorState.Cancelled; return false; });
267
+ return { promise: result.promise.then(p => p ?? false), part: result.part };
260
268
  }
261
269
  async _assessOutputForErrors(buffer, token) {
262
270
  const models = await this._languageModelsService.selectLanguageModels({ vendor: 'copilot', family: 'gpt-4o-mini' });
@@ -282,32 +290,35 @@ let OutputMonitor = class OutputMonitor extends Disposable {
282
290
  return undefined;
283
291
  }
284
292
  const lastFiveLines = execution.getOutput(this._lastPromptMarker).trimEnd().split('\n').slice(-5).join('\n');
285
- const promptText = `Analyze the following terminal output. If it contains a prompt requesting user input (such as a confirmation, selection, or yes/no question) and that prompt has NOT already been answered, extract the prompt text and the possible options as a JSON object with keys 'prompt' and 'options' (an array of strings or an object with option to description mappings). For example, if the options are "[Y] Yes [A] Yes to All [N] No [L] No to All [C] Cancel", the option to description mappings would be {"Y": "Yes", "A": "Yes to All", "N": "No", "L": "No to All", "C": "Cancel"}. If there is no such prompt, return null.
293
+ const promptText = `Analyze the following terminal output. If it contains a prompt requesting user input (such as a confirmation, selection, or yes/no question) and that prompt has NOT already been answered, extract the prompt text. The prompt may ask to choose from a set. If so, extract the possible options as a JSON object with keys 'prompt', 'options' (an array of strings or an object with option to description mappings), and 'freeFormInput': false. If no options are provided, and free form input is requested, for example: Password:, return the word freeFormInput. For example, if the options are "[Y] Yes [A] Yes to All [N] No [L] No to All [C] Cancel", the option to description mappings would be {"Y": "Yes", "A": "Yes to All", "N": "No", "L": "No to All", "C": "Cancel"}. If there is no such prompt, return null. If the option is ambiguous, like "any key", return null.
286
294
  Examples:
287
295
  1. Output: "Do you want to overwrite? (y/n)"
288
- Response: {"prompt": "Do you want to overwrite?", "options": ["y", "n"]}
296
+ Response: {"prompt": "Do you want to overwrite?", "options": ["y", "n"], "freeFormInput": false}
289
297
 
290
298
  2. Output: "Confirm: [Y] Yes [A] Yes to All [N] No [L] No to All [C] Cancel"
291
- Response: {"prompt": "Confirm", "options": ["Y", "A", "N", "L", "C"]}
299
+ Response: {"prompt": "Confirm", "options": ["Y", "A", "N", "L", "C"], "freeFormInput": false}
292
300
 
293
301
  3. Output: "Accept license terms? (yes/no)"
294
- Response: {"prompt": "Accept license terms?", "options": ["yes", "no"]}
302
+ Response: {"prompt": "Accept license terms?", "options": ["yes", "no"], "freeFormInput": false}
295
303
 
296
304
  4. Output: "Press Enter to continue"
297
- Response: {"prompt": "Press Enter to continue", "options": ["Enter"]}
305
+ Response: {"prompt": "Press Enter to continue", "options": ["Enter"], "freeFormInput": false}
298
306
 
299
307
  5. Output: "Type Yes to proceed"
300
- Response: {"prompt": "Type Yes to proceed", "options": ["Yes"]}
308
+ Response: {"prompt": "Type Yes to proceed", "options": ["Yes"], "freeFormInput": false}
301
309
 
302
310
  6. Output: "Continue [y/N]"
303
- Response: {"prompt": "Continue", "options": ["y", "N"]}
311
+ Response: {"prompt": "Continue", "options": ["y", "N"], "freeFormInput": false}
304
312
 
313
+ Alternatively, the prompt may request free form input, for example:
314
+ 1. Output: "Enter your username:"
315
+ Response: {"prompt": "Enter your username:", "freeFormInput": true, "options": []}
316
+ 2. Output: "Password:"
317
+ Response: {"prompt": "Password:", "freeFormInput": true, "options": []}
305
318
  Now, analyze this output:
306
319
  ${lastFiveLines}
307
320
  `;
308
- const response = await this._languageModelsService.sendChatRequest(models[0], ( new ExtensionIdentifier('core')), [
309
- { role: ChatMessageRole.User, content: [{ type: 'text', value: promptText }] }
310
- ], {}, token);
321
+ const response = await this._languageModelsService.sendChatRequest(models[0], ( new ExtensionIdentifier('core')), [{ role: ChatMessageRole.User, content: [{ type: 'text', value: promptText }] }], {}, token);
311
322
  const responseText = await getTextResponseFromStream(response);
312
323
  try {
313
324
  const match = responseText.match(/\{[\s\S]*\}/);
@@ -315,12 +326,17 @@ let OutputMonitor = class OutputMonitor extends Disposable {
315
326
  const obj = JSON.parse(match[0]);
316
327
  if (isObject(obj) &&
317
328
  'prompt' in obj && isString(obj.prompt) &&
318
- 'options' in obj) {
329
+ 'options' in obj &&
330
+ 'options' in obj &&
331
+ 'freeFormInput' in obj && typeof obj.freeFormInput === 'boolean') {
332
+ if (this._lastPrompt === obj.prompt) {
333
+ return;
334
+ }
319
335
  if (Array.isArray(obj.options) && obj.options.every(isString)) {
320
- return { prompt: obj.prompt, options: obj.options };
336
+ return { prompt: obj.prompt, options: obj.options, detectedRequestForFreeFormInput: obj.freeFormInput };
321
337
  }
322
338
  else if (isObject(obj.options) && ( Object.values(obj.options)).every(isString)) {
323
- return { prompt: obj.prompt, options: ( Object.keys(obj.options)), descriptions: ( Object.values(obj.options)) };
339
+ return { prompt: obj.prompt, options: ( Object.keys(obj.options)), descriptions: ( Object.values(obj.options)), detectedRequestForFreeFormInput: obj.freeFormInput };
324
340
  }
325
341
  }
326
342
  }
@@ -334,7 +350,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
334
350
  if (!confirmationPrompt?.options.length) {
335
351
  return undefined;
336
352
  }
337
- const model = this._chatWidgetService.getWidgetsByLocations(ChatAgentLocation.Panel)[0]?.input.currentLanguageModel;
353
+ const model = this._chatWidgetService.getWidgetsByLocations(ChatAgentLocation.Chat)[0]?.input.currentLanguageModel;
338
354
  if (!model) {
339
355
  return undefined;
340
356
  }
@@ -348,9 +364,6 @@ let OutputMonitor = class OutputMonitor extends Disposable {
348
364
  if (!currentMarker) {
349
365
  return undefined;
350
366
  }
351
- if (this._lastPrompt === prompt) {
352
- return;
353
- }
354
367
  this._lastPromptMarker = currentMarker;
355
368
  this._lastPrompt = prompt;
356
369
  const promptText = `Given the following confirmation prompt and options from a terminal output, which option is the default?\nPrompt: "${prompt}"\nOptions: ${JSON.stringify(options)}\nRespond with only the option string.`;
@@ -358,76 +371,133 @@ let OutputMonitor = class OutputMonitor extends Disposable {
358
371
  { role: ChatMessageRole.User, content: [{ type: 'text', value: promptText }] }
359
372
  ], {}, token);
360
373
  const suggestedOption = (await getTextResponseFromStream(response)).trim();
361
- if (suggestedOption) {
362
- const index = confirmationPrompt.options.indexOf(suggestedOption);
363
- const validOption = confirmationPrompt.options.find(opt => suggestedOption.replace(/['"`]/g, '').trim() === opt.replace(/['"`]/g, '').trim());
364
- if (validOption && index > -1) {
365
- const description = confirmationPrompt.descriptions?.[index];
366
- return description ? { description, option: validOption } : validOption;
374
+ if (!suggestedOption) {
375
+ return;
376
+ }
377
+ const parsed = suggestedOption.replace(/['"`]/g, '').trim();
378
+ const index = confirmationPrompt.options.indexOf(parsed);
379
+ const validOption = confirmationPrompt.options.find(opt => parsed === opt.replace(/['"`]/g, '').trim());
380
+ if (!validOption || index === -1) {
381
+ return;
382
+ }
383
+ let sentToTerminal = false;
384
+ if (this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoReplyToPrompts)) {
385
+ await this._execution.instance.sendText(validOption, true);
386
+ this._outputMonitorTelemetryCounters.inputToolAutoAcceptCount++;
387
+ this._outputMonitorTelemetryCounters.inputToolAutoChars += validOption?.length || 0;
388
+ sentToTerminal = true;
389
+ }
390
+ const description = confirmationPrompt.descriptions?.[index];
391
+ return description ? { suggestedOption: { description, option: validOption }, sentToTerminal } : { suggestedOption: validOption, sentToTerminal };
392
+ }
393
+ async _requestFreeFormTerminalInput(token, execution, confirmationPrompt) {
394
+ const { promise: userPrompt, part } = this._createElicitationPart(token, execution.sessionId, ( new MarkdownString(( localize(11560, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
395
+ 11561,
396
+ "{0}\nPlease provide the required input to the terminal.\n\n",
397
+ confirmationPrompt.prompt
398
+ )))), '', ( localize(11562, 'Focus terminal')), undefined, async () => { execution.instance.focus(true); return true; });
399
+ const inputPromise = ( new Promise(resolve => {
400
+ const inputDataDisposable = this._register(execution.instance.onDidInputData((data) => {
401
+ if (!data || data === '\r' || data === '\n' || data === '\r\n') {
402
+ part.hide();
403
+ inputDataDisposable.dispose();
404
+ this._state = OutputMonitorState.PollingForIdle;
405
+ resolve(true);
406
+ }
407
+ }));
408
+ }));
409
+ const result = await Promise.race([userPrompt, inputPromise]);
410
+ return !!result;
411
+ }
412
+ async _confirmRunInTerminal(token, suggestedOption, execution, confirmationPrompt) {
413
+ const suggestedOptionValue = typeof suggestedOption === 'string' ? suggestedOption : suggestedOption.option;
414
+ let inputDataDisposable = Disposable.None;
415
+ const { promise: userPrompt, part } = this._createElicitationPart(token, execution.sessionId, ( new MarkdownString(( localize(11563, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
416
+ 11564,
417
+ "{0}\n Do you want to send `{1}`{2} followed by `Enter` to the terminal?",
418
+ confirmationPrompt.prompt,
419
+ suggestedOptionValue,
420
+ typeof suggestedOption === 'string' ? '' : suggestedOption.description ? ' (' + suggestedOption.description + ')' : ''
421
+ )))), '', ( localize(11565, 'Allow')), ( localize(11566, 'Focus Terminal')), async (value) => {
422
+ let option = undefined;
423
+ if (value === true) {
424
+ option = suggestedOptionValue;
425
+ }
426
+ else if (typeof value === 'object' && 'label' in value) {
427
+ option = value.label.split(' (')[0];
367
428
  }
429
+ this._outputMonitorTelemetryCounters.inputToolManualAcceptCount++;
430
+ this._outputMonitorTelemetryCounters.inputToolManualChars += option?.length || 0;
431
+ return option;
432
+ }, async () => {
433
+ this._state = OutputMonitorState.Cancelled;
434
+ this._outputMonitorTelemetryCounters.inputToolManualRejectCount++;
435
+ inputDataDisposable.dispose();
436
+ return undefined;
437
+ }, getMoreActions(suggestedOption, confirmationPrompt));
438
+ const inputPromise = ( new Promise(resolve => {
439
+ inputDataDisposable = this._register(execution.instance.onDidInputData(() => {
440
+ part.hide();
441
+ inputDataDisposable.dispose();
442
+ this._state = OutputMonitorState.PollingForIdle;
443
+ resolve(undefined);
444
+ }));
445
+ }));
446
+ const optionToRun = await Promise.race([userPrompt, inputPromise]);
447
+ if (optionToRun) {
448
+ await execution.instance.sendText(optionToRun, true);
368
449
  }
369
- return undefined;
450
+ return optionToRun;
370
451
  }
371
- async _confirmRunInTerminal(suggestedOption, execution, confirmationPrompt) {
372
- const chatModel = this._chatService.getSession(execution.sessionId);
452
+ _createElicitationPart(token, sessionId, title, detail, subtitle, acceptLabel, rejectLabel, onAccept, onReject, moreActions) {
453
+ const chatModel = sessionId && this._chatService.getSession(sessionId);
373
454
  if (!(chatModel instanceof ChatModel)) {
374
- return undefined;
455
+ throw ( new Error('No model'));
375
456
  }
376
457
  const request = chatModel.getRequests().at(-1);
377
458
  if (!request) {
378
- return undefined;
459
+ throw ( new Error('No request'));
379
460
  }
380
- const suggestedOptionValue = typeof suggestedOption === 'string' ? suggestedOption : suggestedOption.option;
381
- const userPrompt = ( new Promise(resolve => {
382
- const thePart = this._register(( new ChatElicitationRequestPart(( new MarkdownString(( localize(11460, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
383
- 11461,
384
- "{0}\n Do you want to send `{1}`{2} followed by `Enter` to the terminal?",
385
- confirmationPrompt.prompt,
386
- suggestedOptionValue,
387
- typeof suggestedOption === 'string' ? '' : suggestedOption.description ? ' (' + suggestedOption.description + ')' : ''
388
- )))), '', ( localize(11462, 'Allow')), ( localize(11463, 'Focus Terminal')), async (value) => {
461
+ let part;
462
+ const promise = ( new Promise(resolve => {
463
+ const thePart = part = this._register(( new ChatElicitationRequestPart(title, detail, subtitle, acceptLabel, rejectLabel, async (value) => {
389
464
  thePart.state = 'accepted';
390
465
  thePart.hide();
391
- thePart.dispose();
392
- let option = undefined;
393
- if (value === true) {
394
- option = suggestedOptionValue;
466
+ this._promptPart = undefined;
467
+ try {
468
+ const r = await (onAccept ? onAccept(value) : undefined);
469
+ resolve(r);
395
470
  }
396
- else if (typeof value === 'object' && 'label' in value) {
397
- option = value.label.split(' (')[0];
471
+ catch {
472
+ resolve(undefined);
398
473
  }
399
- this._outputMonitorTelemetryCounters.inputToolManualAcceptCount++;
400
- this._outputMonitorTelemetryCounters.inputToolManualChars += option?.length || 0;
401
- resolve(option);
402
474
  }, async () => {
403
475
  thePart.state = 'rejected';
404
476
  thePart.hide();
405
- this._state = OutputMonitorState.Cancelled;
406
- this._outputMonitorTelemetryCounters.inputToolManualRejectCount++;
407
- inputDataDisposable.dispose();
408
- resolve(undefined);
409
- }, undefined, getMoreActions(suggestedOption, confirmationPrompt))));
410
- const inputDataDisposable = this._register(execution.instance.onDidInputData(() => {
411
- thePart.hide();
412
- thePart.dispose();
413
- inputDataDisposable.dispose();
414
- this._state = OutputMonitorState.PollingForIdle;
415
- resolve(undefined);
416
- }));
477
+ this._promptPart = undefined;
478
+ try {
479
+ const r = await (onReject ? onReject() : undefined);
480
+ resolve(r);
481
+ }
482
+ catch {
483
+ resolve(undefined);
484
+ }
485
+ },
486
+ undefined, moreActions, () => this._outputMonitorTelemetryCounters.inputToolManualShownCount++)));
417
487
  chatModel.acceptResponseProgress(request, thePart);
488
+ this._promptPart = thePart;
418
489
  }));
419
- const optionToRun = await userPrompt;
420
- if (optionToRun) {
421
- await execution.instance.sendText(optionToRun, true);
422
- }
423
- return optionToRun;
490
+ this._register(token.onCancellationRequested(() => part.hide()));
491
+ return { promise, part };
424
492
  }
425
493
  };
426
494
  OutputMonitor = ( __decorate([
427
495
  ( __param(5, ILanguageModelsService)),
428
496
  ( __param(6, ITaskService)),
429
497
  ( __param(7, IChatService)),
430
- ( __param(8, IChatWidgetService))
498
+ ( __param(8, IChatWidgetService)),
499
+ ( __param(9, IConfigurationService)),
500
+ ( __param(10, ILogService))
431
501
  ], OutputMonitor));
432
502
  function getMoreActions(suggestedOption, confirmationPrompt) {
433
503
  const moreActions = [];
@@ -6,13 +6,14 @@ export interface IConfirmationPrompt {
6
6
  prompt: string;
7
7
  options: string[];
8
8
  descriptions?: string[];
9
+ detectedRequestForFreeFormInput: boolean;
9
10
  }
10
11
  export interface IExecution {
11
12
  getOutput: (marker?: XtermMarker) => string;
12
13
  isActive?: () => Promise<boolean>;
13
14
  task?: Task | Pick<Task, "configurationProperties">;
14
15
  instance: Pick<ITerminalInstance, "sendText" | "instanceId" | "onDidInputData" | "onData" | "focus" | "registerMarker">;
15
- sessionId: string;
16
+ sessionId: string | undefined;
16
17
  }
17
18
  export interface IPollingResult {
18
19
  output: string;
@@ -4,6 +4,7 @@ import { OperatingSystem } from "@codingame/monaco-vscode-api/vscode/vs/base/com
4
4
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
5
5
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
6
6
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
7
+ import { ITerminalProfile } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal";
7
8
  import { ITerminalLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service";
8
9
  import { IRemoteAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service";
9
10
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
@@ -40,7 +41,10 @@ export declare class RunInTerminalTool extends Disposable implements IToolImpl {
40
41
  constructor(_instantiationService: IInstantiationService, _configurationService: IConfigurationService, _languageModelToolsService: ILanguageModelToolsService, _storageService: IStorageService, _logService: ITerminalLogService, _terminalProfileResolverService: ITerminalProfileResolverService, _terminalService: ITerminalService, _remoteAgentService: IRemoteAgentService, _chatService: IChatService);
41
42
  prepareToolInvocation(context: IToolInvocationPreparationContext, token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
42
43
  invoke(invocation: IToolInvocation, _countTokens: CountTokensCallback, _progress: ToolProgress, token: CancellationToken): Promise<IToolResult>;
44
+ protected _getCopilotShellOrProfile(): Promise<string | ITerminalProfile>;
43
45
  private _getCopilotShell;
46
+ private _getChatTerminalProfile;
47
+ private _isValidChatAgentTerminalProfile;
44
48
  private _initBackgroundTerminal;
45
49
  private _initForegroundTerminal;
46
50
  private _registerInputListener;