@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
@@ -1,97 +1,24 @@
1
- import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
1
  import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
- import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
4
- import { IActiveSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
5
- import { ISessionsManagementService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service";
6
- import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
7
- import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
2
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
8
3
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
9
- import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
4
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
5
+ import { IActiveSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
10
6
  /**
11
- * The session header shown at the top of a session view. It surfaces the session
12
- * identity and session toolbar.
13
- *
14
- * It is intentionally decoupled from the {@link ChatCompositeBar} (the chat tab
15
- * strip) so the two surfaces evolve independently. The hosting view tells the
16
- * header which session is relevant via {@link setSession}.
7
+ * Session-scoped header whose title follows the session's active chat.
17
8
  */
18
9
  export declare class SessionHeader extends Disposable {
19
- private readonly _themeService;
20
- private readonly _contextMenuService;
21
- private readonly _contextKeyService;
22
- private readonly _sessionsManagementService;
23
- private readonly _container;
24
- private readonly _iconEl;
25
- private readonly _titleEl;
26
- private readonly _titleTextEl;
27
- private readonly _toolbar;
28
- private readonly _titleActionsEl;
10
+ private readonly _bar;
29
11
  private readonly _sessionDisposables;
30
- private readonly _editingDisposables;
31
- private _renameInput;
32
- private _session;
33
- private _sessionIsCreated;
34
- private _requestedVisible;
35
- private _lastPointerDownTarget;
36
- private readonly _onDidChangeVisibility;
37
- readonly onDidChangeVisibility: Event<boolean>;
38
- private readonly _onDidChangeHeight;
39
- readonly onDidChangeHeight: Event<void>;
40
- private _visible;
41
- private readonly _sessionTransfer;
42
- private readonly _statusIcon;
12
+ private readonly _headerTargetsChatKey;
13
+ private readonly _toolbarShowsSessionKey;
43
14
  get element(): HTMLElement;
44
15
  get visible(): boolean;
45
16
  get height(): number;
46
- constructor(_themeService: IThemeService, instantiationService: IInstantiationService, _contextMenuService: IContextMenuService, _contextKeyService: IContextKeyService, _sessionsManagementService: ISessionsManagementService, configurationService: IConfigurationService);
47
- private _registerContextMenu;
48
- private _registerDragSource;
49
- /**
50
- * Tells the header which session is currently relevant. Pass `undefined` to clear.
51
- */
17
+ get onDidChangeVisibility(): Event<boolean>;
18
+ get onDidChangeHeight(): Event<void>;
19
+ constructor(instantiationService: IInstantiationService, contextKeyService: IContextKeyService);
52
20
  setSession(session: IActiveSession | undefined): void;
53
21
  setVisible(visible: boolean): void;
54
- private _updateVisibility;
55
- private _updateHeader;
56
- private _applyVisibility;
57
- private _updateStyles;
58
- /**
59
- * The title is editable when the backing provider declares it supports
60
- * renaming the session (`capabilities.supportsRename`). This is the same
61
- * signal that gates the `Rename...` context menu action in the sessions list.
62
- */
63
- private _isTitleEditable;
64
- /**
65
- * Starts an inline rename of the session title. Returns `false` when the
66
- * header cannot host it — the header is hidden (e.g. while the single-group
67
- * chat tabs row replaces it) or the session cannot be renamed — so callers
68
- * can fall back to another rename affordance.
69
- */
70
22
  startTitleEditing(): boolean;
71
- /**
72
- * Replace the rendered title text with an `<input>` containing the current
73
- * title (pre-selected). Enter commits via {@link ISessionsManagementService.renameChat},
74
- * Escape or blur cancels.
75
- */
76
- private _startTitleEditing;
77
- private _cancelTitleEditing;
78
- private _endTitleEditing;
79
- }
80
- /**
81
- * A lightweight toolbar that renders only the {@link Menus.SessionBarToolbar} menu
82
- * using the same `.chat-composite-bar-toolbar` styling. Unlike the full
83
- * {@link SessionHeader}, this toolbar is absolutely positioned at the top-right of
84
- * the session view and does not allocate any vertical space.
85
- *
86
- * It is shown only when the hosted session exists but has not yet been created.
87
- */
88
- export declare class SessionViewFloatingToolbar extends Disposable {
89
- private readonly _container;
90
- private readonly _toolbar;
91
- private _session;
92
- private readonly _sessionDisposables;
93
- get element(): HTMLElement;
94
- constructor(instantiationService: IInstantiationService, configurationService: IConfigurationService);
95
- setSession(session: IActiveSession | undefined): void;
96
- private _setVisible;
97
23
  }
24
+ export { SessionViewFloatingToolbar } from "./sessionHeaderBar.js";
@@ -1,345 +1,65 @@
1
1
 
2
- import { registerCss } from '@codingame/monaco-vscode-api/css';
3
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
4
- import * as chatCompositeBar from './media/chatCompositeBar.css';
5
- import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
- import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
7
- import { $, addDisposableListener, EventType, DisposableResizeObserver, isMouseEvent, getWindow, addDisposableGenericMouseDownListener, createElement, addStandardDisposableListener } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
8
- import { StandardMouseEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/mouseEvent';
9
- import { KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
3
+ import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
10
4
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
11
- import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
12
- import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
13
- import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service';
14
- import { getUntitledSessionTitle } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
15
- import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
16
- import { MenuWorkbenchToolBar, HiddenItemStrategy } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar';
17
- import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
18
- import { Menus } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/menus';
19
- import { LocalSelectionTransfer } from '@codingame/monaco-vscode-api/vscode/vs/platform/dnd/browser/dnd';
20
- import { DraggedSessionIdentifier, SessionsDataTransfers } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/dnd';
21
- import { applyDragImage } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/dnd/dnd';
22
- import { applySessionBarThemeColors } from './sessionBarStyles.js';
5
+ import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
23
6
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
24
- import { onUnexpectedError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
25
- import { SessionStatusIcon } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/sessionStatusIcon';
26
- import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
27
- import { createSessionActionViewItemProvider } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/sessionActionViewItem';
7
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
8
+ import { SessionHeaderTargetsChatContext, SessionToolbarShowsSessionContext } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/contextkeys';
9
+ import { SessionHeaderBar } from './sessionHeaderBar.js';
10
+ export { SessionViewFloatingToolbar } from './sessionHeaderBar.js';
28
11
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
29
12
 
30
- registerCss(chatCompositeBar, 0);
31
13
  let SessionHeader = class SessionHeader extends Disposable {
32
14
  get element() {
33
- return this._container;
15
+ return this._bar.element;
34
16
  }
35
17
  get visible() {
36
- return this._visible;
18
+ return this._bar.visible;
37
19
  }
38
20
  get height() {
39
- return this._visible ? this._container.offsetHeight : 0;
21
+ return this._bar.height;
40
22
  }
41
- constructor(
42
- _themeService,
43
- instantiationService,
44
- _contextMenuService,
45
- _contextKeyService,
46
- _sessionsManagementService,
47
- configurationService
48
- ) {
49
- super();
50
- this._themeService = _themeService;
51
- this._contextMenuService = _contextMenuService;
52
- this._contextKeyService = _contextKeyService;
53
- this._sessionsManagementService = _sessionsManagementService;
54
- this._sessionDisposables = this._register(( new MutableDisposable()));
55
- this._editingDisposables = this._register(( new MutableDisposable()));
56
- this._sessionIsCreated = false;
57
- this._requestedVisible = true;
58
- this._onDidChangeVisibility = this._register(( new Emitter()));
59
- this.onDidChangeVisibility = this._onDidChangeVisibility.event;
60
- this._onDidChangeHeight = this._register(( new Emitter()));
61
- this.onDidChangeHeight = this._onDidChangeHeight.event;
62
- this._visible = false;
63
- this._sessionTransfer = LocalSelectionTransfer.getInstance();
64
- this._container = $(".chat-composite-bar.session-header-bar");
65
- const header = $(".chat-composite-bar-header");
66
- this._container.appendChild(header);
67
- this._iconEl = $(".chat-composite-bar-session-icon");
68
- header.appendChild(this._iconEl);
69
- this._statusIcon = this._register(instantiationService.createInstance(SessionStatusIcon, this._iconEl));
70
- const main = $(".chat-composite-bar-header-main");
71
- header.appendChild(main);
72
- const titleRow = $(".chat-composite-bar-title-row");
73
- main.appendChild(titleRow);
74
- this._titleEl = $(".chat-composite-bar-session-title");
75
- titleRow.appendChild(this._titleEl);
76
- this._titleTextEl = $("span.chat-composite-bar-session-title-text");
77
- this._titleEl.appendChild(this._titleTextEl);
78
- this._register(addDisposableListener(this._titleEl, EventType.CLICK, () => {
79
- this.startTitleEditing();
80
- }));
81
- const titleActions = $(".chat-composite-bar-title-actions");
82
- titleRow.appendChild(titleActions);
83
- this._titleActionsEl = titleActions;
84
- const toolbarContainer = $(".chat-composite-bar-toolbar");
85
- titleActions.appendChild(toolbarContainer);
86
- this._toolbar = this._register(
87
- instantiationService.createInstance(MenuWorkbenchToolBar, toolbarContainer, Menus.SessionBarToolbar, {
88
- hiddenItemStrategy: HiddenItemStrategy.Ignore,
89
- menuOptions: {
90
- shouldForwardArgs: true
91
- },
92
- highlightToggledItems: true,
93
- actionViewItemProvider: createSessionActionViewItemProvider(instantiationService, configurationService)
94
- })
95
- );
96
- const heightObserver = this._register(( new DisposableResizeObserver("SessionHeader.height", () => {
97
- this._onDidChangeHeight.fire();
98
- })));
99
- this._register(heightObserver.observe(this._container));
100
- this._applyVisibility(false);
101
- this._updateStyles();
102
- this._register(this._themeService.onDidColorThemeChange(() => this._updateStyles()));
103
- this._registerDragSource();
104
- this._registerContextMenu();
23
+ get onDidChangeVisibility() {
24
+ return this._bar.onDidChangeVisibility;
105
25
  }
106
- _registerContextMenu() {
107
- this._register(addDisposableListener(this._container, EventType.CONTEXT_MENU, e => {
108
- const session = this._session;
109
- if (!session) {
110
- return;
111
- }
112
- let anchor = this._container;
113
- if (isMouseEvent(e)) {
114
- anchor = ( new StandardMouseEvent(getWindow(this._container), e));
115
- }
116
- e.preventDefault();
117
- e.stopPropagation();
118
- this._contextMenuService.showContextMenu({
119
- menuId: Menus.SessionHeaderContext,
120
- menuActionOptions: {
121
- shouldForwardArgs: true,
122
- arg: session
123
- },
124
- getAnchor: () => anchor,
125
- contextKeyService: this._contextKeyService
126
- });
127
- }));
26
+ get onDidChangeHeight() {
27
+ return this._bar.onDidChangeHeight;
128
28
  }
129
- _registerDragSource() {
130
- this._container.draggable = true;
131
- this._register(addDisposableGenericMouseDownListener(this._container, e => {
132
- this._lastPointerDownTarget = e.target ?? undefined;
133
- }));
134
- this._register(addDisposableListener(this._container, EventType.DRAG_START, e => {
135
- const session = this._session;
136
- if (!session || !e.dataTransfer) {
137
- e.preventDefault();
138
- return;
139
- }
140
- const target = this._lastPointerDownTarget;
141
- if (target && this._titleActionsEl.contains(target)) {
142
- e.preventDefault();
143
- return;
144
- }
145
- if (this._renameInput) {
146
- e.preventDefault();
147
- return;
148
- }
149
- this._sessionTransfer.setData([( new DraggedSessionIdentifier(session.sessionId, session.resource))], DraggedSessionIdentifier.prototype);
150
- const payload = JSON.stringify({
151
- sessionId: session.sessionId,
152
- resource: ( session.resource.toString())
153
- });
154
- e.dataTransfer.setData(SessionsDataTransfers.SESSION, payload);
155
- e.dataTransfer.effectAllowed = "move";
156
- applyDragImage(e, this._container, session.title.get());
157
- }));
158
- this._register(addDisposableListener(this._container, EventType.DRAG_END, () => {
159
- this._sessionTransfer.clearData(DraggedSessionIdentifier.prototype);
160
- }));
29
+ constructor(instantiationService, contextKeyService) {
30
+ super();
31
+ this._sessionDisposables = this._register(( new DisposableStore()));
32
+ this._headerTargetsChatKey = SessionHeaderTargetsChatContext.bindTo(contextKeyService);
33
+ this._toolbarShowsSessionKey = SessionToolbarShowsSessionContext.bindTo(contextKeyService);
34
+ this._bar = this._register(instantiationService.createInstance(SessionHeaderBar, undefined));
161
35
  }
162
36
  setSession(session) {
163
- if (this._session === session) {
164
- return;
165
- }
166
- this._cancelTitleEditing();
167
- this._session = session;
168
- this._toolbar.context = session;
169
- this._statusIcon.reset();
170
- const store = ( new DisposableStore());
171
- this._sessionDisposables.value = store;
37
+ this._sessionDisposables.clear();
172
38
  if (!session) {
173
- this._sessionIsCreated = false;
174
- this._updateVisibility();
39
+ this._headerTargetsChatKey.reset();
40
+ this._toolbarShowsSessionKey.reset();
41
+ this._bar.setContext(undefined);
175
42
  return;
176
43
  }
177
- store.add(autorun(reader => {
178
- this._updateHeader(session, reader);
179
- }));
180
- store.add(autorun(reader => {
181
- this._sessionIsCreated = session.isCreated.read(reader);
182
- this._updateVisibility();
44
+ this._sessionDisposables.add(autorun(reader => {
45
+ const activeChat = session.activeChat.read(reader);
46
+ const targetsChat = !!activeChat && !isEqual(activeChat.resource, session.mainChat.read(reader).resource);
47
+ this._headerTargetsChatKey.set(targetsChat);
48
+ this._toolbarShowsSessionKey.set(true);
49
+ this._bar.setContext({
50
+ session,
51
+ chat: session.activeChat,
52
+ actionsTargetChat: targetsChat
53
+ });
183
54
  }));
184
55
  }
185
56
  setVisible(visible) {
186
- if (this._requestedVisible === visible) {
187
- return;
188
- }
189
- this._requestedVisible = visible;
190
- this._updateVisibility();
191
- }
192
- _updateVisibility() {
193
- this._applyVisibility(this._sessionIsCreated && this._requestedVisible);
194
- }
195
- _updateHeader(session, reader) {
196
- const status = session.status.read(reader);
197
- const isRead = session.isRead.read(reader);
198
- const isArchived = session.isArchived.read(reader);
199
- this._statusIcon.setStatus(status, isRead, isArchived);
200
- const isQuickChat = session.isQuickChat?.read(reader) ?? false;
201
- this._titleTextEl.textContent = session.title.read(reader) || getUntitledSessionTitle(isQuickChat);
202
- this._titleEl.classList.toggle("editable", this._isTitleEditable());
203
- this._onDidChangeHeight.fire();
204
- }
205
- _applyVisibility(visible) {
206
- const wasVisible = this._visible;
207
- this._visible = visible;
208
- this._container.style.display = this._visible ? "" : "none";
209
- if (wasVisible !== this._visible) {
210
- this._onDidChangeVisibility.fire(this._visible);
211
- }
212
- }
213
- _updateStyles() {
214
- applySessionBarThemeColors(this._container, this._themeService.getColorTheme());
215
- }
216
- _isTitleEditable() {
217
- return !!this._session && (this._session.capabilities.get().supportsRename ?? false);
57
+ this._bar.setVisible(visible);
218
58
  }
219
59
  startTitleEditing() {
220
- if (!this._visible || !this._isTitleEditable()) {
221
- return false;
222
- }
223
- if (this._renameInput) {
224
- this._renameInput.focus();
225
- this._renameInput.select();
226
- return true;
227
- }
228
- this._startTitleEditing();
229
- return true;
230
- }
231
- _startTitleEditing() {
232
- const session = this._session;
233
- if (!session || this._renameInput) {
234
- return;
235
- }
236
- const initialTitle = session.title.get();
237
- const fallbackTitle = getUntitledSessionTitle(session.isQuickChat?.get() ?? false);
238
- const input = createElement("input");
239
- input.type = "text";
240
- input.className = "chat-composite-bar-session-title-input";
241
- input.value = initialTitle;
242
- input.placeholder = fallbackTitle;
243
- input.setAttribute("aria-label", ( localize(3035, "Rename session")));
244
- input.spellcheck = false;
245
- this._titleTextEl.style.display = "none";
246
- this._titleEl.appendChild(input);
247
- this._titleEl.classList.add("editing");
248
- this._renameInput = input;
249
- input.focus();
250
- input.select();
251
- const store = ( new DisposableStore());
252
- this._editingDisposables.value = store;
253
- let finished = false;
254
- const finish = commit => {
255
- if (finished) {
256
- return;
257
- }
258
- finished = true;
259
- const newTitle = input.value.trim();
260
- this._endTitleEditing();
261
- if (commit && newTitle && newTitle !== initialTitle) {
262
- this._sessionsManagementService.renameSession(session, newTitle).catch(onUnexpectedError);
263
- }
264
- };
265
- store.add(addStandardDisposableListener(input, EventType.KEY_DOWN, e => {
266
- if (e.equals(KeyCode.Enter)) {
267
- e.preventDefault();
268
- e.stopPropagation();
269
- finish(true);
270
- } else if (e.equals(KeyCode.Escape)) {
271
- e.preventDefault();
272
- e.stopPropagation();
273
- finish(false);
274
- } else {
275
- e.stopPropagation();
276
- }
277
- }));
278
- store.add(addDisposableListener(input, EventType.BLUR, () => {
279
- finish(false);
280
- }));
281
- store.add(addDisposableGenericMouseDownListener(input, e => e.stopPropagation()));
282
- store.add(addDisposableListener(input, EventType.CLICK, e => e.stopPropagation()));
283
- }
284
- _cancelTitleEditing() {
285
- if (!this._renameInput) {
286
- return;
287
- }
288
- this._endTitleEditing();
289
- }
290
- _endTitleEditing() {
291
- if (this._renameInput) {
292
- this._renameInput.remove();
293
- this._renameInput = undefined;
294
- }
295
- this._titleTextEl.style.display = "";
296
- this._titleEl.classList.remove("editing");
297
- this._editingDisposables.clear();
298
- }
299
- };
300
- SessionHeader = ( __decorate([( __param(0, IThemeService)), ( __param(1, IInstantiationService)), ( __param(2, IContextMenuService)), ( __param(3, IContextKeyService)), ( __param(4, ISessionsManagementService)), ( __param(5, IConfigurationService))], SessionHeader));
301
- let SessionViewFloatingToolbar = class SessionViewFloatingToolbar extends Disposable {
302
- get element() {
303
- return this._container;
304
- }
305
- constructor(instantiationService, configurationService) {
306
- super();
307
- this._sessionDisposables = this._register(( new MutableDisposable()));
308
- this._container = $(".chat-composite-bar.chat-composite-bar-toolbar-floating");
309
- const toolbar = $(".chat-composite-bar-toolbar");
310
- this._container.appendChild(toolbar);
311
- this._toolbar = this._register(
312
- instantiationService.createInstance(MenuWorkbenchToolBar, toolbar, Menus.SessionBarToolbar, {
313
- hiddenItemStrategy: HiddenItemStrategy.Ignore,
314
- menuOptions: {
315
- shouldForwardArgs: true
316
- },
317
- highlightToggledItems: true,
318
- actionViewItemProvider: createSessionActionViewItemProvider(instantiationService, configurationService)
319
- })
320
- );
321
- this._setVisible(false);
322
- }
323
- setSession(session) {
324
- if (this._session === session) {
325
- return;
326
- }
327
- this._session = session;
328
- this._toolbar.context = session;
329
- const store = ( new DisposableStore());
330
- this._sessionDisposables.value = store;
331
- if (!session) {
332
- this._setVisible(false);
333
- return;
334
- }
335
- store.add(autorun(reader => {
336
- this._setVisible(!session.isCreated.read(reader));
337
- }));
338
- }
339
- _setVisible(visible) {
340
- this._container.style.display = visible ? "" : "none";
60
+ return this._bar.startTitleEditing();
341
61
  }
342
62
  };
343
- SessionViewFloatingToolbar = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IConfigurationService))], SessionViewFloatingToolbar));
63
+ SessionHeader = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IContextKeyService))], SessionHeader));
344
64
 
345
- export { SessionHeader, SessionViewFloatingToolbar };
65
+ export { SessionHeader };
@@ -0,0 +1,103 @@
1
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
2
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
4
+ import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
5
+ import { IActiveSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
6
+ import { ISessionsManagementService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service";
7
+ import { IChat } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
8
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
9
+ import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
10
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
11
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
12
+ export interface ISessionHeaderBarContext {
13
+ readonly session: IActiveSession;
14
+ readonly chat: IObservable<IChat | undefined>;
15
+ readonly actionsTargetChat?: boolean;
16
+ readonly activateChatGroup?: () => void;
17
+ }
18
+ /**
19
+ * Shared rendering primitive for session and chat headers. Its public hosts
20
+ * provide the appropriate context through {@link setContext}.
21
+ */
22
+ export declare class SessionHeaderBar extends Disposable {
23
+ private readonly _themeService;
24
+ private readonly _contextMenuService;
25
+ private readonly _contextKeyService;
26
+ private readonly _sessionsManagementService;
27
+ private readonly _container;
28
+ private readonly _iconEl;
29
+ private readonly _titleEl;
30
+ private readonly _titleTextEl;
31
+ private readonly _toolbar;
32
+ private readonly _titleActionsEl;
33
+ private readonly _sessionDisposables;
34
+ private readonly _editingDisposables;
35
+ private _renameInput;
36
+ private _session;
37
+ private _activeChatObservable;
38
+ private _actionsTargetChat;
39
+ private _activateChatGroup;
40
+ private _activeChat;
41
+ private readonly _menuActionArgs;
42
+ private _sessionIsCreated;
43
+ private _requestedVisible;
44
+ private _lastPointerDownTarget;
45
+ private readonly _onDidChangeVisibility;
46
+ readonly onDidChangeVisibility: Event<boolean>;
47
+ private readonly _onDidChangeHeight;
48
+ readonly onDidChangeHeight: Event<void>;
49
+ private _visible;
50
+ private _height;
51
+ private readonly _sessionTransfer;
52
+ private readonly _statusIcon;
53
+ get element(): HTMLElement;
54
+ get visible(): boolean;
55
+ get height(): number;
56
+ constructor(resizeObserverCtor: typeof ResizeObserver | undefined, _themeService: IThemeService, instantiationService: IInstantiationService, _contextMenuService: IContextMenuService, _contextKeyService: IContextKeyService, _sessionsManagementService: ISessionsManagementService, configurationService: IConfigurationService);
57
+ private _registerContextMenu;
58
+ private _registerDragSource;
59
+ setContext(context: ISessionHeaderBarContext | undefined): void;
60
+ setVisible(visible: boolean): void;
61
+ private _updateVisibility;
62
+ private _updateHeader;
63
+ private _getUntitledTitle;
64
+ private _applyVisibility;
65
+ private _updateStyles;
66
+ /**
67
+ * The title is editable when the active chat supports renaming.
68
+ */
69
+ private _isTitleEditable;
70
+ /**
71
+ * Starts an inline rename of the active chat title. Returns `false` when the
72
+ * header cannot host it — the header is hidden (e.g. while the single-group
73
+ * chat tabs row replaces it) or the active chat cannot be renamed — so callers
74
+ * can fall back to another rename affordance.
75
+ */
76
+ startTitleEditing(): boolean;
77
+ /**
78
+ * Replace the rendered title text with an `<input>` containing the active chat
79
+ * title (pre-selected). Enter commits via {@link ISessionsManagementService.renameChat},
80
+ * Escape or blur cancels.
81
+ */
82
+ private _startTitleEditing;
83
+ private _cancelTitleEditing;
84
+ private _endTitleEditing;
85
+ }
86
+ /**
87
+ * A lightweight toolbar that renders only the {@link Menus.SessionBarToolbar} menu
88
+ * using the same `.chat-composite-bar-toolbar` styling. Unlike the full
89
+ * {@link SessionHeaderBar}, this toolbar is absolutely positioned at the top-right of
90
+ * the session view and does not allocate any vertical space.
91
+ *
92
+ * It is shown only when the hosted session exists but has not yet been created.
93
+ */
94
+ export declare class SessionViewFloatingToolbar extends Disposable {
95
+ private readonly _container;
96
+ private readonly _toolbar;
97
+ private _session;
98
+ private readonly _sessionDisposables;
99
+ get element(): HTMLElement;
100
+ constructor(instantiationService: IInstantiationService, configurationService: IConfigurationService);
101
+ setSession(session: IActiveSession | undefined): void;
102
+ private _setVisible;
103
+ }