@codingame/monaco-vscode-workbench-service-override 37.6.1 → 38.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -1,11 +1,18 @@
1
1
  import { EditorInput } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput";
2
2
  import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
3
3
  import { ISessionChangesService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/changes/browser/sessionChangesService";
4
+ import { ISessionWorkspace } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
4
5
  /** Whether every group in the main editor part is empty (used by both the detail-panel and side-pane-visibility logic to detect an empty side pane). */
5
6
  export declare function isMainPartEmpty(editorGroupsService: IEditorGroupsService): boolean;
6
7
  /** Whether `editor` is (or shows) a managed Changes multi-diff for some session. Shared by the New/Existing detail-panel mapping. */
7
8
  export declare function isChangesEditorInput(editor: EditorInput, sessionChangesService: ISessionChangesService): boolean;
8
- /** Whether `editor` is a file-like editor (the empty Files placeholder, a real file, or a markdown preview). Shared by the New/Existing detail-panel mapping. */
9
- export declare function isFileEditorInput(editor: EditorInput): boolean;
9
+ /** How Files details apply to an editor in the active session workspace. */
10
+ export declare enum FilesDetailsState {
11
+ Unavailable = 0,
12
+ Available = 1,
13
+ Active = 2
14
+ }
15
+ /** Classifies whether Files details apply to `editor` for the active session workspace. */
16
+ export declare function getFilesDetailsState(editor: EditorInput, workspace: ISessionWorkspace): FilesDetailsState;
10
17
  /** Whether `editor` owns its full presentation and must hide the docked Details panel. */
11
18
  export declare function isEditorWithoutDockedDetails(editor: EditorInput): boolean;
@@ -0,0 +1,56 @@
1
+
2
+ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
3
+ import { isEqualOrParent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
4
+ import { DiffEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/diffEditorInput';
5
+ import { EditorResourceAccessor, SideBySideEditor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
6
+ import { BrowserEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/browserView/common/browserEditorInput';
7
+ import { CustomEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/customEditor/browser/customEditorInput';
8
+ import { MultiDiffEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput';
9
+ import { WebviewInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput';
10
+ import { CanvasInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/canvases/common/canvas';
11
+ import { EmptyFileEditorInput } from '../../../editor/browser/emptyFileEditorInput.js';
12
+
13
+ const PULL_REQUEST_OVERVIEW_VIEW_TYPE = "PullRequestOverview";
14
+ const ISSUE_OVERVIEW_VIEW_TYPE = "IssueOverview";
15
+ function isMainPartEmpty(editorGroupsService) {
16
+ for (const group of editorGroupsService.mainPart.groups) {
17
+ if (!group.isEmpty) {
18
+ return false;
19
+ }
20
+ }
21
+ return true;
22
+ }
23
+ function isChangesEditorInput(editor, sessionChangesService) {
24
+ if (editor instanceof DiffEditorInput || editor instanceof MultiDiffEditorInput) {
25
+ return true;
26
+ }
27
+ const resource = editor.resource;
28
+ return !!resource && sessionChangesService.getSessionResource(resource) !== undefined;
29
+ }
30
+ var FilesDetailsState;
31
+ (function(FilesDetailsState) {
32
+ FilesDetailsState[FilesDetailsState["Unavailable"] = 0] = "Unavailable";
33
+ FilesDetailsState[FilesDetailsState["Available"] = 1] = "Available";
34
+ FilesDetailsState[FilesDetailsState["Active"] = 2] = "Active";
35
+ })(FilesDetailsState || (FilesDetailsState = {}));
36
+ function getFilesDetailsState(editor, workspace) {
37
+ if (editor instanceof EmptyFileEditorInput) {
38
+ return FilesDetailsState.Active;
39
+ }
40
+ const resource = EditorResourceAccessor.getCanonicalUri(editor, {
41
+ supportSideBySide: SideBySideEditor.PRIMARY
42
+ });
43
+ if (!resource) {
44
+ return FilesDetailsState.Unavailable;
45
+ }
46
+ const matchingSchemeFolders = workspace.folders.filter(folder => folder.workingDirectory.scheme === resource.scheme);
47
+ if (matchingSchemeFolders.length === 0) {
48
+ return FilesDetailsState.Unavailable;
49
+ }
50
+ return ( matchingSchemeFolders.some(folder => isEqualOrParent(resource, folder.workingDirectory))) ? FilesDetailsState.Active : FilesDetailsState.Available;
51
+ }
52
+ function isEditorWithoutDockedDetails(editor) {
53
+ return editor instanceof BrowserEditorInput || editor instanceof CanvasInput || (editor instanceof CustomEditorInput && editor.resource?.scheme !== Schemas.untitled) || (editor instanceof WebviewInput && (editor.viewType === PULL_REQUEST_OVERVIEW_VIEW_TYPE || editor.providerId === PULL_REQUEST_OVERVIEW_VIEW_TYPE || editor.viewType === ISSUE_OVERVIEW_VIEW_TYPE || editor.providerId === ISSUE_OVERVIEW_VIEW_TYPE));
54
+ }
55
+
56
+ export { FilesDetailsState, getFilesDetailsState, isChangesEditorInput, isEditorWithoutDockedDetails, isMainPartEmpty };
@@ -10,10 +10,11 @@ export declare enum SessionVisibilityProfile {
10
10
  /**
11
11
  * Persists the Existing Session Editor/Details visibility profile.
12
12
  */
13
- export declare class SinglePaneVisibilityProfileStore {
13
+ export declare class DesktopVisibilityProfileStore {
14
14
  private readonly _storageService;
15
15
  private _profiles;
16
- constructor(_storageService: IStorageService);
16
+ constructor(shared: boolean, _storageService: IStorageService);
17
+ private readonly _storageKey;
17
18
  get(profile: SessionVisibilityProfile): ISidePaneVisibilityState;
18
19
  set(profile: SessionVisibilityProfile, state: ISidePaneVisibilityState): void;
19
20
  private _load;
@@ -8,7 +8,7 @@ var SessionVisibilityProfile;
8
8
  SessionVisibilityProfile[SessionVisibilityProfile["New"] = 0] = "New";
9
9
  SessionVisibilityProfile[SessionVisibilityProfile["Existing"] = 1] = "Existing";
10
10
  })(SessionVisibilityProfile || (SessionVisibilityProfile = {}));
11
- const SINGLE_PANE_VISIBILITY_STATE_KEY = "sessions.singlePane.sidePaneVisibility";
11
+ const DESKTOP_VISIBILITY_STATE_KEY = "sessions.singlePane.sidePaneVisibility";
12
12
  const DEFAULT_NEW_SESSION_VISIBILITY_STATE = {
13
13
  editorVisible: false,
14
14
  auxiliaryBarVisible: true
@@ -17,13 +17,14 @@ const DEFAULT_EXISTING_SESSION_VISIBILITY_STATE = {
17
17
  editorVisible: true,
18
18
  auxiliaryBarVisible: false
19
19
  };
20
- let SinglePaneVisibilityProfileStore = class SinglePaneVisibilityProfileStore {
21
- constructor(_storageService) {
20
+ let DesktopVisibilityProfileStore = class DesktopVisibilityProfileStore {
21
+ constructor(shared, _storageService) {
22
22
  this._storageService = _storageService;
23
23
  this._profiles = {
24
24
  newSession: DEFAULT_NEW_SESSION_VISIBILITY_STATE,
25
25
  existingSession: DEFAULT_EXISTING_SESSION_VISIBILITY_STATE
26
26
  };
27
+ this._storageKey = shared ? "sessions.sharedChatLayout.sidePaneVisibility" : DESKTOP_VISIBILITY_STATE_KEY;
27
28
  this._load();
28
29
  }
29
30
  get(profile) {
@@ -38,14 +39,14 @@ let SinglePaneVisibilityProfileStore = class SinglePaneVisibilityProfileStore {
38
39
  existingSession: state
39
40
  };
40
41
  this._storageService.store(
41
- SINGLE_PANE_VISIBILITY_STATE_KEY,
42
+ this._storageKey,
42
43
  JSON.stringify(this._profiles),
43
44
  StorageScope.WORKSPACE,
44
45
  StorageTarget.MACHINE
45
46
  );
46
47
  }
47
48
  _load() {
48
- const raw = this._storageService.get(SINGLE_PANE_VISIBILITY_STATE_KEY, StorageScope.WORKSPACE);
49
+ const raw = this._storageService.get(this._storageKey, StorageScope.WORKSPACE);
49
50
  if (!raw) {
50
51
  return;
51
52
  }
@@ -62,16 +63,16 @@ let SinglePaneVisibilityProfileStore = class SinglePaneVisibilityProfileStore {
62
63
  existingSession: parsed
63
64
  };
64
65
  } else {
65
- this._storageService.remove(SINGLE_PANE_VISIBILITY_STATE_KEY, StorageScope.WORKSPACE);
66
+ this._storageService.remove(this._storageKey, StorageScope.WORKSPACE);
66
67
  }
67
68
  } catch {
68
- this._storageService.remove(SINGLE_PANE_VISIBILITY_STATE_KEY, StorageScope.WORKSPACE);
69
+ this._storageService.remove(this._storageKey, StorageScope.WORKSPACE);
69
70
  }
70
71
  }
71
72
  _isVisibilityState(value) {
72
73
  return typeof value?.editorVisible === "boolean" && typeof value.auxiliaryBarVisible === "boolean";
73
74
  }
74
75
  };
75
- SinglePaneVisibilityProfileStore = ( __decorate([( __param(0, IStorageService))], SinglePaneVisibilityProfileStore));
76
+ DesktopVisibilityProfileStore = ( __decorate([( __param(1, IStorageService))], DesktopVisibilityProfileStore));
76
77
 
77
- export { SessionVisibilityProfile, SinglePaneVisibilityProfileStore };
78
+ export { DesktopVisibilityProfileStore, SessionVisibilityProfile };
@@ -0,0 +1,71 @@
1
+ import { IReader } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
2
+ import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
+ import { IEditorWorkingSet } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService";
5
+ import { ISidePaneState } from "@codingame/monaco-vscode-api/vscode/vs/sessions/browser/workbench";
6
+ import { IActiveSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
7
+ import { BaseLayoutController } from "./baseSessionLayoutController.js";
8
+ import { DesktopOwnerCompositionStore } from "./desktop/desktopOwnerCompositionStore.js";
9
+ export { TOGGLE_DETAILS_COMMAND_ID } from "./desktop/desktopExistingSessionStrategy.js";
10
+ /**
11
+ * Layout controller for the desktop detail-panel layout. It owns its behavior
12
+ * through exactly two composed lifecycle strategies:
13
+ * - {@link DesktopDraftSessionStrategy} — workspace-backed and workspace-less drafts;
14
+ * - {@link DesktopExistingSessionStrategy} — a created, workspace-backed session
15
+ * (also owns the Toggle Details command and the shared managed-tabs coordinator);
16
+ *
17
+ * Each owns the full vertical slice of behaviour for its stage: side-pane visibility, the
18
+ * detail-panel (Changes/Files) mapping, and — for the two workspace stages — a supplementary
19
+ * nuance on the shared managed-docked-tabs reconcile pipeline (`DesktopDockedTabsCoordinator`,
20
+ * which also performs the detail-only editor-area collapse). That coordinator, the detail
21
+ * panel's sync mechanics (`DesktopDetailPanelCoordinator`), and the shared New/Existing
22
+ * Editor-visibility-profile storage (`DesktopVisibilityProfileStore`) are non-strategy coordinator
23
+ * objects — see `desktop/desktopLayoutStrategy.ts`'s doc comment for why.
24
+ *
25
+ * Strategies coordinate through this controller (the {@link IDesktopLayoutContext}):
26
+ * a session-switch restore is signalled by {@link _isRestoringSessionLayout}, so
27
+ * a restore-driven editor change is never mistaken for a user action.
28
+ */
29
+ export declare class DesktopLayoutController extends BaseLayoutController {
30
+ private _context;
31
+ private _existingSession;
32
+ private _managedTabs;
33
+ protected _compositionStore: DesktopOwnerCompositionStore | undefined;
34
+ private _changesEditorTransitionPhase;
35
+ private _onDidChangeChangesEditorTransition;
36
+ private readonly _changesEditorTransitionContextKey;
37
+ protected get _layoutStateStorageKey(): string;
38
+ private get _sharedChatLayout();
39
+ private _compositionKeyFor;
40
+ protected _panelVisibilityKeyFor(session: IActiveSession, reader?: IReader): URI | undefined;
41
+ protected _defaultPanelVisibility(key: URI): boolean;
42
+ protected get _isLayoutStateVersioned(): boolean;
43
+ protected get _legacyWorkingSetsStorageKey(): string | undefined;
44
+ protected get _legacyLayoutStateStorageKey(): string | undefined;
45
+ private get _ctx();
46
+ protected _registerViewStateManagement(): void;
47
+ protected _registerAuxiliaryControllers(): void;
48
+ /** Toggle the detail panel and return whether it is now visible. */
49
+ toggleDetails(): boolean;
50
+ protected preHideComposition(ownerKey: URI): ISidePaneState | undefined;
51
+ /**
52
+ * A session-switch restore closes/opens the docked editors (empty working-set
53
+ * apply, managed-tab reconciliation), so suppress editor-part auto-visibility
54
+ * for the whole restore to avoid closing the side pane or mistaking a
55
+ * layout-driven close for a user dismissing a managed tab.
56
+ */
57
+ protected _suppressEditorVisibilityDuringRestore(): IDisposable | undefined;
58
+ protected get _isEditorPartVisibilityPerSession(): boolean;
59
+ protected get _isViewStatePerSession(): boolean;
60
+ protected get _isPanelVisibilityPerSession(): boolean;
61
+ protected get _isPanelVisibilityPersisted(): boolean;
62
+ protected get _isPanelViewPerSession(): boolean;
63
+ protected _shouldRevealEditorPartOnApply(_editorPartHidden: boolean, _isModal: boolean): boolean;
64
+ protected _shouldHideEditorPartOnApply(_editorPartHidden: boolean): boolean;
65
+ protected _onWillApplyWorkingSet(workingSet: IEditorWorkingSet | "empty"): void;
66
+ protected _onActiveSessionSwitched(_previousSession: IActiveSession, session: IActiveSession | undefined): void;
67
+ private _shouldPreserveChangesEditor;
68
+ private _setChangesEditorTransitionPhase;
69
+ protected _onOwnerKeyRemapped(oldKey: URI, newKey: URI): void;
70
+ protected _onOwnerKeysForgotten(keys: readonly URI[]): void;
71
+ }
@@ -0,0 +1,201 @@
1
+
2
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
3
+ import { toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
+ import { LifecyclePhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle';
6
+ import { Parts } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
7
+ import { DesktopChangesEditorTransitionContext } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/contextkeys';
8
+ import { BaseLayoutController } from './baseSessionLayoutController.js';
9
+ import { DesktopDetailPanelCoordinator } from './desktop/desktopDetailPanelCoordinator.js';
10
+ import { DesktopDockedTabsCoordinator } from './desktop/desktopDockedTabsCoordinator.js';
11
+ import { DesktopDraftSessionStrategy } from './desktop/desktopDraftSessionStrategy.js';
12
+ import { DesktopExistingSessionStrategy } from './desktop/desktopExistingSessionStrategy.js';
13
+ export { TOGGLE_DETAILS_COMMAND_ID } from './desktop/desktopExistingSessionStrategy.js';
14
+ import { DesktopOwnerCompositionStore } from './desktop/desktopOwnerCompositionStore.js';
15
+ import { DesktopVisibilityProfileStore } from './desktop/desktopVisibilityProfileStore.js';
16
+
17
+ const DESKTOP_LAYOUT_STATE_KEY = "sessions.singlePane.layoutState";
18
+ const DESKTOP_CHAT_LAYOUT_STATE_KEY = "sessions.singlePane.chatLayoutState";
19
+ const DESKTOP_SHARED_CHAT_LAYOUT_STATE_KEY = "sessions.singlePane.sharedChatLayoutState";
20
+ const SHARED_EXISTING_VISIBILITY_KEY = ( URI.from({
21
+ scheme: "vscode-chat-layout-visibility",
22
+ path: "/existing"
23
+ }));
24
+ class DesktopLayoutController extends BaseLayoutController {
25
+ constructor() {
26
+ super(...arguments);
27
+ this._changesEditorTransitionPhase = "idle";
28
+ this._changesEditorTransitionContextKey = DesktopChangesEditorTransitionContext.bindTo(this._contextKeyService);
29
+ }
30
+ get _layoutStateStorageKey() {
31
+ if (this._sharedChatLayout) {
32
+ return DESKTOP_SHARED_CHAT_LAYOUT_STATE_KEY;
33
+ }
34
+ return this._chatLayoutEnabled ? DESKTOP_CHAT_LAYOUT_STATE_KEY : DESKTOP_LAYOUT_STATE_KEY;
35
+ }
36
+ get _sharedChatLayout() {
37
+ return this._chatLayoutEnabled && this._layoutService.chatLayoutPresentation.configured === "chat-shared";
38
+ }
39
+ _compositionKeyFor(session, reader) {
40
+ const ownerKey = this._ownerKeyFor(session, reader);
41
+ return ownerKey && this._sharedChatLayout && session.isCreated.read(reader) && !session.isQuickChat?.read(reader) && session.activeChat.read(reader).workspace.read(reader) ? SHARED_EXISTING_VISIBILITY_KEY : ownerKey;
42
+ }
43
+ _panelVisibilityKeyFor(session, reader) {
44
+ return this._compositionKeyFor(session, reader);
45
+ }
46
+ _defaultPanelVisibility(key) {
47
+ const visible = this._layoutService.isVisible(Parts.PANEL_PART);
48
+ this._panelVisibilityBySession.set(key, visible);
49
+ return visible;
50
+ }
51
+ get _isLayoutStateVersioned() {
52
+ return this._chatLayoutEnabled;
53
+ }
54
+ get _legacyWorkingSetsStorageKey() {
55
+ return undefined;
56
+ }
57
+ get _legacyLayoutStateStorageKey() {
58
+ return this._chatLayoutEnabled ? DESKTOP_LAYOUT_STATE_KEY : undefined;
59
+ }
60
+ get _ctx() {
61
+ if (!this._context) {
62
+ const that = this;
63
+ this._context = {
64
+ get isRestoringSessionLayout() {
65
+ return that._isRestoringSessionLayout;
66
+ },
67
+ withSessionLayoutRestore: work => that._withSessionLayoutRestore(work),
68
+ onDidEndSessionLayoutRestore: that.onDidEndSessionLayoutRestore,
69
+ get togglingSidePane() {
70
+ return that._togglingSidePane;
71
+ },
72
+ get multipleSessionsVisibleObs() {
73
+ return that.multipleSessionsVisibleObs;
74
+ },
75
+ get activeSessionResourceObs() {
76
+ return that.activeSessionResourceObs;
77
+ },
78
+ hasSavedWorkingSet: sessionResource => ( that._workingSets.has(sessionResource)),
79
+ completeChangesEditorTransition: () => {
80
+ if (that._changesEditorTransitionPhase === "reconciling") {
81
+ const session = that._sessionsService.activeSession.get();
82
+ if (session?.isCreated.get() && session.isQuickChat?.get() !== true && !session.workspace.get()) {
83
+ return;
84
+ }
85
+ that._setChangesEditorTransitionPhase("idle");
86
+ }
87
+ },
88
+ chatLayoutActive: reader => that._chatLayoutActive(reader),
89
+ chatLayoutSuspended: reader => that._chatLayoutSuspended(reader),
90
+ get sharedChatLayout() {
91
+ return that._sharedChatLayout;
92
+ },
93
+ ownerKeyFor: (session, reader) => that._ownerKeyFor(session, reader),
94
+ compositionKeyFor: (session, reader) => that._compositionKeyFor(session, reader),
95
+ get compositionStore() {
96
+ return that._compositionStore;
97
+ }
98
+ };
99
+ }
100
+ return this._context;
101
+ }
102
+ _registerViewStateManagement() {
103
+ this._register(toDisposable(() => this._changesEditorTransitionContextKey.reset()));
104
+ this._compositionStore = this._instantiationService.createInstance(DesktopOwnerCompositionStore, this._sharedChatLayout);
105
+ this._registerPersistedOwnerKeys(this._compositionStore.ownerKeys);
106
+ const visibilityStore = this._instantiationService.createInstance(DesktopVisibilityProfileStore, this._sharedChatLayout);
107
+ const detailPanel = this._register(this._instantiationService.createInstance(DesktopDetailPanelCoordinator));
108
+ this._existingSession = this._register(
109
+ this._instantiationService.createInstance(DesktopExistingSessionStrategy, this._ctx, visibilityStore, detailPanel)
110
+ );
111
+ this._register(
112
+ this._instantiationService.createInstance(DesktopDraftSessionStrategy, this._ctx, detailPanel, visibilityStore)
113
+ );
114
+ }
115
+ _registerAuxiliaryControllers() {
116
+ this._lifecycleService.when(LifecyclePhase.Restored).then(() => {
117
+ if (this._store.isDisposed) {
118
+ return;
119
+ }
120
+ const onDidChangeChangesEditorTransition = this._onDidChangeChangesEditorTransition = this._register(( new Emitter()));
121
+ this._register(this.onDidEndSessionLayoutRestore(() => {
122
+ if (this._changesEditorTransitionPhase === "restoringWorkingSet") {
123
+ this._setChangesEditorTransitionPhase("reconciling");
124
+ }
125
+ }));
126
+ this._register(this._editorGroupsService.registerContextKeyProvider({
127
+ contextKey: DesktopChangesEditorTransitionContext,
128
+ getGroupContextKeyValue: group => this._changesEditorTransitionPhase !== "idle" && group.id === this._editorGroupsService.mainPart.activeGroup.id && (group.activeEditor === null || !!group.activeEditor.resource && this._sessionChangesService.getSessionResource(group.activeEditor.resource) !== undefined),
129
+ onDidChange: onDidChangeChangesEditorTransition.event
130
+ }));
131
+ this._register(
132
+ this._editorGroupsService.mainPart.onDidAddGroup(() => onDidChangeChangesEditorTransition.fire())
133
+ );
134
+ this._managedTabs = this._register(
135
+ this._instantiationService.createInstance(DesktopDockedTabsCoordinator, this._ctx)
136
+ );
137
+ this._existingSession?.registerManagedTabs(this._managedTabs);
138
+ });
139
+ }
140
+ toggleDetails() {
141
+ return this._existingSession?.toggleDetails() ?? false;
142
+ }
143
+ preHideComposition(ownerKey) {
144
+ return this._compositionStore?.getPreHide(ownerKey);
145
+ }
146
+ _suppressEditorVisibilityDuringRestore() {
147
+ return this._layoutService.suppressEditorPartAutoVisibility();
148
+ }
149
+ get _isEditorPartVisibilityPerSession() {
150
+ return false;
151
+ }
152
+ get _isViewStatePerSession() {
153
+ return false;
154
+ }
155
+ get _isPanelVisibilityPerSession() {
156
+ return this._chatLayoutEnabled;
157
+ }
158
+ get _isPanelVisibilityPersisted() {
159
+ return this._chatLayoutEnabled;
160
+ }
161
+ get _isPanelViewPerSession() {
162
+ return true;
163
+ }
164
+ _shouldRevealEditorPartOnApply(_editorPartHidden, _isModal) {
165
+ return false;
166
+ }
167
+ _shouldHideEditorPartOnApply(_editorPartHidden) {
168
+ return false;
169
+ }
170
+ _onWillApplyWorkingSet(workingSet) {
171
+ this._managedTabs?.prepareWorkingSetRestore(workingSet !== "empty");
172
+ if ((this._changesEditorTransitionPhase ?? "idle") !== "idle" || this._shouldPreserveChangesEditor(this._sessionsService.activeSession.get())) {
173
+ this._setChangesEditorTransitionPhase("restoringWorkingSet");
174
+ }
175
+ }
176
+ _onActiveSessionSwitched(_previousSession, session) {
177
+ this._setChangesEditorTransitionPhase(this._shouldPreserveChangesEditor(session) ? "awaitingWorkingSet" : "idle");
178
+ }
179
+ _shouldPreserveChangesEditor(session) {
180
+ const editorResource = this._editorGroupsService.mainPart.activeGroup.activeEditor?.resource;
181
+ return !!session && session.isQuickChat?.get() !== true && !!editorResource && !!this._sessionChangesService.getSessionResource(editorResource);
182
+ }
183
+ _setChangesEditorTransitionPhase(phase) {
184
+ const previousPhase = this._changesEditorTransitionPhase ?? "idle";
185
+ this._changesEditorTransitionPhase = phase;
186
+ this._changesEditorTransitionContextKey.set(phase !== "idle");
187
+ if ((previousPhase === "idle") !== (phase === "idle")) {
188
+ this._onDidChangeChangesEditorTransition?.fire();
189
+ }
190
+ }
191
+ _onOwnerKeyRemapped(oldKey, newKey) {
192
+ this._compositionStore?.remap(oldKey, newKey);
193
+ this._managedTabs?.remapOwnerKey(oldKey, newKey);
194
+ }
195
+ _onOwnerKeysForgotten(keys) {
196
+ this._compositionStore?.forget(keys);
197
+ this._managedTabs?.forgetOwnerKeys(keys);
198
+ }
199
+ }
200
+
201
+ export { DesktopLayoutController };
@@ -1 +1,8 @@
1
- export {};
1
+ import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
2
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
4
+ import { IAgentWorkbenchLayoutService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/browser/workbench.service";
5
+ export declare class SessionsLayoutContribution extends Disposable implements IWorkbenchContribution {
6
+ static readonly ID = "workbench.contrib.sessionsLayoutContribution";
7
+ constructor(instantiationService: IInstantiationService, layoutService: IAgentWorkbenchLayoutService);
8
+ }
@@ -1,18 +1,19 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { isWeb, isMobile } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
4
- import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
- import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
6
- import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
7
- import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
8
3
  import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
9
4
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
10
5
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
11
- import { LayoutController, RESPONSIVE_SIDEBAR_SETTING } from './desktopSessionLayoutController.js';
6
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
12
7
  import { MobileLayoutController } from './mobileSessionLayoutController.js';
13
- import { DOCK_DETAIL_PANEL_SETTING } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/sessionConfig';
8
+ import { AgentWorkbenchLayout } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/workbench';
14
9
  import { IAgentWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/workbench.service';
15
- import { SinglePaneLayoutController } from './singlePaneLayoutController.js';
10
+ import { DesktopLayoutController } from './desktopLayoutController.js';
11
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
+ import { Extensions, ConfigurationScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
13
+ import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
14
+ import { SESSIONS_LAYOUT_SCOPE_SETTING } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/chatLayout';
15
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
16
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
16
17
 
17
18
  let SessionsLayoutContribution = class SessionsLayoutContribution extends Disposable {
18
19
  static {
@@ -20,15 +21,11 @@ let SessionsLayoutContribution = class SessionsLayoutContribution extends Dispos
20
21
  }
21
22
  constructor(instantiationService, layoutService) {
22
23
  super();
23
- if (layoutService.isSinglePaneLayoutEnabled) {
24
- this._register(instantiationService.createInstance(SinglePaneLayoutController));
24
+ if (layoutService.agentWorkbenchLayout === AgentWorkbenchLayout.Desktop) {
25
+ this._register(instantiationService.createInstance(DesktopLayoutController));
25
26
  return;
26
27
  }
27
- if (isWeb && isMobile) {
28
- this._register(instantiationService.createInstance(MobileLayoutController));
29
- return;
30
- }
31
- this._register(instantiationService.createInstance(LayoutController));
28
+ this._register(instantiationService.createInstance(MobileLayoutController));
32
29
  }
33
30
  };
34
31
  SessionsLayoutContribution = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IAgentWorkbenchLayoutService))], SessionsLayoutContribution));
@@ -39,30 +36,33 @@ registerWorkbenchContribution2(
39
36
  );
40
37
  ( Registry.as(Extensions.Configuration)).registerConfiguration({
41
38
  id: "sessions",
39
+ title: ( localize(4755, "Sessions")),
42
40
  properties: {
43
- [RESPONSIVE_SIDEBAR_SETTING]: {
44
- type: "boolean",
45
- markdownDescription: ( localize(
46
- 4119,
47
- "Controls whether the sessions sidebar is automatically collapsed in a narrow Agents window while both the editor and the side panel are open, and shown again once either of them closes."
48
- )),
49
- default: product.quality !== "stable",
50
- tags: ["experimental"],
51
- experiment: {
52
- mode: "auto"
53
- }
54
- },
55
- [DOCK_DETAIL_PANEL_SETTING]: {
56
- type: "boolean",
57
- markdownDescription: ( localize(
58
- 4120,
59
- "Controls whether the Agents window docks the detail panel inside the editor so a single editor tab bar spans across the editor and the detail panel. Requires a window reload to take effect."
60
- )),
61
- default: true,
41
+ [SESSIONS_LAYOUT_SCOPE_SETTING]: {
42
+ type: "string",
43
+ enum: ["session-shared", "chat-shared", "chat"],
44
+ enumDescriptions: [( localize(
45
+ 4756,
46
+ "Keep editors and selected panel views separate for each session, with shared Editor, Details, and bottom-panel visibility across existing workspace sessions."
47
+ )), ( localize(
48
+ 4757,
49
+ "Keep editors and selected panel views separate for each chat, with shared Editor, Details, and bottom-panel visibility across existing workspace chats."
50
+ )), ( localize(
51
+ 4758,
52
+ "Keep editors, Editor and Details composition, bottom-panel visibility, and selected panel views separate for each chat."
53
+ ))],
54
+ default: "session-shared",
55
+ scope: ConfigurationScope.WINDOW,
62
56
  tags: ["experimental"],
63
57
  experiment: {
64
58
  mode: "startup"
65
- }
59
+ },
60
+ description: ( localize(
61
+ 4759,
62
+ "Choose whether layout state belongs to each session or each chat in non-phone Agents windows. Pane sizes remain shared. Terminal behavior is unchanged in all modes. Changes take effect after manually reloading the window."
63
+ ))
66
64
  }
67
65
  }
68
66
  });
67
+
68
+ export { SessionsLayoutContribution };
@@ -0,0 +1,39 @@
1
+ import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
3
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
+ import { EditorInput } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput";
5
+ import { ISessionEditorWorkingSetService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/layout/common/sessionEditorWorkingSet.service";
6
+ /**
7
+ * The layout owner of an editor working set: a whole session, or a single chat of
8
+ * it when the window scopes layout to chats.
9
+ */
10
+ export interface ISessionEditorWorkingSetOwner {
11
+ readonly sessionResource: URI;
12
+ /** The owning chat, or `undefined` when the working set belongs to the whole session. */
13
+ readonly chatResource: URI | undefined;
14
+ }
15
+ /** Whether the given chat of a session belongs to `owner`'s editor working set. */
16
+ export declare function editorWorkingSetOwnerIncludes(owner: ISessionEditorWorkingSetOwner, sessionResource: URI, chatResource: URI): boolean;
17
+ export interface ISessionEditorWorkingSetRestoreState {
18
+ /** The owner whose working set was restored most recently, or `undefined` for an empty working set. */
19
+ readonly owner: ISessionEditorWorkingSetOwner | undefined;
20
+ /**
21
+ * Whether a restore is queued or running. A restore replaces every open editor, so owners of
22
+ * editors that a working set cannot serialize close them when it begins and reopen them once it settles.
23
+ */
24
+ readonly restoring: boolean;
25
+ /** Whether the queued restore is currently replacing the editor working set. */
26
+ readonly applying: boolean;
27
+ }
28
+ export declare class SessionEditorWorkingSetService implements ISessionEditorWorkingSetService {
29
+ readonly _serviceBrand: undefined;
30
+ private readonly _restoreState;
31
+ readonly restoreState: IObservable<ISessionEditorWorkingSetRestoreState>;
32
+ private _pendingRestores;
33
+ private readonly _editorsToRetain;
34
+ setCurrentOwner(owner: ISessionEditorWorkingSetOwner | undefined): void;
35
+ registerEditorToRetain(input: EditorInput): IDisposable;
36
+ shouldRetainEditor(input: EditorInput): boolean;
37
+ beginApply(owner: ISessionEditorWorkingSetOwner | undefined): boolean;
38
+ beginRestore(owner: ISessionEditorWorkingSetOwner | undefined): IDisposable;
39
+ }