@codingame/monaco-vscode-chat-service-override 20.4.1 → 21.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 (200) hide show
  1. package/index.js +15 -7
  2. package/package.json +38 -36
  3. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +2 -0
  4. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +60 -0
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +56 -46
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +18 -16
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +52 -11
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +28 -26
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +19 -13
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +2 -2
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +15 -12
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +11 -11
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +10 -10
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +68 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +433 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -18
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +7 -3
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +205 -551
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +7 -5
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +52 -29
  24. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -163
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +1 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +20 -5
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +17 -17
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +11 -14
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +32 -6
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +3 -1
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +22 -3
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +2 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +22 -9
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +6 -8
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +1 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +47 -15
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +12 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +8 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +33 -8
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +3 -3
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.d.ts +3 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.js +74 -19
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +2 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +19 -19
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +3 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +23 -19
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatLayoutService.d.ts +12 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatLayoutService.js +36 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +36 -35
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +6 -6
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +2 -2
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +1 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +37 -9
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +238 -52
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +23 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +257 -148
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +3 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +126 -77
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +2 -3
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +3 -13
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +4 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +55 -45
  67. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +6 -3
  68. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +13 -7
  70. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +130 -47
  71. package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-dark.svg +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-light.svg +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditingEditorOverlay.css +5 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatus.css +6 -6
  75. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +9 -9
  76. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +4 -4
  77. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +39 -35
  78. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +9 -9
  79. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +18 -18
  80. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +12 -12
  81. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  82. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  83. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  84. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  85. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +2 -2
  86. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +14 -14
  87. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  88. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +5 -4
  89. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +7 -4
  90. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +4 -8
  91. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +153 -168
  92. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.d.ts +127 -1
  93. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.js +111 -1
  94. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +3 -3
  95. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.d.ts +2 -1
  96. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +6 -3
  97. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.d.ts +20 -0
  98. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +66 -0
  99. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +38 -0
  100. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +143 -0
  101. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +3 -1
  102. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +12 -3
  103. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.d.ts +8 -3
  104. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +41 -8
  105. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.d.ts +4 -1
  106. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.js +55 -22
  107. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.js +1 -1
  108. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.js +1 -1
  109. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js +4 -4
  110. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.d.ts +2 -0
  112. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +5 -2
  113. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.d.ts +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.js +3 -4
  115. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.js +4 -4
  116. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +0 -5
  117. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +8 -23
  118. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +9 -9
  119. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +4 -5
  120. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +11 -5
  121. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +28 -28
  122. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  123. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +12 -0
  124. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +54 -0
  125. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  126. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +33 -31
  127. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +9 -9
  128. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.d.ts +1 -3
  129. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +9 -13
  130. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  131. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -18
  132. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +2 -1
  133. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +11 -4
  134. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  135. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +1 -2
  136. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +1 -6
  137. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.d.ts +16 -1
  138. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +84 -25
  139. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.d.ts +10 -0
  140. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.js +55 -0
  141. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +8 -2
  142. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +15 -7
  143. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +23 -0
  144. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +72 -1
  145. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +8 -2
  146. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +19 -9
  147. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +5 -0
  148. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -5
  149. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +12 -8
  150. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +6 -0
  151. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +85 -1
  152. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +35 -0
  153. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +448 -0
  154. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.d.ts +0 -1
  155. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.js +30 -77
  156. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +62 -0
  157. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +174 -0
  158. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +75 -10
  159. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +15 -2
  160. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +81 -38
  161. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.d.ts +11 -0
  162. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +106 -0
  163. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{getTerminalOutputTool.js → tools/getTerminalOutputTool.js} +5 -3
  164. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.d.ts +11 -0
  165. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +59 -0
  166. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +57 -0
  167. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +452 -0
  168. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +45 -0
  169. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
  170. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +2 -0
  171. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +31 -0
  172. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{runInTerminalTool.d.ts → tools/runInTerminalTool.d.ts} +11 -13
  173. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{runInTerminalTool.js → tools/runInTerminalTool.js} +282 -133
  174. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/createAndRunTaskTool.d.ts +5 -5
  175. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/createAndRunTaskTool.js +51 -50
  176. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/getTaskOutputTool.d.ts +6 -1
  177. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +117 -0
  178. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/runTaskTool.d.ts +3 -5
  179. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/runTaskTool.js +54 -50
  180. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +19 -0
  181. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +36 -0
  182. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminal.chatAgentTools.d.ts +3 -0
  183. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminal.chatAgentTools.js +8 -0
  184. package/vscode/src/vs/base/common/policy.d.ts +0 -41
  185. package/vscode/src/vs/base/common/policy.js +0 -11
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.d.ts +0 -12
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.js +0 -738
  188. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +0 -42
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptPathAutocompletion.d.ts +0 -67
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptPathAutocompletion.js +0 -167
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.d.ts +0 -23
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.js +0 -63
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.d.ts +0 -55
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.js +0 -163
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/getTaskOutputTool.js +0 -88
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.d.ts +0 -35
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.js +0 -80
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.d.ts +0 -1
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.js +0 -40
  200. /package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{getTerminalOutputTool.d.ts → tools/getTerminalOutputTool.d.ts} +0 -0
@@ -20,6 +20,8 @@ import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/l
20
20
  import { TerminalLocation } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal';
21
21
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
22
22
  import { accessibleViewInCodeBlock } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
23
+ import { IAiEditTelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service';
24
+ import { EditDeltaInfo } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditSource';
23
25
  import { reviewEdits } from '@codingame/monaco-vscode-a793b3ee-7ba9-5176-a019-30ec806fdd95-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
24
26
  import { ITerminalService, ITerminalEditorService, ITerminalGroupService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
25
27
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
@@ -81,7 +83,7 @@ let CodeBlockActionRendering = class CodeBlockActionRendering extends Disposable
81
83
  const context = this._context;
82
84
  if (isCodeBlockActionContext(context) && context.codemapperUri) {
83
85
  const label = labelService.getUriLabel(context.codemapperUri, { relative: true });
84
- return localize(4554, "Apply to {0}", label);
86
+ return localize(4593, "Apply to {0}", label);
85
87
  }
86
88
  return super.getTooltip();
87
89
  }
@@ -104,7 +106,7 @@ function registerChatCodeBlockActions() {
104
106
  constructor() {
105
107
  super({
106
108
  id: 'workbench.action.chat.copyCodeBlock',
107
- title: ( localize2(4555, "Copy")),
109
+ title: ( localize2(4594, "Copy")),
108
110
  f1: false,
109
111
  category: CHAT_CATEGORY,
110
112
  icon: Codicon.copy,
@@ -121,6 +123,7 @@ function registerChatCodeBlockActions() {
121
123
  return;
122
124
  }
123
125
  const clipboardService = accessor.get(IClipboardService);
126
+ const aiEditTelemetryService = accessor.get(IAiEditTelemetryService);
124
127
  clipboardService.writeText(context.code);
125
128
  if (isResponseVM(context.element)) {
126
129
  const chatService = accessor.get(IChatService);
@@ -145,6 +148,18 @@ function registerChatCodeBlockActions() {
145
148
  modelId: request?.modelId ?? ''
146
149
  }
147
150
  });
151
+ const codeBlockInfo = context.element.model.codeBlockInfos?.at(context.codeBlockIndex);
152
+ aiEditTelemetryService.handleCodeAccepted({
153
+ acceptanceMethod: 'copyButton',
154
+ suggestionId: codeBlockInfo?.suggestionId,
155
+ editDeltaInfo: EditDeltaInfo.fromText(context.code),
156
+ feature: 'sideBarChat',
157
+ languageId: context.languageId,
158
+ modeId: context.element.model.request?.modeInfo?.modeId,
159
+ modelId: request?.modelId,
160
+ presentation: 'codeBlock',
161
+ applyCodeBlockSuggestionId: undefined,
162
+ });
148
163
  }
149
164
  }
150
165
  });
@@ -167,6 +182,7 @@ function registerChatCodeBlockActions() {
167
182
  editor.getSelections()?.reduce((acc, selection) => acc + editorModel.getValueInRange(selection), '') ?? '';
168
183
  const totalCharacters = editorModel.getValueLength();
169
184
  const chatService = accessor.get(IChatService);
185
+ const aiEditTelemetryService = accessor.get(IAiEditTelemetryService);
170
186
  const element = context.element;
171
187
  if (isResponseVM(element)) {
172
188
  const requestId = element.requestId;
@@ -190,6 +206,18 @@ function registerChatCodeBlockActions() {
190
206
  modelId: request?.modelId ?? ''
191
207
  }
192
208
  });
209
+ const codeBlockInfo = element.model.codeBlockInfos?.at(context.codeBlockIndex);
210
+ aiEditTelemetryService.handleCodeAccepted({
211
+ acceptanceMethod: 'copyManual',
212
+ suggestionId: codeBlockInfo?.suggestionId,
213
+ editDeltaInfo: EditDeltaInfo.fromText(copiedText),
214
+ feature: 'sideBarChat',
215
+ languageId: context.languageId,
216
+ modeId: element.model.request?.modeInfo?.modeId,
217
+ modelId: request?.modelId,
218
+ presentation: 'codeBlock',
219
+ applyCodeBlockSuggestionId: undefined,
220
+ });
193
221
  }
194
222
  if (noSelection) {
195
223
  accessor.get(IClipboardService).writeText(context.code);
@@ -201,7 +229,7 @@ function registerChatCodeBlockActions() {
201
229
  constructor() {
202
230
  super({
203
231
  id: APPLY_IN_EDITOR_ID,
204
- title: ( localize2(4556, "Apply in Editor")),
232
+ title: ( localize2(4595, "Apply in Editor")),
205
233
  precondition: ChatContextKeys.enabled,
206
234
  f1: true,
207
235
  category: CHAT_CATEGORY,
@@ -237,7 +265,7 @@ function registerChatCodeBlockActions() {
237
265
  constructor() {
238
266
  super({
239
267
  id: 'workbench.action.chat.insertCodeBlock',
240
- title: ( localize2(4557, "Insert At Cursor")),
268
+ title: ( localize2(4596, "Insert At Cursor")),
241
269
  precondition: ChatContextKeys.enabled,
242
270
  f1: true,
243
271
  category: CHAT_CATEGORY,
@@ -271,7 +299,7 @@ function registerChatCodeBlockActions() {
271
299
  constructor() {
272
300
  super({
273
301
  id: 'workbench.action.chat.insertIntoNewFile',
274
- title: ( localize2(4558, "Insert into New File")),
302
+ title: ( localize2(4597, "Insert into New File")),
275
303
  precondition: ChatContextKeys.enabled,
276
304
  f1: true,
277
305
  category: CHAT_CATEGORY,
@@ -290,6 +318,7 @@ function registerChatCodeBlockActions() {
290
318
  }
291
319
  const editorService = accessor.get(IEditorService);
292
320
  const chatService = accessor.get(IChatService);
321
+ const aiEditTelemetryService = accessor.get(IAiEditTelemetryService);
293
322
  editorService.openEditor({ contents: context.code, languageId: context.languageId, resource: undefined });
294
323
  if (isResponseVM(context.element)) {
295
324
  const requestId = context.element.requestId;
@@ -310,6 +339,18 @@ function registerChatCodeBlockActions() {
310
339
  modelId: request?.modelId ?? ''
311
340
  }
312
341
  });
342
+ const codeBlockInfo = context.element.model.codeBlockInfos?.at(context.codeBlockIndex);
343
+ aiEditTelemetryService.handleCodeAccepted({
344
+ acceptanceMethod: 'insertInNewFile',
345
+ suggestionId: codeBlockInfo?.suggestionId,
346
+ editDeltaInfo: EditDeltaInfo.fromText(context.code),
347
+ feature: 'sideBarChat',
348
+ languageId: context.languageId,
349
+ modeId: context.element.model.request?.modeInfo?.modeId,
350
+ modelId: request?.modelId,
351
+ presentation: 'codeBlock',
352
+ applyCodeBlockSuggestionId: undefined,
353
+ });
313
354
  }
314
355
  }
315
356
  });
@@ -317,7 +358,7 @@ function registerChatCodeBlockActions() {
317
358
  constructor() {
318
359
  super({
319
360
  id: 'workbench.action.chat.runInTerminal',
320
- title: ( localize2(4559, "Insert into Terminal")),
361
+ title: ( localize2(4598, "Insert into Terminal")),
321
362
  precondition: ChatContextKeys.enabled,
322
363
  f1: true,
323
364
  category: CHAT_CATEGORY,
@@ -411,7 +452,7 @@ function registerChatCodeBlockActions() {
411
452
  constructor() {
412
453
  super({
413
454
  id: 'workbench.action.chat.nextCodeBlock',
414
- title: ( localize2(4560, "Next Code Block")),
455
+ title: ( localize2(4599, "Next Code Block")),
415
456
  keybinding: {
416
457
  primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageDown,
417
458
  mac: { primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageDown, },
@@ -431,7 +472,7 @@ function registerChatCodeBlockActions() {
431
472
  constructor() {
432
473
  super({
433
474
  id: 'workbench.action.chat.previousCodeBlock',
434
- title: ( localize2(4561, "Previous Code Block")),
475
+ title: ( localize2(4600, "Previous Code Block")),
435
476
  keybinding: {
436
477
  primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageUp,
437
478
  mac: { primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageUp, },
@@ -490,7 +531,7 @@ function registerChatCodeCompareBlockActions() {
490
531
  constructor() {
491
532
  super({
492
533
  id: 'workbench.action.chat.applyCompareEdits',
493
- title: ( localize2(4562, "Apply Edits")),
534
+ title: ( localize2(4601, "Apply Edits")),
494
535
  f1: false,
495
536
  category: CHAT_CATEGORY,
496
537
  icon: Codicon.gitPullRequestGoToChanges,
@@ -521,7 +562,7 @@ function registerChatCodeCompareBlockActions() {
521
562
  const editorToApply = await editorService.openCodeEditor({ resource: item.uri }, null);
522
563
  if (editorToApply) {
523
564
  editorToApply.revealLineInCenterIfOutsideViewport(firstEdit.range.startLineNumber);
524
- instaService.invokeFunction(reviewEdits, editorToApply, textEdits, CancellationToken.None);
565
+ instaService.invokeFunction(reviewEdits, editorToApply, textEdits, CancellationToken.None, undefined);
525
566
  response.setEditApplied(item, 1);
526
567
  return true;
527
568
  }
@@ -532,7 +573,7 @@ function registerChatCodeCompareBlockActions() {
532
573
  constructor() {
533
574
  super({
534
575
  id: 'workbench.action.chat.discardCompareEdits',
535
- title: ( localize2(4563, "Discard Edits")),
576
+ title: ( localize2(4602, "Discard Edits")),
536
577
  f1: false,
537
578
  category: CHAT_CATEGORY,
538
579
  icon: Codicon.trash,
@@ -45,28 +45,30 @@ ChatContextContributions = ( __decorate([
45
45
  class ToolsContextPickerPick {
46
46
  constructor() {
47
47
  this.type = 'pickerPick';
48
- this.label = ( localize(4564, 'Tools...'));
48
+ this.label = ( localize(4603, 'Tools...'));
49
49
  this.icon = Codicon.tools;
50
50
  this.ordinal = -500;
51
51
  }
52
52
  asPicker(widget) {
53
53
  const items = [];
54
- for (const entry of widget.input.selectedToolsModel.entries.get()) {
55
- if (entry instanceof ToolSet) {
56
- items.push({
57
- toolInfo: ToolDataSource.classify(entry.source),
58
- label: entry.referenceName,
59
- description: entry.description,
60
- asAttachment: () => this._asToolSetAttachment(entry)
61
- });
62
- }
63
- else {
64
- items.push({
65
- toolInfo: ToolDataSource.classify(entry.source),
66
- label: entry.toolReferenceName ?? entry.displayName,
67
- description: entry.userDescription ?? entry.modelDescription,
68
- asAttachment: () => this._asToolAttachment(entry)
69
- });
54
+ for (const [entry, enabled] of widget.input.selectedToolsModel.entriesMap.get()) {
55
+ if (enabled) {
56
+ if (entry instanceof ToolSet) {
57
+ items.push({
58
+ toolInfo: ToolDataSource.classify(entry.source),
59
+ label: entry.referenceName,
60
+ description: entry.description,
61
+ asAttachment: () => this._asToolSetAttachment(entry)
62
+ });
63
+ }
64
+ else {
65
+ items.push({
66
+ toolInfo: ToolDataSource.classify(entry.source),
67
+ label: entry.toolReferenceName ?? entry.displayName,
68
+ description: entry.userDescription ?? entry.modelDescription,
69
+ asAttachment: () => this._asToolAttachment(entry)
70
+ });
71
+ }
70
72
  }
71
73
  }
72
74
  items.sort((a, b) => {
@@ -89,7 +91,7 @@ class ToolsContextPickerPick {
89
91
  picks.push(item);
90
92
  }
91
93
  return {
92
- placeholder: ( localize(4565, 'Select a tool')),
94
+ placeholder: ( localize(4604, 'Select a tool')),
93
95
  picks: Promise.resolve(picks)
94
96
  };
95
97
  }
@@ -117,7 +119,7 @@ let OpenEditorContextValuePick = class OpenEditorContextValuePick {
117
119
  this._editorService = _editorService;
118
120
  this._labelService = _labelService;
119
121
  this.type = 'valuePick';
120
- this.label = ( localize(4566, 'Open Editors'));
122
+ this.label = ( localize(4605, 'Open Editors'));
121
123
  this.icon = Codicon.file;
122
124
  this.ordinal = 800;
123
125
  }
@@ -153,7 +155,7 @@ let RelatedFilesContextPickerPick = class RelatedFilesContextPickerPick {
153
155
  this._chatEditingService = _chatEditingService;
154
156
  this._labelService = _labelService;
155
157
  this.type = 'pickerPick';
156
- this.label = ( localize(4567, 'Related Files'));
158
+ this.label = ( localize(4606, 'Related Files'));
157
159
  this.icon = Codicon.sparkle;
158
160
  this.ordinal = 300;
159
161
  }
@@ -195,7 +197,7 @@ let RelatedFilesContextPickerPick = class RelatedFilesContextPickerPick {
195
197
  }, []));
196
198
  })();
197
199
  return {
198
- placeholder: ( localize(4568, 'Add related files to your working set')),
200
+ placeholder: ( localize(4607, 'Add related files to your working set')),
199
201
  picks,
200
202
  };
201
203
  }
@@ -208,7 +210,7 @@ let ClipboardImageContextValuePick = class ClipboardImageContextValuePick {
208
210
  constructor(_clipboardService) {
209
211
  this._clipboardService = _clipboardService;
210
212
  this.type = 'valuePick';
211
- this.label = ( localize(4569, 'Image from Clipboard'));
213
+ this.label = ( localize(4608, 'Image from Clipboard'));
212
214
  this.icon = Codicon.fileMedia;
213
215
  }
214
216
  async isEnabled(widget) {
@@ -222,8 +224,8 @@ let ClipboardImageContextValuePick = class ClipboardImageContextValuePick {
222
224
  const fileBuffer = await this._clipboardService.readImage();
223
225
  return {
224
226
  id: await imageToHash(fileBuffer),
225
- name: ( localize(4570, 'Pasted Image')),
226
- fullName: ( localize(4570, 'Pasted Image')),
227
+ name: ( localize(4609, 'Pasted Image')),
228
+ fullName: ( localize(4609, 'Pasted Image')),
227
229
  value: fileBuffer,
228
230
  kind: 'image',
229
231
  };
@@ -238,8 +240,8 @@ let ScreenshotContextValuePick = class ScreenshotContextValuePick {
238
240
  this.type = 'valuePick';
239
241
  this.icon = Codicon.deviceCamera;
240
242
  this.label = (isElectron
241
- ? ( localize(4571, 'Screenshot Window'))
242
- : ( localize(4572, 'Screenshot')));
243
+ ? ( localize(4610, 'Screenshot Window'))
244
+ : ( localize(4611, 'Screenshot')));
243
245
  }
244
246
  async isEnabled(widget) {
245
247
  return !!widget.input.selectedLanguageModel?.metadata.capabilities?.vision;
@@ -10,6 +10,7 @@ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/th
10
10
  import { isObject } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
11
11
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
12
12
  import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
13
+ import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
13
14
  import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
14
15
  import { AbstractGotoSymbolQuickAccessProvider } from '@codingame/monaco-vscode-eda30bac-0984-5b42-9362-c68996b85232-common/vscode/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess';
15
16
  import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
@@ -24,7 +25,7 @@ import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platfor
24
25
  import { IListService } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService.service';
25
26
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
26
27
  import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
27
- import { resolveCommandsContext } from '@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common/vscode/vs/workbench/browser/parts/editor/editorCommandsContext';
28
+ import { resolveCommandsContext } from '@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common/vscode/vs/workbench/browser/parts/editor/editorCommandsContext';
28
29
  import { ResourceContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
29
30
  import { isEditorCommandsContext, EditorResourceAccessor, SideBySideEditor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
30
31
  import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
@@ -34,7 +35,7 @@ import { ExplorerFolderContext } from '@codingame/monaco-vscode-f24e325c-2ce0-5b
34
35
  import { AnythingQuickAccessProvider } from '@codingame/monaco-vscode-64322fa2-7385-5f46-935b-8f243d98004b-common/vscode/vs/workbench/contrib/search/browser/anythingQuickAccess';
35
36
  import { isSearchTreeFileMatch, isSearchTreeMatch } from '@codingame/monaco-vscode-85f7fb0f-70f5-5a5e-831b-15c743a8bd11-common/vscode/vs/workbench/contrib/search/browser/searchTreeModel/searchTreeCommon';
36
37
  import { SymbolsQuickAccessProvider } from '@codingame/monaco-vscode-bc8c28cd-7a80-54a9-af1a-e6b1e7a7f34a-common/vscode/vs/workbench/contrib/search/browser/symbolsQuickAccess';
37
- import { SearchContext } from '@codingame/monaco-vscode-6f931a91-88ea-5232-897f-a17ec3929ba5-common/vscode/vs/workbench/contrib/search/common/constants';
38
+ import { SearchContext } from '@codingame/monaco-vscode-4dda7789-5a25-5e8b-b2de-c2f11b1b96e5-common/vscode/vs/workbench/contrib/search/common/constants';
38
39
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
39
40
  import { OmittedState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries';
40
41
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
@@ -60,10 +61,11 @@ function registerChatContextActions() {
60
61
  async function withChatView(accessor) {
61
62
  const viewsService = accessor.get(IViewsService);
62
63
  const chatWidgetService = accessor.get(IChatWidgetService);
63
- if (chatWidgetService.lastFocusedWidget) {
64
- return chatWidgetService.lastFocusedWidget;
64
+ const lastFocusedWidget = chatWidgetService.lastFocusedWidget;
65
+ if (!lastFocusedWidget || lastFocusedWidget.location === ChatAgentLocation.Panel) {
66
+ return showChatView(viewsService);
65
67
  }
66
- return showChatView(viewsService);
68
+ return lastFocusedWidget;
67
69
  }
68
70
  class AttachResourceAction extends Action2 {
69
71
  async run(accessor, ...args) {
@@ -113,7 +115,7 @@ class AttachFileToChatAction extends AttachResourceAction {
113
115
  constructor() {
114
116
  super({
115
117
  id: AttachFileToChatAction.ID,
116
- title: ( localize2(4573, "Add File to Chat")),
118
+ title: ( localize2(4612, "Add File to Chat")),
117
119
  category: CHAT_CATEGORY,
118
120
  precondition: ChatContextKeys.enabled,
119
121
  f1: true,
@@ -162,7 +164,7 @@ class AttachFolderToChatAction extends AttachResourceAction {
162
164
  constructor() {
163
165
  super({
164
166
  id: AttachFolderToChatAction.ID,
165
- title: ( localize2(4574, "Add Folder to Chat")),
167
+ title: ( localize2(4613, "Add Folder to Chat")),
166
168
  category: CHAT_CATEGORY,
167
169
  f1: false,
168
170
  menu: {
@@ -191,7 +193,7 @@ class AttachSelectionToChatAction extends Action2 {
191
193
  constructor() {
192
194
  super({
193
195
  id: AttachSelectionToChatAction.ID,
194
- title: ( localize2(4575, "Add Selection to Chat")),
196
+ title: ( localize2(4614, "Add Selection to Chat")),
195
197
  category: CHAT_CATEGORY,
196
198
  f1: true,
197
199
  precondition: ChatContextKeys.enabled,
@@ -199,7 +201,11 @@ class AttachSelectionToChatAction extends Action2 {
199
201
  id: MenuId.EditorContext,
200
202
  group: '1_chat',
201
203
  order: 1,
202
- 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))))))
204
+ when: ( ContextKeyExpr.and(
205
+ ChatContextKeys.enabled,
206
+ EditorContextKeys.hasNonEmptySelection,
207
+ ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.untitled)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeUserData))))
208
+ ))
203
209
  }
204
210
  });
205
211
  }
@@ -252,7 +258,7 @@ class AttachSearchResultAction extends Action2 {
252
258
  constructor() {
253
259
  super({
254
260
  id: 'workbench.action.chat.insertSearchResults',
255
- title: ( localize2(4576, 'Add Search Results to Chat')),
261
+ title: ( localize2(4615, 'Add Search Results to Chat')),
256
262
  category: CHAT_CATEGORY,
257
263
  f1: false,
258
264
  menu: [{
@@ -318,7 +324,7 @@ class AttachContextAction extends Action2 {
318
324
  constructor() {
319
325
  super({
320
326
  id: 'workbench.action.chat.attachContext',
321
- title: ( localize2(4577, "Add Context...")),
327
+ title: ( localize2(4616, "Add Context...")),
322
328
  icon: Codicon.attach,
323
329
  category: CHAT_CATEGORY,
324
330
  keybinding: {
@@ -395,7 +401,7 @@ class AttachContextAction extends Action2 {
395
401
  SymbolsQuickAccessProvider.PREFIX,
396
402
  AbstractGotoSymbolQuickAccessProvider.PREFIX
397
403
  ],
398
- placeholder: placeholder ?? ( localize(4578, 'Search attachments')),
404
+ placeholder: placeholder ?? ( localize(4617, 'Search attachments')),
399
405
  providerOptions,
400
406
  });
401
407
  }
@@ -463,7 +469,7 @@ class AttachContextAction extends Action2 {
463
469
  const pickerConfig = item.asPicker(widget);
464
470
  const store = ( new DisposableStore());
465
471
  const goBackItem = {
466
- label: ( localize(4579, 'Go back ↩')),
472
+ label: ( localize(4618, 'Go back ↩')),
467
473
  alwaysShow: true
468
474
  };
469
475
  const configureItem = pickerConfig.configure ? {
@@ -13,7 +13,7 @@ function registerChatCopyActions() {
13
13
  constructor() {
14
14
  super({
15
15
  id: 'workbench.action.chat.copyAll',
16
- title: ( localize2(4580, "Copy All")),
16
+ title: ( localize2(4619, "Copy All")),
17
17
  f1: false,
18
18
  category: CHAT_CATEGORY,
19
19
  menu: {
@@ -43,7 +43,7 @@ function registerChatCopyActions() {
43
43
  constructor() {
44
44
  super({
45
45
  id: 'workbench.action.chat.copyItem',
46
- title: ( localize2(4581, "Copy")),
46
+ title: ( localize2(4620, "Copy")),
47
47
  f1: false,
48
48
  category: CHAT_CATEGORY,
49
49
  menu: {
@@ -16,7 +16,7 @@ class LogChatInputHistoryAction extends Action2 {
16
16
  constructor() {
17
17
  super({
18
18
  id: LogChatInputHistoryAction.ID,
19
- title: ( localize2(4582, "Log Chat Input History")),
19
+ title: ( localize2(4621, "Log Chat Input History")),
20
20
  icon: Codicon.attach,
21
21
  category: Categories.Developer,
22
22
  f1: true,
@@ -33,7 +33,7 @@ class LogChatIndexAction extends Action2 {
33
33
  constructor() {
34
34
  super({
35
35
  id: LogChatIndexAction.ID,
36
- title: ( localize2(4583, "Log Chat Index")),
36
+ title: ( localize2(4622, "Log Chat Index")),
37
37
  icon: Codicon.attach,
38
38
  category: Categories.Developer,
39
39
  f1: true,
@@ -13,7 +13,7 @@ function registerChatFileTreeActions() {
13
13
  constructor() {
14
14
  super({
15
15
  id: 'workbench.action.chat.nextFileTree',
16
- title: ( localize2(4616, "Next File Tree")),
16
+ title: ( localize2(4654, "Next File Tree")),
17
17
  keybinding: {
18
18
  primary: KeyMod.CtrlCmd | KeyCode.F9,
19
19
  weight: KeybindingWeight.WorkbenchContrib,
@@ -32,7 +32,7 @@ function registerChatFileTreeActions() {
32
32
  constructor() {
33
33
  super({
34
34
  id: 'workbench.action.chat.previousFileTree',
35
- title: ( localize2(4617, "Previous File Tree")),
35
+ title: ( localize2(4655, "Previous File Tree")),
36
36
  keybinding: {
37
37
  primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.F9,
38
38
  weight: KeybindingWeight.WorkbenchContrib,
@@ -14,19 +14,19 @@ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/c
14
14
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
15
15
 
16
16
  const defaultFileName = 'chat.json';
17
- const filters = [{ name: ( localize(4618, "Chat Session")), extensions: ['json'] }];
17
+ const filters = [{ name: ( localize(4656, "Chat Session")), extensions: ['json'] }];
18
18
  function registerChatExportActions() {
19
19
  registerAction2(class ExportChatAction extends Action2 {
20
20
  constructor() {
21
21
  super({
22
22
  id: 'workbench.action.chat.export',
23
23
  category: CHAT_CATEGORY,
24
- title: ( localize2(4619, "Export Chat...")),
24
+ title: ( localize2(4657, "Export Chat...")),
25
25
  precondition: ChatContextKeys.enabled,
26
26
  f1: true,
27
27
  });
28
28
  }
29
- async run(accessor, ...args) {
29
+ async run(accessor, outputPath) {
30
30
  const widgetService = accessor.get(IChatWidgetService);
31
31
  const fileDialogService = accessor.get(IFileDialogService);
32
32
  const fileService = accessor.get(IFileService);
@@ -35,27 +35,30 @@ function registerChatExportActions() {
35
35
  if (!widget || !widget.viewModel) {
36
36
  return;
37
37
  }
38
- const defaultUri = joinPath(await fileDialogService.defaultFilePath(), defaultFileName);
39
- const result = await fileDialogService.showSaveDialog({
40
- defaultUri,
41
- filters
42
- });
43
- if (!result) {
44
- return;
38
+ if (!outputPath) {
39
+ const defaultUri = joinPath(await fileDialogService.defaultFilePath(), defaultFileName);
40
+ const result = await fileDialogService.showSaveDialog({
41
+ defaultUri,
42
+ filters
43
+ });
44
+ if (!result) {
45
+ return;
46
+ }
47
+ outputPath = result;
45
48
  }
46
49
  const model = chatService.getSession(widget.viewModel.sessionId);
47
50
  if (!model) {
48
51
  return;
49
52
  }
50
53
  const content = VSBuffer.fromString(JSON.stringify(model.toExport(), undefined, 2));
51
- await fileService.writeFile(result, content);
54
+ await fileService.writeFile(outputPath, content);
52
55
  }
53
56
  });
54
57
  registerAction2(class ImportChatAction extends Action2 {
55
58
  constructor() {
56
59
  super({
57
60
  id: 'workbench.action.chat.import',
58
- title: ( localize2(4620, "Import Chat...")),
61
+ title: ( localize2(4658, "Import Chat...")),
59
62
  category: CHAT_CATEGORY,
60
63
  precondition: ChatContextKeys.enabled,
61
64
  f1: true,
@@ -20,7 +20,7 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
20
20
  constructor() {
21
21
  super({
22
22
  id: ManageLanguageModelAuthenticationAction.ID,
23
- title: ( localize2(4621, 'Manage Language Model Access...')),
23
+ title: ( localize2(4659, 'Manage Language Model Access...')),
24
24
  category: CHAT_CATEGORY,
25
25
  precondition: ChatContextKeys.enabled,
26
26
  menu: [{
@@ -91,9 +91,9 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
91
91
  if (extensionAuth.size === 0) {
92
92
  dialogService.prompt({
93
93
  type: 'info',
94
- message: ( localize(4622, 'No language models requiring authentication found.')),
94
+ message: ( localize(4660, 'No language models requiring authentication found.')),
95
95
  detail: ( localize(
96
- 4623,
96
+ 4661,
97
97
  'There are currently no language models that require authentication.'
98
98
  ))
99
99
  });
@@ -108,10 +108,10 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
108
108
  items.push({
109
109
  type: 'separator',
110
110
  id: ownerId,
111
- label: ( localize(4624, '{0}', extension.displayName || extension.name)),
111
+ label: ( localize(4662, '{0}', extension.displayName || extension.name)),
112
112
  buttons: [{
113
113
  iconClass: ThemeIcon.asClassName(Codicon.info),
114
- tooltip: ( localize(4625, 'Open Extension')),
114
+ tooltip: ( localize(4663, 'Open Extension')),
115
115
  }]
116
116
  });
117
117
  let addedTrustedSeparator = false;
@@ -120,7 +120,7 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
120
120
  if (allowedExt.trusted && !addedTrustedSeparator) {
121
121
  items.push({
122
122
  type: 'separator',
123
- label: ( localize(4626, 'Trusted by Microsoft')),
123
+ label: ( localize(4664, 'Trusted by Microsoft')),
124
124
  });
125
125
  addedTrustedSeparator = true;
126
126
  }
@@ -133,16 +133,16 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
133
133
  disabled: allowedExt.trusted,
134
134
  buttons: [{
135
135
  iconClass: ThemeIcon.asClassName(Codicon.info),
136
- tooltip: ( localize(4625, 'Open Extension')),
136
+ tooltip: ( localize(4663, 'Open Extension')),
137
137
  }]
138
138
  });
139
139
  }
140
140
  }
141
141
  else {
142
142
  items.push({
143
- label: ( localize(4627, 'No extensions have access')),
143
+ label: ( localize(4665, 'No extensions have access')),
144
144
  description: ( localize(
145
- 4628,
145
+ 4666,
146
146
  'No extensions are currently allowed to use models from {0}',
147
147
  ownerId
148
148
  )),
@@ -165,8 +165,8 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
165
165
  void extensionsWorkbenchService.open(extId);
166
166
  }
167
167
  },
168
- title: ( localize(4629, 'Manage Language Model Access')),
169
- placeHolder: ( localize(4630, 'Choose which extensions can access language models')),
168
+ title: ( localize(4667, 'Manage Language Model Access')),
169
+ placeHolder: ( localize(4668, 'Choose which extensions can access language models')),
170
170
  });
171
171
  if (!result) {
172
172
  return;
@@ -28,7 +28,7 @@ function registerMoveActions() {
28
28
  constructor() {
29
29
  super({
30
30
  id: 'workbench.action.chat.openInEditor',
31
- title: ( localize2(4631, "Open Chat in Editor")),
31
+ title: ( localize2(4669, "Open Chat in Editor")),
32
32
  category: CHAT_CATEGORY,
33
33
  precondition: ChatContextKeys.enabled,
34
34
  f1: true,
@@ -49,7 +49,7 @@ function registerMoveActions() {
49
49
  constructor() {
50
50
  super({
51
51
  id: 'workbench.action.chat.openInNewWindow',
52
- title: ( localize2(4632, "Open Chat in New Window")),
52
+ title: ( localize2(4670, "Open Chat in New Window")),
53
53
  category: CHAT_CATEGORY,
54
54
  precondition: ChatContextKeys.enabled,
55
55
  f1: true,
@@ -70,7 +70,7 @@ function registerMoveActions() {
70
70
  constructor() {
71
71
  super({
72
72
  id: 'workbench.action.chat.openInSidebar',
73
- title: ( localize2(4633, "Open Chat in Side Bar")),
73
+ title: ( localize2(4671, "Open Chat in Side Bar")),
74
74
  category: CHAT_CATEGORY,
75
75
  precondition: ChatContextKeys.enabled,
76
76
  f1: true
@@ -89,9 +89,9 @@ function registerMoveActions() {
89
89
  });
90
90
  }
91
91
  [MenuId.EditorTitle, MenuId.CompactWindowEditorTitle].forEach(id => {
92
- appendOpenChatInViewMenuItem(id, ( localize(4634, "Open Chat in Secondary Side Bar")), Codicon.layoutSidebarRightDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.AuxiliaryBar)));
93
- appendOpenChatInViewMenuItem(id, ( localize(4635, "Open Chat in Primary Side Bar")), Codicon.layoutSidebarLeftDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Sidebar)));
94
- appendOpenChatInViewMenuItem(id, ( localize(4636, "Open Chat in Panel")), Codicon.layoutPanelDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Panel)));
92
+ appendOpenChatInViewMenuItem(id, ( localize(4672, "Open Chat in Secondary Side Bar")), Codicon.layoutSidebarRightDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.AuxiliaryBar)));
93
+ appendOpenChatInViewMenuItem(id, ( localize(4673, "Open Chat in Primary Side Bar")), Codicon.layoutSidebarLeftDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Sidebar)));
94
+ appendOpenChatInViewMenuItem(id, ( localize(4674, "Open Chat in Panel")), Codicon.layoutPanelDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Panel)));
95
95
  });
96
96
  }
97
97
  async function executeMoveToAction(accessor, moveTo, _sessionId) {