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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/common.js +2 -0
  2. package/index.js +9 -10
  3. package/package.json +10 -10
  4. package/session.js +45 -42
  5. package/vscode/src/vs/platform/agentHost/common/sessionComparisonPrompts.d.ts +1 -0
  6. package/vscode/src/vs/platform/agentHost/common/sessionComparisonPrompts.js +12 -0
  7. package/vscode/src/vs/sessions/browser/{singlePaneWorkbench.d.ts → desktopWorkbench.d.ts} +6 -5
  8. package/vscode/src/vs/sessions/browser/{singlePaneWorkbench.js → desktopWorkbench.js} +23 -25
  9. package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.d.ts +5 -2
  10. package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.js +41 -3
  11. package/vscode/src/vs/sessions/browser/layoutActions.js +25 -41
  12. package/vscode/src/vs/sessions/browser/mobileWorkbench.d.ts +4 -0
  13. package/vscode/src/vs/sessions/browser/mobileWorkbench.js +10 -0
  14. package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.d.ts +10 -5
  15. package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.js +138 -34
  16. package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.d.ts +2 -0
  17. package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.js +13 -5
  18. package/vscode/src/vs/sessions/browser/parts/chatGroupView.d.ts +27 -5
  19. package/vscode/src/vs/sessions/browser/parts/chatGroupView.js +129 -28
  20. package/vscode/src/vs/sessions/browser/parts/chatGroupsView.d.ts +22 -7
  21. package/vscode/src/vs/sessions/browser/parts/chatGroupsView.js +260 -21
  22. package/vscode/src/vs/sessions/browser/parts/chatHeader.d.ts +25 -0
  23. package/vscode/src/vs/sessions/browser/parts/chatHeader.js +42 -0
  24. package/vscode/src/vs/sessions/browser/parts/customViewGridPart.js +9 -1
  25. package/vscode/src/vs/sessions/browser/parts/customViewNode.js +1 -1
  26. package/vscode/src/vs/sessions/browser/parts/{singlePaneAuxiliaryBarPart.d.ts → desktopAuxiliaryBarPart.d.ts} +4 -4
  27. package/vscode/src/vs/sessions/browser/parts/desktopAuxiliaryBarPart.js +26 -0
  28. package/vscode/src/vs/sessions/browser/parts/{singlePaneEditorPart.d.ts → desktopEditorPart.d.ts} +8 -6
  29. package/vscode/src/vs/sessions/browser/parts/{singlePaneEditorPart.js → desktopEditorPart.js} +25 -5
  30. package/vscode/src/vs/sessions/browser/parts/editorPart.js +16 -4
  31. package/vscode/src/vs/sessions/browser/parts/editorParts.d.ts +1 -1
  32. package/vscode/src/vs/sessions/browser/parts/editorParts.js +7 -6
  33. package/vscode/src/vs/sessions/browser/parts/gridGap.d.ts +14 -0
  34. package/vscode/src/vs/sessions/browser/parts/gridGap.js +69 -0
  35. package/vscode/src/vs/sessions/browser/parts/media/chatCompositeBar.css +132 -4
  36. package/vscode/src/vs/sessions/browser/parts/media/chatGroupsView.css +10 -0
  37. package/vscode/src/vs/sessions/browser/parts/media/editorPart.css +46 -2
  38. package/vscode/src/vs/sessions/browser/parts/media/sessionReadOnlyBanner.css +3 -3
  39. package/vscode/src/vs/sessions/browser/parts/media/sessionView.css +45 -48
  40. package/vscode/src/vs/sessions/browser/parts/media/sessionsPart.css +15 -0
  41. package/vscode/src/vs/sessions/browser/parts/menubar.contribution.js +8 -8
  42. package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.js +1 -1
  43. package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.d.ts +9 -1
  44. package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.js +21 -3
  45. package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.js +1 -1
  46. package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.d.ts +4 -3
  47. package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.js +29 -15
  48. package/vscode/src/vs/sessions/browser/parts/sessionGridLayout.d.ts +67 -0
  49. package/vscode/src/vs/sessions/browser/parts/sessionGridLayout.js +598 -0
  50. package/vscode/src/vs/sessions/browser/parts/sessionHeader.d.ts +11 -84
  51. package/vscode/src/vs/sessions/browser/parts/sessionHeader.js +37 -317
  52. package/vscode/src/vs/sessions/browser/parts/sessionHeaderBar.d.ts +103 -0
  53. package/vscode/src/vs/sessions/browser/parts/sessionHeaderBar.js +391 -0
  54. package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.d.ts +6 -4
  55. package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.js +58 -28
  56. package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.d.ts +4 -0
  57. package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.js +66 -23
  58. package/vscode/src/vs/sessions/browser/parts/sessionView.d.ts +24 -5
  59. package/vscode/src/vs/sessions/browser/parts/sessionView.js +143 -33
  60. package/vscode/src/vs/sessions/browser/parts/sessionsPart.d.ts +25 -19
  61. package/vscode/src/vs/sessions/browser/parts/sessionsPart.js +157 -58
  62. package/vscode/src/vs/sessions/browser/parts/sessionsParts.d.ts +12 -3
  63. package/vscode/src/vs/sessions/browser/parts/sessionsParts.js +17 -2
  64. package/vscode/src/vs/sessions/browser/sessionWorkspace.d.ts +6 -3
  65. package/vscode/src/vs/sessions/browser/sessionWorkspace.js +2 -2
  66. package/vscode/src/vs/sessions/browser/sessionsSetUpService.js +66 -20
  67. package/vscode/src/vs/sessions/browser/sessionsSignInDialog.d.ts +1 -0
  68. package/vscode/src/vs/sessions/browser/sessionsSignInDialog.js +5 -4
  69. package/vscode/src/vs/sessions/browser/workbenchFactory.d.ts +12 -0
  70. package/vscode/src/vs/sessions/browser/workbenchFactory.js +17 -0
  71. package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.d.ts +85 -1
  72. package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +118 -100
  73. package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.d.ts +3 -2
  74. package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +39 -34
  75. package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountTitleBarWidget.css +6 -0
  76. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.d.ts +3 -0
  77. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.js +6 -0
  78. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +18 -18
  79. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +12 -12
  80. package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.js +7 -7
  81. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +12 -12
  82. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +10 -10
  83. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.d.ts +78 -8
  84. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +1166 -202
  85. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.d.ts +11 -1
  86. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +190 -69
  87. package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.d.ts +11 -9
  88. package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +122 -233
  89. package/vscode/src/vs/sessions/contrib/automations/browser/automationTelemetry.d.ts +22 -0
  90. package/vscode/src/vs/sessions/contrib/automations/browser/automationTelemetry.js +62 -0
  91. package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.d.ts +7 -2
  92. package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +172 -84
  93. package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +17 -7
  94. package/vscode/src/vs/sessions/contrib/automations/browser/media/automationDialog.css +242 -60
  95. package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.d.ts +24 -36
  96. package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +104 -420
  97. package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +15 -14
  98. package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.d.ts +13 -3
  99. package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +66 -43
  100. package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.js +2 -7
  101. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +54 -59
  102. package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +7 -7
  103. package/vscode/src/vs/sessions/contrib/changes/browser/media/changesActions.css +6 -0
  104. package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +25 -21
  105. package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +21 -27
  106. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +17 -17
  107. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.d.ts +5 -5
  108. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.js +2 -2
  109. package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +2 -2
  110. package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReview.contributions.js +9 -16
  111. package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +7 -7
  112. package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +10 -10
  113. package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.d.ts +13 -1
  114. package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +104 -117
  115. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +8 -7
  116. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +5 -5
  117. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +1 -1
  118. package/vscode/src/vs/sessions/contrib/editor/browser/media/editorBreadcrumbs.css +0 -1
  119. package/vscode/src/vs/sessions/contrib/editor/browser/media/editorHeader.css +1 -1
  120. package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.d.ts +7 -0
  121. package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +77 -13
  122. package/vscode/src/vs/sessions/contrib/files/browser/filesView.d.ts +2 -1
  123. package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +14 -4
  124. package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.d.ts +45 -10
  125. package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +527 -77
  126. package/vscode/src/vs/sessions/contrib/layout/browser/chatLayoutOwnerKeys.d.ts +18 -0
  127. package/vscode/src/vs/sessions/contrib/layout/browser/chatLayoutOwnerKeys.js +95 -0
  128. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDetailPanelCoordinator.d.ts → desktop/desktopDetailPanelCoordinator.d.ts} +5 -4
  129. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDetailPanelCoordinator.js → desktop/desktopDetailPanelCoordinator.js} +10 -7
  130. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDockedTabsCoordinator.d.ts → desktop/desktopDockedTabsCoordinator.d.ts} +15 -12
  131. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDockedTabsCoordinator.js → desktop/desktopDockedTabsCoordinator.js} +91 -44
  132. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDraftSessionStrategy.d.ts → desktop/desktopDraftSessionStrategy.d.ts} +10 -5
  133. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDraftSessionStrategy.js → desktop/desktopDraftSessionStrategy.js} +95 -22
  134. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneExistingSessionStrategy.d.ts → desktop/desktopExistingSessionStrategy.d.ts} +13 -11
  135. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneExistingSessionStrategy.js → desktop/desktopExistingSessionStrategy.js} +137 -57
  136. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneLayoutStrategy.d.ts → desktop/desktopLayoutStrategy.d.ts} +22 -13
  137. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneLayoutStrategy.js → desktop/desktopLayoutStrategy.js} +2 -2
  138. package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopOwnerCompositionStore.d.ts +22 -0
  139. package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopOwnerCompositionStore.js +136 -0
  140. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneSharedHelpers.d.ts → desktop/desktopSharedHelpers.d.ts} +9 -2
  141. package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopSharedHelpers.js +56 -0
  142. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneVisibilityProfileStore.d.ts → desktop/desktopVisibilityProfileStore.d.ts} +3 -2
  143. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneVisibilityProfileStore.js → desktop/desktopVisibilityProfileStore.js} +10 -9
  144. package/vscode/src/vs/sessions/contrib/layout/browser/desktopLayoutController.d.ts +71 -0
  145. package/vscode/src/vs/sessions/contrib/layout/browser/desktopLayoutController.js +201 -0
  146. package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.d.ts +8 -1
  147. package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +35 -35
  148. package/vscode/src/vs/sessions/contrib/layout/common/sessionEditorWorkingSet.d.ts +39 -0
  149. package/vscode/src/vs/sessions/contrib/layout/common/sessionEditorWorkingSet.js +73 -0
  150. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.d.ts +42 -1
  151. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.js +14 -10
  152. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.js +3 -4
  153. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.d.ts +2 -2
  154. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.js +13 -9
  155. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.js +20 -5
  156. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourVariation.d.ts +8 -0
  157. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourVariation.js +19 -0
  158. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +21 -20
  159. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +10 -5
  160. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +12 -8
  161. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.d.ts +3 -1
  162. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +12 -7
  163. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.d.ts +9 -1
  164. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +46 -19
  165. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.js +2 -0
  166. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/media/sessionsPolicyBlocked.css +33 -0
  167. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.d.ts +4 -2
  168. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.js +29 -8
  169. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.d.ts +15 -2
  170. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +169 -32
  171. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostForkActions.js +30 -8
  172. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.js +8 -34
  173. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.js +63 -49
  174. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.js +1 -1
  175. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.js +31 -17
  176. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnostics.contribution.d.ts +32 -0
  177. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnostics.contribution.js +250 -0
  178. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsLogs.d.ts +6 -0
  179. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsLogs.js +52 -0
  180. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsReport.d.ts +51 -0
  181. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsReport.js +439 -0
  182. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsService.d.ts +45 -0
  183. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsService.js +595 -0
  184. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.d.ts +20 -3
  185. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +360 -46
  186. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerSource.d.ts +9 -0
  187. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerSource.js +59 -0
  188. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/media/connectionDiagnostics.css +201 -0
  189. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/getRemoteSessionTool.d.ts +10 -0
  190. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/getRemoteSessionTool.js +70 -0
  191. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionChatService.d.ts +20 -0
  192. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionChatService.js +104 -0
  193. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionInspector.d.ts +15 -0
  194. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionInspector.js +152 -0
  195. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionMessageRouter.d.ts +49 -0
  196. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionMessageRouter.js +340 -0
  197. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionService.d.ts +41 -0
  198. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionService.js +400 -0
  199. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionSource.d.ts +28 -0
  200. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionSource.js +178 -0
  201. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionTools.d.ts +17 -0
  202. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionTools.js +206 -0
  203. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessions.contribution.d.ts +1 -0
  204. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessions.contribution.js +58 -0
  205. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/sendRemoteMessageTool.d.ts +10 -0
  206. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/sendRemoteMessageTool.js +90 -0
  207. package/vscode/src/vs/sessions/contrib/remoteSessions/common/remoteSessionInspection.d.ts +38 -0
  208. package/vscode/src/vs/sessions/contrib/remoteSessions/common/remoteSessionInspection.js +58 -0
  209. package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +4 -5
  210. package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +1 -1
  211. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparison.contribution.d.ts +1 -0
  212. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparison.contribution.js +33 -0
  213. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonGridController.d.ts +30 -0
  214. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonGridController.js +190 -0
  215. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonTool.d.ts +31 -0
  216. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonTool.js +559 -0
  217. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonViewService.d.ts +12 -0
  218. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonViewService.js +38 -0
  219. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.d.ts +13 -4
  220. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +155 -22
  221. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +9 -5
  222. package/vscode/src/vs/sessions/contrib/sessions/browser/media/automationsCards.css +90 -25
  223. package/vscode/src/vs/sessions/contrib/sessions/browser/media/sessionsTitleBarWidget.css +21 -4
  224. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.d.ts +2 -1
  225. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +11 -7
  226. package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.d.ts +116 -1
  227. package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +126 -30
  228. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsAccountTelemetry.d.ts +26 -0
  229. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsAccountTelemetry.js +160 -0
  230. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.d.ts +14 -6
  231. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +555 -151
  232. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsLifecycleTracker.d.ts +192 -0
  233. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsLifecycleTracker.js +510 -0
  234. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.d.ts +6 -7
  235. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.js +64 -57
  236. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.d.ts +5 -3
  237. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +83 -51
  238. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.d.ts +5 -1
  239. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +33 -12
  240. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationCataloguePresentation.d.ts +3 -0
  241. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationCataloguePresentation.js +53 -0
  242. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +10 -10
  243. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.d.ts +2 -2
  244. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +103 -55
  245. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.d.ts +7 -1
  246. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +679 -325
  247. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.d.ts +27 -1
  248. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +508 -163
  249. package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.d.ts +20 -2
  250. package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.js +100 -17
  251. package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.d.ts +5 -1
  252. package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.js +108 -30
  253. package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.d.ts +5 -3
  254. package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.js +47 -35
  255. package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.d.ts +9 -4
  256. package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.js +75 -25
  257. package/vscode/src/vs/sessions/services/customView/browser/customViewService.d.ts +11 -4
  258. package/vscode/src/vs/sessions/services/customView/browser/customViewService.js +17 -9
  259. package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.d.ts +5 -0
  260. package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.js +20 -2
  261. package/vscode/src/vs/sessions/services/sessions/browser/sessionComparisonService.d.ts +75 -0
  262. package/vscode/src/vs/sessions/services/sessions/browser/sessionComparisonService.js +1135 -0
  263. package/vscode/src/vs/sessions/services/sessions/browser/sessionGridState.d.ts +17 -0
  264. package/vscode/src/vs/sessions/services/sessions/browser/sessionGridState.js +99 -0
  265. package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.d.ts +4 -0
  266. package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.js +88 -23
  267. package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.d.ts +19 -26
  268. package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.js +115 -74
  269. package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.js +1 -1
  270. package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.d.ts +22 -7
  271. package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +278 -60
  272. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.d.ts +17 -20
  273. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.js +33 -22
  274. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.d.ts +28 -8
  275. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +673 -160
  276. package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.d.ts +13 -4
  277. package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.js +105 -15
  278. package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.js +53 -34
  279. package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.js +1 -1
  280. package/vscode/src/vs/workbench/browser/layout.js +1 -1
  281. package/vscode/src/vs/workbench/browser/workbench.d.ts +0 -2
  282. package/vscode/src/vs/workbench/browser/workbench.js +23 -20
  283. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +6 -0
  284. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +41 -0
  285. package/vscode/src/vs/workbench/contrib/chat/common/chatUsage.d.ts +15 -0
  286. package/vscode/src/vs/workbench/contrib/chat/common/chatUsage.js +56 -0
  287. package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.d.ts +0 -18
  288. package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.js +0 -27
  289. package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.js +0 -36
  290. package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.d.ts +0 -37
  291. package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.js +0 -126
  292. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.d.ts +0 -59
  293. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +0 -232
  294. package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.d.ts +0 -13
  295. package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.js +0 -22
  296. package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.d.ts +0 -45
  297. package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.js +0 -110
  298. package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.d.ts +0 -112
  299. package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.js +0 -444
  300. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.js +0 -43
  301. package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.d.ts +0 -55
  302. package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.js +0 -91
  303. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.d.ts +0 -26
  304. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.js +0 -98
  305. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.d.ts +0 -33
  306. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.js +0 -98
  307. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.d.ts +0 -2
  308. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.js +0 -13
  309. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.d.ts +0 -122
  310. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.js +0 -464
  311. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.d.ts +0 -35
  312. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.js +0 -90
  313. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.d.ts +0 -84
  314. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.js +0 -328
  315. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.d.ts +0 -174
  316. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.js +0 -1390
  317. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/media/agentHostSessionConfigPicker.css +0 -44
  318. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.d.ts +0 -30
  319. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.js +0 -78
  320. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.d.ts +0 -11
  321. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.js +0 -26
  322. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.d.ts +0 -27
  323. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.js +0 -26
@@ -2,7 +2,7 @@
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 chatGroupsView from './media/chatGroupsView.css';
5
- import { $, isAncestorOfActiveElement, size } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
+ import { $, getActiveElement, isAncestorOfActiveElement, size } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
6
6
  import { Color } from '@codingame/monaco-vscode-api/vscode/vs/base/common/color';
7
7
  import { onUnexpectedError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
8
8
  import { MutableDisposable, DisposableMap, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
@@ -10,6 +10,9 @@ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/in
10
10
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
11
11
  import { SerializableGrid, Sizing, Direction } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/grid/grid';
12
12
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
13
+ import { LocalSelectionTransfer } from '@codingame/monaco-vscode-api/vscode/vs/platform/dnd/browser/dnd';
14
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
15
+ import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
13
16
  import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
14
17
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
15
18
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
@@ -25,11 +28,13 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quic
25
28
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
26
29
  import { Themable } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService';
27
30
  import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
28
- import { agentsPanelBorder } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/theme';
31
+ import { agentsPanelBorder } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/agentsColors';
32
+ import { ChatOriginKind } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
29
33
  import { ISessionsService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsService.service';
30
34
  import { ChatGroupView } from './chatGroupView.js';
31
35
  import { ChatGroupDropTarget } from './chatGroupDropTarget.js';
32
- import { isSessionChatDrag } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/dnd';
36
+ import { SessionsDataTransfers, DraggedSessionIdentifier, getSessionChatDragData, isSessionChatDrag } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/dnd';
37
+ import { SESSIONS_CHAT_TABS_SETTING, SESSIONS_CHAT_TABS_DEFAULT, SessionsChatTabsMode } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/sessionConfig';
33
38
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
34
39
  import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
35
40
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
@@ -47,7 +52,13 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
47
52
  get groupCount() {
48
53
  return this._groupCount;
49
54
  }
50
- constructor(themeService, _instantiationService, _sessionsService, _storageService) {
55
+ constructor(
56
+ themeService,
57
+ _instantiationService,
58
+ _sessionsService,
59
+ _storageService,
60
+ configurationService
61
+ ) {
51
62
  super(themeService);
52
63
  this._instantiationService = _instantiationService;
53
64
  this._sessionsService = _sessionsService;
@@ -61,8 +72,19 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
61
72
  this._sessionActive = true;
62
73
  this._sessionVisible = true;
63
74
  this._singleGroupTabsReplaceHeader = observableValue(this, false);
75
+ this._knownChatsByResource = ( new Map());
76
+ this._pendingNewGroupResourceIds = ( new Set());
64
77
  this._restorePending = false;
65
78
  this._gridDidLayout = false;
79
+ const chatTabsMode = observableConfigValue(
80
+ SESSIONS_CHAT_TABS_SETTING,
81
+ SESSIONS_CHAT_TABS_DEFAULT,
82
+ configurationService
83
+ );
84
+ this.showChatAsSessionView = derived(reader => chatTabsMode.read(reader) === SessionsChatTabsMode.Single);
85
+ this._showGroupChatHeaders = derived(
86
+ reader => this.showChatAsSessionView.read(reader) && this._groupCount.read(reader) > 1
87
+ );
66
88
  }
67
89
  setSingleGroupTabsReplaceHeader(enabled) {
68
90
  this._singleGroupTabsReplaceHeader.set(enabled, undefined);
@@ -84,6 +106,8 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
84
106
  this._activeGroup = undefined;
85
107
  this._restoreAssignment = undefined;
86
108
  this._restoreOrder = undefined;
109
+ this._knownChatsByResource.clear();
110
+ this._pendingNewGroupResourceIds.clear();
87
111
  this._restorePending = false;
88
112
  this._lastSessionActiveChatId = undefined;
89
113
  this._setGroupCount(1);
@@ -97,8 +121,14 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
97
121
  store.add(grid);
98
122
  this.element.replaceChildren(grid.element);
99
123
  store.add(toDisposable(() => grid.element.remove()));
124
+ const sessionTransfer = LocalSelectionTransfer.getInstance();
125
+ const isMainChatDrag = event => event.dataTransfer?.types.includes(SessionsDataTransfers.SESSION) === true && sessionTransfer.getData(DraggedSessionIdentifier.prototype)?.some(dragged => dragged.sessionId === session.sessionId) === true;
100
126
  const dropDelegate = {
101
- isChatDrag: event => isSessionChatDrag(event, session.sessionId),
127
+ isChatDrag: event => isSessionChatDrag(event, session.sessionId) || isMainChatDrag(event),
128
+ getChatDragData: event => getSessionChatDragData(event) ?? (isMainChatDrag(event) ? {
129
+ sessionId: session.sessionId,
130
+ resource: ( session.mainChat.get().resource.toString())
131
+ } : undefined),
102
132
  findTargetGroup: child => this._findTargetGroup(child),
103
133
  onChatDrop: (groupId, zone, data) => {
104
134
  this._onChatDrop(groupId, zone, data).catch(onUnexpectedError);
@@ -173,6 +203,9 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
173
203
  if (g.activeResourceId) {
174
204
  entry.activeResourceId.set(g.activeResourceId, undefined);
175
205
  }
206
+ if (g.pinnedResourceId && g.resourceIds.includes(g.pinnedResourceId)) {
207
+ entry.pinnedResourceId.set(g.pinnedResourceId, undefined);
208
+ }
176
209
  });
177
210
  this._groups = groups;
178
211
  this._restoreAssignment = assignment;
@@ -191,6 +224,7 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
191
224
  this._groupDisposables.set(id, store);
192
225
  const resourceIds = observableValue(`chatGroup.${id}.resourceIds`, []);
193
226
  const activeResourceId = observableValue(`chatGroup.${id}.activeResourceId`, "");
227
+ const pinnedResourceId = observableValue(`chatGroup.${id}.pinnedResourceId`, undefined);
194
228
  const chats = derived(reader => {
195
229
  const all = session.visibleChatTabs.read(reader);
196
230
  const ids = resourceIds.read(reader);
@@ -204,7 +238,7 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
204
238
  return result;
205
239
  });
206
240
  const tabsVisible = derived(reader => {
207
- if (!session.isCreated.read(reader)) {
241
+ if (!session.isCreated.read(reader) || this.showChatAsSessionView.read(reader)) {
208
242
  return false;
209
243
  }
210
244
  if (this._groupCount.read(reader) > 1) {
@@ -215,12 +249,14 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
215
249
  const showSessionActions = derived(
216
250
  reader => this._singleGroupTabsReplaceHeader.read(reader) && this._groupCount.read(reader) === 1 && tabsVisible.read(reader)
217
251
  );
252
+ const activeChatIsPinned = derived(reader => pinnedResourceId.read(reader) === activeResourceId.read(reader));
218
253
  const view = store.add(this._instantiationService.createInstance(ChatGroupView));
219
254
  const entry = {
220
255
  id,
221
256
  view,
222
257
  resourceIds,
223
258
  activeResourceId,
259
+ pinnedResourceId,
224
260
  chats,
225
261
  tabsVisible
226
262
  };
@@ -232,7 +268,10 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
232
268
  activeChatResource: activeResourceId,
233
269
  mainChatResource: this._mainChatResource,
234
270
  tabsVisible,
271
+ chatHeaderVisible: this._showGroupChatHeaders,
272
+ activeChatIsPinned,
235
273
  showSessionActions,
274
+ activate: () => this._setActiveGroup(entry),
236
275
  openChat: resource => this._openChat(entry, resource),
237
276
  onTabDragStart: () => {},
238
277
  onTabDragEnd: () => {}
@@ -247,22 +286,55 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
247
286
  if (!session) {
248
287
  return;
249
288
  }
289
+ const catalogIds = ( new Set());
290
+ for (const chat of session.chats.read(reader)) {
291
+ const resourceId = ( chat.resource.toString());
292
+ catalogIds.add(resourceId);
293
+ this._knownChatsByResource.set(resourceId, chat);
294
+ }
250
295
  const chats = session.visibleChatTabs.read(reader);
251
- const activeChat = session.activeChat.read(reader);
296
+ const sessionActiveChat = session.activeChat.read(reader);
252
297
  const orderedIds = chats.map(c => ( c.resource.toString()));
253
298
  const validIds = ( new Set(orderedIds));
299
+ const groupActiveResource = this._activeGroup?.activeResourceId.get();
300
+ const removedGroupActiveChat = groupActiveResource && !( validIds.has(groupActiveResource)) ? this._knownChatsByResource.get(groupActiveResource) : undefined;
301
+ const owningChat = this._activeGroup && removedGroupActiveChat ? this._getOwningChatToRestoreOnClose(this._activeGroup, removedGroupActiveChat) : undefined;
302
+ const owningChatToRestore = owningChat && ( validIds.has(( owningChat.resource.toString()))) ? owningChat : undefined;
303
+ for (const resourceId of ( this._knownChatsByResource.keys())) {
304
+ if (!( catalogIds.has(resourceId)) && !( validIds.has(resourceId))) {
305
+ this._knownChatsByResource.delete(resourceId);
306
+ }
307
+ }
308
+ const activeChat = owningChatToRestore ?? sessionActiveChat;
254
309
  const activeId = activeChat?.resource.toString();
255
310
  const hasUnassignedVisibleChats = ( orderedIds.some(id => !( this._groups.some(group => group.resourceIds.get().includes(id)))));
311
+ const activeChatChanged = !!activeId && activeId !== this._lastSessionActiveChatId;
312
+ const activeOwner = activeId ? this._groups.find(group => group.resourceIds.get().includes(activeId)) : undefined;
313
+ const activeParentResource = activeId ? activeChat?.origin?.parentChat : undefined;
314
+ const activeParentGroup = activeParentResource ? this._groups.find(group => group.resourceIds.get().includes(( activeParentResource.toString()))) : undefined;
315
+ const singleChatPresentation = this.showChatAsSessionView.read(reader);
316
+ const activeOpeningInNewGroup = !!activeId && ( this._pendingNewGroupResourceIds.has(activeId));
317
+ const activeOwnerPinnedResource = activeOwner?.pinnedResourceId.get();
318
+ const activeNeedsNewOwner = !this._restorePending && activeChatChanged && !!activeId && ((!activeOwner && this._activeGroup?.pinnedResourceId.get() !== undefined) || (!!activeOwnerPinnedResource && activeOwnerPinnedResource !== activeId));
319
+ const activeReplacesCurrentPeer = !this._restorePending && singleChatPresentation && activeChatChanged && !!activeId && !activeOwner && !activeParentResource && !activeOpeningInNewGroup && this._activeGroup?.pinnedResourceId.get() === undefined;
256
320
  if (!this._restorePending && !hasUnassignedVisibleChats) {
257
321
  this._removeGroupsWithoutVisibleChats(validIds);
258
322
  }
323
+ const activeTarget = activeNeedsNewOwner ? this._getOrCreateUnpinnedGroup(activeOwner, activeParentGroup) : activeReplacesCurrentPeer ? this._activeGroup : undefined;
259
324
  transaction(tx => {
325
+ if (activeReplacesCurrentPeer && activeTarget) {
326
+ activeTarget.resourceIds.set([], tx);
327
+ }
260
328
  for (const group of this._groups) {
261
329
  const ids = group.resourceIds.get();
262
330
  const pruned = ids.filter(id => ( validIds.has(id)));
263
331
  if (pruned.length !== ids.length) {
264
332
  group.resourceIds.set(pruned, tx);
265
333
  }
334
+ const pinnedResource = group.pinnedResourceId.get();
335
+ if (pinnedResource && !( validIds.has(pinnedResource))) {
336
+ group.pinnedResourceId.set(undefined, tx);
337
+ }
266
338
  }
267
339
  const assigned = ( new Set());
268
340
  for (const group of this._groups) {
@@ -275,7 +347,11 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
275
347
  continue;
276
348
  }
277
349
  const savedGroupId = this._restoreAssignment?.get(id);
350
+ if (singleChatPresentation && savedGroupId === undefined && (id !== activeId || ( this._pendingNewGroupResourceIds.has(id)))) {
351
+ continue;
352
+ }
278
353
  let target = savedGroupId !== undefined ? this._groups.find(g => g.id === savedGroupId) : undefined;
354
+ target ??= id === activeId ? activeTarget : undefined;
279
355
  const chat = chats.find(chat => ( chat.resource.toString()) === id);
280
356
  const parentResource = id === activeId ? chat?.origin?.parentChat : undefined;
281
357
  const parentGroup = parentResource ? this._groups.find(group => group.resourceIds.get().includes(( parentResource.toString()))) : undefined;
@@ -285,6 +361,15 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
285
361
  target.resourceIds.set([...target.resourceIds.get(), id], tx);
286
362
  }
287
363
  }
364
+ if (activeId && activeTarget) {
365
+ const owner = this._groups.find(group => group.resourceIds.get().includes(activeId));
366
+ if (owner && owner !== activeTarget) {
367
+ this._detachChatFromGroup(owner, activeId, tx);
368
+ }
369
+ if (!activeTarget.resourceIds.get().includes(activeId)) {
370
+ activeTarget.resourceIds.set([...activeTarget.resourceIds.get(), activeId], tx);
371
+ }
372
+ }
288
373
  if (this._restorePending && this._restoreOrder) {
289
374
  const restoreOrder = this._restoreOrder;
290
375
  for (const group of this._groups) {
@@ -307,7 +392,10 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
307
392
  this._lastSessionActiveChatId = activeId;
308
393
  for (const group of this._groups) {
309
394
  const ids = group.resourceIds.get();
310
- if (ids.length && !ids.includes(group.activeResourceId.get())) {
395
+ const pinnedResource = group.pinnedResourceId.get();
396
+ if (pinnedResource && ids.includes(pinnedResource)) {
397
+ group.activeResourceId.set(pinnedResource, tx);
398
+ } else if (ids.length && !ids.includes(group.activeResourceId.get())) {
311
399
  group.activeResourceId.set(ids[0], tx);
312
400
  }
313
401
  }
@@ -325,6 +413,9 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
325
413
  this._removeEmptyGroups();
326
414
  this._persistLayout();
327
415
  }
416
+ if (owningChatToRestore && ( session.activeChat.get().resource.toString()) !== ( owningChatToRestore.resource.toString())) {
417
+ this._sessionsService.openChat(session, owningChatToRestore.resource).catch(onUnexpectedError);
418
+ }
328
419
  }
329
420
  _findTargetGroup(child) {
330
421
  for (const group of this._groups) {
@@ -353,6 +444,11 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
353
444
  if (!( session.chats.get().some(chat => ( chat.resource.toString()) === id))) {
354
445
  return;
355
446
  }
447
+ if (this.showChatAsSessionView.get() && zone !== "center" && target) {
448
+ const referenceId = target.activeResourceId.get();
449
+ await this._openChatInNewGroup(resource, referenceId ? ( URI.parse(referenceId)) : undefined, zone);
450
+ return;
451
+ }
356
452
  await this._sessionsService.openChat(session, resource);
357
453
  if (this._session !== session) {
358
454
  return;
@@ -377,11 +473,15 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
377
473
  }
378
474
  _moveChatToGroup(resource, source, target) {
379
475
  const id = ( resource.toString());
476
+ const wasPinned = source.pinnedResourceId.get() === id;
380
477
  transaction(tx => {
381
478
  this._detachChatFromGroup(source, id, tx);
382
479
  if (!target.resourceIds.get().includes(id)) {
383
480
  target.resourceIds.set([...target.resourceIds.get(), id], tx);
384
481
  }
482
+ if (target.pinnedResourceId.get() !== id) {
483
+ target.pinnedResourceId.set(wasPinned ? id : undefined, tx);
484
+ }
385
485
  target.activeResourceId.set(id, tx);
386
486
  });
387
487
  this._setActiveGroup(target);
@@ -394,6 +494,7 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
394
494
  return;
395
495
  }
396
496
  const id = ( resource.toString());
497
+ const wasPinned = source.pinnedResourceId.get() === id;
397
498
  const newGroup = this._createGroupEntry(this._session);
398
499
  this._grid.addView(
399
500
  newGroup.view,
@@ -407,6 +508,9 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
407
508
  this._detachChatFromGroup(source, id, tx);
408
509
  newGroup.resourceIds.set([id], tx);
409
510
  newGroup.activeResourceId.set(id, tx);
511
+ if (wasPinned) {
512
+ newGroup.pinnedResourceId.set(id, tx);
513
+ }
410
514
  });
411
515
  this._setActiveGroup(newGroup);
412
516
  await this._sessionsService.openChat(this._session, resource);
@@ -417,19 +521,73 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
417
521
  _detachChatFromGroup(group, id, tx) {
418
522
  const remaining = group.resourceIds.get().filter(x => x !== id);
419
523
  group.resourceIds.set(remaining, tx);
524
+ if (group.pinnedResourceId.get() === id) {
525
+ group.pinnedResourceId.set(undefined, tx);
526
+ }
420
527
  if (group.activeResourceId.get() === id && remaining.length) {
421
528
  group.activeResourceId.set(remaining[0], tx);
422
529
  }
423
530
  }
424
- async openChatInNewGroup(resource) {
531
+ _getOrCreateUnpinnedGroup(excludedGroup, preferredGroup) {
532
+ if (preferredGroup && preferredGroup !== excludedGroup && preferredGroup.pinnedResourceId.get() === undefined) {
533
+ return preferredGroup;
534
+ }
535
+ const activeGroup = this._activeGroup;
536
+ if (activeGroup !== excludedGroup && activeGroup?.pinnedResourceId.get() === undefined) {
537
+ return activeGroup;
538
+ }
539
+ const existing = this._groups.find(
540
+ group => group !== excludedGroup && group.pinnedResourceId.get() === undefined
541
+ );
542
+ if (existing) {
543
+ return existing;
544
+ }
545
+ if (!this._grid || !this._currentSessionStore || !this._session) {
546
+ return undefined;
547
+ }
548
+ const reference = preferredGroup ?? excludedGroup ?? activeGroup ?? this._groups[this._groups.length - 1];
549
+ if (!reference) {
550
+ return undefined;
551
+ }
552
+ const newGroup = this._createGroupEntry(this._session);
553
+ this._grid.addView(newGroup.view, Sizing.Distribute, reference.view, Direction.Right);
554
+ this._insertGroup(newGroup, reference, "right");
555
+ this._setGroupCount(this._groups.length);
556
+ this._applyLayout();
557
+ return newGroup;
558
+ }
559
+ _toggleActiveChatPin(group) {
560
+ const activeResource = group.activeResourceId.get();
561
+ if (!activeResource) {
562
+ return;
563
+ }
564
+ group.pinnedResourceId.set(
565
+ group.pinnedResourceId.get() === activeResource ? undefined : activeResource,
566
+ undefined
567
+ );
568
+ this._persistLayout();
569
+ }
570
+ async openChatInNewGroup(resource, referenceChatResource) {
571
+ await this._openChatInNewGroup(resource, referenceChatResource, "right");
572
+ if (referenceChatResource && this._session?.sessionId === this._sessionsService.activeSession.get()?.sessionId && this._activeGroup?.activeResourceId.get() === ( resource.toString())) {
573
+ this._activeGroup.view.focus();
574
+ }
575
+ }
576
+ async _openChatInNewGroup(resource, referenceChatResource, zone) {
425
577
  if (!this._session || !this._grid || !this._currentSessionStore) {
426
578
  return;
427
579
  }
428
580
  const id = ( resource.toString());
581
+ const referenceId = referenceChatResource?.toString();
582
+ const findReferenceGroup = () => referenceId && referenceId !== id ? this._groups.find(group => group.resourceIds.get().includes(referenceId)) : undefined;
583
+ const referenceGroup = findReferenceGroup();
584
+ if (referenceGroup && referenceId) {
585
+ referenceGroup.activeResourceId.set(referenceId, undefined);
586
+ }
429
587
  const existing = this._groups.find(g => g.resourceIds.get().includes(id));
430
588
  if (existing) {
431
589
  if (existing.resourceIds.get().length > 1) {
432
- await this._splitChatIntoNewGroup(resource, existing, existing, "right");
590
+ await this._splitChatIntoNewGroup(resource, existing, referenceGroup ?? existing, "right");
433
591
  return;
434
592
  }
435
593
  existing.activeResourceId.set(id, undefined);
@@ -437,24 +595,41 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
437
595
  await this._sessionsService.openChat(this._session, resource);
438
596
  return;
439
597
  }
440
- const reference = this._activeGroup ?? this._groups[0];
441
- if (!reference) {
598
+ const initialReference = referenceGroup ?? this._activeGroup ?? this._groups[0];
599
+ if (!initialReference) {
442
600
  return;
443
601
  }
444
602
  const session = this._session;
445
- await this._sessionsService.openChat(session, resource);
603
+ this._pendingNewGroupResourceIds.add(id);
604
+ try {
605
+ await this._sessionsService.openChat(session, resource);
606
+ } finally {
607
+ this._pendingNewGroupResourceIds.delete(id);
608
+ }
446
609
  if (this._session !== session || !( session.visibleChatTabs.get().some(chat => ( chat.resource.toString()) === id))) {
447
610
  return;
448
611
  }
612
+ const reference = referenceChatResource ? findReferenceGroup() ?? this._activeGroup ?? this._groups[0] : this._groups.includes(initialReference) ? initialReference : this._activeGroup ?? this._groups[0];
613
+ if (!reference) {
614
+ return;
615
+ }
449
616
  const newGroup = this._createGroupEntry(session);
450
- this._grid.addView(newGroup.view, Sizing.Distribute, reference.view, Direction.Right);
451
- this._insertGroup(newGroup, reference, "right");
617
+ this._grid.addView(
618
+ newGroup.view,
619
+ Sizing.Distribute,
620
+ reference.view,
621
+ this._zoneToDirection(zone)
622
+ );
623
+ this._insertGroup(newGroup, reference, zone);
452
624
  this._setGroupCount(this._groups.length);
453
625
  transaction(tx => {
454
626
  const assignedGroup = this._groups.find(group => group !== newGroup && group.resourceIds.get().includes(id));
455
627
  if (assignedGroup) {
456
628
  this._detachChatFromGroup(assignedGroup, id, tx);
457
629
  }
630
+ if (referenceId && reference.resourceIds.get().includes(referenceId)) {
631
+ reference.activeResourceId.set(referenceId, tx);
632
+ }
458
633
  newGroup.resourceIds.set([id], tx);
459
634
  newGroup.activeResourceId.set(id, tx);
460
635
  });
@@ -514,7 +689,7 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
514
689
  if (this._groups.length <= 1) {
515
690
  break;
516
691
  }
517
- const hadFocus = group.view.element.contains(group.view.element.ownerDocument.activeElement);
692
+ const hadFocus = group.view.element.contains(getActiveElement(group.view.element.ownerDocument));
518
693
  this._grid.removeView(group.view, Sizing.Distribute);
519
694
  this._groups = this._groups.filter(g => g !== group);
520
695
  if (this._activeGroup === group) {
@@ -546,6 +721,63 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
546
721
  const activeResource = group.activeResourceId.get();
547
722
  return group.chats.get().find(chat => ( chat.resource.toString()) === activeResource);
548
723
  }
724
+ getActiveChat() {
725
+ const activeResource = this._activeGroup?.activeResourceId.get();
726
+ return activeResource ? this._activeGroup?.chats.get().find(chat => ( chat.resource.toString()) === activeResource) : undefined;
727
+ }
728
+ toggleActiveChatPin() {
729
+ if (this._activeGroup) {
730
+ this._toggleActiveChatPin(this._activeGroup);
731
+ }
732
+ }
733
+ async closeChatGroup(chatResource) {
734
+ const session = this._session;
735
+ if (!session || !this.showChatAsSessionView.get()) {
736
+ return false;
737
+ }
738
+ const resourceId = ( chatResource.toString());
739
+ const source = this._groups.find(group => group.activeResourceId.get() === resourceId);
740
+ if (!source) {
741
+ return false;
742
+ }
743
+ if (this._groups.length === 1) {
744
+ this._sessionsService.closeSession(session);
745
+ return true;
746
+ }
747
+ const target = this._findAdjacentGroup(source);
748
+ const targetResourceId = target?.activeResourceId.get();
749
+ if (!target || !targetResourceId) {
750
+ return false;
751
+ }
752
+ if (( session.activeChat.get().resource.toString()) !== targetResourceId) {
753
+ await this._sessionsService.openChat(session, ( URI.parse(targetResourceId)));
754
+ }
755
+ if (this._session !== session || !this._groups.includes(source) || !this._groups.includes(target)) {
756
+ return false;
757
+ }
758
+ this._setActiveGroup(target);
759
+ this._removeGroups(group => group === source);
760
+ this._applyLayout();
761
+ this._persistLayout();
762
+ return true;
763
+ }
764
+ _getOwningChatToRestoreOnClose(group, chat) {
765
+ if ((chat.origin?.kind !== ChatOriginKind.SideChat && chat.origin?.kind !== ChatOriginKind.Tool) || !chat.origin.parentChat) {
766
+ return undefined;
767
+ }
768
+ const parentResource = ( chat.origin.parentChat.toString());
769
+ if (group.activeResourceId.get() !== ( chat.resource.toString()) || !group.resourceIds.get().includes(parentResource)) {
770
+ return undefined;
771
+ }
772
+ return group.chats.get().find(candidate => ( candidate.resource.toString()) === parentResource);
773
+ }
774
+ startFocusedChatTitleEditing() {
775
+ return this._getFocusedGroup()?.view.startFocusedChatTitleEditing() ?? false;
776
+ }
777
+ startChatTitleEditing(chatResource) {
778
+ const group = this._groups.find(group => ( group.chats.get().some(chat => ( chat.resource.toString()) === ( chatResource.toString()))));
779
+ return group?.view.startChatTitleEditing(chatResource) ?? false;
780
+ }
549
781
  _getFocusedGroup() {
550
782
  return this._groups.find(group => isAncestorOfActiveElement(group.view.element));
551
783
  }
@@ -583,7 +815,13 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
583
815
  this._groups.forEach((group, index) => group.view.setGroupPosition(index, count));
584
816
  }
585
817
  _openChat(entry, resource) {
586
- entry.activeResourceId.set(( resource.toString()), undefined);
818
+ const resourceId = ( resource.toString());
819
+ transaction(tx => {
820
+ if (entry.pinnedResourceId.get() !== resourceId) {
821
+ entry.pinnedResourceId.set(undefined, tx);
822
+ }
823
+ entry.activeResourceId.set(resourceId, tx);
824
+ });
587
825
  this._setActiveGroup(entry);
588
826
  if (this._session) {
589
827
  this._sessionsService.openChat(this._session, resource).catch(onUnexpectedError);
@@ -656,8 +894,8 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
656
894
  selectWorkspace(folderUri, options) {
657
895
  return this._activeGroup?.view.selectWorkspace(folderUri, options) ?? "notReady";
658
896
  }
659
- selectNoWorkspace() {
660
- this._activeGroup?.view.selectNoWorkspace();
897
+ selectNoWorkspace(options) {
898
+ this._activeGroup?.view.selectNoWorkspace(options);
661
899
  }
662
900
  prefillInput(text) {
663
901
  this._activeGroup?.view.prefillInput(text);
@@ -724,7 +962,8 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
724
962
  grid: this._grid.serialize(),
725
963
  groups: this._groups.map(group => ({
726
964
  resourceIds: group.resourceIds.get(),
727
- activeResourceId: group.activeResourceId.get()
965
+ activeResourceId: group.activeResourceId.get(),
966
+ pinnedResourceId: group.pinnedResourceId.get()
728
967
  })),
729
968
  activeGroupIndex: Math.max(0, this._groups.indexOf(this._activeGroup))
730
969
  };
@@ -766,6 +1005,6 @@ let ChatGroupsView = class ChatGroupsView extends Themable {
766
1005
  super.dispose();
767
1006
  }
768
1007
  };
769
- ChatGroupsView = ChatGroupsView_1 = ( __decorate([( __param(0, IThemeService)), ( __param(1, IInstantiationService)), ( __param(2, ISessionsService)), ( __param(3, IStorageService))], ChatGroupsView));
1008
+ ChatGroupsView = ChatGroupsView_1 = ( __decorate([( __param(0, IThemeService)), ( __param(1, IInstantiationService)), ( __param(2, ISessionsService)), ( __param(3, IStorageService)), ( __param(4, IConfigurationService))], ChatGroupsView));
770
1009
 
771
1010
  export { ChatGroupsView };
@@ -0,0 +1,25 @@
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 { 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";
6
+ import { IChat } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
7
+ export interface IChatHeaderContext {
8
+ readonly session: IActiveSession;
9
+ readonly chat: IObservable<IChat | undefined>;
10
+ readonly activate: () => void;
11
+ }
12
+ /**
13
+ * Header for one chat group. Its title and actions target that group's chat.
14
+ */
15
+ export declare class ChatHeader extends Disposable {
16
+ private readonly _bar;
17
+ get element(): HTMLElement;
18
+ get visible(): boolean;
19
+ get height(): number;
20
+ get onDidChangeVisibility(): Event<boolean>;
21
+ get onDidChangeHeight(): Event<void>;
22
+ constructor(instantiationService: IInstantiationService);
23
+ setChat(context: IChatHeaderContext | undefined): void;
24
+ setVisible(visible: boolean): void;
25
+ }
@@ -0,0 +1,42 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
5
+ import { SessionHeaderBar } from './sessionHeaderBar.js';
6
+
7
+ let ChatHeader = class ChatHeader extends Disposable {
8
+ get element() {
9
+ return this._bar.element;
10
+ }
11
+ get visible() {
12
+ return this._bar.visible;
13
+ }
14
+ get height() {
15
+ return this._bar.height;
16
+ }
17
+ get onDidChangeVisibility() {
18
+ return this._bar.onDidChangeVisibility;
19
+ }
20
+ get onDidChangeHeight() {
21
+ return this._bar.onDidChangeHeight;
22
+ }
23
+ constructor(instantiationService) {
24
+ super();
25
+ this._bar = this._register(instantiationService.createInstance(SessionHeaderBar, undefined));
26
+ this._bar.element.draggable = false;
27
+ }
28
+ setChat(context) {
29
+ this._bar.setContext(context ? {
30
+ session: context.session,
31
+ chat: context.chat,
32
+ actionsTargetChat: true,
33
+ activateChatGroup: context.activate
34
+ } : undefined);
35
+ }
36
+ setVisible(visible) {
37
+ this._bar.setVisible(visible);
38
+ }
39
+ };
40
+ ChatHeader = ( __decorate([( __param(0, IInstantiationService))], ChatHeader));
41
+
42
+ export { ChatHeader };
@@ -13,6 +13,7 @@ import { Part } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/p
13
13
  import { Parts } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
14
14
  import { applyAgentsPartCardStyles, getAgentsPartCardContentSize } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/parts/agentsPartCard';
15
15
  import { CustomViewNode } from './customViewNode.js';
16
+ import { isPhoneLayout } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/parts/mobile/mobileLayout';
16
17
  import { IAgentWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/workbench.service';
17
18
 
18
19
  registerCss(customViewGridPart, 0);
@@ -83,7 +84,14 @@ let CustomViewGridPart = class CustomViewGridPart extends Part {
83
84
  if (!this.layoutService.isVisible(Parts.CUSTOM_VIEW_GRID_PART)) {
84
85
  return;
85
86
  }
86
- const cardSize = getAgentsPartCardContentSize(width, height, this.agentWorkbenchLayoutService.isEditorPaneVisible());
87
+ const cardSize = getAgentsPartCardContentSize(
88
+ width,
89
+ height,
90
+ this.agentWorkbenchLayoutService.isEditorPaneVisible(),
91
+ this.layoutService.isVisible(Parts.SIDEBAR_PART),
92
+ isPhoneLayout(this.layoutService),
93
+ this.layoutService.isModernUICompact()
94
+ );
87
95
  const {
88
96
  contentSize
89
97
  } = this.layoutContents(cardSize.width, cardSize.height);
@@ -12,7 +12,7 @@ import { MenuItemAction } from '@codingame/monaco-vscode-api/vscode/vs/platform/
12
12
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
13
13
  import { asCssVariable } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
14
14
  import { AGENTS_CENTERED_CONTENT_MAX_WIDTH } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/layoutConstants';
15
- import { activeSessionViewBackground, activeSessionViewForeground } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/theme';
15
+ import { activeSessionViewBackground, activeSessionViewForeground } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/agentsColors';
16
16
  import { ChatPillActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/chatPills';
17
17
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
18
18
 
@@ -1,11 +1,11 @@
1
1
  import { AuxiliaryBarPart } from "@codingame/monaco-vscode-api/vscode/vs/sessions/browser/parts/auxiliaryBarPart";
2
2
  /**
3
- * Single-pane variant of the auxiliary bar. In the single-pane layout the
3
+ * Desktop variant of the auxiliary bar. In the desktop layout the
4
4
  * auxiliary bar is docked inside the editor part as a contextual detail panel:
5
- * it has no title/composite bar, shares the editor background so the pane reads
6
- * as one card, and fills the exact rectangle the workbench positions it in.
5
+ * it has no title/composite bar, uses the editor background by default, and
6
+ * fills the exact rectangle the workbench positions it in.
7
7
  */
8
- export declare class SinglePaneAuxiliaryBarPart extends AuxiliaryBarPart {
8
+ export declare class DesktopAuxiliaryBarPart extends AuxiliaryBarPart {
9
9
  create(parent: HTMLElement): void;
10
10
  protected shouldShowCompositeBar(): boolean;
11
11
  protected getPartBackgroundColor(): string;