@codingame/monaco-vscode-workbench-service-override 37.6.1 → 38.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 (323) hide show
  1. package/common.js +2 -0
  2. package/index.js +9 -10
  3. package/package.json +10 -10
  4. package/session.js +45 -42
  5. package/vscode/src/vs/platform/agentHost/common/sessionComparisonPrompts.d.ts +1 -0
  6. package/vscode/src/vs/platform/agentHost/common/sessionComparisonPrompts.js +12 -0
  7. package/vscode/src/vs/sessions/browser/{singlePaneWorkbench.d.ts → desktopWorkbench.d.ts} +6 -5
  8. package/vscode/src/vs/sessions/browser/{singlePaneWorkbench.js → desktopWorkbench.js} +23 -25
  9. package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.d.ts +5 -2
  10. package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.js +41 -3
  11. package/vscode/src/vs/sessions/browser/layoutActions.js +25 -41
  12. package/vscode/src/vs/sessions/browser/mobileWorkbench.d.ts +4 -0
  13. package/vscode/src/vs/sessions/browser/mobileWorkbench.js +10 -0
  14. package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.d.ts +10 -5
  15. package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.js +138 -34
  16. package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.d.ts +2 -0
  17. package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.js +13 -5
  18. package/vscode/src/vs/sessions/browser/parts/chatGroupView.d.ts +27 -5
  19. package/vscode/src/vs/sessions/browser/parts/chatGroupView.js +129 -28
  20. package/vscode/src/vs/sessions/browser/parts/chatGroupsView.d.ts +22 -7
  21. package/vscode/src/vs/sessions/browser/parts/chatGroupsView.js +260 -21
  22. package/vscode/src/vs/sessions/browser/parts/chatHeader.d.ts +25 -0
  23. package/vscode/src/vs/sessions/browser/parts/chatHeader.js +42 -0
  24. package/vscode/src/vs/sessions/browser/parts/customViewGridPart.js +9 -1
  25. package/vscode/src/vs/sessions/browser/parts/customViewNode.js +1 -1
  26. package/vscode/src/vs/sessions/browser/parts/{singlePaneAuxiliaryBarPart.d.ts → desktopAuxiliaryBarPart.d.ts} +4 -4
  27. package/vscode/src/vs/sessions/browser/parts/desktopAuxiliaryBarPart.js +26 -0
  28. package/vscode/src/vs/sessions/browser/parts/{singlePaneEditorPart.d.ts → desktopEditorPart.d.ts} +8 -6
  29. package/vscode/src/vs/sessions/browser/parts/{singlePaneEditorPart.js → desktopEditorPart.js} +25 -5
  30. package/vscode/src/vs/sessions/browser/parts/editorPart.js +16 -4
  31. package/vscode/src/vs/sessions/browser/parts/editorParts.d.ts +1 -1
  32. package/vscode/src/vs/sessions/browser/parts/editorParts.js +7 -6
  33. package/vscode/src/vs/sessions/browser/parts/gridGap.d.ts +14 -0
  34. package/vscode/src/vs/sessions/browser/parts/gridGap.js +69 -0
  35. package/vscode/src/vs/sessions/browser/parts/media/chatCompositeBar.css +132 -4
  36. package/vscode/src/vs/sessions/browser/parts/media/chatGroupsView.css +10 -0
  37. package/vscode/src/vs/sessions/browser/parts/media/editorPart.css +46 -2
  38. package/vscode/src/vs/sessions/browser/parts/media/sessionReadOnlyBanner.css +3 -3
  39. package/vscode/src/vs/sessions/browser/parts/media/sessionView.css +45 -48
  40. package/vscode/src/vs/sessions/browser/parts/media/sessionsPart.css +15 -0
  41. package/vscode/src/vs/sessions/browser/parts/menubar.contribution.js +8 -8
  42. package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.js +1 -1
  43. package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.d.ts +9 -1
  44. package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.js +21 -3
  45. package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.js +1 -1
  46. package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.d.ts +4 -3
  47. package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.js +29 -15
  48. package/vscode/src/vs/sessions/browser/parts/sessionGridLayout.d.ts +67 -0
  49. package/vscode/src/vs/sessions/browser/parts/sessionGridLayout.js +598 -0
  50. package/vscode/src/vs/sessions/browser/parts/sessionHeader.d.ts +11 -84
  51. package/vscode/src/vs/sessions/browser/parts/sessionHeader.js +37 -317
  52. package/vscode/src/vs/sessions/browser/parts/sessionHeaderBar.d.ts +103 -0
  53. package/vscode/src/vs/sessions/browser/parts/sessionHeaderBar.js +391 -0
  54. package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.d.ts +6 -4
  55. package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.js +58 -28
  56. package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.d.ts +4 -0
  57. package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.js +66 -23
  58. package/vscode/src/vs/sessions/browser/parts/sessionView.d.ts +24 -5
  59. package/vscode/src/vs/sessions/browser/parts/sessionView.js +143 -33
  60. package/vscode/src/vs/sessions/browser/parts/sessionsPart.d.ts +25 -19
  61. package/vscode/src/vs/sessions/browser/parts/sessionsPart.js +157 -58
  62. package/vscode/src/vs/sessions/browser/parts/sessionsParts.d.ts +12 -3
  63. package/vscode/src/vs/sessions/browser/parts/sessionsParts.js +17 -2
  64. package/vscode/src/vs/sessions/browser/sessionWorkspace.d.ts +6 -3
  65. package/vscode/src/vs/sessions/browser/sessionWorkspace.js +2 -2
  66. package/vscode/src/vs/sessions/browser/sessionsSetUpService.js +66 -20
  67. package/vscode/src/vs/sessions/browser/sessionsSignInDialog.d.ts +1 -0
  68. package/vscode/src/vs/sessions/browser/sessionsSignInDialog.js +5 -4
  69. package/vscode/src/vs/sessions/browser/workbenchFactory.d.ts +12 -0
  70. package/vscode/src/vs/sessions/browser/workbenchFactory.js +17 -0
  71. package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.d.ts +85 -1
  72. package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +118 -100
  73. package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.d.ts +3 -2
  74. package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +39 -34
  75. package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountTitleBarWidget.css +6 -0
  76. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.d.ts +3 -0
  77. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.js +6 -0
  78. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +18 -18
  79. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +12 -12
  80. package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.js +7 -7
  81. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +12 -12
  82. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +10 -10
  83. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.d.ts +78 -8
  84. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +1166 -202
  85. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.d.ts +11 -1
  86. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +190 -69
  87. package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.d.ts +11 -9
  88. package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +122 -233
  89. package/vscode/src/vs/sessions/contrib/automations/browser/automationTelemetry.d.ts +22 -0
  90. package/vscode/src/vs/sessions/contrib/automations/browser/automationTelemetry.js +62 -0
  91. package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.d.ts +7 -2
  92. package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +172 -84
  93. package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +17 -7
  94. package/vscode/src/vs/sessions/contrib/automations/browser/media/automationDialog.css +242 -60
  95. package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.d.ts +24 -36
  96. package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +104 -420
  97. package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +15 -14
  98. package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.d.ts +13 -3
  99. package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +66 -43
  100. package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.js +2 -7
  101. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +54 -59
  102. package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +7 -7
  103. package/vscode/src/vs/sessions/contrib/changes/browser/media/changesActions.css +6 -0
  104. package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +25 -21
  105. package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +21 -27
  106. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +17 -17
  107. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.d.ts +5 -5
  108. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.js +2 -2
  109. package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +2 -2
  110. package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReview.contributions.js +9 -16
  111. package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +7 -7
  112. package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +10 -10
  113. package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.d.ts +13 -1
  114. package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +104 -117
  115. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +8 -7
  116. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +5 -5
  117. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +1 -1
  118. package/vscode/src/vs/sessions/contrib/editor/browser/media/editorBreadcrumbs.css +0 -1
  119. package/vscode/src/vs/sessions/contrib/editor/browser/media/editorHeader.css +1 -1
  120. package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.d.ts +7 -0
  121. package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +77 -13
  122. package/vscode/src/vs/sessions/contrib/files/browser/filesView.d.ts +2 -1
  123. package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +14 -4
  124. package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.d.ts +45 -10
  125. package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +527 -77
  126. package/vscode/src/vs/sessions/contrib/layout/browser/chatLayoutOwnerKeys.d.ts +18 -0
  127. package/vscode/src/vs/sessions/contrib/layout/browser/chatLayoutOwnerKeys.js +95 -0
  128. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDetailPanelCoordinator.d.ts → desktop/desktopDetailPanelCoordinator.d.ts} +5 -4
  129. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDetailPanelCoordinator.js → desktop/desktopDetailPanelCoordinator.js} +10 -7
  130. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDockedTabsCoordinator.d.ts → desktop/desktopDockedTabsCoordinator.d.ts} +15 -12
  131. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDockedTabsCoordinator.js → desktop/desktopDockedTabsCoordinator.js} +91 -44
  132. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDraftSessionStrategy.d.ts → desktop/desktopDraftSessionStrategy.d.ts} +10 -5
  133. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDraftSessionStrategy.js → desktop/desktopDraftSessionStrategy.js} +95 -22
  134. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneExistingSessionStrategy.d.ts → desktop/desktopExistingSessionStrategy.d.ts} +13 -11
  135. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneExistingSessionStrategy.js → desktop/desktopExistingSessionStrategy.js} +137 -57
  136. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneLayoutStrategy.d.ts → desktop/desktopLayoutStrategy.d.ts} +22 -13
  137. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneLayoutStrategy.js → desktop/desktopLayoutStrategy.js} +2 -2
  138. package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopOwnerCompositionStore.d.ts +22 -0
  139. package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopOwnerCompositionStore.js +136 -0
  140. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneSharedHelpers.d.ts → desktop/desktopSharedHelpers.d.ts} +9 -2
  141. package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopSharedHelpers.js +56 -0
  142. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneVisibilityProfileStore.d.ts → desktop/desktopVisibilityProfileStore.d.ts} +3 -2
  143. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneVisibilityProfileStore.js → desktop/desktopVisibilityProfileStore.js} +10 -9
  144. package/vscode/src/vs/sessions/contrib/layout/browser/desktopLayoutController.d.ts +71 -0
  145. package/vscode/src/vs/sessions/contrib/layout/browser/desktopLayoutController.js +201 -0
  146. package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.d.ts +8 -1
  147. package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +35 -35
  148. package/vscode/src/vs/sessions/contrib/layout/common/sessionEditorWorkingSet.d.ts +39 -0
  149. package/vscode/src/vs/sessions/contrib/layout/common/sessionEditorWorkingSet.js +73 -0
  150. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.d.ts +42 -1
  151. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.js +14 -10
  152. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.js +3 -4
  153. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.d.ts +2 -2
  154. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.js +13 -9
  155. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.js +20 -5
  156. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourVariation.d.ts +8 -0
  157. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourVariation.js +19 -0
  158. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +21 -20
  159. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +10 -5
  160. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +12 -8
  161. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.d.ts +3 -1
  162. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +12 -7
  163. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.d.ts +9 -1
  164. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +46 -19
  165. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.js +2 -0
  166. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/media/sessionsPolicyBlocked.css +33 -0
  167. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.d.ts +4 -2
  168. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.js +29 -8
  169. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.d.ts +15 -2
  170. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +169 -32
  171. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostForkActions.js +30 -8
  172. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.js +8 -34
  173. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.js +63 -49
  174. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.js +1 -1
  175. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.js +31 -17
  176. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnostics.contribution.d.ts +32 -0
  177. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnostics.contribution.js +250 -0
  178. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsLogs.d.ts +6 -0
  179. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsLogs.js +52 -0
  180. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsReport.d.ts +51 -0
  181. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsReport.js +439 -0
  182. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsService.d.ts +45 -0
  183. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsService.js +595 -0
  184. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.d.ts +20 -3
  185. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +360 -46
  186. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerSource.d.ts +9 -0
  187. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerSource.js +59 -0
  188. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/media/connectionDiagnostics.css +201 -0
  189. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/getRemoteSessionTool.d.ts +10 -0
  190. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/getRemoteSessionTool.js +70 -0
  191. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionChatService.d.ts +20 -0
  192. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionChatService.js +104 -0
  193. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionInspector.d.ts +15 -0
  194. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionInspector.js +152 -0
  195. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionMessageRouter.d.ts +49 -0
  196. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionMessageRouter.js +340 -0
  197. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionService.d.ts +41 -0
  198. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionService.js +400 -0
  199. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionSource.d.ts +28 -0
  200. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionSource.js +178 -0
  201. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionTools.d.ts +17 -0
  202. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionTools.js +206 -0
  203. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessions.contribution.d.ts +1 -0
  204. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessions.contribution.js +58 -0
  205. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/sendRemoteMessageTool.d.ts +10 -0
  206. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/sendRemoteMessageTool.js +90 -0
  207. package/vscode/src/vs/sessions/contrib/remoteSessions/common/remoteSessionInspection.d.ts +38 -0
  208. package/vscode/src/vs/sessions/contrib/remoteSessions/common/remoteSessionInspection.js +58 -0
  209. package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +4 -5
  210. package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +1 -1
  211. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparison.contribution.d.ts +1 -0
  212. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparison.contribution.js +33 -0
  213. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonGridController.d.ts +30 -0
  214. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonGridController.js +190 -0
  215. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonTool.d.ts +31 -0
  216. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonTool.js +559 -0
  217. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonViewService.d.ts +12 -0
  218. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonViewService.js +38 -0
  219. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.d.ts +13 -4
  220. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +155 -22
  221. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +9 -5
  222. package/vscode/src/vs/sessions/contrib/sessions/browser/media/automationsCards.css +90 -25
  223. package/vscode/src/vs/sessions/contrib/sessions/browser/media/sessionsTitleBarWidget.css +21 -4
  224. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.d.ts +2 -1
  225. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +11 -7
  226. package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.d.ts +116 -1
  227. package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +126 -30
  228. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsAccountTelemetry.d.ts +26 -0
  229. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsAccountTelemetry.js +160 -0
  230. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.d.ts +14 -6
  231. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +555 -151
  232. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsLifecycleTracker.d.ts +192 -0
  233. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsLifecycleTracker.js +510 -0
  234. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.d.ts +6 -7
  235. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.js +64 -57
  236. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.d.ts +5 -3
  237. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +83 -51
  238. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.d.ts +5 -1
  239. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +33 -12
  240. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationCataloguePresentation.d.ts +3 -0
  241. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationCataloguePresentation.js +53 -0
  242. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +10 -10
  243. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.d.ts +2 -2
  244. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +103 -55
  245. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.d.ts +7 -1
  246. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +679 -325
  247. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.d.ts +27 -1
  248. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +508 -163
  249. package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.d.ts +20 -2
  250. package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.js +100 -17
  251. package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.d.ts +5 -1
  252. package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.js +108 -30
  253. package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.d.ts +5 -3
  254. package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.js +47 -35
  255. package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.d.ts +9 -4
  256. package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.js +75 -25
  257. package/vscode/src/vs/sessions/services/customView/browser/customViewService.d.ts +11 -4
  258. package/vscode/src/vs/sessions/services/customView/browser/customViewService.js +17 -9
  259. package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.d.ts +5 -0
  260. package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.js +20 -2
  261. package/vscode/src/vs/sessions/services/sessions/browser/sessionComparisonService.d.ts +75 -0
  262. package/vscode/src/vs/sessions/services/sessions/browser/sessionComparisonService.js +1135 -0
  263. package/vscode/src/vs/sessions/services/sessions/browser/sessionGridState.d.ts +17 -0
  264. package/vscode/src/vs/sessions/services/sessions/browser/sessionGridState.js +99 -0
  265. package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.d.ts +4 -0
  266. package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.js +88 -23
  267. package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.d.ts +19 -26
  268. package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.js +115 -74
  269. package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.js +1 -1
  270. package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.d.ts +22 -7
  271. package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +278 -60
  272. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.d.ts +17 -20
  273. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.js +33 -22
  274. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.d.ts +28 -8
  275. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +673 -160
  276. package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.d.ts +13 -4
  277. package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.js +105 -15
  278. package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.js +53 -34
  279. package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.js +1 -1
  280. package/vscode/src/vs/workbench/browser/layout.js +1 -1
  281. package/vscode/src/vs/workbench/browser/workbench.d.ts +0 -2
  282. package/vscode/src/vs/workbench/browser/workbench.js +23 -20
  283. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +6 -0
  284. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +41 -0
  285. package/vscode/src/vs/workbench/contrib/chat/common/chatUsage.d.ts +15 -0
  286. package/vscode/src/vs/workbench/contrib/chat/common/chatUsage.js +56 -0
  287. package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.d.ts +0 -18
  288. package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.js +0 -27
  289. package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.js +0 -36
  290. package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.d.ts +0 -37
  291. package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.js +0 -126
  292. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.d.ts +0 -59
  293. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +0 -232
  294. package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.d.ts +0 -13
  295. package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.js +0 -22
  296. package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.d.ts +0 -45
  297. package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.js +0 -110
  298. package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.d.ts +0 -112
  299. package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.js +0 -444
  300. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.js +0 -43
  301. package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.d.ts +0 -55
  302. package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.js +0 -91
  303. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.d.ts +0 -26
  304. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.js +0 -98
  305. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.d.ts +0 -33
  306. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.js +0 -98
  307. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.d.ts +0 -2
  308. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.js +0 -13
  309. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.d.ts +0 -122
  310. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.js +0 -464
  311. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.d.ts +0 -35
  312. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.js +0 -90
  313. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.d.ts +0 -84
  314. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.js +0 -328
  315. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.d.ts +0 -174
  316. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.js +0 -1390
  317. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/media/agentHostSessionConfigPicker.css +0 -44
  318. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.d.ts +0 -30
  319. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.js +0 -78
  320. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.d.ts +0 -11
  321. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.js +0 -26
  322. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.d.ts +0 -27
  323. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.js +0 -26
@@ -3,30 +3,33 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
4
  import { raceCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
5
5
  import { CancellationTokenSource, CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
6
- import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
6
+ import { isCancellationError, CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
7
+ import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
7
8
  import { Disposable, DisposableMap, DisposableStore, toDisposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
8
9
  import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
9
10
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
10
11
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
12
+ import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
11
13
  import { agentHostAuthority } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
12
14
  import { IRemoteAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService.service';
13
15
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
14
16
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
15
17
  import { IChatWidgetHistoryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.service';
16
18
  import { dedupeMigratedCopilotCliSessions, getCopilotCliSessionRawId, buildHostLocalEventsPath } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/copilotCliEventsUri';
17
- import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
19
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService';
18
20
  import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
19
21
  import { getSessionReferenceResource } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionReference';
20
22
  import { WorkspaceNotTrustedError } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement';
21
23
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
22
24
  import { ISessionsProvidersService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service';
23
- import { SessionStatus, ChatModelSource } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
25
+ import { SessionStatus, ChatModelSource, isActiveSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
24
26
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
25
27
  import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
26
28
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
27
29
  import { IWorkspaceTrustManagementService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service';
28
30
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
29
31
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
32
+ import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/platform/path/common/pathService.service';
30
33
 
31
34
  const LAST_USED_QUICK_CHAT_SESSION_TYPE_STORAGE_KEY = "sessions.quickChat.lastUsedSessionType";
32
35
  let SessionsManagementService = class SessionsManagementService extends Disposable {
@@ -39,7 +42,8 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
39
42
  storageService,
40
43
  pathService,
41
44
  remoteAgentHostService,
42
- workspaceTrustManagementService
45
+ workspaceTrustManagementService,
46
+ notificationService
43
47
  ) {
44
48
  super();
45
49
  this.logService = logService;
@@ -51,6 +55,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
51
55
  this.pathService = pathService;
52
56
  this.remoteAgentHostService = remoteAgentHostService;
53
57
  this.workspaceTrustManagementService = workspaceTrustManagementService;
58
+ this.notificationService = notificationService;
54
59
  this._onDidChangeSessions = this._register(( new Emitter()));
55
60
  this.onDidChangeSessions = this._onDidChangeSessions.event;
56
61
  this._onDidStartSession = this._register(( new Emitter()));
@@ -75,6 +80,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
75
80
  this.onDidChangeSessionTypes = this._onDidChangeSessionTypes.event;
76
81
  this._onDidReplaceSession = this._register(( new Emitter()));
77
82
  this.onDidReplaceSession = this._onDidReplaceSession.event;
83
+ this._explicitlyMarkedUnreadMainChats = ( new ResourceMap());
78
84
  this._onDidDiscardNewSession = this._register(( new Emitter()));
79
85
  this.onDidDiscardNewSession = this._onDidDiscardNewSession.event;
80
86
  this._onDidReplaceNewDraftSession = this._register(( new Emitter()));
@@ -124,13 +130,23 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
124
130
  for (const provider of e.removed) {
125
131
  this._providerListeners.deleteAndDispose(provider.id);
126
132
  }
127
- if (e.added.length) {
128
- this._subscribeToProviders(e.added);
129
- }
133
+ const added = this._subscribeToProviders(e.added);
134
+ this._onDidChangeSessions.fire({
135
+ added,
136
+ removed: [],
137
+ changed: []
138
+ });
130
139
  }
131
140
  _subscribeToProviders(providers) {
141
+ const added = [];
132
142
  for (const provider of providers) {
143
+ const sessions = provider.getSessions();
144
+ if (this.sessionsProvidersService.getProvider(provider.id) !== provider) {
145
+ continue;
146
+ }
133
147
  const disposables = ( new DisposableStore());
148
+ this._providerListeners.set(provider.id, disposables);
149
+ added.push(...sessions);
134
150
  disposables.add(
135
151
  provider.onDidChangeSessions(e => this.onDidChangeSessionsFromSessionsProviders(e))
136
152
  );
@@ -142,10 +158,11 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
142
158
  if (provider.onDidChangeSessionTypes) {
143
159
  disposables.add(provider.onDidChangeSessionTypes(() => this._updateSessionTypes()));
144
160
  }
145
- this._providerListeners.set(provider.id, disposables);
146
161
  }
162
+ return added;
147
163
  }
148
164
  _handleDidReplaceSession(from, to) {
165
+ this._explicitlyMarkedUnreadMainChats.delete(from.resource);
149
166
  this.chatWidgetHistoryService.moveHistory(ChatAgentLocation.Chat, from.sessionId, to.sessionId);
150
167
  this._onDidReplaceSession.fire({
151
168
  from,
@@ -190,25 +207,67 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
190
207
  return resource;
191
208
  }
192
209
  getSessions() {
193
- return this._dedupeMigratedCopilotCliSessions(this._getMergedSessions());
210
+ const sessions = this._getMergedSessions();
211
+ for (const {
212
+ session
213
+ } of ( this._inFlightNewSessionRequests.values())) {
214
+ if (!( sessions.some(
215
+ candidate => this.uriIdentityService.extUri.isEqual(candidate.resource, session.resource)
216
+ ))) {
217
+ sessions.push(session);
218
+ }
219
+ }
220
+ return this._dedupeMigratedCopilotCliSessions(sessions);
194
221
  }
195
222
  getInFlightNewSessionRequests() {
196
223
  return Array.from(( this._inFlightNewSessionRequests.values()), entry => entry.session);
197
224
  }
198
- trackInFlightNewSessionRequest(session) {
225
+ getInFlightNewSessionRequest(resource) {
226
+ return this._inFlightNewSessionRequests.get(resource)?.input;
227
+ }
228
+ trackInFlightNewSessionRequest(session, options) {
199
229
  const entry = this._inFlightNewSessionRequests.get(session.resource);
200
230
  if (entry) {
201
231
  entry.count++;
202
232
  } else {
233
+ const published = !( this._getMergedSessions().some(
234
+ candidate => this.uriIdentityService.extUri.isEqual(candidate.resource, session.resource)
235
+ ));
203
236
  this._inFlightNewSessionRequests.set(session.resource, {
204
237
  session,
238
+ input: options ? {
239
+ query: options.query,
240
+ attachedContext: options.attachedContext?.slice()
241
+ } : undefined,
242
+ published,
205
243
  count: 1
206
244
  });
245
+ if (published) {
246
+ this._onDidChangeSessions.fire({
247
+ added: [session],
248
+ removed: [],
249
+ changed: []
250
+ });
251
+ }
207
252
  }
208
253
  return toDisposable(() => {
209
254
  const current = this._inFlightNewSessionRequests.get(session.resource);
210
255
  if (current?.count === 1) {
211
256
  this._inFlightNewSessionRequests.delete(session.resource);
257
+ if (current.published) {
258
+ const listedSession = this._getMergedSessions().find(
259
+ candidate => this.uriIdentityService.extUri.isEqual(candidate.resource, session.resource)
260
+ );
261
+ this._onDidChangeSessions.fire(listedSession ? {
262
+ added: [],
263
+ removed: [],
264
+ changed: [listedSession]
265
+ } : {
266
+ added: [],
267
+ removed: [],
268
+ changed: []
269
+ });
270
+ }
212
271
  } else if (current) {
213
272
  current.count--;
214
273
  }
@@ -250,6 +309,10 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
250
309
  }
251
310
  return undefined;
252
311
  }
312
+ getSessionContextReference(resource) {
313
+ const ownedChat = this.getSessionForChatResource(resource);
314
+ return ownedChat ? this._getProvider(ownedChat.session)?.getSessionContextReference?.(ownedChat.chat.resource) : undefined;
315
+ }
253
316
  getAllSessionTypes() {
254
317
  return [...this._sessionTypes];
255
318
  }
@@ -370,7 +433,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
370
433
  let provider;
371
434
  let workspace;
372
435
  let sessionTypeId;
373
- const requiresWorktreeConfiguration = options?.isolationMode === "worktree" || options?.worktreeBranchTrack !== undefined || options?.worktreeCreateNewBranch !== undefined || options?.branch !== undefined;
436
+ const requiresWorktreeConfiguration = options?.isolationMode === "worktree" || options?.branch !== undefined || options?.pullRequestUrl !== undefined;
374
437
  const resolveSessionTypeId = candidate => {
375
438
  const sessionTypes = candidate.getSessionTypes(folderUri);
376
439
  if (options?.sessionTypeId) {
@@ -443,7 +506,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
443
506
  const session = provider.createNewSession(
444
507
  folderUri,
445
508
  sessionTypeId,
446
- this._providerCreateSessionOptions(provider, options)
509
+ this._providerCreateSessionOptions(provider, sessionTypeId, options)
447
510
  );
448
511
  if (previousNewSession && previousNewSession.sessionId !== session.sessionId) {
449
512
  this._getProvider(previousNewSession)?.deleteNewSession(previousNewSession.sessionId);
@@ -460,12 +523,17 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
460
523
  provider,
461
524
  sessionTypeId
462
525
  } = this._resolveProviderForNewSession(folderUri, options);
526
+ if (provider.automations?.catalogueState.get() !== "ready") {
527
+ throw ( new Error(( localize(
528
+ 6336,
529
+ "The selected provider does not currently provide Automation configuration."
530
+ ))));
531
+ }
463
532
  const previousAutomationSession = this._automationSession.get();
464
- const session = provider.createNewSession(
465
- folderUri,
466
- sessionTypeId,
467
- this._providerCreateSessionOptions(provider, options)
468
- );
533
+ const session = provider.createNewSession(folderUri, sessionTypeId, {
534
+ ...this._providerCreateSessionOptions(provider, sessionTypeId, options),
535
+ isAutomationDraft: true
536
+ });
469
537
  if (previousAutomationSession && previousAutomationSession.sessionId !== session.sessionId) {
470
538
  this._getProvider(previousAutomationSession)?.deleteNewSession(previousAutomationSession.sessionId);
471
539
  }
@@ -525,7 +593,10 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
525
593
  sessionTypeId
526
594
  } = this._resolveProviderForQuickChat(options);
527
595
  const previousNewSession = this._newSession.get();
528
- const session = provider.createQuickChat(sessionTypeId, this._providerCreateSessionOptions(provider, options));
596
+ const session = provider.createQuickChat(
597
+ sessionTypeId,
598
+ this._providerCreateSessionOptions(provider, sessionTypeId, options)
599
+ );
529
600
  this._newSession.set(session, undefined);
530
601
  this.storageService.store(
531
602
  LAST_USED_QUICK_CHAT_SESSION_TYPE_STORAGE_KEY,
@@ -543,26 +614,64 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
543
614
  provider,
544
615
  sessionTypeId
545
616
  } = this._resolveProviderForQuickChat(options);
617
+ if (provider.automations?.catalogueState.get() !== "ready") {
618
+ throw ( new Error(( localize(
619
+ 6336,
620
+ "The selected provider does not currently provide Automation configuration."
621
+ ))));
622
+ }
546
623
  const previousAutomationSession = this._automationSession.get();
547
- const session = provider.createQuickChat(sessionTypeId, this._providerCreateSessionOptions(provider, options));
624
+ const session = provider.createQuickChat(sessionTypeId, {
625
+ ...this._providerCreateSessionOptions(provider, sessionTypeId, options),
626
+ isAutomationDraft: true
627
+ });
548
628
  if (previousAutomationSession && previousAutomationSession.sessionId !== session.sessionId) {
549
629
  this._getProvider(previousAutomationSession)?.deleteNewSession(previousAutomationSession.sessionId);
550
630
  }
551
631
  this._automationSession.set(session, undefined);
552
632
  return session;
553
633
  }
554
- _providerCreateSessionOptions(provider, options) {
634
+ _providerCreateSessionOptions(provider, sessionTypeId, options) {
555
635
  const sessionTemplate = options?.sessionTemplate ?? options?.automationConfiguration?.sessionTemplate;
556
636
  if (sessionTemplate && provider.supportsAutomationSessionConfiguration !== true) {
557
637
  throw ( new Error(
558
638
  `Sessions provider '${provider.id}' does not support Automation session templates.`
559
639
  ));
560
640
  }
641
+ if (options?.modelConfiguration && !options.modelId) {
642
+ throw ( new Error("Session model configuration requires a model identifier."));
643
+ }
644
+ if (options?.modelConfiguration && provider.supportsModelConfigurationForCreation !== true) {
645
+ throw ( new Error(
646
+ `Sessions provider '${provider.id}' does not support model configuration during session creation.`
647
+ ));
648
+ }
649
+ if (options?.permissionId && provider.supportsPermissionsForCreation !== true) {
650
+ throw ( new Error(
651
+ `Sessions provider '${provider.id}' does not support permission '${options.permissionId}' for session type '${sessionTypeId}'.`
652
+ ));
653
+ }
561
654
  const automationConfiguration = sessionTemplate ? {
562
655
  sessionTemplate
563
656
  } : options?.automationConfiguration;
564
657
  return {
565
658
  metadata: options?.metadata,
659
+ ...(options?.createdBySession ? {
660
+ createdBySession: options.createdBySession
661
+ } : {}),
662
+ ...(options?.modelId && options.modelConfiguration ? {
663
+ modelId: options.modelId,
664
+ modelConfiguration: options.modelConfiguration
665
+ } : {}),
666
+ ...(options?.permissionId ? {
667
+ permissionId: options.permissionId
668
+ } : {}),
669
+ ...(options?.modeId ? {
670
+ modeId: options.modeId
671
+ } : {}),
672
+ ...(options?.pullRequestUrl ? {
673
+ pullRequestUrl: options.pullRequestUrl
674
+ } : {}),
566
675
  ...(automationConfiguration ? {
567
676
  automationConfiguration
568
677
  } : {})
@@ -636,7 +745,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
636
745
  remainingAttachments = remaining;
637
746
  }
638
747
  }
639
- const isTroubleshoot = /^\s*\/troubleshoot\b/.test(options.query);
748
+ const isTroubleshoot = /^\s*\/troubleshoot(?=\s|$)/.test(options.query);
640
749
  if (!isTroubleshoot && referencedResources.length === 0) {
641
750
  return options;
642
751
  }
@@ -672,17 +781,21 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
672
781
  throw ( new Error(`Sessions provider '${session.providerId}' not found`));
673
782
  }
674
783
  const isNewSessionRequest = session.status.get() === SessionStatus.Untitled;
675
- const inFlightRequest = isNewSessionRequest ? this.trackInFlightNewSessionRequest(session) : undefined;
784
+ const inFlightRequest = isNewSessionRequest ? this.trackInFlightNewSessionRequest(session, options) : undefined;
676
785
  if (options.background) {
677
786
  this._newSession.set(undefined, undefined);
678
787
  void this._prepareAndSendNewChatRequestInBackground(provider, session, options).catch(e => {
679
- this.logService.error("[SessionsManagement] Failed to send background request:", e);
788
+ if (!isCancellationError(e) && !(e instanceof WorkspaceNotTrustedError)) {
789
+ this.logService.error("[SessionsManagement] Failed to send background request:", e);
790
+ this.notificationService.error(( localize(6337, "Failed to start session: {0}", toErrorMessage(e))));
791
+ }
680
792
  }).finally(() => inFlightRequest?.dispose());
681
793
  return;
682
794
  }
683
795
  const requestActivity = ( new MutableDisposable());
684
796
  try {
685
797
  requestActivity.value = provider.startNewSessionRequest?.(session.sessionId);
798
+ const newSessionConfig = provider.getNewSessionConfig ? await provider.getNewSessionConfig(session.sessionId) : undefined;
686
799
  ({
687
800
  provider,
688
801
  session
@@ -710,6 +823,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
710
823
  chat,
711
824
  isNewSession: true,
712
825
  isNewChat: true,
826
+ newSessionConfig,
713
827
  options
714
828
  });
715
829
  } finally {
@@ -775,12 +889,10 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
775
889
  if (requestActivity) {
776
890
  requestActivity.value = preparedRequestActivity;
777
891
  }
778
- if (replaceCurrentDraft) {
779
- this._onDidReplaceNewDraftSession.fire({
780
- from: originalSession,
781
- to: preparedSession
782
- });
783
- }
892
+ this._onDidReplaceNewDraftSession.fire({
893
+ from: originalSession,
894
+ to: preparedSession
895
+ });
784
896
  return {
785
897
  provider: preparedProvider,
786
898
  session: preparedSession
@@ -801,14 +913,14 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
801
913
  const session = provider.createNewSession(
802
914
  folderUri,
803
915
  sessionTypeId,
804
- this._providerCreateSessionOptions(provider, createOptions)
916
+ this._providerCreateSessionOptions(provider, sessionTypeId, createOptions)
805
917
  );
806
918
  this._unlistedNewSessions.set(session.resource, session);
807
919
  const requestActivity = ( new MutableDisposable());
808
920
  try {
809
921
  try {
810
922
  requestActivity.value = isDeferredNewSessionRequestOptions(options) ? provider.startNewSessionRequest?.(session.sessionId, options.activity) : provider.startNewSessionRequest?.(session.sessionId);
811
- createOptions?.onSessionCreated?.(session);
923
+ await createOptions?.onSessionCreated?.(session);
812
924
  } catch (error) {
813
925
  provider.deleteNewSession(session.sessionId);
814
926
  throw error;
@@ -834,7 +946,16 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
834
946
  provider,
835
947
  sessionTypeId
836
948
  } = this._resolveProviderForQuickChat(createOptions);
837
- const session = provider.createQuickChat(sessionTypeId, this._providerCreateSessionOptions(provider, createOptions));
949
+ const session = provider.createQuickChat(
950
+ sessionTypeId,
951
+ this._providerCreateSessionOptions(provider, sessionTypeId, createOptions)
952
+ );
953
+ try {
954
+ await createOptions?.onSessionCreated?.(session);
955
+ } catch (error) {
956
+ provider.deleteNewSession(session.sessionId);
957
+ throw error;
958
+ }
838
959
  return this._configureAndSendNewSession(provider, session, options, createOptions, false, token);
839
960
  }
840
961
  async _configureAndSendNewSession(
@@ -871,8 +992,9 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
871
992
  if (token.isCancellationRequested) {
872
993
  throw ( new CancellationError());
873
994
  }
995
+ const newSessionConfig = provider.getNewSessionConfig ? await raceCancellationError(provider.getNewSessionConfig(session.sessionId), token) : undefined;
874
996
  return await raceCancellationError(
875
- this._sendNewChatRequestInBackground(provider, session, resolvedOptions, token),
997
+ this._sendNewChatRequestInBackground(provider, session, resolvedOptions, newSessionConfig, token),
876
998
  token
877
999
  );
878
1000
  } catch (e) {
@@ -905,12 +1027,10 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
905
1027
  if (createOptions?.permissionLevel) {
906
1028
  provider.setPermissionLevel?.(session.sessionId, createOptions.permissionLevel);
907
1029
  }
908
- if (supportsWorktreeConfiguration && (createOptions?.isolationMode || createOptions?.worktreeBranchTrack !== undefined || createOptions?.worktreeCreateNewBranch !== undefined || createOptions?.branch)) {
1030
+ if (supportsWorktreeConfiguration && (createOptions?.isolationMode || createOptions?.branch)) {
909
1031
  if (provider.setWorktreeConfiguration) {
910
1032
  await raceCancellationError(provider.setWorktreeConfiguration(session.sessionId, {
911
1033
  isolationMode: createOptions.isolationMode,
912
- worktreeBranchTrack: createOptions.worktreeBranchTrack,
913
- worktreeCreateNewBranch: createOptions.worktreeCreateNewBranch,
914
1034
  branch: createOptions.branch
915
1035
  }), token);
916
1036
  } else {
@@ -920,18 +1040,6 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
920
1040
  token
921
1041
  );
922
1042
  }
923
- if (createOptions.worktreeBranchTrack !== undefined && provider.setWorktreeBranchTrack) {
924
- await raceCancellationError(
925
- provider.setWorktreeBranchTrack(session.sessionId, createOptions.worktreeBranchTrack),
926
- token
927
- );
928
- }
929
- if (createOptions.worktreeCreateNewBranch !== undefined && provider.setWorktreeCreateNewBranch) {
930
- await raceCancellationError(
931
- provider.setWorktreeCreateNewBranch(session.sessionId, createOptions.worktreeCreateNewBranch),
932
- token
933
- );
934
- }
935
1043
  if (createOptions.branch && provider.setBranch) {
936
1044
  await raceCancellationError(provider.setBranch(session.sessionId, createOptions.branch), token);
937
1045
  }
@@ -1005,17 +1113,24 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
1005
1113
  let graduatingProvider = provider;
1006
1114
  let graduatingSession = session;
1007
1115
  try {
1116
+ const newSessionConfig = provider.getNewSessionConfig ? await provider.getNewSessionConfig(session.sessionId) : undefined;
1008
1117
  ({
1009
1118
  provider: graduatingProvider,
1010
1119
  session: graduatingSession
1011
1120
  } = await this._prepareNewSessionForSend(provider, session, undefined, false, options.query));
1012
- await this._sendNewChatRequestInBackground(graduatingProvider, graduatingSession, options);
1121
+ await this._sendNewChatRequestInBackground(graduatingProvider, graduatingSession, options, newSessionConfig);
1013
1122
  } catch (error) {
1014
1123
  graduatingProvider.deleteNewSession(graduatingSession.sessionId);
1015
1124
  throw error;
1016
1125
  }
1017
1126
  }
1018
- async _sendNewChatRequestInBackground(provider, session, options, token = CancellationToken.None) {
1127
+ async _sendNewChatRequestInBackground(
1128
+ provider,
1129
+ session,
1130
+ options,
1131
+ newSessionConfig,
1132
+ token = CancellationToken.None
1133
+ ) {
1019
1134
  if (token.isCancellationRequested) {
1020
1135
  throw ( new CancellationError());
1021
1136
  }
@@ -1049,6 +1164,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
1049
1164
  chat,
1050
1165
  isNewSession: true,
1051
1166
  isNewChat: true,
1167
+ newSessionConfig,
1052
1168
  options
1053
1169
  });
1054
1170
  return updatedSession;
@@ -1113,7 +1229,10 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
1113
1229
  return this.sessionsProvidersService.getProviders().find(p => p.id === session.providerId);
1114
1230
  }
1115
1231
  async cancelCurrentRequest(session) {
1116
- const resource = session.mainChat.get().resource;
1232
+ await this._cancelChatRequest(session.mainChat.get());
1233
+ }
1234
+ async _cancelChatRequest(chat) {
1235
+ const resource = chat.resource;
1117
1236
  const modelRef = await this.chatService.acquireOrLoadSession(
1118
1237
  resource,
1119
1238
  ChatAgentLocation.Chat,
@@ -1121,7 +1240,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
1121
1240
  "sessionsManagement:cancel"
1122
1241
  );
1123
1242
  if (!modelRef) {
1124
- throw ( new Error(( localize(5024, "Failed to load chat session for cancellation."))));
1243
+ throw ( new Error(( localize(6338, "Failed to load chat session for cancellation."))));
1125
1244
  }
1126
1245
  try {
1127
1246
  await this.chatService.cancelCurrentRequestForSession(resource, "sessionsManagement");
@@ -1130,27 +1249,95 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
1130
1249
  }
1131
1250
  }
1132
1251
  async archiveSession(session) {
1252
+ const activeChats = session.chats.get().filter(chat => isActiveSessionStatus(chat.status.get()));
1253
+ if (activeChats.length === 0 && isActiveSessionStatus(session.status.get())) {
1254
+ await this._cancelChatRequest(session.mainChat.get());
1255
+ }
1256
+ for (const chat of activeChats) {
1257
+ await this._cancelChatRequest(chat);
1258
+ }
1133
1259
  await this._getProvider(session)?.archiveSession(session.sessionId);
1134
1260
  this._onDidArchiveSession.fire(session);
1135
1261
  }
1262
+ getSessionWorktreeDiskUsage(session) {
1263
+ return this._getProvider(session)?.getSessionWorktreeDiskUsage?.(session.sessionId) ?? Promise.resolve(undefined);
1264
+ }
1136
1265
  async unarchiveSession(session) {
1137
1266
  await this._getProvider(session)?.unarchiveSession(session.sessionId);
1138
1267
  this._onDidUnarchiveSession.fire(session);
1139
1268
  }
1269
+ async archiveChat(session, chat) {
1270
+ const provider = this._getProvider(session);
1271
+ if (!provider?.archiveChat) {
1272
+ throw ( new Error(
1273
+ `Provider does not support archiving chats for session: ${session.sessionId}`
1274
+ ));
1275
+ }
1276
+ await provider.archiveChat(session.sessionId, chat.resource);
1277
+ }
1278
+ async unarchiveChat(session, chat) {
1279
+ const provider = this._getProvider(session);
1280
+ if (!provider?.unarchiveChat) {
1281
+ throw ( new Error(
1282
+ `Provider does not support restoring chats for session: ${session.sessionId}`
1283
+ ));
1284
+ }
1285
+ await provider.unarchiveChat(session.sessionId, chat.resource);
1286
+ }
1140
1287
  async setSessionReadState(session, isRead) {
1288
+ if (isRead) {
1289
+ this._explicitlyMarkedUnreadMainChats.delete(session.resource);
1290
+ }
1141
1291
  await this._getProvider(session)?.setSessionReadState(session.sessionId, isRead);
1142
1292
  }
1143
- markRead(session) {
1144
- return this.setSessionReadState(session, true);
1293
+ async markChatRead(session, chat) {
1294
+ return this._getProvider(session)?.setChatReadState?.(session.sessionId, chat.resource, true) ?? false;
1295
+ }
1296
+ markRead(session, options) {
1297
+ if (options?.preserveExplicitUnread && ( this._explicitlyMarkedUnreadMainChats.has(session.resource)) && this._explicitlyMarkedUnreadMainChats.get(session.resource) === this._getMainChatReadMarker(session)) {
1298
+ return Promise.resolve();
1299
+ }
1300
+ return this._setMainChatReadState(session, true);
1145
1301
  }
1146
- markUnread(session) {
1147
- return this.setSessionReadState(session, false);
1302
+ _getMainChatReadMarker(session) {
1303
+ const chat = session.mainChat.get();
1304
+ return (chat.lastTurnEnd.get() ?? chat.updatedAt.get())?.getTime();
1305
+ }
1306
+ async markUnread(session) {
1307
+ const provider = this._getProvider(session);
1308
+ if (!provider) {
1309
+ return;
1310
+ }
1311
+ const hadExplicitUnread = ( this._explicitlyMarkedUnreadMainChats.has(session.resource));
1312
+ const previousMarker = this._explicitlyMarkedUnreadMainChats.get(session.resource);
1313
+ this._explicitlyMarkedUnreadMainChats.set(session.resource, this._getMainChatReadMarker(session));
1314
+ try {
1315
+ await this._setMainChatReadState(session, false, provider);
1316
+ } catch (error) {
1317
+ if (hadExplicitUnread) {
1318
+ this._explicitlyMarkedUnreadMainChats.set(session.resource, previousMarker);
1319
+ } else {
1320
+ this._explicitlyMarkedUnreadMainChats.delete(session.resource);
1321
+ }
1322
+ throw error;
1323
+ }
1324
+ }
1325
+ _setMainChatReadState(session, isRead, provider = this._getProvider(session)) {
1326
+ if (isRead) {
1327
+ this._explicitlyMarkedUnreadMainChats.delete(session.resource);
1328
+ }
1329
+ if (!provider) {
1330
+ return Promise.resolve(false);
1331
+ }
1332
+ const mainChat = session.mainChat.get();
1333
+ return provider.setChatReadState ? provider.setChatReadState(session.sessionId, mainChat.resource, isRead) : provider.setSessionReadState(session.sessionId, isRead);
1148
1334
  }
1149
1335
  async markAllRead(sessions) {
1150
1336
  await Promise.all(sessions.map(session => this.setSessionReadState(session, true)));
1151
1337
  }
1152
1338
  async deleteSession(session) {
1153
1339
  await this._getProvider(session)?.deleteSession(session.sessionId);
1340
+ this._explicitlyMarkedUnreadMainChats.delete(session.resource);
1154
1341
  this._onDidDeleteSession.fire(session);
1155
1342
  }
1156
1343
  async deleteSessions(sessions) {
@@ -1172,6 +1359,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
1172
1359
  try {
1173
1360
  await provider.deleteSessions(providerSessions.map(session => session.sessionId));
1174
1361
  for (const session of providerSessions) {
1362
+ this._explicitlyMarkedUnreadMainChats.delete(session.resource);
1175
1363
  this._onDidDeleteSession.fire(session);
1176
1364
  }
1177
1365
  } catch (error) {
@@ -1183,10 +1371,16 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
1183
1371
  }
1184
1372
  }
1185
1373
  async deleteChat(session, chatUri, options) {
1186
- const deleted = await this._getProvider(session)?.deleteChat(session.sessionId, chatUri, options);
1374
+ const deletedChat = ( Object.freeze({
1375
+ session,
1376
+ sessionResource: session.resource,
1377
+ chatResource: chatUri
1378
+ }));
1379
+ const deleted = (await this._getProvider(session)?.deleteChat(session.sessionId, chatUri, options)) ?? false;
1187
1380
  if (deleted) {
1188
- this._onDidDeleteChat.fire(session);
1381
+ this._onDidDeleteChat.fire(deletedChat);
1189
1382
  }
1383
+ return deleted;
1190
1384
  }
1191
1385
  async renameChat(session, chatUri, title) {
1192
1386
  await this._getProvider(session)?.renameChat(session.sessionId, chatUri, title);
@@ -1196,15 +1390,39 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
1196
1390
  await this._getProvider(session)?.renameSession(session.sessionId, title);
1197
1391
  this._onDidRenameSession.fire(session);
1198
1392
  }
1393
+ async listCanvases(session, chat) {
1394
+ const provider = this._getProvider(session);
1395
+ if (!session.capabilities.get().supportsCanvases || !provider?.listCanvases) {
1396
+ return [];
1397
+ }
1398
+ return provider.listCanvases(session.sessionId, chat.resource);
1399
+ }
1400
+ async openCanvas(session, chat, canvas, instanceId) {
1401
+ const provider = this._getProvider(session);
1402
+ if (!session.capabilities.get().supportsCanvases || !provider?.openCanvas) {
1403
+ throw ( new Error(( localize(6339, "Opening canvases is not supported for this session."))));
1404
+ }
1405
+ await provider.openCanvas(session.sessionId, chat.resource, canvas, instanceId);
1406
+ }
1199
1407
  async removeSessionArtifact(session, artifactId) {
1200
1408
  const provider = this._getProvider(session);
1201
1409
  if (!session.capabilities.get().supportsRemoveArtifacts || !provider?.removeSessionArtifact) {
1202
- throw ( new Error(( localize(5025, "Removing artifacts is not supported for this session."))));
1410
+ throw ( new Error(( localize(6340, "Removing artifacts is not supported for this session."))));
1203
1411
  }
1204
1412
  await provider.removeSessionArtifact(session.sessionId, artifactId);
1205
1413
  }
1414
+ async importSession(session) {
1415
+ const provider = this._getProvider(session);
1416
+ if (!session.isExternal?.get()) {
1417
+ return;
1418
+ }
1419
+ if (!session.capabilities.get().supportsImport || !provider?.importSession) {
1420
+ throw ( new Error(( localize(6341, "Importing is not supported for this session."))));
1421
+ }
1422
+ await provider.importSession(session.sessionId);
1423
+ }
1206
1424
  };
1207
- SessionsManagementService = ( __decorate([( __param(0, ILogService)), ( __param(1, ISessionsProvidersService)), ( __param(2, IUriIdentityService)), ( __param(3, IChatService)), ( __param(4, IChatWidgetHistoryService)), ( __param(5, IStorageService)), ( __param(6, IPathService)), ( __param(7, IRemoteAgentHostService)), ( __param(8, IWorkspaceTrustManagementService))], SessionsManagementService));
1425
+ SessionsManagementService = ( __decorate([( __param(0, ILogService)), ( __param(1, ISessionsProvidersService)), ( __param(2, IUriIdentityService)), ( __param(3, IChatService)), ( __param(4, IChatWidgetHistoryService)), ( __param(5, IStorageService)), ( __param(6, IPathService)), ( __param(7, IRemoteAgentHostService)), ( __param(8, IWorkspaceTrustManagementService)), ( __param(9, INotificationService))], SessionsManagementService));
1208
1426
  function isDeferredNewSessionRequestOptions(options) {
1209
1427
  return options.kind === "deferred";
1210
1428
  }