@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
@@ -56,6 +56,7 @@ function registerChatContextActions() {
56
56
  registerAction2(AttachFolderToChatAction);
57
57
  registerAction2(AttachSelectionToChatAction);
58
58
  registerAction2(AttachSearchResultAction);
59
+ registerAction2(AttachPinnedEditorsToChatAction);
59
60
  registerPromptActions();
60
61
  }
61
62
  async function withChatView(accessor) {
@@ -83,15 +84,14 @@ class AttachResourceAction extends Action2 {
83
84
  let uri;
84
85
  if (URI.isUri(context)) {
85
86
  uri = context;
86
- }
87
- else if (isSearchTreeFileMatch(context)) {
87
+ } else if (isSearchTreeFileMatch(context)) {
88
88
  uri = context.resource;
89
- }
90
- else if (isSearchTreeMatch(context)) {
89
+ } else if (isSearchTreeMatch(context)) {
91
90
  uri = context.parent().resource;
92
- }
93
- else if (!context && editorService.activeTextEditorControl) {
94
- uri = EditorResourceAccessor.getCanonicalUri(editorService.activeEditor, { supportSideBySide: SideBySideEditor.PRIMARY });
91
+ } else if (!context && editorService.activeTextEditorControl) {
92
+ uri = EditorResourceAccessor.getCanonicalUri(editorService.activeEditor, {
93
+ supportSideBySide: SideBySideEditor.PRIMARY
94
+ });
95
95
  }
96
96
  if (uri && [Schemas.file, Schemas.vscodeRemote, Schemas.untitled].includes(uri.scheme)) {
97
97
  files.push(uri);
@@ -100,49 +100,58 @@ class AttachResourceAction extends Action2 {
100
100
  return files;
101
101
  }
102
102
  _getEditorResources(accessor, ...args) {
103
- const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService));
104
- return ( resolvedContext.groupedEditors
105
- .flatMap(groupedEditor => groupedEditor.editors)
106
- .map(
107
- editor => EditorResourceAccessor.getCanonicalUri(editor, { supportSideBySide: SideBySideEditor.PRIMARY })
108
- ))
109
- .filter(uri => uri !== undefined);
103
+ const resolvedContext = resolveCommandsContext(
104
+ args,
105
+ accessor.get(IEditorService),
106
+ accessor.get(IEditorGroupsService),
107
+ accessor.get(IListService)
108
+ );
109
+ return ( resolvedContext.groupedEditors.flatMap(groupedEditor => groupedEditor.editors).map(editor => EditorResourceAccessor.getCanonicalUri(editor, {
110
+ supportSideBySide: SideBySideEditor.PRIMARY
111
+ }))).filter(uri => uri !== undefined);
110
112
  }
111
113
  }
112
114
  class AttachFileToChatAction extends AttachResourceAction {
113
- static { this.ID = 'workbench.action.chat.attachFile'; }
115
+ static {
116
+ this.ID = "workbench.action.chat.attachFile";
117
+ }
114
118
  constructor() {
115
119
  super({
116
120
  id: AttachFileToChatAction.ID,
117
- title: ( localize2(4717, "Add File to Chat")),
121
+ title: ( localize2(4727, "Add File to Chat")),
118
122
  category: CHAT_CATEGORY,
119
123
  precondition: ChatContextKeys.enabled,
120
124
  f1: true,
121
125
  menu: [{
122
- id: MenuId.SearchContext,
123
- group: 'z_chat',
124
- order: 1,
125
- when: ( ContextKeyExpr.and(
126
- ChatContextKeys.enabled,
127
- SearchContext.FileMatchOrMatchFocusKey,
128
- ( SearchContext.SearchResultHeaderFocused.negate())
129
- )),
130
- }, {
131
- id: MenuId.ExplorerContext,
132
- group: '5_chat',
133
- order: 1,
134
- when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ExplorerFolderContext.negate()), ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote)))))),
135
- }, {
136
- id: MenuId.EditorTitleContext,
137
- group: '2_chat',
138
- order: 1,
139
- when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote)))))),
140
- }, {
141
- id: MenuId.EditorContext,
142
- group: '1_chat',
143
- order: 2,
144
- when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.untitled)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeUserData))))))
145
- }]
126
+ id: MenuId.SearchContext,
127
+ group: "z_chat",
128
+ order: 1,
129
+ when: ( ContextKeyExpr.and(
130
+ ChatContextKeys.enabled,
131
+ SearchContext.FileMatchOrMatchFocusKey,
132
+ ( SearchContext.SearchResultHeaderFocused.negate())
133
+ ))
134
+ }, {
135
+ id: MenuId.ExplorerContext,
136
+ group: "5_chat",
137
+ order: 1,
138
+ when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ExplorerFolderContext.negate()), ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote))))))
139
+ }, {
140
+ id: MenuId.EditorTitleContext,
141
+ group: "2_chat",
142
+ order: 1,
143
+ when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote))))))
144
+ }, {
145
+ id: MenuId.EditorContext,
146
+ group: "1_chat",
147
+ order: 2,
148
+ when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.untitled)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeUserData))))))
149
+ }, {
150
+ id: MenuId.ChatEditorInlineGutter,
151
+ group: "2_chat",
152
+ order: 2,
153
+ when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( EditorContextKeys.hasNonEmptySelection.negate())))
154
+ }]
146
155
  });
147
156
  }
148
157
  async runWithWidget(accessor, widget, ...args) {
@@ -159,16 +168,18 @@ class AttachFileToChatAction extends AttachResourceAction {
159
168
  }
160
169
  }
161
170
  class AttachFolderToChatAction extends AttachResourceAction {
162
- static { this.ID = 'workbench.action.chat.attachFolder'; }
171
+ static {
172
+ this.ID = "workbench.action.chat.attachFolder";
173
+ }
163
174
  constructor() {
164
175
  super({
165
176
  id: AttachFolderToChatAction.ID,
166
- title: ( localize2(4718, "Add Folder to Chat")),
177
+ title: ( localize2(4728, "Add Folder to Chat")),
167
178
  category: CHAT_CATEGORY,
168
179
  f1: false,
169
180
  menu: {
170
181
  id: MenuId.ExplorerContext,
171
- group: '5_chat',
182
+ group: "5_chat",
172
183
  order: 1,
173
184
  when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ExplorerFolderContext, ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote))))))
174
185
  }
@@ -187,25 +198,74 @@ class AttachFolderToChatAction extends AttachResourceAction {
187
198
  }
188
199
  }
189
200
  }
201
+ class AttachPinnedEditorsToChatAction extends Action2 {
202
+ static {
203
+ this.ID = "workbench.action.chat.attachPinnedEditors";
204
+ }
205
+ constructor() {
206
+ super({
207
+ id: AttachPinnedEditorsToChatAction.ID,
208
+ title: ( localize2(4729, "Add Pinned Editors to Chat")),
209
+ category: CHAT_CATEGORY,
210
+ precondition: ChatContextKeys.enabled,
211
+ f1: true
212
+ });
213
+ }
214
+ async run(accessor) {
215
+ const editorGroupsService = accessor.get(IEditorGroupsService);
216
+ const instaService = accessor.get(IInstantiationService);
217
+ const widget = await instaService.invokeFunction(withChatView);
218
+ if (!widget) {
219
+ return;
220
+ }
221
+ const files = [];
222
+ for (const group of editorGroupsService.groups) {
223
+ for (const editor of group.editors) {
224
+ if (group.isPinned(editor)) {
225
+ const uri = EditorResourceAccessor.getCanonicalUri(editor, {
226
+ supportSideBySide: SideBySideEditor.PRIMARY
227
+ });
228
+ if (uri && [Schemas.file, Schemas.vscodeRemote, Schemas.untitled].includes(uri.scheme)) {
229
+ files.push(uri);
230
+ }
231
+ }
232
+ }
233
+ }
234
+ if (!files.length) {
235
+ return;
236
+ }
237
+ widget.focusInput();
238
+ for (const file of files) {
239
+ widget.attachmentModel.addFile(file);
240
+ }
241
+ }
242
+ }
190
243
  class AttachSelectionToChatAction extends Action2 {
191
- static { this.ID = 'workbench.action.chat.attachSelection'; }
244
+ static {
245
+ this.ID = "workbench.action.chat.attachSelection";
246
+ }
192
247
  constructor() {
193
248
  super({
194
249
  id: AttachSelectionToChatAction.ID,
195
- title: ( localize2(4719, "Add Selection to Chat")),
250
+ title: ( localize2(4730, "Add Selection to Chat")),
196
251
  category: CHAT_CATEGORY,
197
252
  f1: true,
198
253
  precondition: ChatContextKeys.enabled,
199
- menu: {
254
+ menu: [{
200
255
  id: MenuId.EditorContext,
201
- group: '1_chat',
256
+ group: "1_chat",
202
257
  order: 1,
203
258
  when: ( ContextKeyExpr.and(
204
259
  ChatContextKeys.enabled,
205
260
  EditorContextKeys.hasNonEmptySelection,
206
261
  ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.untitled)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeUserData))))
207
262
  ))
208
- }
263
+ }, {
264
+ id: MenuId.ChatEditorInlineGutter,
265
+ group: "2_chat",
266
+ order: 1,
267
+ when: ( ContextKeyExpr.and(ChatContextKeys.enabled, EditorContextKeys.hasNonEmptySelection))
268
+ }]
209
269
  });
210
270
  }
211
271
  async run(accessor, ...args) {
@@ -220,12 +280,13 @@ class AttachSelectionToChatAction extends Action2 {
220
280
  for (const match of matches) {
221
281
  if (isSearchTreeFileMatch(match)) {
222
282
  uris.set(match.resource, undefined);
223
- }
224
- else {
225
- const context = { uri: match._parent.resource, range: match._range };
283
+ } else {
284
+ const context = {
285
+ uri: match._parent.resource,
286
+ range: match._range
287
+ };
226
288
  const range = uris.get(context.uri);
227
- if (!range ||
228
- range.startLineNumber !== context.range.startLineNumber && range.endLineNumber !== context.range.endLineNumber) {
289
+ if (!range || range.startLineNumber !== context.range.startLineNumber && range.endLineNumber !== context.range.endLineNumber) {
229
290
  uris.set(context.uri, context.range);
230
291
  widget.attachmentModel.addFile(context.uri, context.range);
231
292
  }
@@ -237,10 +298,11 @@ class AttachSelectionToChatAction extends Action2 {
237
298
  widget.attachmentModel.addFile(resource);
238
299
  }
239
300
  }
240
- }
241
- else {
301
+ } else {
242
302
  const activeEditor = editorService.activeTextEditorControl;
243
- const activeUri = EditorResourceAccessor.getCanonicalUri(editorService.activeEditor, { supportSideBySide: SideBySideEditor.PRIMARY });
303
+ const activeUri = EditorResourceAccessor.getCanonicalUri(editorService.activeEditor, {
304
+ supportSideBySide: SideBySideEditor.PRIMARY
305
+ });
244
306
  if (activeEditor && activeUri && [Schemas.file, Schemas.vscodeRemote, Schemas.untitled].includes(activeUri.scheme)) {
245
307
  const selection = activeEditor.getSelection();
246
308
  if (selection) {
@@ -253,32 +315,34 @@ class AttachSelectionToChatAction extends Action2 {
253
315
  }
254
316
  }
255
317
  class AttachSearchResultAction extends Action2 {
256
- static { this.Name = 'searchResults'; }
318
+ static {
319
+ this.Name = "searchResults";
320
+ }
257
321
  constructor() {
258
322
  super({
259
- id: 'workbench.action.chat.insertSearchResults',
260
- title: ( localize2(4720, 'Add Search Results to Chat')),
323
+ id: "workbench.action.chat.insertSearchResults",
324
+ title: ( localize2(4731, "Add Search Results to Chat")),
261
325
  category: CHAT_CATEGORY,
262
326
  f1: false,
263
327
  menu: [{
264
- id: MenuId.SearchContext,
265
- group: 'z_chat',
266
- order: 3,
267
- when: ( ContextKeyExpr.and(ChatContextKeys.enabled, SearchContext.SearchResultHeaderFocused)),
268
- }]
328
+ id: MenuId.SearchContext,
329
+ group: "z_chat",
330
+ order: 3,
331
+ when: ( ContextKeyExpr.and(ChatContextKeys.enabled, SearchContext.SearchResultHeaderFocused))
332
+ }]
269
333
  });
270
334
  }
271
335
  async run(accessor) {
272
336
  const logService = accessor.get(ILogService);
273
337
  const widget = await accessor.get(IInstantiationService).invokeFunction(withChatView);
274
338
  if (!widget) {
275
- logService.trace('InsertSearchResultAction: no chat view available');
339
+ logService.trace("InsertSearchResultAction: no chat view available");
276
340
  return;
277
341
  }
278
342
  const editor = widget.inputEditor;
279
343
  const originalRange = editor.getSelection() ?? editor.getModel()?.getFullModelRange().collapseToEnd();
280
344
  if (!originalRange) {
281
- logService.trace('InsertSearchResultAction: no selection');
345
+ logService.trace("InsertSearchResultAction: no selection");
282
346
  return;
283
347
  }
284
348
  let insertText = `#${AttachSearchResultAction.Name}`;
@@ -294,10 +358,13 @@ class AttachSearchResultAction extends Action2 {
294
358
  originalRange.startColumn - 1,
295
359
  originalRange.startLineNumber,
296
360
  originalRange.startColumn
297
- ))) !== ' ') {
298
- insertText = ' ' + insertText;
361
+ ))) !== " ") {
362
+ insertText = " " + insertText;
299
363
  }
300
- const success = editor.executeEdits('chatInsertSearch', [{ range: varRange, text: insertText + ' ' }]);
364
+ const success = editor.executeEdits("chatInsertSearch", [{
365
+ range: varRange,
366
+ text: insertText + " "
367
+ }]);
301
368
  if (!success) {
302
369
  logService.trace(`InsertSearchResultAction: failed to insert "${insertText}"`);
303
370
  return;
@@ -305,25 +372,19 @@ class AttachSearchResultAction extends Action2 {
305
372
  }
306
373
  }
307
374
  function isIContextPickItemItem(obj) {
308
- return (isObject(obj)
309
- && typeof obj.kind === 'string'
310
- && obj.kind === 'contextPick');
375
+ return (isObject(obj) && typeof obj.kind === "string" && obj.kind === "contextPick");
311
376
  }
312
377
  function isIGotoSymbolQuickPickItem(obj) {
313
- return (isObject(obj)
314
- && typeof obj.symbolName === 'string'
315
- && !!obj.uri
316
- && !!obj.range);
378
+ return (isObject(obj) && typeof obj.symbolName === "string" && !!obj.uri && !!obj.range);
317
379
  }
318
380
  function isIQuickPickItemWithResource(obj) {
319
- return (isObject(obj)
320
- && URI.isUri(obj.resource));
381
+ return (isObject(obj) && URI.isUri(obj.resource));
321
382
  }
322
383
  class AttachContextAction extends Action2 {
323
384
  constructor() {
324
385
  super({
325
- id: 'workbench.action.chat.attachContext',
326
- title: ( localize2(4721, "Add Context...")),
386
+ id: "workbench.action.chat.attachContext",
387
+ title: ( localize2(4732, "Add Context...")),
327
388
  icon: Codicon.attach,
328
389
  category: CHAT_CATEGORY,
329
390
  keybinding: {
@@ -334,9 +395,9 @@ class AttachContextAction extends Action2 {
334
395
  menu: {
335
396
  when: ( ContextKeyExpr.and(( ContextKeyExpr.or(( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)), ( ContextKeyExpr.and(( ChatContextKeys.location.isEqualTo(ChatAgentLocation.EditorInline)), CTX_INLINE_CHAT_V2_ENABLED)))), ( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeys.agentSupportsAttachments)))),
336
397
  id: MenuId.ChatInputAttachmentToolbar,
337
- group: 'navigation',
398
+ group: "navigation",
338
399
  order: 3
339
- },
400
+ }
340
401
  });
341
402
  }
342
403
  async run(accessor, ...args) {
@@ -356,11 +417,11 @@ class AttachContextAction extends Action2 {
356
417
  continue;
357
418
  }
358
419
  quickPickItems.push({
359
- kind: 'contextPick',
420
+ kind: "contextPick",
360
421
  item,
361
422
  label: item.label,
362
423
  iconClass: ThemeIcon.asClassName(item.icon),
363
- keybinding: item.commandId ? keybindingService.lookupKeybinding(item.commandId, contextKeyService) : undefined,
424
+ keybinding: item.commandId ? keybindingService.lookupKeybinding(item.commandId, contextKeyService) : undefined
364
425
  });
365
426
  }
366
427
  instantiationService.invokeFunction(this._show.bind(this), widget, quickPickItems, context?.placeholder);
@@ -371,7 +432,7 @@ class AttachContextAction extends Action2 {
371
432
  const instantiationService = accessor.get(IInstantiationService);
372
433
  const commandService = accessor.get(ICommandService);
373
434
  const providerOptions = {
374
- filter: (pick) => {
435
+ filter: pick => {
375
436
  if (isIQuickPickItemWithResource(pick) && pick.resource) {
376
437
  return instantiationService.invokeFunction(accessor => isSupportedChatFileScheme(accessor, pick.resource.scheme));
377
438
  }
@@ -381,18 +442,16 @@ class AttachContextAction extends Action2 {
381
442
  handleAccept: async (item, isBackgroundAccept) => {
382
443
  if (isIContextPickItemItem(item)) {
383
444
  let isDone = true;
384
- if (item.item.type === 'valuePick') {
445
+ if (item.item.type === "valuePick") {
385
446
  this._handleContextPick(item.item, widget);
386
- }
387
- else if (item.item.type === 'pickerPick') {
447
+ } else if (item.item.type === "pickerPick") {
388
448
  isDone = await this._handleContextPickerItem(quickInputService, commandService, item.item, widget);
389
449
  }
390
450
  if (!isDone) {
391
451
  instantiationService.invokeFunction(this._show.bind(this), widget, additionPicks, placeholder);
392
452
  return;
393
453
  }
394
- }
395
- else {
454
+ } else {
396
455
  instantiationService.invokeFunction(this._handleQPPick.bind(this), widget, isBackgroundAccept, item);
397
456
  }
398
457
  if (isQuickChat(widget)) {
@@ -400,14 +459,14 @@ class AttachContextAction extends Action2 {
400
459
  }
401
460
  }
402
461
  };
403
- quickInputService.quickAccess.show('', {
462
+ quickInputService.quickAccess.show("", {
404
463
  enabledProviderPrefixes: [
405
464
  AnythingQuickAccessProvider.PREFIX,
406
465
  SymbolsQuickAccessProvider.PREFIX,
407
466
  AbstractGotoSymbolQuickAccessProvider.PREFIX
408
467
  ],
409
- placeholder: placeholder ?? ( localize(4722, 'Search attachments')),
410
- providerOptions,
468
+ placeholder: placeholder ?? ( localize(4733, "Search attachments")),
469
+ providerOptions
411
470
  });
412
471
  }
413
472
  async _handleQPPick(accessor, widget, isInBackground, pick) {
@@ -424,36 +483,42 @@ class AttachContextAction extends Action2 {
424
483
  name: pick.label,
425
484
  fullName: pick.label,
426
485
  value: resizedImage,
427
- kind: 'image',
428
- references: [{ reference: pick.resource, kind: 'reference' }]
486
+ kind: "image",
487
+ references: [{
488
+ reference: pick.resource,
489
+ kind: "reference"
490
+ }]
429
491
  });
430
492
  }
431
- }
432
- else {
493
+ } else {
433
494
  let omittedState = OmittedState.NotOmitted;
434
495
  try {
435
496
  const createdModel = await textModelService.createModelReference(pick.resource);
436
497
  createdModel.dispose();
437
- }
438
- catch {
498
+ } catch {
439
499
  omittedState = OmittedState.Full;
440
500
  }
441
501
  toAttach.push({
442
- kind: 'file',
502
+ kind: "file",
443
503
  id: ( pick.resource.toString()),
444
504
  value: pick.resource,
445
505
  name: pick.label,
446
506
  omittedState
447
507
  });
448
508
  }
449
- }
450
- else if (isIGotoSymbolQuickPickItem(pick) && pick.uri && pick.range) {
509
+ } else if (isIGotoSymbolQuickPickItem(pick) && pick.uri && pick.range) {
451
510
  toAttach.push({
452
- kind: 'generic',
453
- id: JSON.stringify({ uri: pick.uri, range: pick.range.decoration }),
454
- value: { uri: pick.uri, range: pick.range.decoration },
511
+ kind: "generic",
512
+ id: JSON.stringify({
513
+ uri: pick.uri,
514
+ range: pick.range.decoration
515
+ }),
516
+ value: {
517
+ uri: pick.uri,
518
+ range: pick.range.decoration
519
+ },
455
520
  fullName: pick.label,
456
- name: pick.symbolName,
521
+ name: pick.symbolName
457
522
  });
458
523
  }
459
524
  widget.attachmentModel.addContext(...toAttach);
@@ -465,8 +530,7 @@ class AttachContextAction extends Action2 {
465
530
  const value = await item.asAttachment(widget);
466
531
  if (Array.isArray(value)) {
467
532
  widget.attachmentModel.addContext(...value);
468
- }
469
- else if (value) {
533
+ } else if (value) {
470
534
  widget.attachmentModel.addContext(value);
471
535
  }
472
536
  }
@@ -474,7 +538,7 @@ class AttachContextAction extends Action2 {
474
538
  const pickerConfig = item.asPicker(widget);
475
539
  const store = ( new DisposableStore());
476
540
  const goBackItem = {
477
- label: ( localize(4723, 'Go back ↩')),
541
+ label: ( localize(4734, "Go back ↩")),
478
542
  alwaysShow: true
479
543
  };
480
544
  const configureItem = pickerConfig.configure ? {
@@ -482,12 +546,16 @@ class AttachContextAction extends Action2 {
482
546
  commandId: pickerConfig.configure.commandId,
483
547
  alwaysShow: true
484
548
  } : undefined;
485
- const extraPicks = [{ type: 'separator' }];
549
+ const extraPicks = [{
550
+ type: "separator"
551
+ }];
486
552
  if (configureItem) {
487
553
  extraPicks.push(configureItem);
488
554
  }
489
555
  extraPicks.push(goBackItem);
490
- const qp = store.add(quickInputService.createQuickPick({ useSeparators: true }));
556
+ const qp = store.add(quickInputService.createQuickPick({
557
+ useSeparators: true
558
+ }));
491
559
  const cts = ( new CancellationTokenSource());
492
560
  store.add(qp.onDidHide(() => cts.cancel()));
493
561
  store.add(toDisposable(() => cts.dispose(true)));
@@ -503,13 +571,15 @@ class AttachContextAction extends Action2 {
503
571
  }));
504
572
  qp.items = items;
505
573
  qp.busy = false;
506
- }
507
- else {
508
- const query = observableValue('attachContext.query', qp.value);
574
+ } else {
575
+ const query = observableValue("attachContext.query", qp.value);
509
576
  store.add(qp.onDidChangeValue(() => query.set(qp.value, undefined)));
510
577
  const picksObservable = pickerConfig.picks(query, cts.token);
511
578
  store.add(autorun(reader => {
512
- const { busy, picks } = picksObservable.read(reader);
579
+ const {
580
+ busy,
581
+ picks
582
+ } = picksObservable.read(reader);
513
583
  qp.items = [].concat(picks, extraPicks);
514
584
  qp.busy = busy;
515
585
  }));
@@ -520,8 +590,8 @@ class AttachContextAction extends Action2 {
520
590
  }
521
591
  const defer = ( new DeferredPromise());
522
592
  const addPromises = [];
523
- store.add(qp.onDidAccept(async (e) => {
524
- const noop = 'noop';
593
+ store.add(qp.onDidAccept(async e => {
594
+ const noop = "noop";
525
595
  const [selected] = qp.selectedItems;
526
596
  if (isChatContextPickerPickItem(selected)) {
527
597
  const attachment = selected.asAttachment();
@@ -534,8 +604,7 @@ class AttachContextAction extends Action2 {
534
604
  widget.attachmentModel.addContext(...asArray(v));
535
605
  }
536
606
  }));
537
- }
538
- else {
607
+ } else {
539
608
  widget.attachmentModel.addContext(...asArray(attachment));
540
609
  }
541
610
  }
@@ -562,8 +631,7 @@ class AttachContextAction extends Action2 {
562
631
  qp.busy = true;
563
632
  await Promise.all(addPromises);
564
633
  return result;
565
- }
566
- finally {
634
+ } finally {
567
635
  store.dispose();
568
636
  }
569
637
  }
@@ -13,14 +13,14 @@ function registerChatCopyActions() {
13
13
  registerAction2(class CopyAllAction extends Action2 {
14
14
  constructor() {
15
15
  super({
16
- id: 'workbench.action.chat.copyAll',
17
- title: ( localize2(4729, "Copy All")),
16
+ id: "workbench.action.chat.copyAll",
17
+ title: ( localize2(4740, "Copy All")),
18
18
  f1: false,
19
19
  category: CHAT_CATEGORY,
20
20
  menu: {
21
21
  id: MenuId.ChatContext,
22
22
  when: ( ChatContextKeys.responseIsFiltered.negate()),
23
- group: 'copy',
23
+ group: "copy"
24
24
  }
25
25
  });
26
26
  }
@@ -30,10 +30,9 @@ function registerChatCopyActions() {
30
30
  const widget = (context?.sessionResource && chatWidgetService.getWidgetBySessionResource(context.sessionResource)) || chatWidgetService.lastFocusedWidget;
31
31
  if (widget) {
32
32
  const viewModel = widget.viewModel;
33
- const sessionAsText = viewModel?.getItems()
34
- .filter((item) => isRequestVM(item) || (isResponseVM(item) && !item.errorDetails?.responseIsFiltered))
35
- .map(item => stringifyItem(item))
36
- .join('\n\n');
33
+ const sessionAsText = viewModel?.getItems().filter(
34
+ item => isRequestVM(item) || (isResponseVM(item) && !item.errorDetails?.responseIsFiltered)
35
+ ).map(item => stringifyItem(item)).join("\n\n");
37
36
  if (sessionAsText) {
38
37
  clipboardService.writeText(sessionAsText);
39
38
  }
@@ -43,14 +42,14 @@ function registerChatCopyActions() {
43
42
  registerAction2(class CopyItemAction extends Action2 {
44
43
  constructor() {
45
44
  super({
46
- id: 'workbench.action.chat.copyItem',
47
- title: ( localize2(4730, "Copy")),
45
+ id: "workbench.action.chat.copyItem",
46
+ title: ( localize2(4741, "Copy")),
48
47
  f1: false,
49
48
  category: CHAT_CATEGORY,
50
49
  menu: {
51
50
  id: MenuId.ChatContext,
52
51
  when: ( ChatContextKeys.responseIsFiltered.negate()),
53
- group: 'copy',
52
+ group: "copy"
54
53
  }
55
54
  });
56
55
  }
@@ -78,14 +77,14 @@ function registerChatCopyActions() {
78
77
  registerAction2(class CopyKatexMathSourceAction extends Action2 {
79
78
  constructor() {
80
79
  super({
81
- id: 'workbench.action.chat.copyKatexMathSource',
82
- title: ( localize2(4731, "Copy Math Source")),
80
+ id: "workbench.action.chat.copyKatexMathSource",
81
+ title: ( localize2(4742, "Copy Math Source")),
83
82
  f1: false,
84
83
  category: CHAT_CATEGORY,
85
84
  menu: {
86
85
  id: MenuId.ChatContext,
87
- group: 'copy',
88
- when: ChatContextKeys.isKatexMathElement,
86
+ group: "copy",
87
+ when: ChatContextKeys.isKatexMathElement
89
88
  }
90
89
  });
91
90
  }
@@ -114,7 +113,7 @@ function registerChatCopyActions() {
114
113
  selectedElement = activeElement?.querySelector(`.${katexContainerClassName}`) ?? null;
115
114
  }
116
115
  const katexElement = isHTMLElement(selectedElement) ? selectedElement.closest(`.${katexContainerClassName}`) : null;
117
- const latexSource = katexElement?.getAttribute(katexContainerLatexAttributeName) || '';
116
+ const latexSource = katexElement?.getAttribute(katexContainerLatexAttributeName) || "";
118
117
  if (latexSource) {
119
118
  await clipboardService.writeText(latexSource);
120
119
  }