@codingame/monaco-vscode-chat-service-override 25.1.2 → 26.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 (334) hide show
  1. package/index.js +24 -3
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +23 -3
  4. package/vscode/src/vs/platform/browserElements/common/browserElements.js +13 -6
  5. package/vscode/src/vs/platform/domWidget/browser/domWidget.js +4 -4
  6. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +42 -27
  8. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +14 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +218 -74
  10. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatTerminalOutputAccessibleView.js +6 -8
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -9
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +165 -168
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +27 -25
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +141 -140
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +189 -121
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +14 -15
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +60 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +435 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +28 -12
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +10 -12
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +3 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +37 -16
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.d.ts +11 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +54 -24
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +73 -34
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +71 -30
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +151 -89
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +12 -15
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +39 -40
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +90 -125
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +5 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +263 -143
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +4 -4
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +188 -126
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.d.ts +1 -1
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +37 -28
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +21 -9
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +392 -226
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +31 -27
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +25 -23
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +1 -3
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.d.ts +2 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +13 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +20 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +83 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +68 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +319 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.d.ts +1 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +215 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +179 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +951 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agentsessionprojection.css +20 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +388 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +195 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +120 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +394 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.d.ts +38 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +95 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +31 -29
  61. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +49 -47
  62. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +4 -6
  63. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +188 -151
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +1012 -639
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +256 -151
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +8 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +182 -101
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +79 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +193 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +9 -7
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.d.ts +68 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +253 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +69 -50
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +3 -4
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +52 -33
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +5 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +274 -155
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +2 -10
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +130 -104
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +12 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +385 -160
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +53 -36
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +112 -75
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +19 -10
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +31 -11
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +39 -17
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.js +10 -14
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +0 -2
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +25 -16
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +265 -203
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +29 -26
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/helpers.js +114 -60
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.js +16 -19
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +44 -30
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +119 -45
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +152 -136
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +12 -8
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +51 -31
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +323 -217
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -3
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +653 -401
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +52 -40
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +5 -2
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +43 -28
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +182 -136
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +33 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +548 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +222 -138
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +3 -3
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +151 -113
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +6 -4
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +453 -217
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +162 -88
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +2 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +0 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -13
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +309 -233
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +55 -53
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.js +3 -1
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +37 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +109 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +35 -23
  132. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +9 -4
  133. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +73 -33
  134. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +47 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +333 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +39 -25
  137. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +9 -5
  138. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +23 -20
  139. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +2 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +20 -16
  141. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +65 -57
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +48 -36
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +20 -12
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +52 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +155 -159
  147. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +24 -14
  148. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +521 -246
  149. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +107 -76
  150. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +28 -24
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.js +10 -6
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.d.ts +16 -0
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.js +57 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatLayoutService.js +4 -6
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +56 -44
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -3
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +37 -47
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +5 -7
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +10 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +1284 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +179 -125
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +9 -11
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/editorHoverWrapper.js +7 -6
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +96 -78
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +58 -53
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +25 -11
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +484 -292
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -6
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +65 -92
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -19
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +1 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +9 -1
  173. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +331 -189
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +81 -93
  175. package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.js +1 -3
  176. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -3
  177. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +6 -7
  178. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +36 -8
  179. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +169 -31
  180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.d.ts +6 -0
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +141 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -4
  183. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +218 -144
  184. package/vscode/src/vs/workbench/contrib/chat/common/model/chatTransferService.js +20 -10
  185. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +109 -0
  186. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +349 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +9 -8
  188. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +9 -0
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +139 -36
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +3 -6
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +64 -51
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +49 -34
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +21 -13
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +125 -97
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +91 -131
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +8 -5
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +5 -0
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +488 -222
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +32 -12
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +58 -13
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +717 -200
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +79 -18
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +371 -130
  205. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +0 -1
  206. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +3 -7
  207. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +79 -61
  208. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +27 -21
  209. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +7 -10
  210. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
  211. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +26 -32
  212. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +2 -2
  213. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -60
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +115 -426
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +15 -0
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +127 -0
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -37
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +16 -0
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +21 -0
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +51 -0
  221. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +334 -0
  222. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +41 -0
  223. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +424 -0
  224. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +4 -0
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +58 -0
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.d.ts +7 -0
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +195 -0
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.d.ts +8 -0
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +368 -0
  230. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.d.ts +2 -0
  231. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +7 -0
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +23 -25
  235. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +7 -8
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +34 -38
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +8 -12
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +103 -95
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +28 -16
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +4 -5
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +12 -8
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +65 -54
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +86 -60
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +13 -26
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +2 -1
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +56 -46
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +2 -2
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +63 -31
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +2 -1
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +35 -30
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +2 -1
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +44 -37
  256. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +3 -4
  257. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +3 -3
  258. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -0
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +70 -50
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +26 -394
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +85 -49
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +68 -27
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +1 -0
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +67 -45
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +12 -0
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +106 -0
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +2 -2
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +177 -97
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +136 -49
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +2 -1
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +128 -112
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +51 -49
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +8 -0
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +25 -0
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +12 -0
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +21 -0
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +5 -14
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +2 -4
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +1 -0
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +29 -0
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +30 -31
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -17
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +19 -20
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.d.ts +11 -0
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +58 -0
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +31 -3
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +325 -199
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +1 -1
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +1 -1
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +33 -38
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +45 -5
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +746 -456
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +145 -98
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +88 -37
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +120 -51
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +25 -28
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +5 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +58 -12
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +12 -0
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +17 -0
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +8 -1
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +47 -28
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +37 -0
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +171 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +0 -58
  314. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +0 -213
  315. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +0 -39
  316. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +0 -243
  317. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +0 -7
  318. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +0 -41
  319. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +0 -166
  320. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +0 -607
  321. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +0 -255
  322. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
  323. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -396
  324. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -9
  325. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -379
  326. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -117
  327. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +0 -141
  328. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +0 -961
  329. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +0 -36
  330. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +0 -447
  331. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +0 -6
  332. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +0 -251
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.d.ts +0 -10
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +0 -42
@@ -0,0 +1,26 @@
1
+ import { ICommandFileWriteParser } from "./commandFileWriteParser.js";
2
+ /**
3
+ * Parser for detecting file writes from `sed` commands using in-place editing.
4
+ *
5
+ * Handles:
6
+ * - `sed -i 's/foo/bar/' file.txt` (GNU)
7
+ * - `sed -i.bak 's/foo/bar/' file.txt` (GNU with backup suffix)
8
+ * - `sed -i '' 's/foo/bar/' file.txt` (macOS/BSD with empty backup suffix)
9
+ * - `sed --in-place 's/foo/bar/' file.txt` (GNU long form)
10
+ * - `sed --in-place=.bak 's/foo/bar/' file.txt` (GNU long form with backup)
11
+ * - `sed -I 's/foo/bar/' file.txt` (BSD case-insensitive variant)
12
+ */
13
+ export declare class SedFileWriteParser implements ICommandFileWriteParser {
14
+ readonly commandName = "sed";
15
+ canHandle(commandText: string): boolean;
16
+ extractFileWrites(commandText: string): string[];
17
+ /**
18
+ * Tokenizes a command into individual arguments, handling quotes and escapes.
19
+ */
20
+ private _tokenizeCommand;
21
+ /**
22
+ * Extracts file targets from tokenized sed command arguments.
23
+ * Files are generally the last non-option, non-script arguments.
24
+ */
25
+ private _extractFileTargets;
26
+ }
@@ -0,0 +1,142 @@
1
+
2
+
3
+ class SedFileWriteParser {
4
+ constructor() {
5
+ this.commandName = 'sed';
6
+ }
7
+ canHandle(commandText) {
8
+ if (!commandText.match(/^sed\s+/)) {
9
+ return false;
10
+ }
11
+ const inPlaceRegex = /(?:^|\s)(-[a-zA-Z]*[iI][a-zA-Z]*\S*|--in-place(?:=\S*)?|(-i|-I)\s*'[^']*'|(-i|-I)\s*"[^"]*")(?:\s|$)/;
12
+ return inPlaceRegex.test(commandText);
13
+ }
14
+ extractFileWrites(commandText) {
15
+ const tokens = this._tokenizeCommand(commandText);
16
+ return this._extractFileTargets(tokens);
17
+ }
18
+ _tokenizeCommand(commandText) {
19
+ const tokens = [];
20
+ let current = '';
21
+ let inSingleQuote = false;
22
+ let inDoubleQuote = false;
23
+ let escaped = false;
24
+ for (let i = 0; i < commandText.length; i++) {
25
+ const char = commandText[i];
26
+ if (escaped) {
27
+ current += char;
28
+ escaped = false;
29
+ continue;
30
+ }
31
+ if (char === '\\' && !inSingleQuote) {
32
+ escaped = true;
33
+ current += char;
34
+ continue;
35
+ }
36
+ if (char === '\'' && !inDoubleQuote) {
37
+ inSingleQuote = !inSingleQuote;
38
+ current += char;
39
+ continue;
40
+ }
41
+ if (char === '"' && !inSingleQuote) {
42
+ inDoubleQuote = !inDoubleQuote;
43
+ current += char;
44
+ continue;
45
+ }
46
+ if (/\s/.test(char) && !inSingleQuote && !inDoubleQuote) {
47
+ if (current) {
48
+ tokens.push(current);
49
+ current = '';
50
+ }
51
+ continue;
52
+ }
53
+ current += char;
54
+ }
55
+ if (current) {
56
+ tokens.push(current);
57
+ }
58
+ return tokens;
59
+ }
60
+ _extractFileTargets(tokens) {
61
+ if (tokens.length === 0 || tokens[0] !== 'sed') {
62
+ return [];
63
+ }
64
+ const files = [];
65
+ let i = 1;
66
+ let foundScript = false;
67
+ while (i < tokens.length) {
68
+ const token = tokens[i];
69
+ if (token.startsWith('--')) {
70
+ if (token === '--in-place' || token.startsWith('--in-place=')) {
71
+ i++;
72
+ continue;
73
+ }
74
+ if (token === '--expression' || token === '--file') {
75
+ i += 2;
76
+ foundScript = true;
77
+ continue;
78
+ }
79
+ if (token.startsWith('--expression=') || token.startsWith('--file=')) {
80
+ i++;
81
+ foundScript = true;
82
+ continue;
83
+ }
84
+ i++;
85
+ continue;
86
+ }
87
+ if (token.startsWith('-') && token.length > 1 && token[1] !== '-') {
88
+ const flags = token.slice(1);
89
+ const iIndex = flags.indexOf('i');
90
+ const IIndex = flags.indexOf('I');
91
+ const inPlaceIndex = iIndex >= 0 ? iIndex : IIndex;
92
+ if (inPlaceIndex >= 0 && inPlaceIndex < flags.length - 1) {
93
+ i++;
94
+ continue;
95
+ }
96
+ if ((flags.endsWith('i') || flags.endsWith('I')) && i + 1 < tokens.length) {
97
+ const nextToken = tokens[i + 1];
98
+ if (nextToken === '\'\'' || nextToken === '""') {
99
+ i += 2;
100
+ continue;
101
+ }
102
+ if ((nextToken.startsWith('\'') && nextToken.endsWith('\'')) || (nextToken.startsWith('"') && nextToken.endsWith('"'))) {
103
+ const unquoted = nextToken.slice(1, -1);
104
+ if (unquoted.startsWith('.') && unquoted.length <= 10 && !unquoted.includes('/')) {
105
+ i += 2;
106
+ continue;
107
+ }
108
+ }
109
+ }
110
+ if (flags.includes('e') || flags.includes('f')) {
111
+ const eIndex = flags.indexOf('e');
112
+ const fIndex = flags.indexOf('f');
113
+ const optIndex = eIndex >= 0 ? eIndex : fIndex;
114
+ if (optIndex < flags.length - 1) {
115
+ foundScript = true;
116
+ i++;
117
+ continue;
118
+ }
119
+ foundScript = true;
120
+ i += 2;
121
+ continue;
122
+ }
123
+ i++;
124
+ continue;
125
+ }
126
+ if (!foundScript) {
127
+ foundScript = true;
128
+ i++;
129
+ continue;
130
+ }
131
+ let file = token;
132
+ if ((file.startsWith('\'') && file.endsWith('\'')) || (file.startsWith('"') && file.endsWith('"'))) {
133
+ file = file.slice(1, -1);
134
+ }
135
+ files.push(file);
136
+ i++;
137
+ }
138
+ return files;
139
+ }
140
+ }
141
+
142
+ export { SedFileWriteParser };
@@ -1,5 +1,6 @@
1
1
  import type { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
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";
3
4
  import type { ICommandDetectionCapability } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/capabilities/capabilities";
4
5
  import { ITerminalLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service";
5
6
  import { type ITerminalExecuteStrategy, type ITerminalExecuteStrategyResult } from "./executeStrategy.js";
@@ -27,7 +28,7 @@ import { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbe
27
28
  * output. We lean on the LLM to be able to differentiate the actual output from prompts and bad
28
29
  * output when it's not ideal.
29
30
  */
30
- export declare class BasicExecuteStrategy implements ITerminalExecuteStrategy {
31
+ export declare class BasicExecuteStrategy extends Disposable implements ITerminalExecuteStrategy {
31
32
  private readonly _instance;
32
33
  private readonly _hasReceivedUserInput;
33
34
  private readonly _commandDetection;
@@ -2,21 +2,22 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
4
4
  import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
5
- import { MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
+ import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
6
  import { isNumber } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
7
7
  import { ITerminalLogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service';
8
8
  import { trackIdleOnPrompt, waitForIdle } from './executeStrategy.js';
9
9
  import { createAltBufferPromise, setupRecreatingStartMarker } from './strategyHelpers.js';
10
10
 
11
- let BasicExecuteStrategy = class BasicExecuteStrategy {
11
+ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
12
12
  constructor(_instance, _hasReceivedUserInput, _commandDetection, _logService) {
13
+ super();
13
14
  this._instance = _instance;
14
15
  this._hasReceivedUserInput = _hasReceivedUserInput;
15
16
  this._commandDetection = _commandDetection;
16
17
  this._logService = _logService;
17
- this.type = 'basic';
18
- this._startMarker = ( new MutableDisposable());
19
- this._onDidCreateStartMarker = ( new Emitter());
18
+ this.type = "basic";
19
+ this._startMarker = this._register(( new MutableDisposable()));
20
+ this._onDidCreateStartMarker = this._register(( new Emitter()));
20
21
  this.onDidCreateStartMarker = this._onDidCreateStartMarker.event;
21
22
  }
22
23
  async execute(commandLine, token, commandId) {
@@ -25,67 +26,80 @@ let BasicExecuteStrategy = class BasicExecuteStrategy {
25
26
  const idlePromptPromise = trackIdleOnPrompt(this._instance, 1000, store);
26
27
  const onDone = Promise.race([
27
28
  Event.toPromise(this._commandDetection.onCommandFinished, store).then(e => {
28
- this._log('onDone 1 of 2 via end event, waiting for short idle prompt');
29
+ this._log("onDone 1 of 2 via end event, waiting for short idle prompt");
29
30
  return idlePromptPromise.then(() => {
30
- this._log('onDone 2 of 2 via short idle prompt');
31
+ this._log("onDone 2 of 2 via short idle prompt");
31
32
  return {
32
- 'type': 'success',
33
+ "type": "success",
33
34
  command: e
34
35
  };
35
36
  });
36
37
  }),
37
38
  Event.toPromise(token.onCancellationRequested, store).then(() => {
38
- this._log('onDone via cancellation');
39
+ this._log("onDone via cancellation");
39
40
  }),
40
41
  Event.toPromise(this._instance.onDisposed, store).then(() => {
41
- this._log('onDone via terminal disposal');
42
- return { type: 'disposal' };
42
+ this._log("onDone via terminal disposal");
43
+ return {
44
+ type: "disposal"
45
+ };
43
46
  }),
44
47
  trackIdleOnPrompt(this._instance, 3000, store).then(() => {
45
- this._log('onDone long idle prompt');
46
- }),
48
+ this._log("onDone long idle prompt");
49
+ })
47
50
  ]);
48
- this._log('Waiting for xterm');
51
+ this._log("Waiting for xterm");
49
52
  const xterm = await this._instance.xtermReadyPromise;
50
53
  if (!xterm) {
51
- throw ( new Error('Xterm is not available'));
54
+ throw ( new Error("Xterm is not available"));
52
55
  }
53
56
  const alternateBufferPromise = createAltBufferPromise(xterm, store, this._log.bind(this));
54
- this._log('Waiting for idle');
57
+ this._log("Waiting for idle");
55
58
  await waitForIdle(this._instance.onData, 1000);
56
- setupRecreatingStartMarker(xterm, this._startMarker, m => this._onDidCreateStartMarker.fire(m), store, this._log.bind(this));
59
+ setupRecreatingStartMarker(
60
+ xterm,
61
+ this._startMarker,
62
+ m => this._onDidCreateStartMarker.fire(m),
63
+ store,
64
+ this._log.bind(this)
65
+ );
57
66
  if (this._hasReceivedUserInput()) {
58
- this._log('Command timed out, sending SIGINT and retrying');
59
- await this._instance.sendText('\x03', false);
67
+ this._log("Command timed out, sending SIGINT and retrying");
68
+ await this._instance.sendText("\u0003", false);
60
69
  await waitForIdle(this._instance.onData, 100);
61
70
  }
62
71
  if (commandId) {
63
- this._log(`In basic execute strategy: skipping pre-bound command id ${commandId} because basic shell integration executes via sendText`);
72
+ this._log(
73
+ `In basic execute strategy: skipping pre-bound command id ${commandId} because basic shell integration executes via sendText`
74
+ );
64
75
  }
65
76
  this._log(`Executing command line \`${commandLine}\``);
66
77
  this._instance.sendText(commandLine, true);
67
- this._log('Waiting for done event');
68
- const onDoneResult = await Promise.race([onDone, alternateBufferPromise.then(() => ({ type: 'alternateBuffer' }))]);
69
- if (onDoneResult && onDoneResult.type === 'disposal') {
70
- throw ( new Error('The terminal was closed'));
78
+ this._log("Waiting for done event");
79
+ const onDoneResult = await Promise.race([onDone, alternateBufferPromise.then(() => ({
80
+ type: "alternateBuffer"
81
+ }))]);
82
+ if (onDoneResult && onDoneResult.type === "disposal") {
83
+ throw ( new Error("The terminal was closed"));
71
84
  }
72
- if (onDoneResult && onDoneResult.type === 'alternateBuffer') {
73
- this._log('Detected alternate buffer entry, skipping output capture');
85
+ if (onDoneResult && onDoneResult.type === "alternateBuffer") {
86
+ this._log("Detected alternate buffer entry, skipping output capture");
74
87
  return {
75
88
  output: undefined,
76
89
  exitCode: undefined,
77
- error: 'alternateBuffer',
90
+ error: "alternateBuffer",
78
91
  didEnterAltBuffer: true
79
92
  };
80
93
  }
81
- const finishedCommand = onDoneResult && onDoneResult.type === 'success' ? onDoneResult.command : undefined;
94
+ const finishedCommand = onDoneResult && onDoneResult.type === "success" ? onDoneResult.command : undefined;
82
95
  if (finishedCommand) {
83
- this._log(`Finished command id=${finishedCommand.id ?? 'none'} for requested=${commandId ?? 'none'}`);
84
- }
85
- else if (commandId) {
96
+ this._log(
97
+ `Finished command id=${finishedCommand.id ?? "none"} for requested=${commandId ?? "none"}`
98
+ );
99
+ } else if (commandId) {
86
100
  this._log(`No finished command surfaced for requested=${commandId}`);
87
101
  }
88
- this._log('Waiting for idle');
102
+ this._log("Waiting for idle");
89
103
  await waitForIdle(this._instance.onData, 1000);
90
104
  if (token.isCancellationRequested) {
91
105
  throw ( new CancellationError());
@@ -96,22 +110,21 @@ let BasicExecuteStrategy = class BasicExecuteStrategy {
96
110
  if (finishedCommand) {
97
111
  const commandOutput = finishedCommand?.getOutput();
98
112
  if (commandOutput !== undefined) {
99
- this._log('Fetched output via finished command');
113
+ this._log("Fetched output via finished command");
100
114
  output = commandOutput;
101
115
  }
102
116
  }
103
117
  if (output === undefined) {
104
118
  try {
105
119
  output = xterm.getContentsAsText(this._startMarker.value, endMarker);
106
- this._log('Fetched output via markers');
107
- }
108
- catch {
109
- this._log('Failed to fetch output via markers');
110
- additionalInformationLines.push('Failed to retrieve command output');
120
+ this._log("Fetched output via markers");
121
+ } catch {
122
+ this._log("Failed to fetch output via markers");
123
+ additionalInformationLines.push("Failed to retrieve command output");
111
124
  }
112
125
  }
113
126
  if (output !== undefined && output.trim().length === 0) {
114
- additionalInformationLines.push('Command produced no output');
127
+ additionalInformationLines.push("Command produced no output");
115
128
  }
116
129
  const exitCode = finishedCommand?.exitCode;
117
130
  if (isNumber(exitCode) && exitCode > 0) {
@@ -119,11 +132,10 @@ let BasicExecuteStrategy = class BasicExecuteStrategy {
119
132
  }
120
133
  return {
121
134
  output,
122
- additionalInformation: additionalInformationLines.length > 0 ? additionalInformationLines.join('\n') : undefined,
123
- exitCode,
135
+ additionalInformation: additionalInformationLines.length > 0 ? additionalInformationLines.join("\n") : undefined,
136
+ exitCode
124
137
  };
125
- }
126
- finally {
138
+ } finally {
127
139
  store.dispose();
128
140
  }
129
141
  }
@@ -131,8 +143,6 @@ let BasicExecuteStrategy = class BasicExecuteStrategy {
131
143
  this._logService.debug(`RunInTerminalTool#Basic: ${message}`);
132
144
  }
133
145
  };
134
- BasicExecuteStrategy = ( __decorate([
135
- ( __param(3, ITerminalLogService))
136
- ], BasicExecuteStrategy));
146
+ BasicExecuteStrategy = ( __decorate([( __param(3, ITerminalLogService))], BasicExecuteStrategy));
137
147
 
138
148
  export { BasicExecuteStrategy };
@@ -1,9 +1,9 @@
1
1
  import type { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
2
  import type { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
- import { DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { DisposableStore, type IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
4
  import type { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
5
5
  import type { IMarker as IXtermMarker } from "@xterm/xterm";
6
- export interface ITerminalExecuteStrategy {
6
+ export interface ITerminalExecuteStrategy extends IDisposable {
7
7
  readonly type: "rich" | "basic" | "none";
8
8
  /**
9
9
  * Executes a command line and gets a result designed to be passed directly to an LLM. The
@@ -12,41 +12,71 @@ async function waitForIdle(onData, idleDurationMs) {
12
12
  }
13
13
  function detectsCommonPromptPattern(cursorLine) {
14
14
  if (cursorLine.trim().length === 0) {
15
- return { detected: false, reason: 'Content is empty or contains only whitespace' };
15
+ return {
16
+ detected: false,
17
+ reason: "Content is empty or contains only whitespace"
18
+ };
16
19
  }
17
20
  if (/PS\s+[A-Z]:\\.*>\s*$/.test(cursorLine)) {
18
- return { detected: true, reason: `PowerShell prompt pattern detected: "${cursorLine}"` };
21
+ return {
22
+ detected: true,
23
+ reason: `PowerShell prompt pattern detected: "${cursorLine}"`
24
+ };
19
25
  }
20
26
  if (/^[A-Z]:\\.*>\s*$/.test(cursorLine)) {
21
- return { detected: true, reason: `Command Prompt pattern detected: "${cursorLine}"` };
27
+ return {
28
+ detected: true,
29
+ reason: `Command Prompt pattern detected: "${cursorLine}"`
30
+ };
22
31
  }
23
32
  if (/\$\s*$/.test(cursorLine)) {
24
- return { detected: true, reason: `Bash-style prompt pattern detected: "${cursorLine}"` };
33
+ return {
34
+ detected: true,
35
+ reason: `Bash-style prompt pattern detected: "${cursorLine}"`
36
+ };
25
37
  }
26
38
  if (/#\s*$/.test(cursorLine)) {
27
- return { detected: true, reason: `Root prompt pattern detected: "${cursorLine}"` };
39
+ return {
40
+ detected: true,
41
+ reason: `Root prompt pattern detected: "${cursorLine}"`
42
+ };
28
43
  }
29
44
  if (/^>>>\s*$/.test(cursorLine)) {
30
- return { detected: true, reason: `Python REPL prompt pattern detected: "${cursorLine}"` };
45
+ return {
46
+ detected: true,
47
+ reason: `Python REPL prompt pattern detected: "${cursorLine}"`
48
+ };
31
49
  }
32
50
  if (/\u276f\s*$/.test(cursorLine)) {
33
- return { detected: true, reason: `Starship prompt pattern detected: "${cursorLine}"` };
51
+ return {
52
+ detected: true,
53
+ reason: `Starship prompt pattern detected: "${cursorLine}"`
54
+ };
34
55
  }
35
56
  if (/[>%]\s*$/.test(cursorLine)) {
36
- return { detected: true, reason: `Generic prompt pattern detected: "${cursorLine}"` };
57
+ return {
58
+ detected: true,
59
+ reason: `Generic prompt pattern detected: "${cursorLine}"`
60
+ };
37
61
  }
38
- return { detected: false, reason: `No common prompt pattern found in last line: "${cursorLine}"` };
62
+ return {
63
+ detected: false,
64
+ reason: `No common prompt pattern found in last line: "${cursorLine}"`
65
+ };
39
66
  }
40
67
  async function waitForIdleWithPromptHeuristics(onData, instance, idlePollIntervalMs, extendedTimeoutMs) {
41
68
  await waitForIdle(onData, idlePollIntervalMs);
42
69
  const xterm = await instance.xtermReadyPromise;
43
70
  if (!xterm) {
44
- return { detected: false, reason: `Xterm not available, using ${idlePollIntervalMs}ms timeout` };
71
+ return {
72
+ detected: false,
73
+ reason: `Xterm not available, using ${idlePollIntervalMs}ms timeout`
74
+ };
45
75
  }
46
76
  const startTime = Date.now();
47
77
  while (Date.now() - startTime < extendedTimeoutMs) {
48
78
  try {
49
- let content = '';
79
+ let content = "";
50
80
  const buffer = xterm.raw.buffer.active;
51
81
  const line = buffer.getLine(buffer.baseY + buffer.cursorY);
52
82
  if (line) {
@@ -56,22 +86,28 @@ async function waitForIdleWithPromptHeuristics(onData, instance, idlePollInterva
56
86
  if (promptResult.detected) {
57
87
  return promptResult;
58
88
  }
59
- }
60
- catch (error) {
61
- }
62
- await waitForIdle(onData, Math.min(idlePollIntervalMs, extendedTimeoutMs - (Date.now() - startTime)));
89
+ } catch (error) {}
90
+ await waitForIdle(
91
+ onData,
92
+ Math.min(idlePollIntervalMs, extendedTimeoutMs - (Date.now() - startTime))
93
+ );
63
94
  }
64
95
  try {
65
- let content = '';
96
+ let content = "";
66
97
  const buffer = xterm.raw.buffer.active;
67
98
  const line = buffer.getLine(buffer.baseY + buffer.cursorY);
68
99
  if (line) {
69
- content = line.translateToString(true) + '\n';
100
+ content = line.translateToString(true) + "\n";
70
101
  }
71
- return { detected: false, reason: `Extended timeout reached without prompt detection. Last line: "${content.trim()}"` };
72
- }
73
- catch (error) {
74
- return { detected: false, reason: `Extended timeout reached. Error reading terminal content: ${error}` };
102
+ return {
103
+ detected: false,
104
+ reason: `Extended timeout reached without prompt detection. Last line: "${content.trim()}"`
105
+ };
106
+ } catch (error) {
107
+ return {
108
+ detected: false,
109
+ reason: `Extended timeout reached. Error reading terminal content: ${error}`
110
+ };
75
111
  }
76
112
  }
77
113
  async function trackIdleOnPrompt(instance, idleDurationMs, store) {
@@ -90,7 +126,7 @@ async function trackIdleOnPrompt(instance, idleDurationMs, store) {
90
126
  scheduler.schedule();
91
127
  }, 1000)));
92
128
  let TerminalState;
93
- (function (TerminalState) {
129
+ (function(TerminalState) {
94
130
  TerminalState[TerminalState["Initial"] = 0] = "Initial";
95
131
  TerminalState[TerminalState["Prompt"] = 1] = "Prompt";
96
132
  TerminalState[TerminalState["Executing"] = 2] = "Executing";
@@ -99,28 +135,24 @@ async function trackIdleOnPrompt(instance, idleDurationMs, store) {
99
135
  store.add(onData(e => {
100
136
  const matches = e.matchAll(/(?:\x1b\]|\x9d)[16]33;(?<type>[ACD])(?:;.*)?(?:\x1b\\|\x07|\x9c)/g);
101
137
  for (const match of matches) {
102
- if (match.groups?.type === 'A') {
138
+ if (match.groups?.type === "A") {
103
139
  if (state === 0 ) {
104
140
  state = 1 ;
105
- }
106
- else if (state === 2 ) {
141
+ } else if (state === 2 ) {
107
142
  state = 3 ;
108
143
  }
109
- }
110
- else if (match.groups?.type === 'C' || match.groups?.type === 'D') {
144
+ } else if (match.groups?.type === "C" || match.groups?.type === "D") {
111
145
  state = 2 ;
112
146
  }
113
147
  }
114
148
  if (state === 3 ) {
115
149
  promptFallbackScheduler.cancel();
116
150
  scheduler.schedule();
117
- }
118
- else {
151
+ } else {
119
152
  scheduler.cancel();
120
153
  if (state === 0 || state === 1 ) {
121
154
  promptFallbackScheduler.schedule();
122
- }
123
- else {
155
+ } else {
124
156
  promptFallbackScheduler.cancel();
125
157
  }
126
158
  }
@@ -1,5 +1,6 @@
1
1
  import type { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
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";
3
4
  import { ITerminalLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service";
4
5
  import { type ITerminalExecuteStrategy, type ITerminalExecuteStrategyResult } from "./executeStrategy.js";
5
6
  import type { IMarker as IXtermMarker } from "@xterm/xterm";
@@ -10,7 +11,7 @@ import { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbe
10
11
  * with `sendText` instead of `shellIntegration.executeCommand` and relying on idle events instead
11
12
  * of execution events.
12
13
  */
13
- export declare class NoneExecuteStrategy implements ITerminalExecuteStrategy {
14
+ export declare class NoneExecuteStrategy extends Disposable implements ITerminalExecuteStrategy {
14
15
  private readonly _instance;
15
16
  private readonly _hasReceivedUserInput;
16
17
  private readonly _logService;