@codingame/monaco-vscode-workbench-service-override 37.6.0 → 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 (324) 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 +15 -13
  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 -96
  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.d.ts +46 -70
  281. package/vscode/src/vs/workbench/browser/layout.js +243 -44
  282. package/vscode/src/vs/workbench/browser/workbench.d.ts +1 -3
  283. package/vscode/src/vs/workbench/browser/workbench.js +26 -24
  284. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +6 -0
  285. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +41 -0
  286. package/vscode/src/vs/workbench/contrib/chat/common/chatUsage.d.ts +15 -0
  287. package/vscode/src/vs/workbench/contrib/chat/common/chatUsage.js +56 -0
  288. package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.d.ts +0 -18
  289. package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.js +0 -27
  290. package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.js +0 -36
  291. package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.d.ts +0 -37
  292. package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.js +0 -126
  293. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.d.ts +0 -59
  294. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +0 -232
  295. package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.d.ts +0 -13
  296. package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.js +0 -22
  297. package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.d.ts +0 -45
  298. package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.js +0 -110
  299. package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.d.ts +0 -112
  300. package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.js +0 -444
  301. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.js +0 -43
  302. package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.d.ts +0 -55
  303. package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.js +0 -91
  304. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.d.ts +0 -26
  305. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.js +0 -98
  306. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.d.ts +0 -33
  307. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.js +0 -98
  308. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.d.ts +0 -2
  309. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.js +0 -13
  310. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.d.ts +0 -122
  311. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.js +0 -464
  312. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.d.ts +0 -35
  313. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.js +0 -90
  314. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.d.ts +0 -84
  315. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.js +0 -328
  316. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.d.ts +0 -174
  317. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.js +0 -1390
  318. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/media/agentHostSessionConfigPicker.css +0 -44
  319. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.d.ts +0 -30
  320. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.js +0 -78
  321. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.d.ts +0 -11
  322. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.js +0 -26
  323. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.d.ts +0 -27
  324. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.js +0 -26
@@ -2,57 +2,57 @@
2
2
  import { onDidChangeFullscreen, isFullscreen, isWCOEnabled } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/browser';
3
3
  import { Dimension, getActiveDocument, getWindows, getClientArea, getWindow, createElement, addDisposableListener, EventType, isActiveDocument, getActiveElement, getActiveWindow, isAncestorUsingFlowTo, getFullscreenElement, size, computeScreenAwareSize, getWindowId } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
4
  import { setContainerElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/domStylesheets';
5
- import { alert } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
6
5
  import { SerializableGrid, Sizing, Direction } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/grid/grid';
7
6
  import { mainWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/window';
8
7
  import { coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
9
8
  import { DeferredPromise, Promises } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
10
9
  import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
11
- import { toDisposable, DisposableStore, DisposableMap, Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
12
- import { mark } from '@codingame/monaco-vscode-api/vscode/vs/base/common/performance';
10
+ import { Disposable, toDisposable, DisposableStore, DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
11
+ import { alert } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
13
12
  import { isWindows, isLinux, isWeb, isIOS, isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
14
- import { assertReturnsDefined } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
15
- import { isCodeEditor } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser';
16
- import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
17
- import { ChatAIDisabledSettingId } from '@codingame/monaco-vscode-api/vscode/vs/platform/chat/common/chatSettings';
13
+ import { pathsToEditors, isResourceEditorInput, EditorInputCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
14
+ import { SidebarPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/sidebar/sidebarPart';
15
+ import { PanelPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/panel/panelPart';
16
+ import { LayoutSettings, Parts, EditorActionsLocation, ActivityBarPosition, shouldShowCustomTitleBar, ModernUIDensity, Position, isHorizontal, ZenModeSettings, isMultiWindowPart, isFloatingTopEdgeExposed, positionToString, partOpensMaximizedFromString, PartOpensMaximizedOptions, positionFromString } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
17
+ import { WorkbenchState, isTemporaryWorkspace } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace';
18
+ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
19
+ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
20
+ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
18
21
  import { isConfigured, isDefaultOverriden } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration';
19
22
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
20
- import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
23
+ import { ChatAIDisabledSettingId } from '@codingame/monaco-vscode-api/vscode/vs/platform/chat/common/chatSettings';
24
+ import { ITitleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/title/browser/titleService.service';
25
+ import { StartupKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle';
26
+ import { ILifecycleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
27
+ import { MenuSettings, TitleBarSetting, DEFAULT_EMPTY_WINDOW_SIZE, DEFAULT_WORKSPACE_WINDOW_SIZE, CustomTitleBarVisibility, hasNativeTitlebar, getMenuBarVisibility, useWindowControlsOverlay, hasNativeMenu } from '@codingame/monaco-vscode-api/vscode/vs/platform/window/common/window';
28
+ import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service';
29
+ import { IBrowserWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/browser/environmentService.service';
30
+ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
31
+ import { GroupActivationReason, GroupsOrder, GroupOrientation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService';
32
+ import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
33
+ import { Part } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/part';
34
+ import { IStatusbarService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/statusbar/browser/statusbar.service';
35
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
36
+ import { isCodeEditor } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser';
37
+ import { assertReturnsDefined } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
21
38
  import { NotificationsFilter } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification';
22
39
  import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
23
- import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
24
- import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
25
- import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
26
- import { isHighContrast } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/theme';
27
40
  import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
28
- import { MenuSettings, TitleBarSetting, DEFAULT_EMPTY_WINDOW_SIZE, DEFAULT_WORKSPACE_WINDOW_SIZE, CustomTitleBarVisibility, hasNativeTitlebar, getMenuBarVisibility, useWindowControlsOverlay, hasNativeMenu } from '@codingame/monaco-vscode-api/vscode/vs/platform/window/common/window';
29
- import { WorkbenchState } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace';
30
- import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
31
- import { EditorInputCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
32
- import { DiffEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/diffEditorInput';
41
+ import { isHighContrast } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/theme';
33
42
  import { WINDOW_ACTIVE_BORDER, WINDOW_INACTIVE_BORDER } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/theme';
43
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
34
44
  import { ViewContainerLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views';
35
45
  import { IViewDescriptorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service';
46
+ import { DiffEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/diffEditorInput';
47
+ import { mark } from '@codingame/monaco-vscode-api/vscode/vs/base/common/performance';
48
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
49
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
36
50
  import { IAuxiliaryWindowService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.service';
51
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
37
52
  import { IBannerService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/banner/browser/bannerService.service';
38
- import { GroupActivationReason, GroupOrientation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService';
39
- import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
40
- import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
41
- import { IBrowserWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/browser/environmentService.service';
42
53
  import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
43
- import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service';
44
- import { LayoutSettings, Parts, EditorActionsLocation, ActivityBarPosition, shouldShowCustomTitleBar, ModernUIDensity, Position, isHorizontal, ZenModeSettings, isMultiWindowPart, isFloatingTopEdgeExposed, positionToString, partOpensMaximizedFromString, PartOpensMaximizedOptions, positionFromString } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
45
- import { StartupKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle';
46
- import { ILifecycleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
47
54
  import { IPaneCompositePartService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/panecomposite/browser/panecomposite.service';
48
- import { IStatusbarService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/statusbar/browser/statusbar.service';
49
- import { ITitleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/title/browser/titleService.service';
50
- import { AbstractLayout, WorkbenchLayoutSettings } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/abstractlayout';
51
- export { AbstractLayout, WorkbenchLayoutSettings } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/abstractlayout';
52
- import { Part } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/part';
53
55
  import { AuxiliaryBarPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart';
54
- import { PanelPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/panel/panelPart';
55
- import { SidebarPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/sidebar/sidebarPart';
56
56
  import { Orientation } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/sash/sash';
57
57
  import '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/grid/gridview';
58
58
 
@@ -92,7 +92,7 @@ const TITLE_BAR_SETTINGS = [
92
92
  ];
93
93
  const DEFAULT_EMPTY_WINDOW_DIMENSIONS = ( new Dimension(DEFAULT_EMPTY_WINDOW_SIZE.width, DEFAULT_EMPTY_WINDOW_SIZE.height));
94
94
  const DEFAULT_WORKSPACE_WINDOW_DIMENSIONS = ( new Dimension(DEFAULT_WORKSPACE_WINDOW_SIZE.width, DEFAULT_WORKSPACE_WINDOW_SIZE.height));
95
- class Layout extends AbstractLayout {
95
+ class Layout extends Disposable {
96
96
  get activeContainer() {
97
97
  return this.getContainerFromDocument(getActiveDocument());
98
98
  }
@@ -156,8 +156,9 @@ class Layout extends AbstractLayout {
156
156
  };
157
157
  }
158
158
  constructor(parent, layoutOptions) {
159
- super(layoutOptions);
159
+ super();
160
160
  this.parent = parent;
161
+ this.layoutOptions = layoutOptions;
161
162
  this._onDidChangeZenMode = this._register(( new Emitter()));
162
163
  this.onDidChangeZenMode = this._onDidChangeZenMode.event;
163
164
  this._onDidChangeMainEditorCenteredLayout = this._register(( new Emitter()));
@@ -189,6 +190,7 @@ class Layout extends AbstractLayout {
189
190
  this.parts = ( new Map());
190
191
  this.initialized = false;
191
192
  this.disposed = false;
193
+ this._openedDefaultEditors = false;
192
194
  this.whenReadyPromise = ( new DeferredPromise());
193
195
  this.whenReady = this.whenReadyPromise.p;
194
196
  this.whenRestoredPromise = ( new DeferredPromise());
@@ -218,7 +220,7 @@ class Layout extends AbstractLayout {
218
220
  this.statusBarService = accessor.get(IStatusbarService);
219
221
  accessor.get(IBannerService);
220
222
  this.registerLayoutListeners();
221
- this.initLayoutState(accessor);
223
+ this.initLayoutState(accessor.get(ILifecycleService), accessor.get(IFileService));
222
224
  }
223
225
  registerLayoutListeners() {
224
226
  const showEditorIfHidden = explicitUserAction => {
@@ -508,7 +510,7 @@ class Layout extends AbstractLayout {
508
510
  this.layout();
509
511
  }
510
512
  }
511
- initLayoutState(accessor) {
513
+ initLayoutState(lifecycleService, fileService) {
512
514
  this._mainContainerDimension = getClientArea(
513
515
  this.parent,
514
516
  this.contextService.getWorkbenchState() === WorkbenchState.EMPTY ? DEFAULT_EMPTY_WINDOW_DIMENSIONS : DEFAULT_WORKSPACE_WINDOW_DIMENSIONS
@@ -536,6 +538,23 @@ class Layout extends AbstractLayout {
536
538
  }
537
539
  this.doUpdateLayoutConfiguration();
538
540
  }));
541
+ const initialEditorsState = this.getInitialEditorsState();
542
+ if (initialEditorsState) {
543
+ this.logService.trace("Initial editor state", initialEditorsState);
544
+ }
545
+ const initialLayoutState = {
546
+ layout: {
547
+ editors: initialEditorsState?.layout
548
+ },
549
+ editor: {
550
+ restoreEditors: this.shouldRestoreEditors(this.contextService, initialEditorsState),
551
+ editorsToOpen: this.resolveEditorsToOpen(fileService, initialEditorsState)
552
+ },
553
+ views: {
554
+ defaults: this.getDefaultLayoutViews(this.environmentService, this.storageService),
555
+ containerToRestore: {}
556
+ }
557
+ };
539
558
  const layoutRuntimeState = {
540
559
  activeContainerId: this.getActiveContainerId(),
541
560
  mainWindowFullscreen: isFullscreen(mainWindow),
@@ -550,7 +569,7 @@ class Layout extends AbstractLayout {
550
569
  }
551
570
  };
552
571
  this.state = {
553
- initialization: this.getInitLayoutState(accessor),
572
+ initialization: initialLayoutState,
554
573
  runtime: layoutRuntimeState
555
574
  };
556
575
  if (this.isVisible(Parts.SIDEBAR_PART)) {
@@ -559,7 +578,7 @@ class Layout extends AbstractLayout {
559
578
  StorageScope.WORKSPACE,
560
579
  this.viewDescriptorService.getDefaultViewContainer(ViewContainerLocation.Sidebar)?.id
561
580
  );
562
- if (!this.environmentService.isBuilt || accessor.get(ILifecycleService).startupKind === StartupKind.ReloadedWindow || this.environmentService.isExtensionDevelopment && !this.environmentService.extensionTestsLocationURI)
581
+ if (!this.environmentService.isBuilt || lifecycleService.startupKind === StartupKind.ReloadedWindow || this.environmentService.isExtensionDevelopment && !this.environmentService.extensionTestsLocationURI)
563
582
  ; else if (viewContainerToRestore !== this.viewDescriptorService.getDefaultViewContainer(ViewContainerLocation.Sidebar)?.id && viewContainerToRestore !== this.viewDescriptorService.getDefaultViewContainer(ViewContainerLocation.AuxiliaryBar)?.id) {
564
583
  viewContainerToRestore = this.viewDescriptorService.getDefaultViewContainer(ViewContainerLocation.Sidebar)?.id;
565
584
  }
@@ -595,18 +614,187 @@ class Layout extends AbstractLayout {
595
614
  }
596
615
  this.updateWindowBorder(true);
597
616
  }
617
+ getDefaultLayoutViews(environmentService, storageService) {
618
+ const defaultLayout = environmentService.options?.defaultLayout;
619
+ if (!defaultLayout) {
620
+ return undefined;
621
+ }
622
+ if (!defaultLayout.force && !storageService.isNew(StorageScope.WORKSPACE)) {
623
+ return undefined;
624
+ }
625
+ const {
626
+ views
627
+ } = defaultLayout;
628
+ if (views?.length) {
629
+ return views.map(view => view.id);
630
+ }
631
+ return undefined;
632
+ }
633
+ shouldRestoreEditors(contextService, initialEditorsState) {
634
+ if (isTemporaryWorkspace(contextService.getWorkspace())) {
635
+ return false;
636
+ }
637
+ if (this.configurationService.getValue(WorkbenchLayoutSettings.EDITOR_RESTORE_EDITORS) === false) {
638
+ return false;
639
+ }
640
+ const forceRestoreEditors = this.configurationService.getValue("window.restoreWindows") === "preserve";
641
+ return !!forceRestoreEditors || initialEditorsState === undefined;
642
+ }
598
643
  willRestoreEditors() {
599
644
  return this.state.initialization.editor.restoreEditors;
600
645
  }
646
+ async resolveEditorsToOpen(fileService, initialEditorsState) {
647
+ if (initialEditorsState) {
648
+ const filesToMerge = coalesce(
649
+ await pathsToEditors(initialEditorsState.filesToMerge, fileService, this.logService)
650
+ );
651
+ if (filesToMerge.length === 4 && isResourceEditorInput(filesToMerge[0]) && isResourceEditorInput(filesToMerge[1]) && isResourceEditorInput(filesToMerge[2]) && isResourceEditorInput(filesToMerge[3])) {
652
+ return [{
653
+ editor: {
654
+ input1: {
655
+ resource: filesToMerge[0].resource
656
+ },
657
+ input2: {
658
+ resource: filesToMerge[1].resource
659
+ },
660
+ base: {
661
+ resource: filesToMerge[2].resource
662
+ },
663
+ result: {
664
+ resource: filesToMerge[3].resource
665
+ },
666
+ options: {
667
+ pinned: true
668
+ }
669
+ }
670
+ }];
671
+ }
672
+ const filesToDiff = coalesce(
673
+ await pathsToEditors(initialEditorsState.filesToDiff, fileService, this.logService)
674
+ );
675
+ if (filesToDiff.length === 2) {
676
+ return [{
677
+ editor: {
678
+ original: {
679
+ resource: filesToDiff[0].resource
680
+ },
681
+ modified: {
682
+ resource: filesToDiff[1].resource
683
+ },
684
+ options: {
685
+ pinned: true
686
+ }
687
+ }
688
+ }];
689
+ }
690
+ const filesToOpenOrCreate = [];
691
+ const resolvedFilesToOpenOrCreate = await pathsToEditors(initialEditorsState.filesToOpenOrCreate, fileService, this.logService);
692
+ for (let i = 0; i < resolvedFilesToOpenOrCreate.length; i++) {
693
+ const resolvedFileToOpenOrCreate = resolvedFilesToOpenOrCreate[i];
694
+ if (resolvedFileToOpenOrCreate) {
695
+ filesToOpenOrCreate.push({
696
+ editor: resolvedFileToOpenOrCreate,
697
+ viewColumn: initialEditorsState.filesToOpenOrCreate?.[i].viewColumn
698
+ });
699
+ }
700
+ }
701
+ return filesToOpenOrCreate;
702
+ }
703
+ else if (this.contextService.getWorkbenchState() === WorkbenchState.EMPTY && this.configurationService.getValue("workbench.startupEditor") === "newUntitledFile") {
704
+ if (this.editorGroupService.hasRestorableState) {
705
+ return [];
706
+ }
707
+ return [{
708
+ editor: {
709
+ resource: undefined
710
+ }
711
+ }];
712
+ }
713
+ return [];
714
+ }
715
+ get openedDefaultEditors() {
716
+ return this._openedDefaultEditors;
717
+ }
718
+ getInitialEditorsState() {
719
+ const defaultLayout = this.environmentService.options?.defaultLayout;
720
+ if ((defaultLayout?.editors?.length || defaultLayout?.layout?.editors) && (defaultLayout.force || this.storageService.isNew(StorageScope.WORKSPACE))) {
721
+ this._openedDefaultEditors = true;
722
+ return {
723
+ layout: defaultLayout.layout?.editors,
724
+ filesToOpenOrCreate: defaultLayout?.editors?.map(editor => {
725
+ return {
726
+ viewColumn: editor.viewColumn,
727
+ fileUri: URI.revive(editor.uri),
728
+ openOnlyIfExists: editor.openOnlyIfExists,
729
+ options: editor.options
730
+ };
731
+ })
732
+ };
733
+ }
734
+ const {
735
+ filesToOpenOrCreate,
736
+ filesToDiff,
737
+ filesToMerge
738
+ } = this.environmentService;
739
+ if (filesToOpenOrCreate || filesToDiff || filesToMerge) {
740
+ return {
741
+ filesToOpenOrCreate,
742
+ filesToDiff,
743
+ filesToMerge
744
+ };
745
+ }
746
+ return undefined;
747
+ }
601
748
  isRestored() {
602
749
  return this.restored;
603
750
  }
604
- restoreParts(accessor) {
751
+ restoreParts(instantiationService) {
605
752
  const layoutReadyPromises = [];
606
753
  const layoutRestoredPromises = [];
607
- layoutReadyPromises.push(
608
- this.restoreLayout(accessor, this.state.initialization, layoutRestoredPromises)
609
- );
754
+ layoutReadyPromises.push((async () => {
755
+ mark("code/willRestoreEditors");
756
+ await this.editorGroupService.whenReady;
757
+ mark("code/restoreEditors/editorGroupsReady");
758
+ if (this.state.initialization.layout?.editors) {
759
+ this.editorGroupService.mainPart.applyLayout(this.state.initialization.layout.editors);
760
+ }
761
+ const editors = await this.state.initialization.editor.editorsToOpen;
762
+ mark("code/restoreEditors/editorsToOpenResolved");
763
+ let openEditorsPromise = undefined;
764
+ if (editors.length) {
765
+ const editorGroupsInVisualOrder = this.editorGroupService.mainPart.getGroups(GroupsOrder.GRID_APPEARANCE);
766
+ const mapEditorsToGroup = ( new Map());
767
+ for (const editor of editors) {
768
+ const group = editorGroupsInVisualOrder[(editor.viewColumn ?? 1) - 1];
769
+ let editorsByGroup = mapEditorsToGroup.get(group.id);
770
+ if (!editorsByGroup) {
771
+ editorsByGroup = ( new Set());
772
+ mapEditorsToGroup.set(group.id, editorsByGroup);
773
+ }
774
+ editorsByGroup.add(editor.editor);
775
+ }
776
+ openEditorsPromise = Promise.all(Array.from(mapEditorsToGroup).map(async ([groupId, editors]) => {
777
+ try {
778
+ await this.editorService.openEditors(Array.from(editors), groupId, {
779
+ validateTrust: true
780
+ });
781
+ } catch (error) {
782
+ this.logService.error(error);
783
+ }
784
+ }));
785
+ }
786
+ const customEditorRestorePromise = instantiationService.invokeFunction(
787
+ this.layoutOptions?.customEditorRestore ?? (async () => {}),
788
+ !!this.state.initialization.layout?.editors
789
+ );
790
+ layoutRestoredPromises.push(Promise.all([
791
+ openEditorsPromise?.finally(() => mark("code/restoreEditors/editorsOpened")),
792
+ customEditorRestorePromise?.finally(() => mark("code/restoreEditors/customEditorsOpened")),
793
+ this.editorGroupService.whenRestored.finally(() => mark("code/restoreEditors/editorGroupsRestored"))
794
+ ]).finally(() => {
795
+ mark("code/didRestoreEditors");
796
+ }));
797
+ })());
610
798
  const restoreDefaultViewsPromise = (async () => {
611
799
  if (this.state.initialization.views.defaults?.length) {
612
800
  mark("code/willOpenDefaultViews");
@@ -1653,7 +1841,7 @@ class Layout extends AbstractLayout {
1653
1841
  toggleSecondarySideBar() {
1654
1842
  const visible = !this.isSecondarySideBarVisible();
1655
1843
  this.setPartHidden(!visible, Parts.AUXILIARYBAR_PART);
1656
- alert(visible ? ( localize(5596, "Secondary Side Bar shown")) : ( localize(5597, "Secondary Side Bar hidden")));
1844
+ alert(visible ? ( localize(6955, "Secondary Side Bar shown")) : ( localize(6956, "Secondary Side Bar hidden")));
1657
1845
  }
1658
1846
  isSecondarySideBarVisible() {
1659
1847
  return this.isVisible(Parts.AUXILIARYBAR_PART);
@@ -2169,6 +2357,17 @@ const LayoutStateKeys = {
2169
2357
  true
2170
2358
  ))
2171
2359
  };
2360
+ var WorkbenchLayoutSettings;
2361
+ (function(WorkbenchLayoutSettings) {
2362
+ WorkbenchLayoutSettings["AUXILIARYBAR_DEFAULT_VISIBILITY"] = "workbench.secondarySideBar.defaultVisibility";
2363
+ WorkbenchLayoutSettings["AUXILIARYBAR_FORCE_MAXIMIZED"] = "workbench.secondarySideBar.forceMaximized";
2364
+ WorkbenchLayoutSettings["ACTIVITY_BAR_VISIBLE"] = "workbench.activityBar.visible";
2365
+ WorkbenchLayoutSettings["PANEL_POSITION"] = "workbench.panel.defaultLocation";
2366
+ WorkbenchLayoutSettings["PANEL_OPENS_MAXIMIZED"] = "workbench.panel.opensMaximized";
2367
+ WorkbenchLayoutSettings["ZEN_MODE_CONFIG"] = "zenMode";
2368
+ WorkbenchLayoutSettings["EDITOR_CENTERED_LAYOUT_AUTO_RESIZE"] = "workbench.editor.centeredLayoutAutoResize";
2369
+ WorkbenchLayoutSettings["EDITOR_RESTORE_EDITORS"] = "workbench.editor.restoreEditors";
2370
+ })(WorkbenchLayoutSettings || (WorkbenchLayoutSettings = {}));
2172
2371
  var LegacyWorkbenchLayoutSettings;
2173
2372
  (function(LegacyWorkbenchLayoutSettings) {
2174
2373
  LegacyWorkbenchLayoutSettings["STATUSBAR_VISIBLE"] = "workbench.statusBar.visible";
@@ -2445,4 +2644,4 @@ class LayoutStateModel extends Disposable {
2445
2644
  }
2446
2645
  }
2447
2646
 
2448
- export { Layout, LayoutStateModel, TITLE_BAR_SETTINGS };
2647
+ export { Layout, TITLE_BAR_SETTINGS };
@@ -30,8 +30,6 @@ export declare class Workbench extends Layout {
30
30
  readonly onDidShutdown: Event<void>;
31
31
  constructor(parent: HTMLElement, options: IWorkbenchOptions | undefined, serviceCollection: ServiceCollection, logService: ILogService);
32
32
  protected registerErrorHandler(logService: ILogService): void;
33
- private previousUnexpectedError;
34
- protected handleUnexpectedError(error: unknown, logService: ILogService): void;
35
33
  startup(): IInstantiationService;
36
34
  protected initServices(serviceCollection: ServiceCollection): IInstantiationService;
37
35
  protected registerListeners(lifecycleService: ILifecycleService, storageService: IStorageService, configurationService: IConfigurationService, hostService: IHostService, dialogService: IDialogService): void;
@@ -42,5 +40,5 @@ export declare class Workbench extends Layout {
42
40
  protected renderWorkbench(instantiationService: IInstantiationService, notificationService: NotificationService, storageService: IStorageService, configurationService: IConfigurationService): void;
43
41
  private createPart;
44
42
  protected createNotificationsHandlers(instantiationService: IInstantiationService, notificationService: NotificationService): void;
45
- protected restore(accessor: ServicesAccessor): void;
43
+ protected restore(instantiationService: IInstantiationService, lifecycleService: ILifecycleService): void;
46
44
  }
@@ -6,7 +6,10 @@ import { timeout, RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/v
6
6
  import { isFirefox, isChrome, isSafari } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/browser';
7
7
  import { mark } from '@codingame/monaco-vscode-api/vscode/vs/base/common/performance';
8
8
  import { onUnexpectedError, setUnexpectedErrorHandler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
9
+ import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
9
10
  import { isNative, isMacintosh, isWindows, isLinux, isWeb } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
11
+ import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
12
+ import { EditorExtensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
10
13
  import { getSingletonServiceDescriptors } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
11
14
  import { Parts, Position, positionToString } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
12
15
  import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService.service';
@@ -24,7 +27,8 @@ import { NotificationsToasts } from '@codingame/monaco-vscode-api/vscode/vs/work
24
27
  import { setARIAContainer } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
25
28
  import { FontMeasurements } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/config/fontMeasurements';
26
29
  import { createBareFontInfoFromRawSettings } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/config/fontInfoFromSettings';
27
- import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
30
+ import { createUnexpectedErrorHandler } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log';
31
+ import { WorkbenchContextKeysHandler } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/contextkeys';
28
32
  import { coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
29
33
  import { InstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiationService';
30
34
  import { Layout } from './layout.js';
@@ -32,6 +36,10 @@ import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/s
32
36
  import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
33
37
  import { mainWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/window';
34
38
  import { PixelRatio } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/pixelRatio';
39
+ import { WorkbenchHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover';
40
+ import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
41
+ import { setHoverDelegateFactory } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
42
+ import { setBaseLayerHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegate2';
35
43
  import { AccessibilityProgressSignalScheduler } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/progressAccessibilitySignalScheduler';
36
44
  import { setProgressAccessibilitySignalScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/progressbar/progressAccessibilitySignal';
37
45
  import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
@@ -51,10 +59,6 @@ class Workbench extends Layout {
51
59
  this.onWillShutdown = this._onWillShutdown.event;
52
60
  this._onDidShutdown = this._register(( new Emitter()));
53
61
  this.onDidShutdown = this._onDidShutdown.event;
54
- this.previousUnexpectedError = {
55
- message: undefined,
56
- time: 0
57
- };
58
62
  mark("code/willStartWorkbench");
59
63
  this.registerErrorHandler(logService);
60
64
  this.parent.appendChild(this.mainContainer);
@@ -67,20 +71,7 @@ class Workbench extends Layout {
67
71
  onUnexpectedError(event.reason);
68
72
  event.preventDefault();
69
73
  });
70
- setUnexpectedErrorHandler(error => this.handleUnexpectedError(error, logService));
71
- }
72
- handleUnexpectedError(error, logService) {
73
- const message = toErrorMessage(error, true);
74
- if (!message) {
75
- return;
76
- }
77
- const now = Date.now();
78
- if (message === this.previousUnexpectedError.message && now - this.previousUnexpectedError.time <= 1000) {
79
- return;
80
- }
81
- this.previousUnexpectedError.time = now;
82
- this.previousUnexpectedError.message = message;
83
- logService.error(message);
74
+ setUnexpectedErrorHandler(createUnexpectedErrorHandler(logService));
84
75
  }
85
76
  startup() {
86
77
  try {
@@ -91,11 +82,21 @@ class Workbench extends Layout {
91
82
  const storageService = accessor.get(IStorageService);
92
83
  const configurationService = accessor.get(IConfigurationService);
93
84
  const hostService = accessor.get(IHostService);
85
+ const hoverService = accessor.get(IHoverService);
94
86
  const dialogService = accessor.get(IDialogService);
95
87
  const notificationService = accessor.get(INotificationService);
96
88
  const markdownRendererService = accessor.get(IMarkdownRendererService);
97
89
  markdownRendererService.setDefaultCodeBlockRenderer(instantiationService.createInstance(EditorMarkdownCodeBlockRenderer));
90
+ setHoverDelegateFactory(
91
+ (placement, enableInstantHover) => instantiationService.createInstance(WorkbenchHoverDelegate, placement, {
92
+ instantHover: enableInstantHover
93
+ }, {})
94
+ );
95
+ setBaseLayerHoverDelegate(hoverService);
98
96
  this.initLayout(accessor);
97
+ ( Registry.as(Extensions.Workbench)).start(accessor);
98
+ ( Registry.as(EditorExtensions.EditorFactory)).start(accessor);
99
+ this._register(instantiationService.createInstance(WorkbenchContextKeysHandler));
99
100
  this.registerListeners(
100
101
  lifecycleService,
101
102
  storageService,
@@ -111,7 +112,7 @@ class Workbench extends Layout {
111
112
  );
112
113
  this.createWorkbenchLayout();
113
114
  this.layout();
114
- this.restore(accessor);
115
+ this.restore(instantiationService, lifecycleService);
115
116
  });
116
117
  return instantiationService;
117
118
  } catch (error) {
@@ -324,7 +325,9 @@ class Workbench extends Layout {
324
325
  this._register(notificationsToasts.onDidChangeVisibility(() => {
325
326
  notificationsStatus.update(notificationsCenter.isVisible, notificationsToasts.isVisible);
326
327
  }));
327
- registerNotificationCommands(notificationsCenter, notificationsToasts, notificationService.model);
328
+ this._register(
329
+ registerNotificationCommands(notificationsCenter, notificationsToasts, notificationService.model)
330
+ );
328
331
  AccessibleViewRegistry.register(( new NotificationAccessibleView()));
329
332
  this.registerNotifications({
330
333
  onDidChangeNotificationsVisibility: Event.map(Event.any(
@@ -333,10 +336,9 @@ class Workbench extends Layout {
333
336
  ), () => notificationsToasts.isVisible || notificationsCenter.isVisible)
334
337
  });
335
338
  }
336
- restore(accessor) {
337
- const lifecycleService = accessor.get(ILifecycleService);
339
+ restore(instantiationService, lifecycleService) {
338
340
  try {
339
- this.restoreParts(accessor);
341
+ this.restoreParts(instantiationService);
340
342
  } catch (error) {
341
343
  onUnexpectedError(error);
342
344
  }
@@ -0,0 +1,6 @@
1
+ import { IAutomationSchedule } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/automations/automation";
2
+ /** Projects a fixed UTC schedule into local wall-clock fields using a Date.getTimezoneOffset() value. */
3
+ export declare function automationScheduleToLocal(schedule: IAutomationSchedule, timezoneOffset?: number): IAutomationSchedule;
4
+ /** Converts local wall-clock fields to fixed UTC, using the same offset as the editing session. */
5
+ export declare function automationScheduleToUTC(schedule: IAutomationSchedule, timezoneOffset?: number): IAutomationSchedule;
6
+ export declare const DAYS_OF_WEEK: readonly string[];
@@ -0,0 +1,41 @@
1
+
2
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
+
4
+ function automationScheduleToLocal(
5
+ schedule,
6
+ timezoneOffset = ( new Date()).getTimezoneOffset()
7
+ ) {
8
+ if (schedule.timeZone !== "UTC") {
9
+ return schedule;
10
+ }
11
+ const {
12
+ timeZone: _timeZone,
13
+ ...local
14
+ } = shiftSchedule(schedule, -timezoneOffset);
15
+ return local;
16
+ }
17
+ function automationScheduleToUTC(
18
+ schedule,
19
+ timezoneOffset = ( new Date()).getTimezoneOffset()
20
+ ) {
21
+ return schedule.timeZone === "UTC" ? schedule : {
22
+ ...shiftSchedule(schedule, timezoneOffset),
23
+ timeZone: "UTC"
24
+ };
25
+ }
26
+ function shiftSchedule(schedule, minutes) {
27
+ if (schedule.interval !== "daily" && schedule.interval !== "weekly") {
28
+ return schedule;
29
+ }
30
+ const shifted = schedule.scheduleHour * 60 + schedule.scheduleMinute + minutes;
31
+ const minuteOfDay = ((shifted % 1440) + 1440) % 1440;
32
+ return {
33
+ ...schedule,
34
+ scheduleHour: Math.floor(minuteOfDay / 60),
35
+ scheduleMinute: minuteOfDay % 60,
36
+ scheduleDay: schedule.interval === "weekly" ? ((schedule.scheduleDay + Math.floor(shifted / 1440)) % 7 + 7) % 7 : schedule.scheduleDay
37
+ };
38
+ }
39
+ const DAYS_OF_WEEK = [( localize(14828, "Sunday")), ( localize(14829, "Monday")), ( localize(14830, "Tuesday")), ( localize(14831, "Wednesday")), ( localize(14832, "Thursday")), ( localize(14833, "Friday")), ( localize(14834, "Saturday"))];
40
+
41
+ export { DAYS_OF_WEEK, automationScheduleToLocal, automationScheduleToUTC };
@@ -0,0 +1,15 @@
1
+ import { IChatUsage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
2
+ export interface IChatUsageModelSummary {
3
+ readonly model: string;
4
+ readonly inputTokens: number;
5
+ readonly cachedTokens: number;
6
+ readonly outputTokens: number;
7
+ }
8
+ export interface IChatUsageSummary {
9
+ readonly inputTokens: number;
10
+ readonly cachedTokens?: number;
11
+ readonly outputTokens: number;
12
+ readonly models: readonly IChatUsageModelSummary[];
13
+ readonly isComplete: boolean;
14
+ }
15
+ export declare function aggregateChatUsage(usages: readonly (IChatUsage | undefined)[]): IChatUsageSummary | undefined;