@codingame/monaco-vscode-chat-service-override 24.3.0 → 25.0.1

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 (271) hide show
  1. package/index.js +35 -35
  2. package/package.json +5 -5
  3. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityService.d.ts → accessibility/chatAccessibilityService.d.ts} +10 -8
  4. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityService.js → accessibility/chatAccessibilityService.js} +23 -11
  5. package/vscode/src/vs/workbench/contrib/chat/browser/{chatResponseAccessibleView.d.ts → accessibility/chatResponseAccessibleView.d.ts} +6 -0
  6. package/vscode/src/vs/workbench/contrib/chat/browser/{chatResponseAccessibleView.js → accessibility/chatResponseAccessibleView.js} +38 -10
  7. package/vscode/src/vs/workbench/contrib/chat/browser/{chatTerminalOutputAccessibleView.js → accessibility/chatTerminalOutputAccessibleView.js} +1 -1
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +7 -7
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +69 -60
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +2 -12
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +3 -0
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +25 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +24 -22
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +13 -13
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +5 -5
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +48 -4
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -7
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +12 -12
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +10 -10
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +16 -19
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +4 -4
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +35 -19
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +4 -3
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +22 -17
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.d.ts +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +3 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -21
  32. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +31 -53
  33. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +61 -25
  34. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +482 -125
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +16 -13
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +84 -93
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +2 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +10 -8
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +7 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +41 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +23 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +137 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +15 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +92 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +81 -32
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +335 -102
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -2
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +47 -51
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +80 -8
  50. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentResolveService.d.ts → attachments/chatAttachmentResolveService.d.ts} +2 -2
  51. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentResolveService.js → attachments/chatAttachmentResolveService.js} +4 -4
  52. package/vscode/src/vs/workbench/contrib/chat/browser/{chatVariables.d.ts → attachments/chatVariables.d.ts} +3 -3
  53. package/vscode/src/vs/workbench/contrib/chat/browser/{chatVariables.js → attachments/chatVariables.js} +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditing → attachments}/simpleBrowserEditorOverlay.js +21 -21
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +171 -206
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditing.d.ts +1 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimeline.d.ts +2 -2
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -2
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +2 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +3 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.d.ts +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +20 -20
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +14 -14
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +3 -3
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -4
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +4 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +3 -3
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +3 -3
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +3 -3
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.d.ts +1 -1
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -4
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +10 -8
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +5 -5
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -2
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +1 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +1 -1
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +2 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +1 -1
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.d.ts +1 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +2 -2
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +5 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +18 -18
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +41 -41
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +10 -10
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +1 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +35 -35
  98. package/vscode/src/vs/workbench/contrib/chat/browser/{chatSessions.contribution.d.ts → chatSessions/chatSessions.contribution.d.ts} +7 -11
  99. package/vscode/src/vs/workbench/contrib/chat/browser/{chatSessions.contribution.js → chatSessions/chatSessions.contribution.js} +53 -106
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +18 -22
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +3 -3
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -29
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +3 -3
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +64 -64
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +22 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +90 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContextService.d.ts → contextContrib/chatContextService.d.ts} +3 -3
  111. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContextService.js → contextContrib/chatContextService.js} +1 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +7 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
  115. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  117. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +4 -4
  118. package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsConfirmationService.d.ts → tools/languageModelToolsConfirmationService.d.ts} +4 -4
  119. package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsConfirmationService.js → tools/languageModelToolsConfirmationService.js} +47 -58
  120. package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsService.d.ts → tools/languageModelToolsService.d.ts} +5 -5
  121. package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsService.js → tools/languageModelToolsService.js} +21 -21
  122. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +1 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +16 -16
  124. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  125. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownAnchorService.d.ts +2 -2
  126. package/vscode/src/vs/workbench/contrib/chat/browser/{chatLayoutService.d.ts → widget/chatLayoutService.d.ts} +1 -1
  127. package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidgetService.d.ts → widget/chatWidgetService.d.ts} +6 -2
  128. package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidgetService.js → widget/chatWidgetService.js} +27 -5
  129. package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusWidget.d.ts → widget/input/chatStatusWidget.d.ts} +4 -2
  130. package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusWidget.js → widget/input/chatStatusWidget.js} +17 -10
  131. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorContrib.js +12 -6
  132. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorHover.d.ts +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorHover.js +3 -3
  134. package/vscode/src/vs/workbench/contrib/chat/browser/{chatQuick.d.ts → widgetHosts/chatQuick.d.ts} +1 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/{chatQuick.js → widgetHosts/chatQuick.js} +4 -4
  136. package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditor.d.ts → widgetHosts/editor/chatEditor.d.ts} +4 -5
  137. package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditor.js → widgetHosts/editor/chatEditor.js} +6 -6
  138. package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewPane.d.ts → widgetHosts/viewPane/chatViewPane.d.ts} +46 -31
  139. package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewPane.js → widgetHosts/viewPane/chatViewPane.js} +258 -154
  140. package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewTitleControl.d.ts → widgetHosts/viewPane/chatViewTitleControl.d.ts} +5 -12
  141. package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewTitleControl.js → widgetHosts/viewPane/chatViewTitleControl.js} +97 -85
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +176 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +89 -0
  144. package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceImpl.d.ts → chatService/chatServiceImpl.d.ts} +16 -20
  145. package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceImpl.js → chatService/chatServiceImpl.js} +97 -151
  146. package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceTelemetry.d.ts → chatService/chatServiceTelemetry.d.ts} +4 -4
  147. package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceTelemetry.js → chatService/chatServiceTelemetry.js} +2 -2
  148. package/vscode/src/vs/workbench/contrib/chat/common/{chatCodeMapperService.d.ts → editing/chatCodeMapperService.d.ts} +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/common/{chatModelStore.d.ts → model/chatModelStore.d.ts} +2 -2
  150. package/vscode/src/vs/workbench/contrib/chat/common/{chatProgressTypes → model/chatProgressTypes}/chatToolInvocation.d.ts +2 -2
  151. package/vscode/src/vs/workbench/contrib/chat/common/{chatProgressTypes → model/chatProgressTypes}/chatToolInvocation.js +4 -4
  152. package/vscode/src/vs/workbench/contrib/chat/common/{chatSessionStore.d.ts → model/chatSessionStore.d.ts} +14 -7
  153. package/vscode/src/vs/workbench/contrib/chat/common/{chatSessionStore.js → model/chatSessionStore.js} +164 -39
  154. package/vscode/src/vs/workbench/contrib/chat/common/{chatTransferService.d.ts → model/chatTransferService.d.ts} +3 -3
  155. package/vscode/src/vs/workbench/contrib/chat/common/{chatTransferService.js → model/chatTransferService.js} +1 -1
  156. package/vscode/src/vs/workbench/contrib/chat/common/{chatSlashCommands.d.ts → participants/chatSlashCommands.d.ts} +2 -2
  157. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +25 -49
  158. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +1 -1
  159. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +2 -2
  160. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +6 -6
  162. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
  163. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +3 -3
  164. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -1
  165. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +29 -29
  166. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
  167. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +54 -54
  168. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +11 -4
  169. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +83 -18
  170. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +11 -5
  171. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -10
  172. package/vscode/src/vs/workbench/contrib/chat/common/{chatTodoListService.d.ts → tools/chatTodoListService.d.ts} +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/common/{chatTodoListService.js → tools/chatTodoListService.js} +1 -1
  174. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +1 -1
  175. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +29 -29
  176. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +2 -2
  177. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +3 -3
  178. package/vscode/src/vs/workbench/contrib/chat/common/{chatResponseResourceFileSystemProvider.d.ts → widget/chatResponseResourceFileSystemProvider.d.ts} +1 -1
  179. package/vscode/src/vs/workbench/contrib/chat/common/{chatResponseResourceFileSystemProvider.js → widget/chatResponseResourceFileSystemProvider.js} +4 -4
  180. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +5 -5
  181. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +23 -23
  183. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  184. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +1 -1
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +1 -0
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  187. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +47 -30
  188. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +1 -1
  189. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.d.ts +1 -1
  190. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  191. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +15 -1
  192. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +33 -11
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +4 -3
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +6 -5
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +1 -1
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +12 -2
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +17 -2
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +12 -2
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +10 -1
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +22 -1
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -2
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +100 -23
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +6 -6
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +2 -1
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +19 -6
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{commandLineAutoApprover.d.ts → tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts} +11 -12
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{commandLineAutoApprover.js → tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js} +83 -6
  210. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +156 -0
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +17 -2
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +1 -1
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +64 -26
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +1 -0
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +16 -8
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +31 -0
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.d.ts +1 -1
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +1 -1
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.d.ts +1 -1
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +3 -2
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +55 -23
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +3 -3
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +85 -46
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.d.ts +1 -1
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +16 -16
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.d.ts +1 -1
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +9 -9
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.d.ts +1 -1
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +16 -16
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +9 -5
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +1 -1
  241. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +0 -46
  242. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +0 -248
  243. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.d.ts +0 -36
  244. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +0 -184
  245. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsview.css +0 -19
  246. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +0 -22
  247. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +0 -229
  248. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +0 -102
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +0 -495
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +0 -64
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +0 -386
  252. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +0 -299
  253. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewPane.css +0 -142
  254. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewTitleControl.css +0 -39
  255. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatTerminalOutputAccessibleView.d.ts → accessibility/chatTerminalOutputAccessibleView.d.ts} +0 -0
  256. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → attachments/media}/simpleBrowserOverlay.css +0 -0
  257. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditing → attachments}/simpleBrowserEditorOverlay.d.ts +0 -0
  258. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatEditing/media}/chatEditingEditorOverlay.css +0 -0
  259. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatEditing/media}/chatEditorController.css +0 -0
  260. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownAnchorService.js +0 -0
  261. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatLayoutService.js → widget/chatLayoutService.js} +0 -0
  262. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEdinputInputContentProvider.d.ts → widget/input/editor/chatEditorInputContentProvider.d.ts} +0 -0
  263. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEdinputInputContentProvider.js → widget/input/editor/chatEditorInputContentProvider.js} +0 -0
  264. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorContrib.d.ts +0 -0
  265. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/editorHoverWrapper.d.ts +0 -0
  266. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/editorHoverWrapper.js +0 -0
  267. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/media/editorHoverWrapper.css +0 -0
  268. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → widget/input/media}/chatStatusWidget.css +0 -0
  269. /package/vscode/src/vs/workbench/contrib/chat/common/{chatCodeMapperService.js → editing/chatCodeMapperService.js} +0 -0
  270. /package/vscode/src/vs/workbench/contrib/chat/common/{chatModelStore.js → model/chatModelStore.js} +0 -0
  271. /package/vscode/src/vs/workbench/contrib/chat/common/{chatSlashCommands.js → participants/chatSlashCommands.js} +0 -0
@@ -1,12 +1,11 @@
1
1
 
2
2
  import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
- import { Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
3
+ import { AgentSessionSection, isAgentSessionSection, isMarshalledAgentSessionContext, isLocalAgentSessionItem } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel';
4
+ import { Action2, MenuId, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
4
5
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
5
- import { ViewAction } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/views/viewPane';
6
- import { AGENT_SESSIONS_VIEW_ID, AgentSessionsViewerOrientation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
7
- import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
8
- import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
9
- import { isMarshalledChatSessionContext } from '../actions/chatSessionActions.js';
6
+ import { AgentSessionProviders, AGENT_SESSION_RENAME_ACTION_ID, AGENT_SESSION_DELETE_ACTION_ID, AgentSessionsViewerOrientation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
7
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
8
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
10
9
  import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
11
10
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
12
11
  import { ACTIVE_GROUP, SIDE_GROUP, AUX_WINDOW_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
@@ -17,32 +16,268 @@ import { Position } from '@codingame/monaco-vscode-api/vscode/vs/workbench/servi
17
16
  import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService.service';
18
17
  import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
19
18
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
20
- import { showClearEditingSessionConfirmation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
19
+ import { ChatEditorInput, showClearEditingSessionConfirmation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput';
21
20
  import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
22
21
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
23
22
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
23
+ import { CHAT_CATEGORY, ACTION_ID_NEW_CHAT } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
24
+ import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
25
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
26
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
27
+ import { AgentSessionsPicker } from './agentSessionsPicker.js';
28
+ import { ActiveEditorContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
29
+ import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
30
+ import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
31
+ import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
24
32
 
33
+ class ToggleChatViewSessionsAction extends Action2 {
34
+ constructor() {
35
+ super({
36
+ id: 'workbench.action.chat.toggleChatViewSessions',
37
+ title: ( localize2(4855, "Show Sessions")),
38
+ toggled: ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsEnabled}`, true)),
39
+ menu: {
40
+ id: MenuId.ChatWelcomeContext,
41
+ group: '0_sessions',
42
+ order: 1,
43
+ when: ( ChatContextKeys.inChatEditor.negate())
44
+ }
45
+ });
46
+ }
47
+ async run(accessor) {
48
+ const configurationService = accessor.get(IConfigurationService);
49
+ const chatViewSessionsEnabled = configurationService.getValue(ChatConfiguration.ChatViewSessionsEnabled);
50
+ await configurationService.updateValue(ChatConfiguration.ChatViewSessionsEnabled, !chatViewSessionsEnabled);
51
+ }
52
+ }
53
+ const agentSessionsOrientationSubmenu = ( new MenuId('chatAgentSessionsOrientationSubmenu'));
54
+ MenuRegistry.appendMenuItem(MenuId.ChatWelcomeContext, {
55
+ submenu: agentSessionsOrientationSubmenu,
56
+ title: ( localize2(4856, "Sessions Orientation")),
57
+ group: '0_sessions',
58
+ order: 2,
59
+ when: ( ChatContextKeys.inChatEditor.negate())
60
+ });
61
+ class SetAgentSessionsOrientationStackedAction extends Action2 {
62
+ constructor() {
63
+ super({
64
+ id: 'workbench.action.chat.setAgentSessionsOrientationStacked',
65
+ title: ( localize2(4857, "Stacked")),
66
+ toggled: ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsOrientation}`, 'stacked')),
67
+ precondition: ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsEnabled}`, true)),
68
+ menu: {
69
+ id: agentSessionsOrientationSubmenu,
70
+ group: 'navigation',
71
+ order: 2
72
+ }
73
+ });
74
+ }
75
+ async run(accessor) {
76
+ const commandService = accessor.get(ICommandService);
77
+ await commandService.executeCommand(HideAgentSessionsSidebar.ID);
78
+ }
79
+ }
80
+ class SetAgentSessionsOrientationSideBySideAction extends Action2 {
81
+ constructor() {
82
+ super({
83
+ id: 'workbench.action.chat.setAgentSessionsOrientationSideBySide',
84
+ title: ( localize2(4858, "Side by Side")),
85
+ toggled: ( ContextKeyExpr.notEquals(`config.${ChatConfiguration.ChatViewSessionsOrientation}`, 'stacked')),
86
+ precondition: ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsEnabled}`, true)),
87
+ menu: {
88
+ id: agentSessionsOrientationSubmenu,
89
+ group: 'navigation',
90
+ order: 1
91
+ }
92
+ });
93
+ }
94
+ async run(accessor) {
95
+ const commandService = accessor.get(ICommandService);
96
+ await commandService.executeCommand(ShowAgentSessionsSidebar.ID);
97
+ }
98
+ }
99
+ class PickAgentSessionAction extends Action2 {
100
+ constructor() {
101
+ super({
102
+ id: `workbench.action.chat.history`,
103
+ title: ( localize2(4859, "Open Agent Session...")),
104
+ menu: [
105
+ {
106
+ id: MenuId.ViewTitle,
107
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', ChatViewId)), ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsEnabled}`, false)))),
108
+ group: 'navigation',
109
+ order: 2
110
+ },
111
+ {
112
+ id: MenuId.ViewTitle,
113
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', ChatViewId)), ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsEnabled}`, true)))),
114
+ group: '2_history',
115
+ order: 1
116
+ },
117
+ {
118
+ id: MenuId.EditorTitle,
119
+ when: ( ActiveEditorContext.isEqualTo(ChatEditorInput.EditorID)),
120
+ }
121
+ ],
122
+ category: CHAT_CATEGORY,
123
+ icon: Codicon.history,
124
+ f1: true,
125
+ precondition: ChatContextKeys.enabled
126
+ });
127
+ }
128
+ async run(accessor) {
129
+ const instantiationService = accessor.get(IInstantiationService);
130
+ const agentSessionsPicker = instantiationService.createInstance(AgentSessionsPicker);
131
+ await agentSessionsPicker.pickAgentSession();
132
+ }
133
+ }
134
+ class ArchiveAllAgentSessionsAction extends Action2 {
135
+ constructor() {
136
+ super({
137
+ id: 'workbench.action.chat.archiveAllAgentSessions',
138
+ title: ( localize2(4860, "Archive All Workspace Agent Sessions")),
139
+ precondition: ChatContextKeys.enabled,
140
+ category: CHAT_CATEGORY,
141
+ f1: true,
142
+ });
143
+ }
144
+ async run(accessor) {
145
+ const agentSessionsService = accessor.get(IAgentSessionsService);
146
+ const dialogService = accessor.get(IDialogService);
147
+ const sessionsToArchive = agentSessionsService.model.sessions.filter(session => !session.isArchived());
148
+ if (sessionsToArchive.length === 0) {
149
+ return;
150
+ }
151
+ const confirmed = await dialogService.confirm({
152
+ message: sessionsToArchive.length === 1
153
+ ? ( localize(4861, "Are you sure you want to archive 1 agent session?"))
154
+ : ( localize(
155
+ 4862,
156
+ "Are you sure you want to archive {0} agent sessions?",
157
+ sessionsToArchive.length
158
+ )),
159
+ detail: ( localize(4863, "You can unarchive sessions later if needed from the Chat view.")),
160
+ primaryButton: ( localize(4864, "Archive"))
161
+ });
162
+ if (!confirmed.confirmed) {
163
+ return;
164
+ }
165
+ for (const session of sessionsToArchive) {
166
+ session.setArchived(true);
167
+ }
168
+ }
169
+ }
170
+ class ArchiveAgentSessionSectionAction extends Action2 {
171
+ constructor() {
172
+ super({
173
+ id: 'agentSessionSection.archive',
174
+ title: ( localize2(4865, "Archive All")),
175
+ icon: Codicon.archive,
176
+ menu: {
177
+ id: MenuId.AgentSessionSectionToolbar,
178
+ group: 'navigation',
179
+ order: 1,
180
+ when: ( ChatContextKeys.agentSessionSection.notEqualsTo(AgentSessionSection.Archived)),
181
+ }
182
+ });
183
+ }
184
+ async run(accessor, context) {
185
+ if (!context || !isAgentSessionSection(context)) {
186
+ return;
187
+ }
188
+ const dialogService = accessor.get(IDialogService);
189
+ const confirmed = await dialogService.confirm({
190
+ message: context.sessions.length === 1
191
+ ? ( localize(
192
+ 4866,
193
+ "Are you sure you want to archive 1 agent session from '{0}'?",
194
+ context.label
195
+ ))
196
+ : ( localize(
197
+ 4867,
198
+ "Are you sure you want to archive {0} agent sessions from '{1}'?",
199
+ context.sessions.length,
200
+ context.label
201
+ )),
202
+ detail: ( localize(4868, "You can unarchive sessions later if needed from the sessions view.")),
203
+ primaryButton: ( localize(4869, "Archive All"))
204
+ });
205
+ if (!confirmed.confirmed) {
206
+ return;
207
+ }
208
+ for (const session of context.sessions) {
209
+ session.setArchived(true);
210
+ }
211
+ }
212
+ }
25
213
  class BaseAgentSessionAction extends Action2 {
26
- run(accessor, context) {
214
+ async run(accessor, context) {
27
215
  const agentSessionsService = accessor.get(IAgentSessionsService);
216
+ const viewsService = accessor.get(IViewsService);
28
217
  let session;
29
- if (isMarshalledChatSessionContext(context)) {
218
+ if (isMarshalledAgentSessionContext(context)) {
30
219
  session = agentSessionsService.getSession(context.session.resource);
31
220
  }
32
221
  else {
33
222
  session = context;
34
223
  }
224
+ if (!session) {
225
+ const chatView = viewsService.getActiveViewWithId(ChatViewId);
226
+ session = chatView?.getFocusedSessions().at(0);
227
+ }
35
228
  if (session) {
36
- this.runWithSession(session, accessor);
229
+ await this.runWithSession(session, accessor);
37
230
  }
38
231
  }
39
232
  }
233
+ class MarkAgentSessionUnreadAction extends BaseAgentSessionAction {
234
+ constructor() {
235
+ super({
236
+ id: 'agentSession.markUnread',
237
+ title: ( localize2(4870, "Mark as Unread")),
238
+ menu: {
239
+ id: MenuId.AgentSessionsContext,
240
+ group: '1_edit',
241
+ order: 1,
242
+ when: ( ContextKeyExpr.and(ChatContextKeys.isReadAgentSession, (
243
+ ChatContextKeys.isArchivedAgentSession.negate()))),
244
+ }
245
+ });
246
+ }
247
+ runWithSession(session) {
248
+ session.setRead(false);
249
+ }
250
+ }
251
+ class MarkAgentSessionReadAction extends BaseAgentSessionAction {
252
+ constructor() {
253
+ super({
254
+ id: 'agentSession.markRead',
255
+ title: ( localize2(4871, "Mark as Read")),
256
+ menu: {
257
+ id: MenuId.AgentSessionsContext,
258
+ group: '1_edit',
259
+ order: 1,
260
+ when: ( ContextKeyExpr.and(( ChatContextKeys.isReadAgentSession.negate()), (
261
+ ChatContextKeys.isArchivedAgentSession.negate()))),
262
+ }
263
+ });
264
+ }
265
+ runWithSession(session) {
266
+ session.setRead(true);
267
+ }
268
+ }
40
269
  class ArchiveAgentSessionAction extends BaseAgentSessionAction {
41
270
  constructor() {
42
271
  super({
43
272
  id: 'agentSession.archive',
44
- title: ( localize2(4839, "Archive")),
273
+ title: ( localize2(4872, "Archive")),
45
274
  icon: Codicon.archive,
275
+ keybinding: {
276
+ primary: KeyCode.Delete,
277
+ mac: { primary: KeyMod.CtrlCmd | KeyCode.Backspace },
278
+ weight: KeybindingWeight.WorkbenchContrib + 1,
279
+ when: ( ContextKeyExpr.and(ChatContextKeys.agentSessionsViewerFocused, ( ChatContextKeys.isArchivedAgentSession.negate())))
280
+ },
46
281
  menu: [{
47
282
  id: MenuId.AgentSessionItemToolbar,
48
283
  group: 'navigation',
@@ -50,7 +285,7 @@ class ArchiveAgentSessionAction extends BaseAgentSessionAction {
50
285
  when: ( ChatContextKeys.isArchivedAgentSession.negate()),
51
286
  }, {
52
287
  id: MenuId.AgentSessionsContext,
53
- group: 'edit',
288
+ group: '1_edit',
54
289
  order: 2,
55
290
  when: ( ChatContextKeys.isArchivedAgentSession.negate())
56
291
  }]
@@ -62,8 +297,8 @@ class ArchiveAgentSessionAction extends BaseAgentSessionAction {
62
297
  const dialogService = accessor.get(IDialogService);
63
298
  if (chatModel && !(await showClearEditingSessionConfirmation(chatModel, dialogService, {
64
299
  isArchiveAction: true,
65
- titleOverride: ( localize(4840, "Archive chat with pending edits?")),
66
- messageOverride: ( localize(4841, "You have pending changes in this chat session."))
300
+ titleOverride: ( localize(4873, "Archive chat with pending edits?")),
301
+ messageOverride: ( localize(4874, "You have pending changes in this chat session."))
67
302
  }))) {
68
303
  return;
69
304
  }
@@ -74,8 +309,19 @@ class UnarchiveAgentSessionAction extends BaseAgentSessionAction {
74
309
  constructor() {
75
310
  super({
76
311
  id: 'agentSession.unarchive',
77
- title: ( localize2(4842, "Unarchive")),
312
+ title: ( localize2(4875, "Unarchive")),
78
313
  icon: Codicon.unarchive,
314
+ keybinding: {
315
+ primary: KeyMod.Shift | KeyCode.Delete,
316
+ mac: {
317
+ primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Backspace,
318
+ },
319
+ weight: KeybindingWeight.WorkbenchContrib + 1,
320
+ when: ( ContextKeyExpr.and(
321
+ ChatContextKeys.agentSessionsViewerFocused,
322
+ ChatContextKeys.isArchivedAgentSession
323
+ ))
324
+ },
79
325
  menu: [{
80
326
  id: MenuId.AgentSessionItemToolbar,
81
327
  group: 'navigation',
@@ -83,7 +329,7 @@ class UnarchiveAgentSessionAction extends BaseAgentSessionAction {
83
329
  when: ChatContextKeys.isArchivedAgentSession,
84
330
  }, {
85
331
  id: MenuId.AgentSessionsContext,
86
- group: 'edit',
332
+ group: '1_edit',
87
333
  order: 2,
88
334
  when: ChatContextKeys.isArchivedAgentSession,
89
335
  }]
@@ -93,16 +339,108 @@ class UnarchiveAgentSessionAction extends BaseAgentSessionAction {
93
339
  session.setArchived(false);
94
340
  }
95
341
  }
96
- class BaseOpenAgentSessionAction extends Action2 {
97
- async run(accessor, context) {
98
- if (!context) {
342
+ class RenameAgentSessionAction extends BaseAgentSessionAction {
343
+ constructor() {
344
+ super({
345
+ id: AGENT_SESSION_RENAME_ACTION_ID,
346
+ title: ( localize2(4876, "Rename...")),
347
+ keybinding: {
348
+ primary: KeyCode.F2,
349
+ mac: {
350
+ primary: KeyCode.Enter
351
+ },
352
+ weight: KeybindingWeight.WorkbenchContrib + 1,
353
+ when: ( ContextKeyExpr.and(ChatContextKeys.agentSessionsViewerFocused, ( ChatContextKeys.agentSessionType.isEqualTo(AgentSessionProviders.Local)))),
354
+ },
355
+ menu: {
356
+ id: MenuId.AgentSessionsContext,
357
+ group: '1_edit',
358
+ order: 3,
359
+ when: ( ChatContextKeys.agentSessionType.isEqualTo(AgentSessionProviders.Local))
360
+ }
361
+ });
362
+ }
363
+ async runWithSession(session, accessor) {
364
+ const quickInputService = accessor.get(IQuickInputService);
365
+ const chatService = accessor.get(IChatService);
366
+ const title = await quickInputService.input({ prompt: ( localize(4877, "New agent session title")), value: session.label });
367
+ if (title) {
368
+ chatService.setChatSessionTitle(session.resource, title);
369
+ }
370
+ }
371
+ }
372
+ class DeleteAgentSessionAction extends BaseAgentSessionAction {
373
+ constructor() {
374
+ super({
375
+ id: AGENT_SESSION_DELETE_ACTION_ID,
376
+ title: ( localize2(4878, "Delete...")),
377
+ menu: {
378
+ id: MenuId.AgentSessionsContext,
379
+ group: '1_edit',
380
+ order: 4,
381
+ when: ( ChatContextKeys.agentSessionType.isEqualTo(AgentSessionProviders.Local))
382
+ }
383
+ });
384
+ }
385
+ async runWithSession(session, accessor) {
386
+ const chatService = accessor.get(IChatService);
387
+ const dialogService = accessor.get(IDialogService);
388
+ const widgetService = accessor.get(IChatWidgetService);
389
+ const confirmed = await dialogService.confirm({
390
+ message: ( localize(4879, "Are you sure you want to delete this chat session?")),
391
+ detail: ( localize(4880, "This action cannot be undone.")),
392
+ primaryButton: ( localize(4881, "Delete"))
393
+ });
394
+ if (!confirmed.confirmed) {
99
395
  return;
100
396
  }
397
+ await widgetService.getWidgetBySessionResource(session.resource)?.clear();
398
+ await chatService.removeHistoryEntry(session.resource);
399
+ }
400
+ }
401
+ class DeleteAllLocalSessionsAction extends Action2 {
402
+ constructor() {
403
+ super({
404
+ id: 'workbench.action.chat.clearHistory',
405
+ title: ( localize2(4882, "Delete All Local Workspace Chat Sessions")),
406
+ precondition: ChatContextKeys.enabled,
407
+ category: CHAT_CATEGORY,
408
+ f1: true,
409
+ });
410
+ }
411
+ async run(accessor, ...args) {
412
+ const chatService = accessor.get(IChatService);
413
+ const widgetService = accessor.get(IChatWidgetService);
414
+ const dialogService = accessor.get(IDialogService);
415
+ const agentSessionsService = accessor.get(IAgentSessionsService);
416
+ const localSessionsCount = agentSessionsService.model.sessions.filter(session => isLocalAgentSessionItem(session)).length;
417
+ if (localSessionsCount === 0) {
418
+ return;
419
+ }
420
+ const confirmed = await dialogService.confirm({
421
+ message: localSessionsCount === 1
422
+ ? ( localize(4883, "Are you sure you want to delete 1 local workspace chat session?"))
423
+ : ( localize(
424
+ 4884,
425
+ "Are you sure you want to delete {0} local workspace chat sessions?",
426
+ localSessionsCount
427
+ )),
428
+ detail: ( localize(4885, "This action cannot be undone.")),
429
+ primaryButton: ( localize(4886, "Delete All"))
430
+ });
431
+ if (!confirmed.confirmed) {
432
+ return;
433
+ }
434
+ await Promise.all(( widgetService.getAllWidgets().map(widget => widget.clear())));
435
+ await chatService.clearAllHistoryEntries();
436
+ }
437
+ }
438
+ class BaseOpenAgentSessionAction extends BaseAgentSessionAction {
439
+ async runWithSession(session, accessor) {
101
440
  const chatWidgetService = accessor.get(IChatWidgetService);
102
- const uri = context.session.resource;
441
+ const uri = session.resource;
103
442
  await chatWidgetService.openSession(uri, this.getTargetGroup(), {
104
443
  ...this.getOptions(),
105
- ignoreInView: true,
106
444
  pinned: true
107
445
  });
108
446
  }
@@ -112,7 +450,15 @@ class OpenAgentSessionInEditorGroupAction extends BaseOpenAgentSessionAction {
112
450
  constructor() {
113
451
  super({
114
452
  id: OpenAgentSessionInEditorGroupAction.id,
115
- title: ( localize(4843, "Open as Editor")),
453
+ title: ( localize2(4887, "Open as Editor")),
454
+ keybinding: {
455
+ primary: KeyMod.CtrlCmd | KeyCode.Enter,
456
+ mac: {
457
+ primary: KeyMod.WinCtrl | KeyCode.Enter
458
+ },
459
+ weight: KeybindingWeight.WorkbenchContrib + 1,
460
+ when: ChatContextKeys.agentSessionsViewerFocused,
461
+ },
116
462
  menu: {
117
463
  id: MenuId.AgentSessionsContext,
118
464
  order: 1,
@@ -132,7 +478,15 @@ class OpenAgentSessionInNewEditorGroupAction extends BaseOpenAgentSessionAction
132
478
  constructor() {
133
479
  super({
134
480
  id: OpenAgentSessionInNewEditorGroupAction.id,
135
- title: ( localize(4844, "Open to the Side")),
481
+ title: ( localize2(4888, "Open to the Side")),
482
+ keybinding: {
483
+ primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.Enter,
484
+ mac: {
485
+ primary: KeyMod.WinCtrl | KeyMod.Alt | KeyCode.Enter
486
+ },
487
+ weight: KeybindingWeight.WorkbenchContrib + 1,
488
+ when: ChatContextKeys.agentSessionsViewerFocused,
489
+ },
136
490
  menu: {
137
491
  id: MenuId.AgentSessionsContext,
138
492
  order: 2,
@@ -152,7 +506,7 @@ class OpenAgentSessionInNewWindowAction extends BaseOpenAgentSessionAction {
152
506
  constructor() {
153
507
  super({
154
508
  id: OpenAgentSessionInNewWindowAction.id,
155
- title: ( localize(4845, "Open in New Window")),
509
+ title: ( localize2(4889, "Open in New Window")),
156
510
  menu: {
157
511
  id: MenuId.AgentSessionsContext,
158
512
  order: 3,
@@ -169,83 +523,11 @@ class OpenAgentSessionInNewWindowAction extends BaseOpenAgentSessionAction {
169
523
  };
170
524
  }
171
525
  }
172
- class MarkAgentSessionUnreadAction extends BaseAgentSessionAction {
173
- constructor() {
174
- super({
175
- id: 'agentSession.markUnread',
176
- title: ( localize2(4846, "Mark as Unread")),
177
- menu: {
178
- id: MenuId.AgentSessionsContext,
179
- group: 'edit',
180
- order: 1,
181
- when: ( ContextKeyExpr.and(ChatContextKeys.isReadAgentSession, (
182
- ChatContextKeys.isArchivedAgentSession.negate()))),
183
- }
184
- });
185
- }
186
- runWithSession(session) {
187
- session.setRead(false);
188
- }
189
- }
190
- class MarkAgentSessionReadAction extends BaseAgentSessionAction {
191
- constructor() {
192
- super({
193
- id: 'agentSession.markRead',
194
- title: ( localize2(4847, "Mark as Read")),
195
- menu: {
196
- id: MenuId.AgentSessionsContext,
197
- group: 'edit',
198
- order: 1,
199
- when: ( ContextKeyExpr.and(( ChatContextKeys.isReadAgentSession.negate()), (
200
- ChatContextKeys.isArchivedAgentSession.negate()))),
201
- }
202
- });
203
- }
204
- runWithSession(session) {
205
- session.setRead(true);
206
- }
207
- }
208
- class RefreshAgentSessionsViewAction extends ViewAction {
209
- constructor() {
210
- super({
211
- id: 'agentSessionsView.refresh',
212
- title: ( localize2(4848, "Refresh Agent Sessions")),
213
- icon: Codicon.refresh,
214
- menu: {
215
- id: MenuId.AgentSessionsViewTitle,
216
- group: 'navigation',
217
- order: 1
218
- },
219
- viewId: AGENT_SESSIONS_VIEW_ID
220
- });
221
- }
222
- runInView(accessor, view) {
223
- view.refresh();
224
- }
225
- }
226
- class FindAgentSessionAction extends ViewAction {
227
- constructor() {
228
- super({
229
- id: 'agentSessionsView.find',
230
- title: ( localize2(4849, "Find Agent Session")),
231
- icon: Codicon.search,
232
- menu: {
233
- id: MenuId.AgentSessionsViewTitle,
234
- group: 'navigation',
235
- order: 2
236
- },
237
- viewId: AGENT_SESSIONS_VIEW_ID
238
- });
239
- }
240
- runInView(accessor, view) {
241
- view.openFind();
242
- }
243
- }
244
526
  class RefreshAgentSessionsViewerAction extends Action2 {
245
527
  constructor() {
246
528
  super({
247
529
  id: 'agentSessionsViewer.refresh',
248
- title: ( localize2(4848, "Refresh Agent Sessions")),
530
+ title: ( localize2(4890, "Refresh Agent Sessions")),
249
531
  icon: Codicon.refresh,
250
532
  menu: {
251
533
  id: MenuId.AgentSessionsToolbar,
@@ -263,7 +545,7 @@ class FindAgentSessionInViewerAction extends Action2 {
263
545
  constructor() {
264
546
  super({
265
547
  id: 'agentSessionsViewer.find',
266
- title: ( localize2(4849, "Find Agent Session")),
548
+ title: ( localize2(4891, "Find Agent Session")),
267
549
  icon: Codicon.search,
268
550
  menu: {
269
551
  id: MenuId.AgentSessionsToolbar,
@@ -282,58 +564,76 @@ class UpdateChatViewWidthAction extends Action2 {
282
564
  const layoutService = accessor.get(IWorkbenchLayoutService);
283
565
  const viewDescriptorService = accessor.get(IViewDescriptorService);
284
566
  const configurationService = accessor.get(IConfigurationService);
285
- const orientation = this.getOrientation();
567
+ const viewsService = accessor.get(IViewsService);
286
568
  const chatLocation = viewDescriptorService.getViewLocationById(ChatViewId);
287
569
  if (typeof chatLocation !== 'number') {
288
570
  return;
289
571
  }
290
572
  const panelPosition = layoutService.getPanelPosition();
291
573
  const canResizeView = chatLocation !== ViewContainerLocation.Panel || (panelPosition === Position.LEFT || panelPosition === Position.RIGHT);
292
- const configuredSessionsViewerOrientation = configurationService.getValue(ChatConfiguration.ChatViewSessionsOrientation);
293
- if ((!canResizeView || configuredSessionsViewerOrientation === 'sideBySide') && orientation === AgentSessionsViewerOrientation.Stacked) {
294
- await configurationService.updateValue(ChatConfiguration.ChatViewSessionsOrientation, 'stacked');
574
+ const chatViewSessionsEnabled = configurationService.getValue(ChatConfiguration.ChatViewSessionsEnabled);
575
+ if (!chatViewSessionsEnabled) {
576
+ await configurationService.updateValue(ChatConfiguration.ChatViewSessionsEnabled, true);
295
577
  }
296
- else if ((!canResizeView || configuredSessionsViewerOrientation === 'stacked') && orientation === AgentSessionsViewerOrientation.SideBySide) {
297
- await configurationService.updateValue(ChatConfiguration.ChatViewSessionsOrientation, 'sideBySide');
578
+ let chatView = viewsService.getActiveViewWithId(ChatViewId);
579
+ if (!chatView) {
580
+ chatView = await viewsService.openView(ChatViewId, false);
298
581
  }
299
- const part = getPartByLocation(chatLocation);
300
- let currentSize = layoutService.getSize(part);
301
- const sideBySideMinWidth = 600 + 1;
302
- const stackedMaxWidth = 300 + 1;
303
- if (configuredSessionsViewerOrientation !== 'auto') {
304
- if ((orientation === AgentSessionsViewerOrientation.SideBySide && currentSize.width >= sideBySideMinWidth) ||
305
- orientation === AgentSessionsViewerOrientation.Stacked
306
- ) {
307
- return;
308
- }
582
+ if (!chatView) {
583
+ return;
584
+ }
585
+ const configuredOrientation = configurationService.getValue(ChatConfiguration.ChatViewSessionsOrientation);
586
+ let validatedConfiguredOrientation;
587
+ if (configuredOrientation === 'stacked' || configuredOrientation === 'sideBySide') {
588
+ validatedConfiguredOrientation = configuredOrientation;
589
+ }
590
+ else {
591
+ validatedConfiguredOrientation = 'sideBySide';
592
+ }
593
+ const newOrientation = this.getOrientation();
594
+ const lastWidthForOrientation = chatView?.getLastDimensions(newOrientation)?.width;
595
+ if ((!canResizeView || validatedConfiguredOrientation === 'sideBySide') && newOrientation === AgentSessionsViewerOrientation.Stacked) {
596
+ chatView.updateConfiguredSessionsViewerOrientation('stacked');
597
+ }
598
+ else if ((!canResizeView || validatedConfiguredOrientation === 'stacked') && newOrientation === AgentSessionsViewerOrientation.SideBySide) {
599
+ chatView.updateConfiguredSessionsViewerOrientation('sideBySide');
309
600
  }
310
601
  if (!canResizeView) {
311
602
  return;
312
603
  }
604
+ const part = getPartByLocation(chatLocation);
605
+ let currentSize = layoutService.getSize(part);
606
+ const chatViewDefaultWidth = 300;
607
+ const sideBySideMinWidth = (chatViewDefaultWidth * 2) + 1;
608
+ if ((newOrientation === AgentSessionsViewerOrientation.SideBySide && currentSize.width >= sideBySideMinWidth) ||
609
+ (newOrientation === AgentSessionsViewerOrientation.Stacked && chatLocation === ViewContainerLocation.AuxiliaryBar && layoutService.isAuxiliaryBarMaximized())
610
+ ) {
611
+ return;
612
+ }
313
613
  if (chatLocation === ViewContainerLocation.AuxiliaryBar) {
314
614
  layoutService.setAuxiliaryBarMaximized(false);
315
615
  currentSize = layoutService.getSize(part);
316
616
  }
317
617
  let newWidth;
318
- if (orientation === AgentSessionsViewerOrientation.SideBySide) {
319
- newWidth = Math.max(sideBySideMinWidth, Math.round(layoutService.mainContainerDimension.width / 2));
618
+ if (newOrientation === AgentSessionsViewerOrientation.SideBySide) {
619
+ newWidth = Math.max(sideBySideMinWidth, lastWidthForOrientation || Math.round(layoutService.mainContainerDimension.width / 2));
320
620
  }
321
621
  else {
322
- newWidth = stackedMaxWidth;
622
+ newWidth = lastWidthForOrientation || chatViewDefaultWidth;
323
623
  }
324
- layoutService.setSize(part, {
325
- width: newWidth,
326
- height: currentSize.height
327
- });
624
+ layoutService.setSize(part, { width: newWidth, height: currentSize.height });
328
625
  }
329
626
  }
330
627
  class ShowAgentSessionsSidebar extends UpdateChatViewWidthAction {
331
628
  static { this.ID = 'agentSessions.showAgentSessionsSidebar'; }
332
- static { this.TITLE = ( localize2(4850, "Show Agent Sessions Sidebar")); }
629
+ static { this.TITLE = ( localize2(4892, "Show Agent Sessions Sidebar")); }
333
630
  constructor() {
334
631
  super({
335
632
  id: ShowAgentSessionsSidebar.ID,
336
633
  title: ShowAgentSessionsSidebar.TITLE,
634
+ precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.agentSessionsViewerOrientation.isEqualTo(AgentSessionsViewerOrientation.Stacked)))),
635
+ f1: true,
636
+ category: CHAT_CATEGORY,
337
637
  });
338
638
  }
339
639
  getOrientation() {
@@ -342,17 +642,74 @@ class ShowAgentSessionsSidebar extends UpdateChatViewWidthAction {
342
642
  }
343
643
  class HideAgentSessionsSidebar extends UpdateChatViewWidthAction {
344
644
  static { this.ID = 'agentSessions.hideAgentSessionsSidebar'; }
345
- static { this.TITLE = ( localize2(4851, "Hide Agent Sessions Sidebar")); }
645
+ static { this.TITLE = ( localize2(4893, "Hide Agent Sessions Sidebar")); }
346
646
  constructor() {
347
647
  super({
348
648
  id: HideAgentSessionsSidebar.ID,
349
649
  title: HideAgentSessionsSidebar.TITLE,
350
- icon: Codicon.layoutSidebarRightOff,
650
+ precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.agentSessionsViewerOrientation.isEqualTo(AgentSessionsViewerOrientation.SideBySide)))),
651
+ f1: true,
652
+ category: CHAT_CATEGORY,
351
653
  });
352
654
  }
353
655
  getOrientation() {
354
656
  return AgentSessionsViewerOrientation.Stacked;
355
657
  }
356
658
  }
659
+ class ToggleAgentSessionsSidebar extends Action2 {
660
+ static { this.ID = 'agentSessions.toggleAgentSessionsSidebar'; }
661
+ static { this.TITLE = ( localize2(4894, "Toggle Agent Sessions Sidebar")); }
662
+ constructor() {
663
+ super({
664
+ id: ToggleAgentSessionsSidebar.ID,
665
+ title: ToggleAgentSessionsSidebar.TITLE,
666
+ precondition: ChatContextKeys.enabled,
667
+ f1: true,
668
+ category: CHAT_CATEGORY,
669
+ });
670
+ }
671
+ async run(accessor) {
672
+ const commandService = accessor.get(ICommandService);
673
+ const viewsService = accessor.get(IViewsService);
674
+ const chatView = viewsService.getActiveViewWithId(ChatViewId);
675
+ const currentOrientation = chatView?.getSessionsViewerOrientation();
676
+ if (currentOrientation === AgentSessionsViewerOrientation.SideBySide) {
677
+ await commandService.executeCommand(HideAgentSessionsSidebar.ID);
678
+ }
679
+ else {
680
+ await commandService.executeCommand(ShowAgentSessionsSidebar.ID);
681
+ }
682
+ }
683
+ }
684
+ class FocusAgentSessionsAction extends Action2 {
685
+ static { this.id = 'workbench.action.chat.focusAgentSessionsViewer'; }
686
+ constructor() {
687
+ super({
688
+ id: FocusAgentSessionsAction.id,
689
+ title: ( localize2(4895, "Focus Agent Sessions")),
690
+ precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsEnabled}`, true)))),
691
+ category: CHAT_CATEGORY,
692
+ f1: true,
693
+ });
694
+ }
695
+ async run(accessor) {
696
+ const viewsService = accessor.get(IViewsService);
697
+ const configurationService = accessor.get(IConfigurationService);
698
+ const commandService = accessor.get(ICommandService);
699
+ const chatView = await viewsService.openView(ChatViewId, true);
700
+ const focused = chatView?.focusSessions();
701
+ if (focused) {
702
+ return;
703
+ }
704
+ const configuredSessionsViewerOrientation = configurationService.getValue(ChatConfiguration.ChatViewSessionsOrientation);
705
+ if (configuredSessionsViewerOrientation === 'stacked') {
706
+ await commandService.executeCommand(ACTION_ID_NEW_CHAT);
707
+ }
708
+ else {
709
+ await commandService.executeCommand(ShowAgentSessionsSidebar.ID);
710
+ }
711
+ chatView?.focusSessions();
712
+ }
713
+ }
357
714
 
358
- export { ArchiveAgentSessionAction, FindAgentSessionAction, FindAgentSessionInViewerAction, HideAgentSessionsSidebar, MarkAgentSessionReadAction, MarkAgentSessionUnreadAction, OpenAgentSessionInEditorGroupAction, OpenAgentSessionInNewEditorGroupAction, OpenAgentSessionInNewWindowAction, RefreshAgentSessionsViewAction, RefreshAgentSessionsViewerAction, ShowAgentSessionsSidebar, UnarchiveAgentSessionAction };
715
+ export { ArchiveAgentSessionAction, ArchiveAgentSessionSectionAction, ArchiveAllAgentSessionsAction, DeleteAgentSessionAction, DeleteAllLocalSessionsAction, FindAgentSessionInViewerAction, FocusAgentSessionsAction, HideAgentSessionsSidebar, MarkAgentSessionReadAction, MarkAgentSessionUnreadAction, OpenAgentSessionInEditorGroupAction, OpenAgentSessionInNewEditorGroupAction, OpenAgentSessionInNewWindowAction, PickAgentSessionAction, RefreshAgentSessionsViewerAction, RenameAgentSessionAction, SetAgentSessionsOrientationSideBySideAction, SetAgentSessionsOrientationStackedAction, ShowAgentSessionsSidebar, ToggleAgentSessionsSidebar, ToggleChatViewSessionsAction, UnarchiveAgentSessionAction };