@codingame/monaco-vscode-workbench-service-override 37.2.0 → 37.3.1

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 (325) hide show
  1. package/common.d.ts +3 -0
  2. package/common.js +29 -0
  3. package/index.d.ts +1 -1
  4. package/index.js +25 -32
  5. package/package.json +18 -8
  6. package/session.d.ts +4 -0
  7. package/session.js +260 -0
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostLocationPreferenceService.d.ts +24 -0
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostLocationPreferenceService.js +71 -0
  10. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreference.d.ts +7 -0
  11. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreference.js +7 -0
  12. package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.d.ts +50 -0
  13. package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.js +120 -0
  14. package/vscode/src/vs/sessions/browser/media/sessions-logo-dark.svg +6 -0
  15. package/vscode/src/vs/sessions/browser/media/sessions-logo-light.svg +6 -0
  16. package/vscode/src/vs/sessions/browser/media/sessionsSetUp.css +72 -0
  17. package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.d.ts +116 -0
  18. package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.js +566 -0
  19. package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.d.ts +43 -0
  20. package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.js +308 -0
  21. package/vscode/src/vs/sessions/browser/parts/chatGroupView.d.ts +108 -0
  22. package/vscode/src/vs/sessions/browser/parts/chatGroupView.js +324 -0
  23. package/vscode/src/vs/sessions/browser/parts/chatGroupsView.d.ts +136 -0
  24. package/vscode/src/vs/sessions/browser/parts/chatGroupsView.js +771 -0
  25. package/vscode/src/vs/sessions/browser/parts/customViewGridPart.d.ts +43 -0
  26. package/vscode/src/vs/sessions/browser/parts/customViewGridPart.js +113 -0
  27. package/vscode/src/vs/sessions/browser/parts/customViewGridParts.d.ts +17 -0
  28. package/vscode/src/vs/sessions/browser/parts/customViewGridParts.js +31 -0
  29. package/vscode/src/vs/sessions/browser/parts/customViewNode.d.ts +24 -0
  30. package/vscode/src/vs/sessions/browser/parts/customViewNode.js +131 -0
  31. package/vscode/src/vs/sessions/browser/parts/editorPart.d.ts +11 -0
  32. package/vscode/src/vs/sessions/browser/parts/editorPart.js +36 -0
  33. package/vscode/src/vs/sessions/browser/parts/editorParts.d.ts +12 -0
  34. package/vscode/src/vs/sessions/browser/parts/editorParts.js +45 -0
  35. package/vscode/src/vs/sessions/browser/parts/media/chatCompositeBar.css +559 -0
  36. package/vscode/src/vs/sessions/browser/parts/media/chatGroupDropTarget.css +27 -0
  37. package/vscode/src/vs/sessions/browser/parts/media/chatGroupsView.css +60 -0
  38. package/vscode/src/vs/sessions/browser/parts/media/customViewGridPart.css +108 -0
  39. package/vscode/src/vs/sessions/browser/parts/media/editorPart.css +210 -0
  40. package/vscode/src/vs/sessions/browser/parts/media/remoteHostUnavailableEmptyState.css +81 -0
  41. package/vscode/src/vs/sessions/browser/parts/media/sessionDropTarget.css +31 -0
  42. package/vscode/src/vs/sessions/browser/parts/media/sessionReadOnlyBanner.css +87 -0
  43. package/vscode/src/vs/sessions/browser/parts/media/sessionView.css +107 -0
  44. package/vscode/src/vs/sessions/browser/parts/media/sessionsPart.css +134 -0
  45. package/vscode/src/vs/sessions/browser/parts/menubar.contribution.d.ts +1 -0
  46. package/vscode/src/vs/sessions/browser/parts/menubar.contribution.js +79 -0
  47. package/vscode/src/vs/sessions/browser/parts/mobile/mobileCustomViewGridPart.d.ts +13 -0
  48. package/vscode/src/vs/sessions/browser/parts/mobile/mobileCustomViewGridPart.js +33 -0
  49. package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.d.ts +14 -0
  50. package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.js +34 -0
  51. package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.d.ts +39 -0
  52. package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.js +136 -0
  53. package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.d.ts +9 -0
  54. package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.js +62 -0
  55. package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.d.ts +39 -0
  56. package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.js +261 -0
  57. package/vscode/src/vs/sessions/browser/parts/sessionHeader.d.ts +97 -0
  58. package/vscode/src/vs/sessions/browser/parts/sessionHeader.js +345 -0
  59. package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.d.ts +43 -0
  60. package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.js +69 -0
  61. package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.d.ts +79 -0
  62. package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.js +363 -0
  63. package/vscode/src/vs/sessions/browser/parts/sessionView.d.ts +125 -0
  64. package/vscode/src/vs/sessions/browser/parts/sessionView.js +300 -0
  65. package/vscode/src/vs/sessions/browser/parts/sessionsPart.d.ts +124 -0
  66. package/vscode/src/vs/sessions/browser/parts/sessionsPart.js +336 -0
  67. package/vscode/src/vs/sessions/browser/parts/sessionsParts.d.ts +33 -0
  68. package/vscode/src/vs/sessions/browser/parts/sessionsParts.js +62 -0
  69. package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.d.ts +13 -0
  70. package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.js +36 -0
  71. package/vscode/src/vs/sessions/browser/parts/singlePaneEditorPart.d.ts +65 -0
  72. package/vscode/src/vs/sessions/browser/parts/singlePaneEditorPart.js +178 -0
  73. package/vscode/src/vs/sessions/browser/sessionWorkspace.d.ts +12 -0
  74. package/vscode/src/vs/sessions/browser/sessionWorkspace.js +19 -0
  75. package/vscode/src/vs/sessions/browser/sessionsSetUpService.d.ts +24 -0
  76. package/vscode/src/vs/sessions/browser/sessionsSetUpService.js +598 -0
  77. package/vscode/src/vs/sessions/browser/sessionsSignInDialog.d.ts +25 -0
  78. package/vscode/src/vs/sessions/browser/sessionsSignInDialog.js +91 -0
  79. package/vscode/src/vs/sessions/common/welcome.d.ts +1 -0
  80. package/vscode/src/vs/sessions/common/welcome.js +5 -0
  81. package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.d.ts +11 -0
  82. package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +1052 -0
  83. package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.d.ts +23 -0
  84. package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +168 -0
  85. package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountTitleBarWidget.css +646 -0
  86. package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountWidget.css +231 -0
  87. package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/chatPetAchievementBadges.css +120 -0
  88. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.d.ts +53 -0
  89. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.js +99 -0
  90. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.d.ts +1 -0
  91. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +270 -0
  92. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.d.ts +62 -0
  93. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +606 -0
  94. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/media/aiCustomizationTreeView.css +116 -0
  95. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.d.ts +1 -0
  96. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +97 -0
  97. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.d.ts +72 -0
  98. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +776 -0
  99. package/vscode/src/vs/sessions/contrib/aquarium/browser/fish.d.ts +68 -0
  100. package/vscode/src/vs/sessions/contrib/aquarium/browser/fish.js +153 -0
  101. package/vscode/src/vs/sessions/contrib/aquarium/browser/fishFeedingStreak.d.ts +58 -0
  102. package/vscode/src/vs/sessions/contrib/aquarium/browser/fishFeedingStreak.js +172 -0
  103. package/vscode/src/vs/sessions/contrib/aquarium/browser/media/aquarium.css +316 -0
  104. package/vscode/src/vs/sessions/contrib/aquarium/browser/vscodeLogoPath.d.ts +1 -0
  105. package/vscode/src/vs/sessions/contrib/aquarium/browser/vscodeLogoPath.js +5 -0
  106. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.d.ts +173 -0
  107. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +1589 -0
  108. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.d.ts +32 -0
  109. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +396 -0
  110. package/vscode/src/vs/sessions/contrib/automations/browser/automationInputCompletions.d.ts +33 -0
  111. package/vscode/src/vs/sessions/contrib/automations/browser/automationInputCompletions.js +216 -0
  112. package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.d.ts +37 -0
  113. package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.js +126 -0
  114. package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.d.ts +21 -0
  115. package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +294 -0
  116. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.d.ts +59 -0
  117. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +232 -0
  118. package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.d.ts +13 -0
  119. package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.js +22 -0
  120. package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.d.ts +60 -0
  121. package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +1256 -0
  122. package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.d.ts +1 -0
  123. package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +88 -0
  124. package/vscode/src/vs/sessions/contrib/automations/browser/media/automationDialog.css +746 -0
  125. package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.d.ts +62 -0
  126. package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +493 -0
  127. package/vscode/src/vs/sessions/contrib/automations/common/isolationGroupModel.d.ts +38 -0
  128. package/vscode/src/vs/sessions/contrib/automations/common/isolationGroupModel.js +123 -0
  129. package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.d.ts +45 -0
  130. package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.js +110 -0
  131. package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.contribution.d.ts +1 -0
  132. package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.contribution.js +5 -0
  133. package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.d.ts +31 -0
  134. package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.js +137 -0
  135. package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.d.ts +1 -0
  136. package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +130 -0
  137. package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.d.ts +8 -0
  138. package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +385 -0
  139. package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.d.ts +28 -0
  140. package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.js +76 -0
  141. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.d.ts +1 -0
  142. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +509 -0
  143. package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.d.ts +6 -0
  144. package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +58 -0
  145. package/vscode/src/vs/sessions/contrib/changes/browser/media/changesActions.css +11 -0
  146. package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.d.ts +24 -0
  147. package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +188 -0
  148. package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.d.ts +15 -0
  149. package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +100 -0
  150. package/vscode/src/vs/sessions/contrib/chat/browser/chatViewStateService.d.ts +9 -0
  151. package/vscode/src/vs/sessions/contrib/chat/browser/chatViewStateService.js +18 -0
  152. package/vscode/src/vs/sessions/contrib/chat/browser/media/sessionChatInputToolbarDebug.css +59 -0
  153. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.d.ts +47 -0
  154. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +306 -0
  155. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.d.ts +41 -0
  156. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.js +31 -0
  157. package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.d.ts +1 -0
  158. package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +84 -0
  159. package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.d.ts +1 -0
  160. package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +111 -0
  161. package/vscode/src/vs/sessions/contrib/customViewTest/browser/media/customViewTest.css +9 -0
  162. package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.d.ts +21 -0
  163. package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +170 -0
  164. package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.d.ts +14 -0
  165. package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +425 -0
  166. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.d.ts +1 -0
  167. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +35 -0
  168. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.d.ts +18 -0
  169. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +85 -0
  170. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.d.ts +31 -0
  171. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +125 -0
  172. package/vscode/src/vs/sessions/contrib/editor/browser/media/editorBreadcrumbs.css +66 -0
  173. package/vscode/src/vs/sessions/contrib/editor/browser/media/editorHeader.css +113 -0
  174. package/vscode/src/vs/sessions/contrib/editor/browser/media/emptyFileEditor.css +30 -0
  175. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/fileTreeView.contribution.d.ts +1 -0
  176. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/fileTreeView.contribution.js +25 -0
  177. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +66 -0
  178. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +274 -0
  179. package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.d.ts +6 -0
  180. package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +100 -0
  181. package/vscode/src/vs/sessions/contrib/files/browser/filesView.d.ts +21 -0
  182. package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +76 -0
  183. package/vscode/src/vs/sessions/contrib/files/browser/media/filesView.css +29 -0
  184. package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.d.ts +211 -0
  185. package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +587 -0
  186. package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.d.ts +112 -0
  187. package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.js +444 -0
  188. package/vscode/src/vs/sessions/contrib/layout/browser/mobileSessionLayoutController.d.ts +13 -0
  189. package/vscode/src/vs/sessions/contrib/layout/browser/mobileSessionLayoutController.js +8 -0
  190. package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.d.ts +1 -0
  191. package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +68 -0
  192. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDetailPanelCoordinator.d.ts +32 -0
  193. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDetailPanelCoordinator.js +81 -0
  194. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDockedTabsCoordinator.d.ts +111 -0
  195. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDockedTabsCoordinator.js +513 -0
  196. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDraftSessionStrategy.d.ts +44 -0
  197. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDraftSessionStrategy.js +423 -0
  198. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneExistingSessionStrategy.d.ts +62 -0
  199. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneExistingSessionStrategy.js +435 -0
  200. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneLayoutStrategy.d.ts +46 -0
  201. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneLayoutStrategy.js +11 -0
  202. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.d.ts +11 -0
  203. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.js +43 -0
  204. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneVisibilityProfileStore.d.ts +21 -0
  205. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneVisibilityProfileStore.js +77 -0
  206. package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.d.ts +55 -0
  207. package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.js +91 -0
  208. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/agentHostReadinessContext.d.ts +11 -0
  209. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/agentHostReadinessContext.js +39 -0
  210. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.d.ts +1 -0
  211. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.js +109 -0
  212. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.d.ts +1 -0
  213. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.js +123 -0
  214. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.d.ts +24 -0
  215. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.js +67 -0
  216. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.d.ts +1 -0
  217. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.js +47 -0
  218. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.d.ts +79 -0
  219. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +1277 -0
  220. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3TourContribution.d.ts +1 -0
  221. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3TourContribution.js +75 -0
  222. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.d.ts +34 -0
  223. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +53 -0
  224. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.d.ts +40 -0
  225. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +69 -0
  226. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.d.ts +4 -0
  227. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +38 -0
  228. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.d.ts +6 -0
  229. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +63 -0
  230. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.d.ts +15 -0
  231. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.js +49 -0
  232. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/media/sessionsPolicyBlocked.css +125 -0
  233. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.d.ts +20 -0
  234. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.js +98 -0
  235. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.d.ts +39 -0
  236. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +218 -0
  237. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.d.ts +53 -0
  238. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +496 -0
  239. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.d.ts +27 -0
  240. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.js +26 -0
  241. package/vscode/src/vs/sessions/contrib/search/browser/media/searchEditorEmptyState.css +15 -0
  242. package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.d.ts +1 -0
  243. package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +79 -0
  244. package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.d.ts +7 -0
  245. package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +57 -0
  246. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsCIFixModel.d.ts +39 -0
  247. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsCIFixModel.js +155 -0
  248. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.d.ts +117 -0
  249. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +320 -0
  250. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.d.ts +65 -0
  251. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +129 -0
  252. package/vscode/src/vs/sessions/contrib/sessions/browser/media/automationsCards.css +624 -0
  253. package/vscode/src/vs/sessions/contrib/sessions/browser/media/blockedSessionsList.css +111 -0
  254. package/vscode/src/vs/sessions/contrib/sessions/browser/media/newSessionActionViewItem.css +112 -0
  255. package/vscode/src/vs/sessions/contrib/sessions/browser/media/sessionsTitleBarWidget.css +159 -0
  256. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionActionFeedback.d.ts +26 -0
  257. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionActionFeedback.js +26 -0
  258. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.d.ts +2 -0
  259. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +77 -0
  260. package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.d.ts +1 -0
  261. package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +162 -0
  262. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.d.ts +111 -0
  263. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +1550 -0
  264. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsMouseNavigation.d.ts +13 -0
  265. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsMouseNavigation.js +69 -0
  266. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsPicker.d.ts +10 -0
  267. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsPicker.js +33 -0
  268. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.d.ts +126 -0
  269. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.js +724 -0
  270. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.d.ts +150 -0
  271. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +526 -0
  272. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTypedCharactersTracker.d.ts +64 -0
  273. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTypedCharactersTracker.js +99 -0
  274. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.d.ts +37 -0
  275. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +160 -0
  276. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.d.ts +19 -0
  277. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +74 -0
  278. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.d.ts +4 -0
  279. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +228 -0
  280. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.d.ts +53 -0
  281. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +2143 -0
  282. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.d.ts +12 -0
  283. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +1270 -0
  284. package/vscode/src/vs/sessions/contrib/workspace/browser/workspace.contribution.d.ts +1 -0
  285. package/vscode/src/vs/sessions/contrib/workspace/browser/workspace.contribution.js +5 -0
  286. package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.d.ts +28 -0
  287. package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.js +95 -0
  288. package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.d.ts +79 -0
  289. package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.js +259 -0
  290. package/vscode/src/vs/sessions/services/customView/browser/customView.d.ts +42 -0
  291. package/vscode/src/vs/sessions/services/customView/browser/customView.js +15 -0
  292. package/vscode/src/vs/sessions/services/customView/browser/customViewService.d.ts +21 -0
  293. package/vscode/src/vs/sessions/services/customView/browser/customViewService.js +68 -0
  294. package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.d.ts +72 -0
  295. package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.js +115 -0
  296. package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.d.ts +77 -0
  297. package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.js +330 -0
  298. package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.d.ts +67 -0
  299. package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.js +157 -0
  300. package/vscode/src/vs/sessions/services/sessions/browser/sessionOpenTelemetryService.d.ts +32 -0
  301. package/vscode/src/vs/sessions/services/sessions/browser/sessionOpenTelemetryService.js +162 -0
  302. package/vscode/src/vs/sessions/services/sessions/browser/sessionSectionOrderService.d.ts +40 -0
  303. package/vscode/src/vs/sessions/services/sessions/browser/sessionSectionOrderService.js +170 -0
  304. package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.d.ts +63 -0
  305. package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.js +419 -0
  306. package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.d.ts +229 -0
  307. package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +1212 -0
  308. package/vscode/src/vs/sessions/services/sessions/browser/sessionsProvidersService.d.ts +22 -0
  309. package/vscode/src/vs/sessions/services/sessions/browser/sessionsProvidersService.js +42 -0
  310. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.d.ts +43 -0
  311. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.js +103 -0
  312. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.d.ts +243 -0
  313. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +1121 -0
  314. package/vscode/src/vs/sessions/services/sessions/browser/sessionsWindowUsageService.d.ts +8 -0
  315. package/vscode/src/vs/sessions/services/sessions/browser/sessionsWindowUsageService.js +24 -0
  316. package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.d.ts +321 -0
  317. package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.js +729 -0
  318. package/vscode/src/vs/sessions/services/sessions/browser/worktreeTrust.d.ts +23 -0
  319. package/vscode/src/vs/sessions/services/sessions/browser/worktreeTrust.js +23 -0
  320. package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.d.ts +32 -0
  321. package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.js +103 -0
  322. package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.d.ts +16 -0
  323. package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.js +41 -0
  324. package/vscode/src/vs/workbench/browser/layout.js +7 -7
  325. package/vscode/src/vs/workbench/browser/workbench.js +3 -3
@@ -0,0 +1,8 @@
1
+ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
2
+ import { ISessionsWindowUsageService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsWindowUsageService.service";
3
+ export declare class SessionsWindowUsageService implements ISessionsWindowUsageService {
4
+ readonly _serviceBrand: undefined;
5
+ readonly hadPriorWindowOpen: boolean;
6
+ readonly windowOpenCount: number;
7
+ constructor(storageService: IStorageService);
8
+ }
@@ -0,0 +1,24 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
4
+ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
5
+ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
6
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
7
+
8
+ const AGENTS_WINDOW_OPEN_COUNT_KEY = "agentSessions.telemetry.summary.appLaunchCount";
9
+ let SessionsWindowUsageService = class SessionsWindowUsageService {
10
+ constructor(storageService) {
11
+ const previousWindowOpenCount = storageService.getNumber(AGENTS_WINDOW_OPEN_COUNT_KEY, StorageScope.APPLICATION, 0);
12
+ this.hadPriorWindowOpen = previousWindowOpenCount > 0;
13
+ this.windowOpenCount = previousWindowOpenCount + 1;
14
+ storageService.store(
15
+ AGENTS_WINDOW_OPEN_COUNT_KEY,
16
+ this.windowOpenCount,
17
+ StorageScope.APPLICATION,
18
+ StorageTarget.MACHINE
19
+ );
20
+ }
21
+ };
22
+ SessionsWindowUsageService = ( __decorate([( __param(0, IStorageService))], SessionsWindowUsageService));
23
+
24
+ export { SessionsWindowUsageService };
@@ -0,0 +1,321 @@
1
+ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
3
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
+ import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
5
+ import { IActiveSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
6
+ import { IChat, ISession, SessionStatus } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
7
+ /**
8
+ * Wraps an {@link ISession} with an active chat observable to form an
9
+ * {@link IActiveSession}. Delegates all {@link ISession} property accesses
10
+ * to the wrapped session so the active session always reflects the latest
11
+ * session state without a stale shallow copy.
12
+ *
13
+ * One instance exists per session currently in the visibility model
14
+ * (active, transient, or sticky). Each instance owns its own active-chat
15
+ * observable so visible-but-not-active sessions retain their per-session
16
+ * chat selection.
17
+ */
18
+ export declare class VisibleSession extends Disposable implements IActiveSession {
19
+ private readonly _session;
20
+ private readonly _isCreated;
21
+ readonly isCreated: IObservable<boolean>;
22
+ private readonly _sticky;
23
+ readonly sticky: IObservable<boolean>;
24
+ private readonly _activeChat;
25
+ readonly activeChat: IObservable<IChat>;
26
+ /**
27
+ * Model and mode are scoped to the active chat so the Agents window pickers
28
+ * read and write the selection of the currently focused chat, not the
29
+ * session/default chat. Sessions with multiple peer chats keep an
30
+ * independent model/agent per chat.
31
+ */
32
+ private readonly _activeChatModelId;
33
+ private readonly _activeChatMode;
34
+ /** Resource strings of chats that have been closed (hidden from the tab strip). */
35
+ private readonly _closedChatUris;
36
+ /**
37
+ * Resource strings of subagent (tool-origin) chats the user explicitly opened,
38
+ * so they surface as tabs. Subagents are hidden from the tab strip by default.
39
+ */
40
+ private readonly _shownRelatedChatUris;
41
+ /** Append-only list tracking close order; last element is the most recently closed. */
42
+ private readonly _closedChatOrder;
43
+ readonly openChats: IObservable<readonly IChat[]>;
44
+ readonly closedChats: IObservable<readonly IChat[]>;
45
+ readonly visibleChatTabs: IObservable<readonly IChat[]>;
46
+ readonly shouldShowChatTabs: IObservable<boolean>;
47
+ constructor(_session: ISession, initialChat: IChat, initialClosedChatUris?: Iterable<string>, initialShownRelatedChatUris?: Iterable<string>);
48
+ setActiveChat(chat: IChat): void;
49
+ closeChat(chat: IChat): void;
50
+ openChat(chat: IChat): void;
51
+ /**
52
+ * Pick the active chat to fall back to when the current one is closed: the
53
+ * last chat that would appear as a visible tab given the closed and shown-
54
+ * subagent sets, or the main chat.
55
+ */
56
+ private _defaultActiveChat;
57
+ get lastClosedChat(): IChat | undefined;
58
+ setSticky(value: boolean): void;
59
+ /** Register a disposable that lives as long as this wrapper. */
60
+ addDisposable(disposable: IDisposable): IDisposable;
61
+ get sessionId(): string;
62
+ get resource(): URI;
63
+ get providerId(): string;
64
+ get sessionType(): string;
65
+ get icon(): import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
66
+ get createdAt(): Date;
67
+ get workspace(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionWorkspace | undefined>;
68
+ get hasGitRepository(): IObservable<boolean> | undefined;
69
+ get worktreePending(): IObservable<boolean> | undefined;
70
+ get isQuickChat(): IObservable<boolean> | undefined;
71
+ get isAutomation(): IObservable<boolean> | undefined;
72
+ get isExternal(): IObservable<boolean> | undefined;
73
+ get remoteConnectionStatus(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").SessionRemoteConnectionStatus> | undefined;
74
+ get createdBySession(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionCreationReference | undefined> | undefined;
75
+ get title(): IObservable<string>;
76
+ get updatedAt(): IObservable<Date>;
77
+ get status(): IObservable<SessionStatus>;
78
+ get completedStateIcon(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon | undefined> | undefined;
79
+ get changesSummary(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionChangesSummary | undefined> | undefined;
80
+ get changesets(): IObservable<readonly import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionChangeset[] | undefined>;
81
+ get changes(): IObservable<readonly import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionFileChange[]>;
82
+ get artifacts(): IObservable<readonly import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionArtifact[]> | undefined;
83
+ get modelId(): IObservable<string | undefined>;
84
+ get mode(): IObservable<{
85
+ readonly id: string;
86
+ readonly kind: string;
87
+ } | undefined>;
88
+ get loading(): IObservable<boolean>;
89
+ get isNewSessionRequestInProgress(): IObservable<boolean> | undefined;
90
+ get isArchived(): IObservable<boolean>;
91
+ get isRead(): IObservable<boolean>;
92
+ get description(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent").IMarkdownString | undefined>;
93
+ get lastTurnEnd(): IObservable<Date | undefined>;
94
+ get chats(): IObservable<readonly IChat[]>;
95
+ get mainChat(): IObservable<IChat>;
96
+ get capabilities(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionCapabilities>;
97
+ /** The wrapped session, which outlives this wrapper. */
98
+ get session(): ISession;
99
+ }
100
+ /**
101
+ * Encapsulates the visibility model used by the
102
+ * {@link SessionsManagementService}.
103
+ *
104
+ * The model tracks:
105
+ * - The currently active session.
106
+ * - An ordered list of slots to display in the sessions part's grid. A slot
107
+ * is either a session id (string) or `undefined` (the "empty" / new-session
108
+ * placeholder). At most one slot may be `undefined` at a time.
109
+ * - A "sticky" set: sessions the user has explicitly pinned. Non-sticky
110
+ * sessions also live in the grid but get replaced when new sessions open.
111
+ * The empty slot is always non-sticky.
112
+ *
113
+ * Each tracked session has a single {@link VisibleSession} wrapper owned by
114
+ * this class. Wrappers are disposed automatically when their session leaves
115
+ * the visibility model.
116
+ */
117
+ export declare class VisibleSessions extends Disposable {
118
+ private readonly _resolveInitialChat;
119
+ private readonly _resolveInitialClosedChats;
120
+ private readonly _resolveInitialShownRelatedChats;
121
+ private readonly _onSlotReplaced;
122
+ private readonly _uriIdentityService;
123
+ private readonly _activeSession;
124
+ readonly activeSession: IObservable<IActiveSession | undefined>;
125
+ /**
126
+ * Whether the most recent active-session change asked to preserve keyboard
127
+ * focus (i.e. show the session without moving focus into it). Always set in
128
+ * the **same transaction** as {@link _activeSession} via
129
+ * {@link _setActiveSession} so the pair can never go stale, and read
130
+ * reactively by the consumer that drives focus.
131
+ */
132
+ private readonly _activePreserveFocus;
133
+ readonly activePreserveFocus: IObservable<boolean>;
134
+ private readonly _visibleSessions;
135
+ readonly visibleSessions: IObservable<readonly (IActiveSession | undefined)[]>;
136
+ private readonly _wrappers;
137
+ /**
138
+ * Ordered slot ids in the grid (left-to-right). Each entry is either a
139
+ * session id or `undefined` (the empty slot). The invariant is that at
140
+ * most one entry is `undefined` at any time.
141
+ */
142
+ private _visibleList;
143
+ /** Subset of {@link _visibleList} the user has marked sticky. */
144
+ private readonly _stickyIds;
145
+ /**
146
+ * Slot id of the most recently opened (or toggled-to-non-sticky) entry in
147
+ * the grid. Used to choose which non-sticky slot to replace when opening a
148
+ * new session while the active one is sticky.
149
+ * - `NO_RECENT` means none is tracked.
150
+ * - `undefined` refers to the empty slot.
151
+ * - A string refers to that session id.
152
+ */
153
+ private _mostRecentNonStickySlot;
154
+ /**
155
+ * @param _onSlotReplaced Reports a session that left the grid because a
156
+ * newly opened slot took its place, with the slot state it lost. Explicit
157
+ * removals ({@link removeMany}) and grid restores are not reported.
158
+ */
159
+ constructor(_resolveInitialChat: (session: ISession) => IChat, _resolveInitialClosedChats: (session: ISession) => Iterable<string>, _resolveInitialShownRelatedChats: (session: ISession) => Iterable<string>, _onSlotReplaced: (replaced: ISession, index: number, sticky: boolean, replacedBySessionId: string | undefined) => void, _uriIdentityService: IUriIdentityService);
160
+ /**
161
+ * Set the active session together with its preserve-focus intent in a
162
+ * single transaction. Routing every active-session change through here
163
+ * guarantees the two observables are always consistent and that the intent
164
+ * never goes stale (callers that do not preserve focus pass `false`).
165
+ */
166
+ private _setActiveSession;
167
+ /**
168
+ * Set the active session, updating the visibility model accordingly.
169
+ *
170
+ * - Passing `undefined` places (or keeps) the single empty slot in the
171
+ * grid and makes it active. The empty slot is always non-sticky.
172
+ * - If the session is already in the grid, its slot is preserved and only
173
+ * the active observable is updated.
174
+ * - Otherwise the session is placed as non-sticky:
175
+ * - If the active slot is non-sticky, the new one replaces it in
176
+ * place.
177
+ * - Else if a non-sticky slot exists, the most-recently opened
178
+ * non-sticky is replaced.
179
+ * - Else the session is appended at the end of the grid.
180
+ *
181
+ * Returns the wrapper for the active session, or `undefined` when the
182
+ * active slot is the empty slot.
183
+ */
184
+ setActive(session: ISession | undefined, preserveFocus?: boolean): VisibleSession | undefined;
185
+ /**
186
+ * Insert (or move) a slot into the grid positioned next to a target
187
+ * session that is already visible. Used by drag-and-drop and by
188
+ * "open at position" entry points.
189
+ *
190
+ * - If the slot is not yet visible, a new non-sticky entry is created
191
+ * at the computed position.
192
+ * - If the slot is already visible, it is moved to the computed
193
+ * position; its sticky / non-sticky state is preserved. This also
194
+ * moves the single empty slot when `session` is `undefined`.
195
+ *
196
+ * When `activate` is `true` (default), the inserted slot also becomes
197
+ * the active session. When `false`, the active session is left
198
+ * unchanged.
199
+ *
200
+ * `targetSessionId` may be `undefined` to position relative to the empty
201
+ * (new-session) slot. No-op if the target slot is not currently visible.
202
+ */
203
+ insertAt(session: ISession | undefined, targetSessionId: string | undefined, side: "left" | "right", activate?: boolean): void;
204
+ /**
205
+ * Atomically (re)build the entire grid from a persisted snapshot.
206
+ *
207
+ * Slots are given left-to-right; a `session` of `undefined` denotes the
208
+ * empty new-session slot. The whole model — slot order, stickiness and the
209
+ * active slot — is published in a single transaction so restoring multiple
210
+ * sessions does not produce intermediate layouts (which would otherwise
211
+ * cause the grid to visibly flicker as sessions are restored one by one).
212
+ *
213
+ * Any wrappers for sessions no longer present in the snapshot are disposed.
214
+ *
215
+ * @param slots Ordered grid slots to restore.
216
+ * @param activeIndex Index into `slots` of the slot that should be active,
217
+ * or `-1` for none.
218
+ */
219
+ restoreGrid(slots: ReadonlyArray<{
220
+ readonly session: ISession | undefined;
221
+ readonly sticky: boolean;
222
+ }>, activeIndex: number): void;
223
+ /**
224
+ * The grid slot state of a currently visible session (or of the empty slot
225
+ * when `sessionId` is `undefined`), or `undefined` when it is not visible.
226
+ */
227
+ getSlot(sessionId: string | undefined): {
228
+ readonly index: number;
229
+ readonly sticky: boolean;
230
+ } | undefined;
231
+ /** The session behind a visible slot, or `undefined` for the empty slot / an unknown id. */
232
+ getSession(sessionId: string | undefined): ISession | undefined;
233
+ /**
234
+ * Put a session (back) into the grid at `index`, shifting the slots at and
235
+ * after it to the right, and make it active. The index is clamped to the
236
+ * current grid size, so a stale index appends instead of failing. No-op
237
+ * when the session is already visible.
238
+ */
239
+ insertAtIndex(session: ISession, index: number, sticky: boolean): VisibleSession | undefined;
240
+ /**
241
+ * Replace the slot currently held by `slotId` (`undefined` for the empty
242
+ * slot) with `session`, and make it active. Used to undo a grid
243
+ * replacement, so the restored session lands exactly where it was and the
244
+ * session that took its place leaves the grid. No-op when the slot is not
245
+ * visible or the session is already visible elsewhere.
246
+ */
247
+ replaceSlot(slotId: string | undefined, session: ISession, sticky: boolean): VisibleSession | undefined;
248
+ /**
249
+ * Toggle a session's stickiness in the grid. The session keeps its grid
250
+ * slot when toggled.
251
+ * - If the session is not currently visible, it is appended at the end as
252
+ * sticky.
253
+ *
254
+ * Returns the session's stickiness state after the toggle.
255
+ */
256
+ toggleStickiness(session: ISession): boolean;
257
+ /**
258
+ * Remove the given session ids from the visibility model and dispose their
259
+ * wrappers. Passing `undefined` removes the empty (new-session) slot if
260
+ * present. If the active slot is among the removed entries, the active
261
+ * observable falls back to the slot at the active's original position
262
+ * (or the slot to its left if it was at the end of the grid); when no
263
+ * visible slot remains, the active observable is cleared. Observables
264
+ * are refreshed once if anything changed.
265
+ */
266
+ removeMany(sessionIds: Iterable<string | undefined>): void;
267
+ /**
268
+ * Set the active chat for the given session's wrapper. No-op if the
269
+ * session is not currently tracked in the visibility model.
270
+ */
271
+ setActiveChat(session: ISession, chat: IChat): void;
272
+ /**
273
+ * Close (hide from the tab strip) the given chat in the session's wrapper.
274
+ * No-op if the session is not currently tracked in the visibility model.
275
+ */
276
+ closeChat(session: ISession, chat: IChat): void;
277
+ /**
278
+ * Open (un-hide from the tab strip) a previously closed chat in the session's
279
+ * wrapper. No-op if the session is not currently tracked in the visibility model.
280
+ */
281
+ openChat(session: ISession, chat: IChat): void;
282
+ /**
283
+ * Replace the given session in the visibility model with `updatedSession`,
284
+ * preserving the grid slot, sticky state, and active state. The wrapper
285
+ * for the old session is disposed; a fresh wrapper is created for the
286
+ * updated session. No-op if `session` is not currently in the grid.
287
+ */
288
+ updateSession(session: ISession, updatedSession: ISession): void;
289
+ /**
290
+ * Create a transient {@link ISession} that mirrors the given session but
291
+ * exposes a different {@link ISession.resource}. The visibility model's
292
+ * wrapper for the same session id is rebuilt against this transient
293
+ * session so consumers observe the new resource. Returns the transient
294
+ * session so callers can pass it to a subsequent {@link updateSession}
295
+ * once the provider produces the final session.
296
+ *
297
+ * No-op (but still returns the transient session) if the session is not
298
+ * currently in the grid.
299
+ */
300
+ updateResourceOfSession(session: ISession, resource: URI): ISession;
301
+ /**
302
+ * Rename a session id in the visibility model so the same grid slot is
303
+ * reused for the replacement. The old wrapper is disposed; a fresh one is
304
+ * created lazily on next access. Does not auto-refresh — callers should
305
+ * call {@link refresh} or {@link setActive} as appropriate.
306
+ */
307
+ replaceId(fromId: string, toId: string): void;
308
+ /** Re-publish the visible sessions and sticky ids observables. */
309
+ refresh(): void;
310
+ private _findLastNonSticky;
311
+ /** True if the given slot id refers to a sticky session. The empty slot is never sticky. */
312
+ private _isStickySlot;
313
+ /**
314
+ * Returns the slot id of the currently active entry in the grid, or
315
+ * {@link NO_RECENT} if no entry in the grid is active.
316
+ */
317
+ private _currentActiveSlot;
318
+ private _removeFromModel;
319
+ private _refresh;
320
+ private _getOrCreateVisibleSession;
321
+ }