@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
@@ -18,18 +18,18 @@ import { isAutoApproveRule, isNpmScriptAutoApproveRule } from './commandLineAnal
18
18
  import { TerminalChatCommandId } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
19
19
  import { CommandLineAutoApprover } from './autoApprove/commandLineAutoApprover.js';
20
20
 
21
- const promptInjectionWarningCommandsLower = [
22
- 'curl',
23
- 'wget',
24
- ];
25
- const promptInjectionWarningCommandsLowerPwshOnly = [
26
- 'invoke-restmethod',
27
- 'invoke-webrequest',
28
- 'irm',
29
- 'iwr',
30
- ];
21
+ const promptInjectionWarningCommandsLower = ["curl", "wget"];
22
+ const promptInjectionWarningCommandsLowerPwshOnly = ["invoke-restmethod", "invoke-webrequest", "irm", "iwr"];
31
23
  let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extends Disposable {
32
- constructor(_treeSitterCommandParser, _telemetry, _log, _configurationService, instantiationService, _storageService, _terminalChatService) {
24
+ constructor(
25
+ _treeSitterCommandParser,
26
+ _telemetry,
27
+ _log,
28
+ _configurationService,
29
+ instantiationService,
30
+ _storageService,
31
+ _terminalChatService
32
+ ) {
33
33
  super();
34
34
  this._treeSitterCommandParser = _treeSitterCommandParser;
35
35
  this._telemetry = _telemetry;
@@ -40,9 +40,12 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
40
40
  this._commandLineAutoApprover = this._register(instantiationService.createInstance(CommandLineAutoApprover));
41
41
  }
42
42
  async analyze(options) {
43
- if (options.chatSessionId && this._terminalChatService.hasChatSessionAutoApproval(options.chatSessionId)) {
44
- this._log('Session has auto approval enabled, auto approving command');
45
- const disableUri = createCommandUri(TerminalChatCommandId.DisableSessionAutoApproval, options.chatSessionId);
43
+ if (options.chatSessionResource && this._terminalChatService.hasChatSessionAutoApproval(options.chatSessionResource)) {
44
+ this._log("Session has auto approval enabled, auto approving command");
45
+ const disableUri = createCommandUri(
46
+ TerminalChatCommandId.DisableSessionAutoApproval,
47
+ options.chatSessionResource
48
+ );
46
49
  const mdTrustSettings = {
47
50
  isTrusted: {
48
51
  enabledCommands: [TerminalChatCommandId.DisableSessionAutoApproval]
@@ -52,16 +55,18 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
52
55
  isAutoApproved: true,
53
56
  isAutoApproveAllowed: true,
54
57
  disclaimers: [],
55
- autoApproveInfo: ( new MarkdownString(`${( localize(12023, 'Auto approved for this session'))} ([${( localize(12024, 'Disable'))}](${( disableUri.toString())}))`, mdTrustSettings)),
58
+ autoApproveInfo: ( new MarkdownString(`${( localize(12354, "Auto approved for this session"))} ([${( localize(12355, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings))
56
59
  };
57
60
  }
58
61
  const trimmedCommandLine = options.commandLine.trimStart();
59
62
  let subCommands;
60
63
  try {
61
64
  subCommands = await this._treeSitterCommandParser.extractSubCommands(options.treeSitterLanguage, trimmedCommandLine);
62
- this._log(`Parsed sub-commands via ${options.treeSitterLanguage} grammar`, subCommands);
63
- }
64
- catch (e) {
65
+ this._log(
66
+ `Parsed sub-commands via ${options.treeSitterLanguage} grammar`,
67
+ subCommands
68
+ );
69
+ } catch (e) {
65
70
  console.error(e);
66
71
  this._log(`Failed to parse sub-commands via ${options.treeSitterLanguage} grammar`);
67
72
  }
@@ -71,50 +76,43 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
71
76
  if (!subCommands) {
72
77
  return {
73
78
  isAutoApproveAllowed: false,
74
- disclaimers: [],
79
+ disclaimers: []
75
80
  };
76
81
  }
77
82
  const subCommandResults = await Promise.all(( subCommands.map(
78
- e => this._commandLineAutoApprover.isCommandAutoApproved(e, options.shell, options.os, options.cwd, options.chatSessionId)
83
+ e => this._commandLineAutoApprover.isCommandAutoApproved(e, options.shell, options.os, options.cwd, options.chatSessionResource)
79
84
  )));
80
- const commandLineResult = this._commandLineAutoApprover.isCommandLineAutoApproved(trimmedCommandLine, options.chatSessionId);
81
- const autoApproveReasons = [
82
- ...( subCommandResults.map(e => e.reason)),
83
- commandLineResult.reason,
84
- ];
85
+ const commandLineResult = this._commandLineAutoApprover.isCommandLineAutoApproved(trimmedCommandLine, options.chatSessionResource);
86
+ const autoApproveReasons = [...( subCommandResults.map(e => e.reason)), commandLineResult.reason];
85
87
  let isDenied = false;
86
88
  let autoApproveReason;
87
89
  let autoApproveDefault;
88
- const deniedSubCommandResult = subCommandResults.find(e => e.result === 'denied');
90
+ const deniedSubCommandResult = subCommandResults.find(e => e.result === "denied");
89
91
  if (deniedSubCommandResult) {
90
- this._log('Sub-command DENIED auto approval');
92
+ this._log("Sub-command DENIED auto approval");
91
93
  isDenied = true;
92
94
  autoApproveDefault = isAutoApproveRule(deniedSubCommandResult.rule) ? deniedSubCommandResult.rule.isDefaultRule : undefined;
93
- autoApproveReason = 'subCommand';
94
- }
95
- else if (commandLineResult.result === 'denied') {
96
- this._log('Command line DENIED auto approval');
95
+ autoApproveReason = "subCommand";
96
+ } else if (commandLineResult.result === "denied") {
97
+ this._log("Command line DENIED auto approval");
97
98
  isDenied = true;
98
99
  autoApproveDefault = isAutoApproveRule(commandLineResult.rule) ? commandLineResult.rule.isDefaultRule : undefined;
99
- autoApproveReason = 'commandLine';
100
- }
101
- else {
102
- if (subCommandResults.every(e => e.result === 'approved')) {
103
- this._log('All sub-commands auto-approved');
100
+ autoApproveReason = "commandLine";
101
+ } else {
102
+ if (subCommandResults.every(e => e.result === "approved")) {
103
+ this._log("All sub-commands auto-approved");
104
104
  isAutoApproved = true;
105
- autoApproveReason = 'subCommand';
105
+ autoApproveReason = "subCommand";
106
106
  autoApproveDefault = subCommandResults.every(e => isAutoApproveRule(e.rule) && e.rule.isDefaultRule);
107
- }
108
- else {
109
- this._log('All sub-commands NOT auto-approved');
110
- if (commandLineResult.result === 'approved') {
111
- this._log('Command line auto-approved');
112
- autoApproveReason = 'commandLine';
107
+ } else {
108
+ this._log("All sub-commands NOT auto-approved");
109
+ if (commandLineResult.result === "approved") {
110
+ this._log("Command line auto-approved");
111
+ autoApproveReason = "commandLine";
113
112
  isAutoApproved = true;
114
113
  autoApproveDefault = isAutoApproveRule(commandLineResult.rule) ? commandLineResult.rule.isDefaultRule : undefined;
115
- }
116
- else {
117
- this._log('Command line NOT auto-approved');
114
+ } else {
115
+ this._log("Command line NOT auto-approved");
118
116
  }
119
117
  }
120
118
  }
@@ -122,76 +120,98 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
122
120
  this._log(`- ${reason}`);
123
121
  }
124
122
  const isAutoApproveEnabled = this._configurationService.getValue(TerminalChatAgentToolsSettingId.EnableAutoApprove) === true;
125
- const isAutoApproveWarningAccepted = this._storageService.getBoolean(TerminalToolConfirmationStorageKeys.TerminalAutoApproveWarningAccepted, StorageScope.APPLICATION, false);
123
+ const isAutoApproveWarningAccepted = this._storageService.getBoolean(
124
+ TerminalToolConfirmationStorageKeys.TerminalAutoApproveWarningAccepted,
125
+ StorageScope.APPLICATION,
126
+ false
127
+ );
126
128
  if (isAutoApproveEnabled && isAutoApproved) {
127
- autoApproveInfo = this._createAutoApproveInfo(isAutoApproved, isDenied, autoApproveReason, subCommandResults, commandLineResult);
128
- }
129
- else {
129
+ autoApproveInfo = this._createAutoApproveInfo(
130
+ isAutoApproved,
131
+ isDenied,
132
+ autoApproveReason,
133
+ subCommandResults,
134
+ commandLineResult
135
+ );
136
+ } else {
130
137
  isAutoApproved = false;
131
138
  }
132
139
  this._telemetry.logPrepare({
133
140
  terminalToolSessionId: options.terminalToolSessionId,
134
141
  subCommands,
135
- autoApproveAllowed: !isAutoApproveEnabled ? 'off' : isAutoApproveWarningAccepted ? 'allowed' : 'needsOptIn',
136
- autoApproveResult: isAutoApproved ? 'approved' : isDenied ? 'denied' : 'manual',
142
+ autoApproveAllowed: !isAutoApproveEnabled ? "off" : isAutoApproveWarningAccepted ? "allowed" : "needsOptIn",
143
+ autoApproveResult: isAutoApproved ? "approved" : isDenied ? "denied" : "manual",
137
144
  autoApproveReason,
138
145
  autoApproveDefault
139
146
  });
140
147
  const disclaimers = [];
141
- const subCommandsLowerFirstWordOnly = ( subCommands.map(command => command.split(' ')[0].toLowerCase()));
142
- if (!isAutoApproved && (( subCommandsLowerFirstWordOnly.some(command => promptInjectionWarningCommandsLower.includes(command))) ||
143
- (isPowerShell(options.shell, options.os) && ( subCommandsLowerFirstWordOnly.some(command => promptInjectionWarningCommandsLowerPwshOnly.includes(command)))))) {
148
+ const subCommandsLowerFirstWordOnly = ( subCommands.map(command => command.split(" ")[0].toLowerCase()));
149
+ if (!isAutoApproved && (( subCommandsLowerFirstWordOnly.some(command => promptInjectionWarningCommandsLower.includes(command))) || (isPowerShell(options.shell, options.os) && ( subCommandsLowerFirstWordOnly.some(command => promptInjectionWarningCommandsLowerPwshOnly.includes(command)))))) {
144
150
  disclaimers.push(( localize(
145
- 12025,
146
- 'Web content may contain malicious code or attempt prompt injection attacks.'
151
+ 12356,
152
+ "Web content may contain malicious code or attempt prompt injection attacks."
147
153
  )));
148
154
  }
149
155
  if (isAutoApproveEnabled && isDenied) {
150
- const denialInfo = this._createAutoApproveInfo(isAutoApproved, isDenied, autoApproveReason, subCommandResults, commandLineResult);
156
+ const denialInfo = this._createAutoApproveInfo(
157
+ isAutoApproved,
158
+ isDenied,
159
+ autoApproveReason,
160
+ subCommandResults,
161
+ commandLineResult
162
+ );
151
163
  if (denialInfo) {
152
164
  disclaimers.push(denialInfo);
153
165
  }
154
166
  }
155
167
  if (!isAutoApproved && isAutoApproveEnabled) {
156
- customActions = generateAutoApproveActions(trimmedCommandLine, subCommands, { subCommandResults, commandLineResult });
168
+ customActions = generateAutoApproveActions(trimmedCommandLine, subCommands, {
169
+ subCommandResults,
170
+ commandLineResult
171
+ });
157
172
  }
158
173
  return {
159
174
  isAutoApproved,
160
175
  isAutoApproveAllowed: true,
161
176
  disclaimers,
162
177
  autoApproveInfo,
163
- customActions,
178
+ customActions
164
179
  };
165
180
  }
166
- _createAutoApproveInfo(isAutoApproved, isDenied, autoApproveReason, subCommandResults, commandLineResult) {
167
- const formatRuleLinks = (result) => {
168
- return ( asArray(result)
169
- .filter((e) => isAutoApproveRule(e.rule))
170
- .map(e => {
171
- if (e.rule.sourceTarget === 'session') {
172
- return localize(12026, '{0} (session)', `\`${e.rule.sourceText}\``);
181
+ _createAutoApproveInfo(
182
+ isAutoApproved,
183
+ isDenied,
184
+ autoApproveReason,
185
+ subCommandResults,
186
+ commandLineResult
187
+ ) {
188
+ const formatRuleLinks = result => {
189
+ return ( asArray(result).filter(e => isAutoApproveRule(e.rule)).map(e => {
190
+ const escapedSourceText = e.rule.sourceText.replaceAll("$", "\\$");
191
+ if (e.rule.sourceTarget === "session") {
192
+ return localize(12357, "{0} (session)", `\`${escapedSourceText}\``);
173
193
  }
174
194
  const settingsUri = createCommandUri(TerminalChatCommandId.OpenTerminalSettingsLink, e.rule.sourceTarget);
175
- const tooltip = ( localize(12027, 'View rule in settings'));
176
- let label = e.rule.sourceText;
195
+ const tooltip = ( localize(12358, "View rule in settings"));
196
+ let label = escapedSourceText;
177
197
  switch (e.rule?.sourceTarget) {
178
- case ConfigurationTarget.DEFAULT:
179
- label = `${label} (default)`;
180
- break;
181
- case ConfigurationTarget.USER:
182
- case ConfigurationTarget.USER_LOCAL:
183
- label = `${label} (user)`;
184
- break;
185
- case ConfigurationTarget.USER_REMOTE:
186
- label = `${label} (remote)`;
187
- break;
188
- case ConfigurationTarget.WORKSPACE:
189
- case ConfigurationTarget.WORKSPACE_FOLDER:
190
- label = `${label} (workspace)`;
191
- break;
198
+ case ConfigurationTarget.DEFAULT:
199
+ label = `${label} (default)`;
200
+ break;
201
+ case ConfigurationTarget.USER:
202
+ case ConfigurationTarget.USER_LOCAL:
203
+ label = `${label} (user)`;
204
+ break;
205
+ case ConfigurationTarget.USER_REMOTE:
206
+ label = `${label} (remote)`;
207
+ break;
208
+ case ConfigurationTarget.WORKSPACE:
209
+ case ConfigurationTarget.WORKSPACE_FOLDER:
210
+ label = `${label} (workspace)`;
211
+ break;
192
212
  }
193
213
  return `[\`${label}\`](${( settingsUri.toString())} "${tooltip}")`;
194
- })).join(', ');
214
+ })).join(", ");
195
215
  };
196
216
  const mdTrustSettings = {
197
217
  isTrusted: {
@@ -201,25 +221,27 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
201
221
  const config = this._configurationService.inspect(ChatConfiguration.GlobalAutoApprove);
202
222
  const isGlobalAutoApproved = config?.value ?? config.defaultValue;
203
223
  if (isGlobalAutoApproved) {
204
- const settingsUri = createCommandUri(TerminalChatCommandId.OpenTerminalSettingsLink, 'global');
224
+ const settingsUri = createCommandUri(TerminalChatCommandId.OpenTerminalSettingsLink, "global");
205
225
  return (new MarkdownString(`${( localize(
206
- 12028,
207
- 'Auto approved by setting {0}',
208
- `[\`${ChatConfiguration.GlobalAutoApprove}\`](${( settingsUri.toString())} "${( localize(12029, 'View settings'))}")`
226
+ 12359,
227
+ "Auto approved by setting {0}",
228
+ `[\`${ChatConfiguration.GlobalAutoApprove}\`](${( settingsUri.toString())} "${( localize(12360, "View settings"))}")`
209
229
  ))}`, mdTrustSettings));
210
230
  }
211
231
  if (isAutoApproved) {
212
232
  switch (autoApproveReason) {
213
- case 'commandLine': {
233
+ case "commandLine":
234
+ {
214
235
  if (isAutoApproveRule(commandLineResult.rule)) {
215
236
  return (new MarkdownString(
216
- localize(12030, 'Auto approved by rule {0}', formatRuleLinks(commandLineResult)),
237
+ localize(12361, "Auto approved by rule {0}", formatRuleLinks(commandLineResult)),
217
238
  mdTrustSettings
218
239
  ));
219
240
  }
220
241
  break;
221
242
  }
222
- case 'subCommand': {
243
+ case "subCommand":
244
+ {
223
245
  const npmScriptApproval = subCommandResults.find(e => isNpmScriptAutoApproveRule(e.rule));
224
246
  if (npmScriptApproval && isNpmScriptAutoApproveRule(npmScriptApproval.rule) && npmScriptApproval.rule.npmScriptResult.autoApproveInfo) {
225
247
  return npmScriptApproval.rule.npmScriptResult.autoApproveInfo;
@@ -227,43 +249,42 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
227
249
  const uniqueRules = dedupeRules(subCommandResults);
228
250
  if (uniqueRules.length === 1) {
229
251
  return (new MarkdownString(
230
- localize(12030, 'Auto approved by rule {0}', formatRuleLinks(uniqueRules)),
252
+ localize(12361, "Auto approved by rule {0}", formatRuleLinks(uniqueRules)),
231
253
  mdTrustSettings
232
254
  ));
233
- }
234
- else if (uniqueRules.length > 1) {
255
+ } else if (uniqueRules.length > 1) {
235
256
  return (new MarkdownString(
236
- localize(12031, 'Auto approved by rules {0}', formatRuleLinks(uniqueRules)),
257
+ localize(12362, "Auto approved by rules {0}", formatRuleLinks(uniqueRules)),
237
258
  mdTrustSettings
238
259
  ));
239
260
  }
240
261
  break;
241
262
  }
242
263
  }
243
- }
244
- else if (isDenied) {
264
+ } else if (isDenied) {
245
265
  switch (autoApproveReason) {
246
- case 'commandLine': {
266
+ case "commandLine":
267
+ {
247
268
  if (commandLineResult.rule) {
248
269
  return (new MarkdownString(localize(
249
- 12032,
250
- 'Auto approval denied by rule {0}',
270
+ 12363,
271
+ "Auto approval denied by rule {0}",
251
272
  formatRuleLinks(commandLineResult)
252
273
  ), mdTrustSettings));
253
274
  }
254
275
  break;
255
276
  }
256
- case 'subCommand': {
257
- const uniqueRules = dedupeRules(subCommandResults.filter(e => e.result === 'denied'));
277
+ case "subCommand":
278
+ {
279
+ const uniqueRules = dedupeRules(subCommandResults.filter(e => e.result === "denied"));
258
280
  if (uniqueRules.length === 1) {
259
281
  return (new MarkdownString(
260
- localize(12032, 'Auto approval denied by rule {0}', formatRuleLinks(uniqueRules)),
282
+ localize(12363, "Auto approval denied by rule {0}", formatRuleLinks(uniqueRules)),
261
283
  mdTrustSettings
262
284
  ));
263
- }
264
- else if (uniqueRules.length > 1) {
285
+ } else if (uniqueRules.length > 1) {
265
286
  return (new MarkdownString(
266
- localize(12033, 'Auto approval denied by rules {0}', formatRuleLinks(uniqueRules)),
287
+ localize(12364, "Auto approval denied by rules {0}", formatRuleLinks(uniqueRules)),
267
288
  mdTrustSettings
268
289
  ));
269
290
  }
@@ -274,11 +295,6 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
274
295
  return undefined;
275
296
  }
276
297
  };
277
- CommandLineAutoApproveAnalyzer = ( __decorate([
278
- ( __param(3, IConfigurationService)),
279
- ( __param(4, IInstantiationService)),
280
- ( __param(5, IStorageService)),
281
- ( __param(6, ITerminalChatService))
282
- ], CommandLineAutoApproveAnalyzer));
298
+ CommandLineAutoApproveAnalyzer = ( __decorate([( __param(3, IConfigurationService)), ( __param(4, IInstantiationService)), ( __param(5, IStorageService)), ( __param(6, ITerminalChatService))], CommandLineAutoApproveAnalyzer));
283
299
 
284
300
  export { CommandLineAutoApproveAnalyzer };
@@ -12,9 +12,15 @@ import { OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/com
12
12
  import { isString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
13
13
  import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
14
14
 
15
- const nullDevice = Symbol('null device');
15
+ const nullDevice = Symbol("null device");
16
16
  let CommandLineFileWriteAnalyzer = class CommandLineFileWriteAnalyzer extends Disposable {
17
- constructor(_treeSitterCommandParser, _log, _configurationService, _labelService, _workspaceContextService) {
17
+ constructor(
18
+ _treeSitterCommandParser,
19
+ _log,
20
+ _configurationService,
21
+ _labelService,
22
+ _workspaceContextService
23
+ ) {
18
24
  super();
19
25
  this._treeSitterCommandParser = _treeSitterCommandParser;
20
26
  this._log = _log;
@@ -26,10 +32,9 @@ let CommandLineFileWriteAnalyzer = class CommandLineFileWriteAnalyzer extends Di
26
32
  let fileWrites;
27
33
  try {
28
34
  fileWrites = await this._getFileWrites(options);
29
- }
30
- catch (e) {
35
+ } catch (e) {
31
36
  console.error(e);
32
- this._log('Failed to get file writes via grammar', options.treeSitterLanguage);
37
+ this._log("Failed to get file writes via grammar", options.treeSitterLanguage);
33
38
  return {
34
39
  isAutoApproveAllowed: false
35
40
  };
@@ -38,13 +43,14 @@ let CommandLineFileWriteAnalyzer = class CommandLineFileWriteAnalyzer extends Di
38
43
  }
39
44
  async _getFileWrites(options) {
40
45
  let fileWrites = [];
41
- const capturedFileWrites = ( (await this._treeSitterCommandParser.getFileWrites(options.treeSitterLanguage, options.commandLine))
42
- .map(this._mapNullDevice.bind(this, options)));
43
- if (capturedFileWrites.length) {
46
+ const capturedFileWrites = ( (await this._treeSitterCommandParser.getFileWrites(options.treeSitterLanguage, options.commandLine)).map(this._mapNullDevice.bind(this, options)));
47
+ const commandFileWrites = ( (await this._treeSitterCommandParser.getCommandFileWrites(options.treeSitterLanguage, options.commandLine)).map(this._mapNullDevice.bind(this, options)));
48
+ const allCapturedFileWrites = [...capturedFileWrites, ...commandFileWrites];
49
+ if (allCapturedFileWrites.length) {
44
50
  const cwd = options.cwd;
45
51
  if (cwd) {
46
- this._log('Detected cwd', ( cwd.toString()));
47
- fileWrites = ( capturedFileWrites.map(e => {
52
+ this._log("Detected cwd", ( cwd.toString()));
53
+ fileWrites = ( allCapturedFileWrites.map(e => {
48
54
  if (e === nullDevice) {
49
55
  return e;
50
56
  }
@@ -53,82 +59,83 @@ let CommandLineFileWriteAnalyzer = class CommandLineFileWriteAnalyzer extends Di
53
59
  }
54
60
  const isAbsolute = options.os === OperatingSystem.Windows ? win32.isAbsolute(e) : posix.isAbsolute(e);
55
61
  if (isAbsolute) {
56
- return cwd.with({ path: e });
62
+ return cwd.with({
63
+ path: e
64
+ });
57
65
  }
58
66
  return URI.joinPath(cwd, e);
59
67
  }));
60
- }
61
- else {
62
- this._log('Cwd could not be detected');
63
- fileWrites = capturedFileWrites;
68
+ } else {
69
+ this._log("Cwd could not be detected");
70
+ fileWrites = allCapturedFileWrites;
64
71
  }
65
72
  }
66
- this._log('File writes detected', ( fileWrites.map(e => ( e.toString()))));
73
+ this._log("File writes detected", ( fileWrites.map(e => ( e.toString()))));
67
74
  return fileWrites;
68
75
  }
69
76
  _stripSurroundingQuotes(text) {
70
- if ((text.startsWith('"') && text.endsWith('"')) ||
71
- (text.startsWith('\'') && text.endsWith('\''))) {
77
+ if ((text.startsWith("\"") && text.endsWith("\"")) || (text.startsWith("'") && text.endsWith("'"))) {
72
78
  return text.slice(1, -1);
73
79
  }
74
80
  return text;
75
81
  }
76
82
  _mapNullDevice(options, rawFileWrite) {
77
83
  if (options.treeSitterLanguage === TreeSitterCommandParserLanguage.PowerShell) {
78
- return rawFileWrite === '$null'
79
- ? nullDevice
80
- : rawFileWrite;
84
+ return rawFileWrite === "$null" ? nullDevice : rawFileWrite;
81
85
  }
82
- return rawFileWrite === '/dev/null'
83
- ? nullDevice
84
- : rawFileWrite;
86
+ return rawFileWrite === "/dev/null" ? nullDevice : rawFileWrite;
85
87
  }
86
88
  _getResult(options, fileWrites) {
87
89
  let isAutoApproveAllowed = true;
88
90
  if (fileWrites.length > 0) {
89
91
  const blockDetectedFileWrites = this._configurationService.getValue(TerminalChatAgentToolsSettingId.BlockDetectedFileWrites);
90
92
  switch (blockDetectedFileWrites) {
91
- case 'all': {
93
+ case "all":
94
+ {
92
95
  isAutoApproveAllowed = false;
93
- this._log('File writes blocked due to "all" setting');
96
+ this._log("File writes blocked due to \"all\" setting");
94
97
  break;
95
98
  }
96
- case 'outsideWorkspace': {
99
+ case "outsideWorkspace":
100
+ {
97
101
  const workspaceFolders = this._workspaceContextService.getWorkspace().folders;
98
102
  if (workspaceFolders.length > 0) {
99
103
  for (const fileWrite of fileWrites) {
100
104
  if (fileWrite === nullDevice) {
101
- this._log('File write to null device allowed', URI.isUri(fileWrite) ? ( fileWrite.toString()) : fileWrite);
105
+ this._log("File write to null device allowed", URI.isUri(fileWrite) ? ( fileWrite.toString()) : fileWrite);
102
106
  continue;
103
107
  }
104
108
  if (isString(fileWrite)) {
105
109
  const isAbsolute = options.os === OperatingSystem.Windows ? win32.isAbsolute(fileWrite) : posix.isAbsolute(fileWrite);
106
110
  if (!isAbsolute) {
107
111
  isAutoApproveAllowed = false;
108
- this._log('File write blocked due to unknown terminal cwd', fileWrite);
112
+ this._log("File write blocked due to unknown terminal cwd", fileWrite);
109
113
  break;
110
114
  }
111
115
  }
112
116
  const fileUri = URI.isUri(fileWrite) ? fileWrite : URI.file(fileWrite);
113
117
  if (fileUri.fsPath.match(/[$\(\){}`]/)) {
114
118
  isAutoApproveAllowed = false;
115
- this._log('File write blocked due to likely containing a variable or sub-command', ( fileUri.toString()));
119
+ this._log(
120
+ "File write blocked due to likely containing a variable or sub-command",
121
+ ( fileUri.toString())
122
+ );
116
123
  break;
117
124
  }
118
- const isInsideWorkspace = ( workspaceFolders.some(folder => folder.uri.scheme === fileUri.scheme &&
119
- (fileUri.path.startsWith(folder.uri.path + '/') || fileUri.path === folder.uri.path)));
125
+ const isInsideWorkspace = ( workspaceFolders.some(
126
+ folder => folder.uri.scheme === fileUri.scheme && (fileUri.path.startsWith(folder.uri.path + "/") || fileUri.path === folder.uri.path)
127
+ ));
120
128
  if (!isInsideWorkspace) {
121
129
  isAutoApproveAllowed = false;
122
- this._log('File write blocked outside workspace', ( fileUri.toString()));
130
+ this._log("File write blocked outside workspace", ( fileUri.toString()));
123
131
  break;
124
132
  }
125
133
  }
126
- }
127
- else {
134
+ } else {
128
135
  const hasOnlyNullDevices = fileWrites.every(fw => fw === nullDevice);
129
136
  if (!hasOnlyNullDevices) {
130
137
  isAutoApproveAllowed = false;
131
- this._log('File writes blocked - no workspace folders');
138
+ this._log("File writes blocked - no workspace folders");
132
139
  }
133
140
  }
134
141
  break;
@@ -138,29 +145,24 @@ let CommandLineFileWriteAnalyzer = class CommandLineFileWriteAnalyzer extends Di
138
145
  const disclaimers = [];
139
146
  if (fileWrites.length > 0) {
140
147
  const fileWritesList = ( fileWrites.map(
141
- fw => `\`${URI.isUri(fw) ? this._labelService.getUriLabel(fw) : fw === nullDevice ? '/dev/null' : ( fw.toString())}\``
142
- )).join(', ');
148
+ fw => `\`${URI.isUri(fw) ? this._labelService.getUriLabel(fw) : fw === nullDevice ? "/dev/null" : ( fw.toString())}\``
149
+ )).join(", ");
143
150
  if (!isAutoApproveAllowed) {
144
151
  disclaimers.push(( localize(
145
- 12034,
146
- 'File write operations detected that cannot be auto approved: {0}',
152
+ 12365,
153
+ "File write operations detected that cannot be auto approved: {0}",
147
154
  fileWritesList
148
155
  )));
149
- }
150
- else {
151
- disclaimers.push(( localize(12035, 'File write operations detected: {0}', fileWritesList)));
156
+ } else {
157
+ disclaimers.push(( localize(12366, "File write operations detected: {0}", fileWritesList)));
152
158
  }
153
159
  }
154
160
  return {
155
161
  isAutoApproveAllowed,
156
- disclaimers,
162
+ disclaimers
157
163
  };
158
164
  }
159
165
  };
160
- CommandLineFileWriteAnalyzer = ( __decorate([
161
- ( __param(2, IConfigurationService)),
162
- ( __param(3, ILabelService)),
163
- ( __param(4, IWorkspaceContextService))
164
- ], CommandLineFileWriteAnalyzer));
166
+ CommandLineFileWriteAnalyzer = ( __decorate([( __param(2, IConfigurationService)), ( __param(3, ILabelService)), ( __param(4, IWorkspaceContextService))], CommandLineFileWriteAnalyzer));
165
167
 
166
168
  export { CommandLineFileWriteAnalyzer };
@@ -0,0 +1,8 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { ITerminalSandboxService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.service";
3
+ import type { ICommandLineAnalyzer, ICommandLineAnalyzerOptions, ICommandLineAnalyzerResult } from "./commandLineAnalyzer.js";
4
+ export declare class CommandLineSandboxAnalyzer extends Disposable implements ICommandLineAnalyzer {
5
+ private readonly _sandboxService;
6
+ constructor(_sandboxService: ITerminalSandboxService);
7
+ analyze(_options: ICommandLineAnalyzerOptions): Promise<ICommandLineAnalyzerResult>;
8
+ }
@@ -0,0 +1,25 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { ITerminalSandboxService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.service';
5
+
6
+ let CommandLineSandboxAnalyzer = class CommandLineSandboxAnalyzer extends Disposable {
7
+ constructor(_sandboxService) {
8
+ super();
9
+ this._sandboxService = _sandboxService;
10
+ }
11
+ async analyze(_options) {
12
+ if (!(await this._sandboxService.isEnabled())) {
13
+ return {
14
+ isAutoApproveAllowed: true
15
+ };
16
+ }
17
+ return {
18
+ isAutoApproveAllowed: true,
19
+ forceAutoApproval: true
20
+ };
21
+ }
22
+ };
23
+ CommandLineSandboxAnalyzer = ( __decorate([( __param(0, ITerminalSandboxService))], CommandLineSandboxAnalyzer));
24
+
25
+ export { CommandLineSandboxAnalyzer };