@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,106 @@
1
+
2
+ import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
3
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
4
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
+ import { ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
7
+ import { RunInTerminalTool } from './runInTerminalTool.js';
8
+ import { TerminalToolId } from './toolIds.js';
9
+ import { timeout, raceCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
10
+
11
+ const AwaitTerminalToolData = {
12
+ id: TerminalToolId.AwaitTerminal,
13
+ toolReferenceName: "awaitTerminal",
14
+ displayName: ( localize(12350, "Await Terminal")),
15
+ modelDescription: "Wait for a background terminal command to complete. Returns the output, exit code, or timeout status.",
16
+ icon: Codicon.terminal,
17
+ source: ToolDataSource.Internal,
18
+ inputSchema: {
19
+ type: "object",
20
+ properties: {
21
+ id: {
22
+ type: "string",
23
+ description: `The ID of the terminal to await (returned by ${TerminalToolId.RunInTerminal} when isBackground=true).`
24
+ },
25
+ timeout: {
26
+ type: "number",
27
+ description: "Timeout in milliseconds. If the command does not complete within this time, returns the output collected so far with a timeout indicator. Use 0 for no timeout."
28
+ }
29
+ },
30
+ required: ["id", "timeout"]
31
+ }
32
+ };
33
+ class AwaitTerminalTool extends Disposable {
34
+ async prepareToolInvocation(_context, _token) {
35
+ return {
36
+ invocationMessage: ( localize(12351, "Awaiting terminal completion")),
37
+ pastTenseMessage: ( localize(12352, "Awaited terminal completion"))
38
+ };
39
+ }
40
+ async invoke(invocation, _countTokens, _progress, token) {
41
+ const args = invocation.parameters;
42
+ const execution = RunInTerminalTool.getExecution(args.id);
43
+ if (!execution) {
44
+ return {
45
+ content: [{
46
+ kind: "text",
47
+ value: `Error: No active terminal execution found with ID ${args.id}. The terminal may have already completed or the ID is invalid.`
48
+ }]
49
+ };
50
+ }
51
+ try {
52
+ let result;
53
+ const timeoutMs = Math.max(0, args.timeout);
54
+ const hasTimeout = timeoutMs > 0;
55
+ if (hasTimeout) {
56
+ const timeoutPromise = timeout(timeoutMs).then(() => ({
57
+ type: "timeout"
58
+ }));
59
+ const completionPromise = raceCancellationError(execution.completionPromise, token).then(r => ({
60
+ type: "completed",
61
+ result: r
62
+ }));
63
+ const raceResult = await Promise.race([completionPromise, timeoutPromise]);
64
+ if (raceResult.type === "timeout") {
65
+ const partialOutput = execution.getOutput();
66
+ return {
67
+ toolMetadata: {
68
+ exitCode: undefined,
69
+ timedOut: true
70
+ },
71
+ content: [{
72
+ kind: "text",
73
+ value: `Terminal ${args.id} timed out after ${timeoutMs}ms. Output collected so far:\n${partialOutput}`
74
+ }]
75
+ };
76
+ }
77
+ result = raceResult.result;
78
+ } else {
79
+ result = await raceCancellationError(execution.completionPromise, token);
80
+ }
81
+ const output = execution.getOutput();
82
+ const exitCodeText = result.exitCode !== undefined ? ` (exit code: ${result.exitCode})` : "";
83
+ return {
84
+ toolMetadata: {
85
+ exitCode: result.exitCode
86
+ },
87
+ content: [{
88
+ kind: "text",
89
+ value: `Terminal ${args.id} completed${exitCodeText}:\n${output}`
90
+ }]
91
+ };
92
+ } catch (e) {
93
+ if (e instanceof CancellationError) {
94
+ throw e;
95
+ }
96
+ return {
97
+ content: [{
98
+ kind: "text",
99
+ value: `Error awaiting terminal ${args.id}: ${e instanceof Error ? e.message : String(e)}`
100
+ }]
101
+ };
102
+ }
103
+ }
104
+ }
105
+
106
+ export { AwaitTerminalTool, AwaitTerminalToolData };
@@ -21,8 +21,8 @@ export declare class CommandLineAutoApprover extends Disposable {
21
21
  private readonly _npmScriptAutoApprover;
22
22
  constructor(_configurationService: IConfigurationService, instantiationService: IInstantiationService, _terminalChatService: ITerminalChatService);
23
23
  updateConfiguration(): void;
24
- isCommandAutoApproved(command: string, shell: string, os: OperatingSystem, cwd: URI | undefined, chatSessionId?: string): Promise<ICommandApprovalResultWithReason>;
25
- isCommandLineAutoApproved(commandLine: string, chatSessionId?: string): ICommandApprovalResultWithReason;
24
+ isCommandAutoApproved(command: string, shell: string, os: OperatingSystem, cwd: URI | undefined, chatSessionResource?: URI): Promise<ICommandApprovalResultWithReason>;
25
+ isCommandLineAutoApproved(commandLine: string, chatSessionResource?: URI): ICommandApprovalResultWithReason;
26
26
  private _getSessionRules;
27
27
  private _commandMatchesRule;
28
28
  private _mapAutoApproveConfigToRules;
@@ -26,9 +26,7 @@ let CommandLineAutoApprover = class CommandLineAutoApprover extends Disposable {
26
26
  this._npmScriptAutoApprover = this._register(instantiationService.createInstance(NpmScriptAutoApprover));
27
27
  this.updateConfiguration();
28
28
  this._register(this._configurationService.onDidChangeConfiguration(e => {
29
- if (e.affectsConfiguration(TerminalChatAgentToolsSettingId.AutoApprove) ||
30
- e.affectsConfiguration(TerminalChatAgentToolsSettingId.IgnoreDefaultAutoApproveRules) ||
31
- e.affectsConfiguration(TerminalChatAgentToolsSettingId.DeprecatedAutoApproveCompatible)) {
29
+ if (e.affectsConfiguration(TerminalChatAgentToolsSettingId.AutoApprove) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.IgnoreDefaultAutoApproveRules) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.DeprecatedAutoApproveCompatible)) {
32
30
  this.updateConfiguration();
33
31
  }
34
32
  }));
@@ -37,38 +35,43 @@ let CommandLineAutoApprover = class CommandLineAutoApprover extends Disposable {
37
35
  let configValue = this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoApprove);
38
36
  const configInspectValue = this._configurationService.inspect(TerminalChatAgentToolsSettingId.AutoApprove);
39
37
  const deprecatedValue = this._configurationService.getValue(TerminalChatAgentToolsSettingId.DeprecatedAutoApproveCompatible);
40
- if (deprecatedValue && typeof deprecatedValue === 'object' && configValue && typeof configValue === 'object') {
38
+ if (deprecatedValue && typeof deprecatedValue === "object" && configValue && typeof configValue === "object") {
41
39
  configValue = {
42
40
  ...configValue,
43
41
  ...deprecatedValue
44
42
  };
45
43
  }
46
- const { denyListRules, allowListRules, allowListCommandLineRules, denyListCommandLineRules } = this._mapAutoApproveConfigToRules(configValue, configInspectValue);
44
+ const {
45
+ denyListRules,
46
+ allowListRules,
47
+ allowListCommandLineRules,
48
+ denyListCommandLineRules
49
+ } = this._mapAutoApproveConfigToRules(configValue, configInspectValue);
47
50
  this._allowListRules = allowListRules;
48
51
  this._denyListRules = denyListRules;
49
52
  this._allowListCommandLineRules = allowListCommandLineRules;
50
53
  this._denyListCommandLineRules = denyListCommandLineRules;
51
54
  }
52
- async isCommandAutoApproved(command, shell, os, cwd, chatSessionId) {
55
+ async isCommandAutoApproved(command, shell, os, cwd, chatSessionResource) {
53
56
  if (transientEnvVarRegex.test(command)) {
54
57
  return {
55
- result: 'denied',
58
+ result: "denied",
56
59
  reason: `Command '${command}' is denied because it contains transient environment variables`
57
60
  };
58
61
  }
59
62
  for (const rule of this._denyListRules) {
60
63
  if (this._commandMatchesRule(rule, command, shell, os)) {
61
64
  return {
62
- result: 'denied',
65
+ result: "denied",
63
66
  rule,
64
67
  reason: `Command '${command}' is denied by deny list rule: ${rule.sourceText}`
65
68
  };
66
69
  }
67
70
  }
68
- for (const rule of this._getSessionRules(chatSessionId).allowListRules) {
71
+ for (const rule of this._getSessionRules(chatSessionResource).allowListRules) {
69
72
  if (this._commandMatchesRule(rule, command, shell, os)) {
70
73
  return {
71
- result: 'approved',
74
+ result: "approved",
72
75
  rule,
73
76
  reason: `Command '${command}' is approved by session allow list rule: ${rule.sourceText}`
74
77
  };
@@ -77,7 +80,7 @@ let CommandLineAutoApprover = class CommandLineAutoApprover extends Disposable {
77
80
  for (const rule of this._allowListRules) {
78
81
  if (this._commandMatchesRule(rule, command, shell, os)) {
79
82
  return {
80
- result: 'approved',
83
+ result: "approved",
81
84
  rule,
82
85
  reason: `Command '${command}' is approved by allow list rule: ${rule.sourceText}`
83
86
  };
@@ -86,30 +89,33 @@ let CommandLineAutoApprover = class CommandLineAutoApprover extends Disposable {
86
89
  const npmScriptResult = await this._npmScriptAutoApprover.isCommandAutoApproved(command, cwd);
87
90
  if (npmScriptResult.isAutoApproved) {
88
91
  return {
89
- result: 'approved',
90
- rule: { type: 'npmScript', npmScriptResult },
92
+ result: "approved",
93
+ rule: {
94
+ type: "npmScript",
95
+ npmScriptResult
96
+ },
91
97
  reason: `Command '${command}' is approved as npm script '${npmScriptResult.scriptName}' is defined in package.json`
92
98
  };
93
99
  }
94
100
  return {
95
- result: 'noMatch',
101
+ result: "noMatch",
96
102
  reason: `Command '${command}' has no matching auto approve entries`
97
103
  };
98
104
  }
99
- isCommandLineAutoApproved(commandLine, chatSessionId) {
105
+ isCommandLineAutoApproved(commandLine, chatSessionResource) {
100
106
  for (const rule of this._denyListCommandLineRules) {
101
107
  if (rule.regex.test(commandLine)) {
102
108
  return {
103
- result: 'denied',
109
+ result: "denied",
104
110
  rule,
105
111
  reason: `Command line '${commandLine}' is denied by deny list rule: ${rule.sourceText}`
106
112
  };
107
113
  }
108
114
  }
109
- for (const rule of this._getSessionRules(chatSessionId).allowListCommandLineRules) {
115
+ for (const rule of this._getSessionRules(chatSessionResource).allowListCommandLineRules) {
110
116
  if (rule.regex.test(commandLine)) {
111
117
  return {
112
- result: 'approved',
118
+ result: "approved",
113
119
  rule,
114
120
  reason: `Command line '${commandLine}' is approved by session allow list rule: ${rule.sourceText}`
115
121
  };
@@ -118,67 +124,113 @@ let CommandLineAutoApprover = class CommandLineAutoApprover extends Disposable {
118
124
  for (const rule of this._allowListCommandLineRules) {
119
125
  if (rule.regex.test(commandLine)) {
120
126
  return {
121
- result: 'approved',
127
+ result: "approved",
122
128
  rule,
123
129
  reason: `Command line '${commandLine}' is approved by allow list rule: ${rule.sourceText}`
124
130
  };
125
131
  }
126
132
  }
127
133
  return {
128
- result: 'noMatch',
134
+ result: "noMatch",
129
135
  reason: `Command line '${commandLine}' has no matching auto approve entries`
130
136
  };
131
137
  }
132
- _getSessionRules(chatSessionId) {
138
+ _getSessionRules(chatSessionResource) {
133
139
  const denyListRules = [];
134
140
  const allowListRules = [];
135
141
  const allowListCommandLineRules = [];
136
142
  const denyListCommandLineRules = [];
137
- if (!chatSessionId) {
138
- return { denyListRules, allowListRules, allowListCommandLineRules, denyListCommandLineRules };
143
+ if (!chatSessionResource) {
144
+ return {
145
+ denyListRules,
146
+ allowListRules,
147
+ allowListCommandLineRules,
148
+ denyListCommandLineRules
149
+ };
139
150
  }
140
- const sessionRulesConfig = this._terminalChatService.getSessionAutoApproveRules(chatSessionId);
151
+ const sessionRulesConfig = this._terminalChatService.getSessionAutoApproveRules(chatSessionResource);
141
152
  for (const [key, value] of Object.entries(sessionRulesConfig)) {
142
- if (typeof value === 'boolean') {
143
- const { regex, regexCaseInsensitive } = this._convertAutoApproveEntryToRegex(key);
153
+ if (typeof value === "boolean") {
154
+ const {
155
+ regex,
156
+ regexCaseInsensitive
157
+ } = this._convertAutoApproveEntryToRegex(key);
144
158
  if (value === true) {
145
- allowListRules.push({ regex, regexCaseInsensitive, sourceText: key, sourceTarget: 'session', isDefaultRule: false });
146
- }
147
- else if (value === false) {
148
- denyListRules.push({ regex, regexCaseInsensitive, sourceText: key, sourceTarget: 'session', isDefaultRule: false });
159
+ allowListRules.push({
160
+ regex,
161
+ regexCaseInsensitive,
162
+ sourceText: key,
163
+ sourceTarget: "session",
164
+ isDefaultRule: false
165
+ });
166
+ } else if (value === false) {
167
+ denyListRules.push({
168
+ regex,
169
+ regexCaseInsensitive,
170
+ sourceText: key,
171
+ sourceTarget: "session",
172
+ isDefaultRule: false
173
+ });
149
174
  }
150
- }
151
- else if (typeof value === 'object' && value !== null) {
175
+ } else if (typeof value === "object" && value !== null) {
152
176
  const objectValue = value;
153
- if (typeof objectValue.approve === 'boolean') {
154
- const { regex, regexCaseInsensitive } = this._convertAutoApproveEntryToRegex(key);
177
+ if (typeof objectValue.approve === "boolean") {
178
+ const {
179
+ regex,
180
+ regexCaseInsensitive
181
+ } = this._convertAutoApproveEntryToRegex(key);
155
182
  if (objectValue.approve === true) {
156
183
  if (objectValue.matchCommandLine === true) {
157
- allowListCommandLineRules.push({ regex, regexCaseInsensitive, sourceText: key, sourceTarget: 'session', isDefaultRule: false });
158
- }
159
- else {
160
- allowListRules.push({ regex, regexCaseInsensitive, sourceText: key, sourceTarget: 'session', isDefaultRule: false });
184
+ allowListCommandLineRules.push({
185
+ regex,
186
+ regexCaseInsensitive,
187
+ sourceText: key,
188
+ sourceTarget: "session",
189
+ isDefaultRule: false
190
+ });
191
+ } else {
192
+ allowListRules.push({
193
+ regex,
194
+ regexCaseInsensitive,
195
+ sourceText: key,
196
+ sourceTarget: "session",
197
+ isDefaultRule: false
198
+ });
161
199
  }
162
- }
163
- else if (objectValue.approve === false) {
200
+ } else if (objectValue.approve === false) {
164
201
  if (objectValue.matchCommandLine === true) {
165
- denyListCommandLineRules.push({ regex, regexCaseInsensitive, sourceText: key, sourceTarget: 'session', isDefaultRule: false });
166
- }
167
- else {
168
- denyListRules.push({ regex, regexCaseInsensitive, sourceText: key, sourceTarget: 'session', isDefaultRule: false });
202
+ denyListCommandLineRules.push({
203
+ regex,
204
+ regexCaseInsensitive,
205
+ sourceText: key,
206
+ sourceTarget: "session",
207
+ isDefaultRule: false
208
+ });
209
+ } else {
210
+ denyListRules.push({
211
+ regex,
212
+ regexCaseInsensitive,
213
+ sourceText: key,
214
+ sourceTarget: "session",
215
+ isDefaultRule: false
216
+ });
169
217
  }
170
218
  }
171
219
  }
172
220
  }
173
221
  }
174
- return { denyListRules, allowListRules, allowListCommandLineRules, denyListCommandLineRules };
222
+ return {
223
+ denyListRules,
224
+ allowListRules,
225
+ allowListCommandLineRules,
226
+ denyListCommandLineRules
227
+ };
175
228
  }
176
229
  _commandMatchesRule(rule, command, shell, os) {
177
230
  const isPwsh = isPowerShell(shell, os);
178
231
  if ((isPwsh ? rule.regexCaseInsensitive : rule.regex).test(command)) {
179
232
  return true;
180
- }
181
- else if (isPwsh && command.startsWith('(')) {
233
+ } else if (isPwsh && command.startsWith("(")) {
182
234
  if (rule.regexCaseInsensitive.test(command.slice(1))) {
183
235
  return true;
184
236
  }
@@ -186,7 +238,7 @@ let CommandLineAutoApprover = class CommandLineAutoApprover extends Disposable {
186
238
  return false;
187
239
  }
188
240
  _mapAutoApproveConfigToRules(config, configInspectValue) {
189
- if (!config || typeof config !== 'object') {
241
+ if (!config || typeof config !== "object") {
190
242
  return {
191
243
  denyListRules: [],
192
244
  allowListRules: [],
@@ -201,51 +253,78 @@ let CommandLineAutoApprover = class CommandLineAutoApprover extends Disposable {
201
253
  const ignoreDefaults = this._configurationService.getValue(TerminalChatAgentToolsSettingId.IgnoreDefaultAutoApproveRules) === true;
202
254
  for (const [key, value] of Object.entries(config)) {
203
255
  const defaultValue = configInspectValue?.default?.value;
204
- const isDefaultRule = !!(isObject(defaultValue) &&
205
- Object.prototype.hasOwnProperty.call(defaultValue, key) &&
206
- structuralEquals(defaultValue[key], value));
256
+ const isDefaultRule = !!(isObject(defaultValue) && Object.prototype.hasOwnProperty.call(defaultValue, key) && structuralEquals(defaultValue[key], value));
207
257
  function checkTarget(inspectValue) {
208
- return (isObject(inspectValue) &&
209
- Object.prototype.hasOwnProperty.call(inspectValue, key) &&
210
- structuralEquals(inspectValue[key], value));
258
+ return (isObject(inspectValue) && Object.prototype.hasOwnProperty.call(inspectValue, key) && structuralEquals(inspectValue[key], value));
211
259
  }
212
- const sourceTarget = (checkTarget(configInspectValue.workspaceFolder) ? ConfigurationTarget.WORKSPACE_FOLDER
213
- : checkTarget(configInspectValue.workspaceValue) ? ConfigurationTarget.WORKSPACE
214
- : checkTarget(configInspectValue.userRemoteValue) ? ConfigurationTarget.USER_REMOTE
215
- : checkTarget(configInspectValue.userLocalValue) ? ConfigurationTarget.USER_LOCAL
216
- : checkTarget(configInspectValue.userValue) ? ConfigurationTarget.USER
217
- : checkTarget(configInspectValue.applicationValue) ? ConfigurationTarget.APPLICATION
218
- : ConfigurationTarget.DEFAULT);
260
+ const sourceTarget = (checkTarget(configInspectValue.workspaceFolder) ? ConfigurationTarget.WORKSPACE_FOLDER : checkTarget(configInspectValue.workspaceValue) ? ConfigurationTarget.WORKSPACE : checkTarget(configInspectValue.userRemoteValue) ? ConfigurationTarget.USER_REMOTE : checkTarget(configInspectValue.userLocalValue) ? ConfigurationTarget.USER_LOCAL : checkTarget(configInspectValue.userValue) ? ConfigurationTarget.USER : checkTarget(configInspectValue.applicationValue) ? ConfigurationTarget.APPLICATION : ConfigurationTarget.DEFAULT);
219
261
  if (ignoreDefaults && isDefaultRule && sourceTarget === ConfigurationTarget.DEFAULT) {
220
262
  continue;
221
263
  }
222
- if (typeof value === 'boolean') {
223
- const { regex, regexCaseInsensitive } = this._convertAutoApproveEntryToRegex(key);
264
+ if (typeof value === "boolean") {
265
+ const {
266
+ regex,
267
+ regexCaseInsensitive
268
+ } = this._convertAutoApproveEntryToRegex(key);
224
269
  if (value === true) {
225
- allowListRules.push({ regex, regexCaseInsensitive, sourceText: key, sourceTarget, isDefaultRule });
270
+ allowListRules.push({
271
+ regex,
272
+ regexCaseInsensitive,
273
+ sourceText: key,
274
+ sourceTarget,
275
+ isDefaultRule
276
+ });
277
+ } else if (value === false) {
278
+ denyListRules.push({
279
+ regex,
280
+ regexCaseInsensitive,
281
+ sourceText: key,
282
+ sourceTarget,
283
+ isDefaultRule
284
+ });
226
285
  }
227
- else if (value === false) {
228
- denyListRules.push({ regex, regexCaseInsensitive, sourceText: key, sourceTarget, isDefaultRule });
229
- }
230
- }
231
- else if (typeof value === 'object' && value !== null) {
286
+ } else if (typeof value === "object" && value !== null) {
232
287
  const objectValue = value;
233
- if (typeof objectValue.approve === 'boolean') {
234
- const { regex, regexCaseInsensitive } = this._convertAutoApproveEntryToRegex(key);
288
+ if (typeof objectValue.approve === "boolean") {
289
+ const {
290
+ regex,
291
+ regexCaseInsensitive
292
+ } = this._convertAutoApproveEntryToRegex(key);
235
293
  if (objectValue.approve === true) {
236
294
  if (objectValue.matchCommandLine === true) {
237
- allowListCommandLineRules.push({ regex, regexCaseInsensitive, sourceText: key, sourceTarget, isDefaultRule });
238
- }
239
- else {
240
- allowListRules.push({ regex, regexCaseInsensitive, sourceText: key, sourceTarget, isDefaultRule });
295
+ allowListCommandLineRules.push({
296
+ regex,
297
+ regexCaseInsensitive,
298
+ sourceText: key,
299
+ sourceTarget,
300
+ isDefaultRule
301
+ });
302
+ } else {
303
+ allowListRules.push({
304
+ regex,
305
+ regexCaseInsensitive,
306
+ sourceText: key,
307
+ sourceTarget,
308
+ isDefaultRule
309
+ });
241
310
  }
242
- }
243
- else if (objectValue.approve === false) {
311
+ } else if (objectValue.approve === false) {
244
312
  if (objectValue.matchCommandLine === true) {
245
- denyListCommandLineRules.push({ regex, regexCaseInsensitive, sourceText: key, sourceTarget, isDefaultRule });
246
- }
247
- else {
248
- denyListRules.push({ regex, regexCaseInsensitive, sourceText: key, sourceTarget, isDefaultRule });
313
+ denyListCommandLineRules.push({
314
+ regex,
315
+ regexCaseInsensitive,
316
+ sourceText: key,
317
+ sourceTarget,
318
+ isDefaultRule
319
+ });
320
+ } else {
321
+ denyListRules.push({
322
+ regex,
323
+ regexCaseInsensitive,
324
+ sourceText: key,
325
+ sourceTarget,
326
+ isDefaultRule
327
+ });
249
328
  }
250
329
  }
251
330
  }
@@ -260,10 +339,16 @@ let CommandLineAutoApprover = class CommandLineAutoApprover extends Disposable {
260
339
  }
261
340
  _convertAutoApproveEntryToRegex(value) {
262
341
  const regex = this._doConvertAutoApproveEntryToRegex(value);
263
- if (regex.flags.includes('i')) {
264
- return { regex, regexCaseInsensitive: regex };
342
+ if (regex.flags.includes("i")) {
343
+ return {
344
+ regex,
345
+ regexCaseInsensitive: regex
346
+ };
265
347
  }
266
- return { regex, regexCaseInsensitive: ( new RegExp(regex.source, regex.flags + 'i')) };
348
+ return {
349
+ regex,
350
+ regexCaseInsensitive: ( new RegExp(regex.source, regex.flags + "i"))
351
+ };
267
352
  }
268
353
  _doConvertAutoApproveEntryToRegex(value) {
269
354
  const regexMatch = value.match(/^\/(?<pattern>.+)\/(?<flags>[dgimsuvy]*)$/);
@@ -271,9 +356,9 @@ let CommandLineAutoApprover = class CommandLineAutoApprover extends Disposable {
271
356
  if (regexPattern) {
272
357
  let flags = regexMatch.groups?.flags;
273
358
  if (flags) {
274
- flags = flags.replaceAll('g', '');
359
+ flags = flags.replaceAll("g", "");
275
360
  }
276
- if (regexPattern === '.*') {
361
+ if (regexPattern === ".*") {
277
362
  return ( new RegExp(regexPattern));
278
363
  }
279
364
  try {
@@ -282,19 +367,18 @@ let CommandLineAutoApprover = class CommandLineAutoApprover extends Disposable {
282
367
  return neverMatchRegex;
283
368
  }
284
369
  return regex;
285
- }
286
- catch (error) {
370
+ } catch (error) {
287
371
  return neverMatchRegex;
288
372
  }
289
373
  }
290
- if (value === '') {
374
+ if (value === "") {
291
375
  return neverMatchRegex;
292
376
  }
293
377
  let sanitizedValue;
294
- if (value.includes('/') || value.includes('\\')) {
295
- let pattern = value.replace(/[/\\]/g, '%%PATH_SEP%%');
378
+ if (value.includes("/") || value.includes("\\")) {
379
+ let pattern = value.replace(/[/\\]/g, "%%PATH_SEP%%");
296
380
  pattern = escapeRegExpCharacters(pattern);
297
- pattern = pattern.replace(/%%PATH_SEP%%*/g, '[/\\\\]');
381
+ pattern = pattern.replace(/%%PATH_SEP%%*/g, "[/\\\\]");
298
382
  sanitizedValue = `^(?:\\.[/\\\\])?${pattern}`;
299
383
  }
300
384
  else {
@@ -303,10 +387,6 @@ let CommandLineAutoApprover = class CommandLineAutoApprover extends Disposable {
303
387
  return ( new RegExp(`^${sanitizedValue}\\b`));
304
388
  }
305
389
  };
306
- CommandLineAutoApprover = ( __decorate([
307
- ( __param(0, IConfigurationService)),
308
- ( __param(1, IInstantiationService)),
309
- ( __param(2, ITerminalChatService))
310
- ], CommandLineAutoApprover));
390
+ CommandLineAutoApprover = ( __decorate([( __param(0, IConfigurationService)), ( __param(1, IInstantiationService)), ( __param(2, ITerminalChatService))], CommandLineAutoApprover));
311
391
 
312
392
  export { CommandLineAutoApprover };