@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,8 +2,8 @@
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
3
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
4
4
  import * as sessionsPolicyBlocked from './media/sessionsPolicyBlocked.css';
5
- import { Disposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
- import { append, $, addDisposableListener, getWindow, EventType, addDisposableGenericMouseDownListener, createTextNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
+ import { Disposable, toDisposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
+ import { getActiveElement, append, $, isHTMLElement, addDisposableListener, EventType, scheduleAtNextAnimationFrame, getWindow, addDisposableGenericMouseDownListener, createTextNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
7
7
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
8
8
  import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
9
9
  import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
@@ -11,9 +11,15 @@ import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/
11
11
  import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
12
12
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
13
13
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
14
+ import { Parts } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
14
15
  import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService.service';
15
16
  import { IDefaultAccountService } from '@codingame/monaco-vscode-api/vscode/vs/platform/defaultAccount/common/defaultAccount.service';
16
17
  import { ManagedSettingsFreshnessFailure } from '@codingame/monaco-vscode-api/vscode/vs/platform/policy/common/managedSettingsFreshness';
18
+ import { mainWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/window';
19
+ import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
20
+ import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
21
+ import { ISessionsPartService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsPartService.service';
22
+ import { ISessionsService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsService.service';
17
23
 
18
24
  registerCss(sessionsPolicyBlocked, 1);
19
25
  var SessionsBlockedReason;
@@ -22,6 +28,7 @@ var SessionsBlockedReason;
22
28
  SessionsBlockedReason["Loading"] = "loading";
23
29
  SessionsBlockedReason["AccountPolicyGate"] = "accountPolicyGate";
24
30
  SessionsBlockedReason["ManagedSettingsRefresh"] = "managedSettingsRefresh";
31
+ SessionsBlockedReason["UpdateRequired"] = "updateRequired";
25
32
  })(SessionsBlockedReason || (SessionsBlockedReason = {}));
26
33
  let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Disposable {
27
34
  constructor(
@@ -31,26 +38,101 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
31
38
  openerService,
32
39
  productService,
33
40
  defaultAccountService,
34
- layoutService
41
+ layoutService,
42
+ sessionsPartService,
43
+ sessionsService
35
44
  ) {
36
45
  super();
46
+ this.options = options;
37
47
  this.commandService = commandService;
38
48
  this.openerService = openerService;
39
49
  this.productService = productService;
40
50
  this.defaultAccountService = defaultAccountService;
51
+ this.sessionsPartService = sessionsPartService;
52
+ this.sessionsService = sessionsService;
53
+ this.previouslyFocused = getActiveElement();
41
54
  this.overlay = append(container, $(".sessions-policy-blocked-overlay"));
42
- this.overlay.setAttribute("role", "dialog");
43
- this.overlay.setAttribute("aria-modal", "true");
55
+ this.overlay.setAttribute(
56
+ "role",
57
+ options.reason === SessionsBlockedReason.UpdateRequired ? "region" : "dialog"
58
+ );
59
+ if (options.reason !== SessionsBlockedReason.UpdateRequired) {
60
+ this.overlay.setAttribute("aria-modal", "true");
61
+ }
44
62
  this.overlay.tabIndex = -1;
45
- this.overlay.focus();
63
+ if (options.shouldFocus !== false) {
64
+ this.overlay.focus();
65
+ }
46
66
  this._register(toDisposable(() => this.overlay.remove()));
47
67
  const workbenchRoot = layoutService.mainContainer;
48
68
  workbenchRoot.classList.add("sessions-policy-blocked");
49
69
  this._register(
50
70
  toDisposable(() => workbenchRoot.classList.remove("sessions-policy-blocked"))
51
71
  );
52
- const card = append(this.overlay, $(".sessions-policy-blocked-card"));
72
+ const scrollContent = options.reason === SessionsBlockedReason.UpdateRequired ? $(".sessions-policy-blocked-scroll-content") : this.overlay;
73
+ const scrollable = options.reason === SessionsBlockedReason.UpdateRequired ? this._register(( new DomScrollableElement(scrollContent, {
74
+ horizontal: ScrollbarVisibility.Hidden,
75
+ vertical: ScrollbarVisibility.Auto,
76
+ useShadows: false
77
+ }))) : undefined;
78
+ const revealFocusedAction = () => {
79
+ const focusedElement = getActiveElement();
80
+ if (isHTMLElement(focusedElement) && scrollContent.contains(focusedElement)) {
81
+ focusedElement.scrollIntoView({
82
+ block: "nearest",
83
+ inline: "nearest"
84
+ });
85
+ scrollable?.scanDomNode();
86
+ }
87
+ };
88
+ if (scrollable) {
89
+ const scrollContainer = append(this.overlay, scrollable.getDomNode());
90
+ scrollContainer.classList.add("sessions-policy-blocked-scrollable");
91
+ this._register(
92
+ addDisposableListener(scrollContent, EventType.SCROLL, () => scrollable.setScrollPosition({
93
+ scrollTop: scrollContent.scrollTop
94
+ }))
95
+ );
96
+ const focusScroll = this._register(( new MutableDisposable()));
97
+ this._register(addDisposableListener(scrollContent, EventType.FOCUS_IN, () => {
98
+ focusScroll.value = scheduleAtNextAnimationFrame(getWindow(scrollContent), revealFocusedAction);
99
+ }));
100
+ }
101
+ const card = append(scrollContent, $(".sessions-policy-blocked-card"));
102
+ if (options.reason === SessionsBlockedReason.UpdateRequired) {
103
+ this.overlay.classList.add("update-required");
104
+ const inertParts = ( new Map());
105
+ this._register(toDisposable(() => {
106
+ for (const [part, inert] of inertParts) {
107
+ part.inert = inert;
108
+ }
109
+ }));
110
+ const layout = () => {
111
+ this.overlay.style.top = `${layoutService.mainContainerOffset.top}px`;
112
+ for (const id of [
113
+ Parts.SESSIONS_PART,
114
+ Parts.SIDEBAR_PART,
115
+ Parts.EDITOR_PART,
116
+ Parts.PANEL_PART,
117
+ Parts.AUXILIARYBAR_PART,
118
+ Parts.CUSTOM_VIEW_GRID_PART
119
+ ]) {
120
+ const part = layoutService.getContainer(mainWindow, id);
121
+ if (part && !( inertParts.has(part))) {
122
+ inertParts.set(part, part.inert);
123
+ part.inert = true;
124
+ }
125
+ }
126
+ scrollable?.scanDomNode();
127
+ revealFocusedAction();
128
+ };
129
+ layout();
130
+ this._register(layoutService.onDidLayoutMainContainer(layout));
131
+ }
53
132
  this._register(addDisposableListener(getWindow(this.overlay), EventType.KEY_DOWN, e => {
133
+ if (options.reason === SessionsBlockedReason.UpdateRequired) {
134
+ return;
135
+ }
54
136
  if (card.contains(e.target)) {
55
137
  return;
56
138
  }
@@ -77,16 +159,71 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
77
159
  case SessionsBlockedReason.ManagedSettingsRefresh:
78
160
  this._renderManagedSettingsRefresh(card, options.freshness);
79
161
  break;
162
+ case SessionsBlockedReason.UpdateRequired:
163
+ {
164
+ const button = this._renderUpdateRequired(card, options.updateInfo);
165
+ scrollable?.scanDomNode();
166
+ if (options.shouldFocus !== false) {
167
+ button.focus();
168
+ }
169
+ break;
170
+ }
171
+ }
172
+ }
173
+ hasFocus() {
174
+ return this.overlay.contains(getActiveElement());
175
+ }
176
+ dispose() {
177
+ const restoreFocus = this.options.reason === SessionsBlockedReason.UpdateRequired && this.hasFocus();
178
+ super.dispose();
179
+ if (!restoreFocus) {
180
+ return;
80
181
  }
182
+ if (isHTMLElement(this.previouslyFocused) && this.previouslyFocused.isConnected && this.previouslyFocused !== this.previouslyFocused.ownerDocument.body && this.previouslyFocused !== this.previouslyFocused.ownerDocument.documentElement) {
183
+ this.previouslyFocused.focus({
184
+ preventScroll: true
185
+ });
186
+ if (getActiveElement() === this.previouslyFocused) {
187
+ return;
188
+ }
189
+ }
190
+ this.sessionsPartService.focusSession(this.sessionsService.activeSession.get());
191
+ }
192
+ _renderUpdateRequired(card, info) {
193
+ this.overlay.setAttribute("aria-label", info.title);
194
+ append(card, $("h2", undefined, info.title));
195
+ append(card, $("p", undefined, info.message));
196
+ if (info.detail) {
197
+ append(card, $("p", undefined, info.detail));
198
+ }
199
+ if (info.updateStatus) {
200
+ append(card, $("p", undefined, info.updateStatus));
201
+ }
202
+ let updateButton;
203
+ if (info.action) {
204
+ const action = info.action;
205
+ updateButton = this._register(( new Button(card, defaultButtonStyles)));
206
+ updateButton.label = action.label;
207
+ this._register(updateButton.onDidClick(() => this.openerService.open(action.href, {
208
+ allowCommands: true
209
+ })));
210
+ }
211
+ const button = this._register(( new Button(card, {
212
+ ...defaultButtonStyles,
213
+ secondary: true
214
+ })));
215
+ button.label = ( localize(4804, "Open Editor Window"));
216
+ this._register(button.onDidClick(() => this._openVSCode()));
217
+ return updateButton ?? button;
81
218
  }
82
219
  _renderAgentDisabled(card) {
83
- this.overlay.setAttribute("aria-label", ( localize(4166, "Agents disabled by organization policy")));
84
- append(card, $("h2", undefined, ( localize(4167, "Agents Disabled"))));
220
+ this.overlay.setAttribute("aria-label", ( localize(4805, "Agents disabled by organization policy")));
221
+ append(card, $("h2", undefined, ( localize(4806, "Agents Disabled"))));
85
222
  const description = append(card, $("p"));
86
- append(description, createTextNode(( localize(4168, "Your organization has disabled Agents via policy."))));
223
+ append(description, createTextNode(( localize(4807, "Your organization has disabled Agents via policy."))));
87
224
  append(description, createTextNode(" "));
88
225
  const learnMore = append(description, $("a.sessions-policy-blocked-link"));
89
- learnMore.textContent = ( localize(4169, "Learn more"));
226
+ learnMore.textContent = ( localize(4808, "Learn more"));
90
227
  learnMore.href = "https://aka.ms/VSCode/Agents/docs";
91
228
  this._register(addDisposableListener(learnMore, EventType.CLICK, e => {
92
229
  e.preventDefault();
@@ -96,11 +233,11 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
96
233
  ...defaultButtonStyles,
97
234
  secondary: true
98
235
  })));
99
- button.label = ( localize(4170, "Open VS Code"));
236
+ button.label = ( localize(4809, "Open VS Code"));
100
237
  this._register(button.onDidClick(() => this._openVSCode()));
101
238
  }
102
239
  _renderLoading(card) {
103
- this.overlay.setAttribute("aria-label", ( localize(4171, "Loading")));
240
+ this.overlay.setAttribute("aria-label", ( localize(4810, "Loading")));
104
241
  append(card, $(
105
242
  "div.sessions-policy-blocked-progress-bar",
106
243
  undefined,
@@ -108,18 +245,18 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
108
245
  ));
109
246
  }
110
247
  _renderAccountPolicyGate(card, options) {
111
- this.overlay.setAttribute("aria-label", ( localize(4172, "Sign-in required by your administrator")));
112
- append(card, $("h2", undefined, ( localize(4173, "Sign-In Required"))));
248
+ this.overlay.setAttribute("aria-label", ( localize(4811, "Sign-in required by your administrator")));
249
+ append(card, $("h2", undefined, ( localize(4812, "Sign-In Required"))));
113
250
  const description = append(card, $("p"));
114
251
  if (options.accountName) {
115
252
  append(description, createTextNode(( localize(
116
- 4174,
253
+ 4813,
117
254
  "The account \"{0}\" is not a member of an organization that your administrator allows for Agents.",
118
255
  options.accountName
119
256
  ))));
120
257
  } else {
121
258
  append(description, createTextNode(( localize(
122
- 4175,
259
+ 4814,
123
260
  "Your administrator restricts Agents to members of the organizations below."
124
261
  ))));
125
262
  }
@@ -129,7 +266,7 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
129
266
  const orgSection = append(card, $("div.sessions-policy-blocked-orgs"));
130
267
  append(
131
268
  orgSection,
132
- $("p.sessions-policy-blocked-orgs-label", undefined, ( localize(4176, "Allowed organizations:")))
269
+ $("p.sessions-policy-blocked-orgs-label", undefined, ( localize(4815, "Allowed organizations:")))
133
270
  );
134
271
  const orgList = append(orgSection, $("ul"));
135
272
  for (const org of approvedOrgs) {
@@ -137,10 +274,10 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
137
274
  }
138
275
  }
139
276
  const footer = append(card, $("p.sessions-policy-blocked-footer"));
140
- append(footer, createTextNode(( localize(4177, "Contact your administrator for more information."))));
277
+ append(footer, createTextNode(( localize(4816, "Contact your administrator for more information."))));
141
278
  append(footer, createTextNode(" "));
142
279
  const learnMore = append(footer, $("a.sessions-policy-blocked-link"));
143
- learnMore.textContent = ( localize(4178, "Learn more"));
280
+ learnMore.textContent = ( localize(4817, "Learn more"));
144
281
  learnMore.href = "https://code.visualstudio.com/docs/enterprise/overview";
145
282
  this._register(addDisposableListener(learnMore, EventType.CLICK, e => {
146
283
  e.preventDefault();
@@ -149,31 +286,31 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
149
286
  const signInButton = this._register(( new Button(card, {
150
287
  ...defaultButtonStyles
151
288
  })));
152
- signInButton.label = ( localize(4179, "Sign In"));
289
+ signInButton.label = ( localize(4818, "Sign In"));
153
290
  this._register(signInButton.onDidClick(() => {
154
291
  this.commandService.executeCommand("workbench.action.agenticSignIn");
155
292
  }));
156
293
  }
157
294
  _renderManagedSettingsRefresh(card, freshness) {
158
- this.overlay.setAttribute("aria-label", ( localize(4180, "Managed settings refresh required")));
159
- append(card, $("h2", undefined, ( localize(4181, "Managed Settings Unavailable"))));
295
+ this.overlay.setAttribute("aria-label", ( localize(4819, "Managed settings refresh required")));
296
+ append(card, $("h2", undefined, ( localize(4820, "Managed Settings Unavailable"))));
160
297
  const message = freshness?.failure === ManagedSettingsFreshnessFailure.NoToken ? ( localize(
161
- 4182,
298
+ 4821,
162
299
  "Sign in so {0} can refresh your organization's managed settings before starting an agent.",
163
300
  this.productService.nameShort
164
301
  )) : freshness?.failure === ManagedSettingsFreshnessFailure.RateLimited ? ( localize(
165
- 4183,
302
+ 4822,
166
303
  "Your organization's managed settings service is rate limiting requests. Try again later."
167
304
  )) : freshness?.failure === ManagedSettingsFreshnessFailure.NoUrl ? ( localize(
168
- 4184,
305
+ 4823,
169
306
  "{0} cannot locate your organization's managed settings service. Contact your administrator.",
170
307
  this.productService.nameShort
171
308
  )) : freshness?.failure === ManagedSettingsFreshnessFailure.UpdateRequired ? ( localize(
172
- 4185,
309
+ 4824,
173
310
  "Update {0} to a version that supports your organization's managed settings before starting an agent.",
174
311
  this.productService.nameShort
175
312
  )) : ( localize(
176
- 4186,
313
+ 4825,
177
314
  "Your organization requires {0} to refresh managed settings whenever it starts or reloads. An error prevented the required policy from being retrieved, so agents are unavailable. Retry, or contact your organization's administrator if the issue persists.",
178
315
  this.productService.nameShort
179
316
  ));
@@ -182,7 +319,7 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
182
319
  const signInButton = this._register(( new Button(card, {
183
320
  ...defaultButtonStyles
184
321
  })));
185
- signInButton.label = ( localize(4187, "Sign In"));
322
+ signInButton.label = ( localize(4826, "Sign In"));
186
323
  this._register(
187
324
  signInButton.onDidClick(() => this.commandService.executeCommand("workbench.action.agenticSignIn"))
188
325
  );
@@ -190,7 +327,7 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
190
327
  const retryButton = this._register(( new Button(card, {
191
328
  ...defaultButtonStyles
192
329
  })));
193
- retryButton.label = ( localize(4188, "Retry"));
330
+ retryButton.label = ( localize(4827, "Retry"));
194
331
  this._register(retryButton.onDidClick(() => this.defaultAccountService.refresh({
195
332
  forceRefresh: true,
196
333
  retryManagedSettings: true
@@ -200,7 +337,7 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
200
337
  ...defaultButtonStyles,
201
338
  secondary: true
202
339
  })));
203
- openVSCodeButton.label = ( localize(4189, "Open VS Code"));
340
+ openVSCodeButton.label = ( localize(4828, "Open VS Code"));
204
341
  this._register(openVSCodeButton.onDidClick(() => this._openVSCode()));
205
342
  }
206
343
  _openVSCode() {
@@ -213,6 +350,6 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
213
350
  });
214
351
  }
215
352
  };
216
- SessionsPolicyBlockedOverlay = ( __decorate([( __param(2, ICommandService)), ( __param(3, IOpenerService)), ( __param(4, IProductService)), ( __param(5, IDefaultAccountService)), ( __param(6, IWorkbenchLayoutService))], SessionsPolicyBlockedOverlay));
353
+ SessionsPolicyBlockedOverlay = ( __decorate([( __param(2, ICommandService)), ( __param(3, IOpenerService)), ( __param(4, IProductService)), ( __param(5, IDefaultAccountService)), ( __param(6, IWorkbenchLayoutService)), ( __param(7, ISessionsPartService)), ( __param(8, ISessionsService))], SessionsPolicyBlockedOverlay));
217
354
 
218
355
  export { SessionsBlockedReason, SessionsPolicyBlockedOverlay };
@@ -9,13 +9,13 @@ import { ISessionsService } from '@codingame/monaco-vscode-api/vscode/vs/session
9
9
  import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service';
10
10
 
11
11
  registerAction2(class extends ForkConversationAction {
12
- async _tryForkAsChat(instantiationService, sourceSessionResource, request) {
12
+ async _tryForkAsChat(instantiationService, sourceSessionResource, request, options) {
13
13
  return instantiationService.invokeFunction(async accessor => {
14
14
  const sessionsManagementService = accessor.get(ISessionsManagementService);
15
15
  const sessionsService = accessor.get(ISessionsService);
16
16
  const chatService = accessor.get(IChatService);
17
17
  const logService = accessor.get(ILogService);
18
- const session = sessionsManagementService.getSession(sourceSessionResource) ?? sessionsManagementService.getSessions().find(s => ( s.chats.get().some(c => ( c.resource.toString()) === ( sourceSessionResource.toString()))));
18
+ const session = sessionsManagementService.getSession(sourceSessionResource) ?? sessionsManagementService.getSessionForChatResource(sourceSessionResource)?.session;
19
19
  if (!session?.capabilities.get().supportsMultipleChats || !isAgentHostProviderId(session.providerId)) {
20
20
  return false;
21
21
  }
@@ -34,17 +34,28 @@ registerAction2(class extends ForkConversationAction {
34
34
  return false;
35
35
  }
36
36
  const newChat = await sessionsManagementService.forkChatInSession(session, sourceSessionResource, turnId);
37
- await sessionsService.openChat(session, newChat.resource);
37
+ if (options?.toSide) {
38
+ await sessionsService.openChatToSide(session, newChat.resource, {
39
+ referenceChatResource: sourceSessionResource
40
+ });
41
+ } else {
42
+ await sessionsService.openChat(session, newChat.resource);
43
+ }
38
44
  logService.trace(`[AgentHostSessions] Forked conversation into new chat ${( newChat.resource.toString())} in session ${session.sessionId}`);
39
45
  return true;
40
46
  });
41
47
  }
42
- _openForkedSession(instantiationService, parentSessionResource, forkedSessionResource) {
48
+ _openForkedSession(
49
+ instantiationService,
50
+ parentSessionResource,
51
+ forkedSessionResource,
52
+ options
53
+ ) {
43
54
  return instantiationService.invokeFunction(async accessor => {
44
55
  const sessionsManagementService = accessor.get(ISessionsManagementService);
45
56
  const sessionsService = accessor.get(ISessionsService);
46
57
  const logService = accessor.get(ILogService);
47
- const parentSession = sessionsManagementService.getSession(parentSessionResource);
58
+ const parentSession = sessionsManagementService.getSession(parentSessionResource) ?? sessionsManagementService.getSessionForChatResource(parentSessionResource)?.session;
48
59
  if (!parentSession) {
49
60
  logService.error(`Parent session ${( parentSessionResource.toString())} not found when forking conversation`);
50
61
  return super._openForkedSession(instantiationService, parentSessionResource, forkedSessionResource);
@@ -64,9 +75,20 @@ registerAction2(class extends ForkConversationAction {
64
75
  return;
65
76
  }
66
77
  }
67
- await sessionsService.openSession(forkedSessionResource, {
68
- source: "fork"
69
- });
78
+ if (options?.toSide) {
79
+ const forkedSession = sessionsManagementService.getSession(forkedSessionResource);
80
+ if (!forkedSession) {
81
+ throw ( new Error(`Forked session ${( forkedSessionResource.toString())} is no longer available`));
82
+ }
83
+ await sessionsService.openSessionToSide(forkedSession, {
84
+ source: "fork",
85
+ referenceSessionId: parentSession.sessionId
86
+ });
87
+ } else {
88
+ await sessionsService.openSession(forkedSessionResource, {
89
+ source: "fork"
90
+ });
91
+ }
70
92
  });
71
93
  }
72
94
  });
@@ -6,15 +6,11 @@ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/
6
6
  import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
7
7
  import { IAgentHostConnectionsService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostConnectionsService.service';
8
8
  import { buildExternalOpenSessionLinkUri } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/openSessionLink';
9
- import { ANY_AGENT_HOST_PROVIDER_RE } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/agentHostSessionsProvider';
9
+ import { ANY_AGENT_HOST_PROVIDER_RE, isAgentHostProviderId } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/agentHostSessionsProvider';
10
10
  import { SessionProviderIdContext } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/contextkeys';
11
11
  import { COPY_AGENT_HOST_SESSION_LINK_COMMAND_ID, COPY_AGENT_HOST_CHAT_LINK_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/sessionCommands';
12
12
  import { Menus } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/menus';
13
- import { SessionItemContextMenuId, SessionItemHasBranchNameContext } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/sessions/browser/views/sessionsList';
14
13
 
15
- function getSession(context) {
16
- return Array.isArray(context) ? context[0] : context;
17
- }
18
14
  function buildExternalLink(accessor, session, chatId) {
19
15
  const identity = accessor.get(IAgentHostConnectionsService).resolveSessionResourceIdentity(session.resource);
20
16
  if (!identity) {
@@ -26,9 +22,9 @@ registerAction2(class CopyAgentHostSessionLinkAction extends Action2 {
26
22
  constructor() {
27
23
  super({
28
24
  id: COPY_AGENT_HOST_SESSION_LINK_COMMAND_ID,
29
- title: ( localize2(4210, "Copy Link")),
25
+ title: ( localize2(4861, "Copy Link")),
30
26
  menu: [{
31
- id: SessionItemContextMenuId,
27
+ id: Menus.SessionItemContextMenu,
32
28
  group: "2_open",
33
29
  order: 2,
34
30
  when: ( ContextKeyExpr.regex(SessionProviderIdContext.key, ANY_AGENT_HOST_PROVIDER_RE))
@@ -41,21 +37,21 @@ registerAction2(class CopyAgentHostSessionLinkAction extends Action2 {
41
37
  });
42
38
  }
43
39
  async run(accessor, context) {
44
- const session = getSession(context);
45
- if (!session) {
40
+ const sessions = (Array.isArray(context) ? context : context ? [context] : []).filter(session => isAgentHostProviderId(session.providerId));
41
+ if (sessions.length === 0) {
46
42
  return;
47
43
  }
48
- await accessor.get(IClipboardService).writeText(buildExternalLink(accessor, session));
44
+ await accessor.get(IClipboardService).writeText(sessions.map(session => buildExternalLink(accessor, session)).join("\n"));
49
45
  }
50
46
  });
51
47
  registerAction2(class CopyAgentHostChatLinkAction extends Action2 {
52
48
  constructor() {
53
49
  super({
54
50
  id: COPY_AGENT_HOST_CHAT_LINK_COMMAND_ID,
55
- title: ( localize2(4211, "Copy Link")),
51
+ title: ( localize2(4862, "Copy Link")),
56
52
  menu: [{
57
53
  id: Menus.SessionChatItemContext,
58
- group: "2_copy",
54
+ group: "3_copy",
59
55
  order: 1,
60
56
  when: ( ContextKeyExpr.regex(SessionProviderIdContext.key, ANY_AGENT_HOST_PROVIDER_RE))
61
57
  }]
@@ -70,25 +66,3 @@ registerAction2(class CopyAgentHostChatLinkAction extends Action2 {
70
66
  );
71
67
  }
72
68
  });
73
- registerAction2(class CopySessionBranchNameAction extends Action2 {
74
- constructor() {
75
- super({
76
- id: "sessionsViewPane.agentHost.copySessionBranchName",
77
- title: ( localize2(4212, "Copy Branch Name")),
78
- menu: [{
79
- id: SessionItemContextMenuId,
80
- group: "2_open",
81
- order: 3,
82
- when: ( ContextKeyExpr.and(( ContextKeyExpr.regex(SessionProviderIdContext.key, ANY_AGENT_HOST_PROVIDER_RE)), SessionItemHasBranchNameContext))
83
- }]
84
- });
85
- }
86
- async run(accessor, context) {
87
- const session = getSession(context);
88
- const branchName = session?.workspace.get()?.folders[0]?.gitRepository?.branchName?.trim();
89
- if (!branchName) {
90
- return;
91
- }
92
- await accessor.get(IClipboardService).writeText(branchName);
93
- }
94
- });