@codingame/monaco-vscode-workbench-service-override 37.1.0 → 37.3.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 (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,22 @@
1
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
2
+ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { ISessionsProvider } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsProvider";
4
+ import { ISessionsProvidersService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service";
5
+ export interface ISessionsProvidersChangeEvent {
6
+ readonly added: readonly ISessionsProvider[];
7
+ readonly removed: readonly ISessionsProvider[];
8
+ }
9
+ export declare class SessionsProvidersService extends Disposable implements ISessionsProvidersService {
10
+ readonly _serviceBrand: undefined;
11
+ private readonly _providers;
12
+ private readonly _onDidChangeProviders;
13
+ readonly onDidChangeProviders: Event<ISessionsProvidersChangeEvent>;
14
+ registerProvider(provider: ISessionsProvider): IDisposable;
15
+ /**
16
+ * Returns all registered providers sorted by each provider's
17
+ * {@link ISessionsProvider.order} (lower first). The sort is stable, so
18
+ * providers with equal order keep their registration order.
19
+ */
20
+ getProviders(): ISessionsProvider[];
21
+ getProvider<T extends ISessionsProvider>(providerId: string): T | undefined;
22
+ }
@@ -0,0 +1,42 @@
1
+
2
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
3
+ import { Disposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
5
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
6
+
7
+ class SessionsProvidersService extends Disposable {
8
+ constructor() {
9
+ super(...arguments);
10
+ this._providers = ( new Map());
11
+ this._onDidChangeProviders = this._register(( new Emitter()));
12
+ this.onDidChangeProviders = this._onDidChangeProviders.event;
13
+ }
14
+ registerProvider(provider) {
15
+ if (( this._providers.has(provider.id))) {
16
+ throw ( new Error(`Sessions provider '${provider.id}' is already registered.`));
17
+ }
18
+ this._providers.set(provider.id, provider);
19
+ this._onDidChangeProviders.fire({
20
+ added: [provider],
21
+ removed: []
22
+ });
23
+ return toDisposable(() => {
24
+ const entry = this._providers.get(provider.id);
25
+ if (entry) {
26
+ this._providers.delete(provider.id);
27
+ this._onDidChangeProviders.fire({
28
+ added: [],
29
+ removed: [provider]
30
+ });
31
+ }
32
+ });
33
+ }
34
+ getProviders() {
35
+ return Array.from(( this._providers.values())).sort((a, b) => a.order - b.order);
36
+ }
37
+ getProvider(providerId) {
38
+ return this._providers.get(providerId);
39
+ }
40
+ }
41
+
42
+ export { SessionsProvidersService };
@@ -0,0 +1,43 @@
1
+ import { Disposable } 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 { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
5
+ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
6
+ /** A single recently-opened entry: a chat within a session, or a session when no specific chat applies. */
7
+ export interface IRecencyEntry {
8
+ readonly sessionResource: URI;
9
+ readonly chatResource: URI | undefined;
10
+ }
11
+ /**
12
+ * The single source of truth for "recently opened" ordering across the sessions
13
+ * UI. Maintains an MRU-ordered list of `(session, chat)` entries (index 0 is the
14
+ * most recently opened), deduplicated by the `(session, chat)` pair and capped at
15
+ * {@link MAX_RECENCY_ENTRIES}. The list is persisted so recency survives reloads.
16
+ *
17
+ * Both the sessions picker (via
18
+ * {@link ISessionsManagementService.getRecentlyOpenedSessions}) and the
19
+ * Back/Forward navigation ({@link SessionsNavigation}) build on top of this.
20
+ */
21
+ export declare class SessionsRecencyHistory extends Disposable {
22
+ private readonly _storageService;
23
+ private readonly _logService;
24
+ private static readonly STORAGE_KEY;
25
+ private static readonly MAX_RECENCY_ENTRIES;
26
+ private _entries;
27
+ private readonly _version;
28
+ /** Bumped whenever {@link entries} changes, so observers can react. */
29
+ get version(): IObservable<number>;
30
+ /** The recency entries in MRU order (index 0 is the most recently opened). */
31
+ get entries(): readonly IRecencyEntry[];
32
+ constructor(_storageService: IStorageService, _logService: ILogService);
33
+ /**
34
+ * Record that the given session (optionally a specific chat within it) was
35
+ * explicitly opened, promoting it to the front of the MRU list.
36
+ */
37
+ markOpened(sessionResource: URI, chatResource: URI | undefined): void;
38
+ /** Remove every entry matching the given predicate. */
39
+ remove(predicate: (entry: IRecencyEntry) => boolean): void;
40
+ private _bumpVersion;
41
+ private _load;
42
+ private _save;
43
+ }
@@ -0,0 +1,103 @@
1
+
2
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
3
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
4
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
+ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
6
+ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
7
+
8
+ function entryKey(sessionResource, chatResource) {
9
+ return `${( sessionResource.toString())}::${chatResource?.toString() ?? ""}`;
10
+ }
11
+ class SessionsRecencyHistory extends Disposable {
12
+ static {
13
+ this.STORAGE_KEY = "agentSessions.recencyHistory";
14
+ }
15
+ static {
16
+ this.MAX_RECENCY_ENTRIES = 50;
17
+ }
18
+ get version() {
19
+ return this._version;
20
+ }
21
+ get entries() {
22
+ return this._entries;
23
+ }
24
+ constructor(_storageService, _logService) {
25
+ super();
26
+ this._storageService = _storageService;
27
+ this._logService = _logService;
28
+ this._entries = [];
29
+ this._version = observableValue(this, 0);
30
+ this._entries = this._load();
31
+ }
32
+ markOpened(sessionResource, chatResource) {
33
+ const key = entryKey(sessionResource, chatResource);
34
+ const existingIndex = this._entries.findIndex(e => entryKey(e.sessionResource, e.chatResource) === key);
35
+ if (existingIndex === 0) {
36
+ return;
37
+ }
38
+ if (existingIndex > 0) {
39
+ this._entries.splice(existingIndex, 1);
40
+ }
41
+ this._entries.unshift({
42
+ sessionResource,
43
+ chatResource
44
+ });
45
+ if (this._entries.length > SessionsRecencyHistory.MAX_RECENCY_ENTRIES) {
46
+ this._entries.length = SessionsRecencyHistory.MAX_RECENCY_ENTRIES;
47
+ }
48
+ this._save();
49
+ this._bumpVersion();
50
+ }
51
+ remove(predicate) {
52
+ const next = this._entries.filter(e => !predicate(e));
53
+ if (next.length === this._entries.length) {
54
+ return;
55
+ }
56
+ this._entries = next;
57
+ this._save();
58
+ this._bumpVersion();
59
+ }
60
+ _bumpVersion() {
61
+ this._version.set(this._version.get() + 1, undefined);
62
+ }
63
+ _load() {
64
+ const raw = this._storageService.get(SessionsRecencyHistory.STORAGE_KEY, StorageScope.WORKSPACE);
65
+ if (!raw) {
66
+ return [];
67
+ }
68
+ try {
69
+ const parsed = JSON.parse(raw);
70
+ if (!Array.isArray(parsed)) {
71
+ return [];
72
+ }
73
+ return parsed.filter(e => e && typeof e.session === "string").map(e => ({
74
+ sessionResource: ( URI.parse(e.session)),
75
+ chatResource: e.chat ? ( URI.parse(e.chat)) : undefined
76
+ }));
77
+ } catch (error) {
78
+ this._logService.warn(
79
+ "[SessionsRecencyHistory] failed to parse persisted recency history",
80
+ error
81
+ );
82
+ return [];
83
+ }
84
+ }
85
+ _save() {
86
+ if (this._entries.length === 0) {
87
+ this._storageService.remove(SessionsRecencyHistory.STORAGE_KEY, StorageScope.WORKSPACE);
88
+ return;
89
+ }
90
+ const serialized = this._entries.map(e => ({
91
+ session: ( e.sessionResource.toString()),
92
+ chat: e.chatResource?.toString()
93
+ }));
94
+ this._storageService.store(
95
+ SessionsRecencyHistory.STORAGE_KEY,
96
+ JSON.stringify(serialized),
97
+ StorageScope.WORKSPACE,
98
+ StorageTarget.MACHINE
99
+ );
100
+ }
101
+ }
102
+
103
+ export { SessionsRecencyHistory };
@@ -0,0 +1,243 @@
1
+ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
5
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
6
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
7
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
8
+ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
9
+ import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
10
+ import { IWorkspaceTrustRequestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service";
11
+ import { IWorkspaceTrustManagementService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service";
12
+ import { IChat, ISession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
13
+ import { IActiveSession, ICreateNewChatInSessionOptions, ICreateNewSessionOptions, IRecentlyOpenedSessions, IToggleSessionStickinessEvent } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
14
+ import { ISessionsManagementService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service";
15
+ import { ISessionsProvidersService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service";
16
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
17
+ import { ISessionsPartService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsPartService.service";
18
+ import { ICustomViewService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/customView/browser/customViewService.service";
19
+ import { ISessionChangesStatsCache } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionChangesStatsCache.service";
20
+ import { SessionOpenSource } from "./sessionOpenTelemetryService.js";
21
+ import { ISessionOpenTelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionOpenTelemetryService.service";
22
+ import { ISessionsService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsService.service";
23
+ export interface ISessionNavigationRequest {
24
+ /** The caller's token, so deferred handoffs can recognize their own navigation. */
25
+ readonly token: CancellationToken;
26
+ }
27
+ /**
28
+ * Options for {@link ISessionsService.openNewSession}.
29
+ */
30
+ export interface IOpenNewSessionOptions extends ICreateNewSessionOptions {
31
+ /**
32
+ * Folder to create a concrete draft session for. When set, a new draft is
33
+ * created and shown; when omitted, the new-session composer is shown
34
+ * (restoring any pending draft).
35
+ */
36
+ readonly folderUri?: URI;
37
+ /** Cancel startup session restoration so this new-session navigation wins. */
38
+ readonly cancelRestore?: boolean;
39
+ /** Keep the current navigation intent when the composer creates or updates its own draft. */
40
+ readonly preserveNavigation?: boolean;
41
+ /**
42
+ * When `true`, opens the new session (or empty composer slot) to the side
43
+ * of the active session in the grid instead of replacing it in place.
44
+ */
45
+ readonly toSide?: boolean;
46
+ }
47
+ /**
48
+ * Result of {@link ISessionsService.openNewSession}. `session` holds the
49
+ * created/restored draft on success. `trustDeclined` is `true` only when a
50
+ * `folderUri` was supplied, the folder required workspace trust, and the
51
+ * user explicitly declined it — distinct from any other resolution/creation
52
+ * failure (where `session` is also `undefined` but `trustDeclined` is
53
+ * `false`, since that may still succeed later once a provider registers).
54
+ */
55
+ export interface IOpenNewSessionResult {
56
+ readonly session: ISession | undefined;
57
+ readonly trustDeclined: boolean;
58
+ }
59
+ /** Options for {@link ISessionsService.closeChat}. */
60
+ export interface ICloseChatOptions {
61
+ /**
62
+ * Do not remember the chat as the most recently closed item. Used by batch
63
+ * closes (e.g. "Close All Chats"), where remembering just the final chat of
64
+ * the batch would make one arbitrary member of it reopenable.
65
+ */
66
+ readonly skipHistory?: boolean;
67
+ }
68
+ export interface IOpenSessionOptions {
69
+ readonly preserveFocus?: boolean;
70
+ readonly source?: SessionOpenSource;
71
+ readonly restoreOnlySideOrToolChat?: boolean;
72
+ }
73
+ export declare class SessionsService extends Disposable implements ISessionsService {
74
+ private readonly storageService;
75
+ private readonly logService;
76
+ private readonly uriIdentityService;
77
+ private readonly contextKeyService;
78
+ private readonly sessionsManagementService;
79
+ private readonly sessionsProvidersService;
80
+ private readonly sessionsPartService;
81
+ private readonly customViewService;
82
+ private readonly instantiationService;
83
+ private readonly workspaceTrustRequestService;
84
+ private readonly workspaceTrustManagementService;
85
+ private readonly changesStatsCache;
86
+ private readonly sessionOpenTelemetryService;
87
+ readonly _serviceBrand: undefined;
88
+ private readonly _onDidToggleSessionStickiness;
89
+ readonly onDidToggleSessionStickiness: Event<IToggleSessionStickinessEvent>;
90
+ /** Owns the active/sticky/transient visibility model and the {@link IActiveSession} wrappers. */
91
+ private readonly _visibility;
92
+ readonly visibleSessions: IObservable<readonly (IActiveSession | undefined)[]>;
93
+ /** Remembers the single most recently closed chat or session for {@link reopenLastClosedItem}. */
94
+ private readonly _closedItems;
95
+ /** The canonical active session — the visible active slot. */
96
+ readonly activeSession: IObservable<IActiveSession | undefined>;
97
+ private readonly _initialRestoreComplete;
98
+ readonly initialRestoreComplete: IObservable<boolean>;
99
+ private readonly _navigationRequest;
100
+ readonly navigationRequest: IObservable<ISessionNavigationRequest | undefined>;
101
+ private readonly _isNewChatSessionContext;
102
+ /** Cancelled on every navigation action so in-flight async opens bail out. */
103
+ private readonly _openSessionCts;
104
+ /**
105
+ * Cancellation for the in-flight {@link restoreVisibleSessions}. Kept
106
+ * separate from {@link _openSessionCts} so that additive new-session
107
+ * operations (the new-chat composer eagerly creating a draft on startup)
108
+ * do not abort restoring the previously visible grid. Explicit navigation
109
+ * to a session, or a new-session handoff with `cancelRestore`, cancels it.
110
+ */
111
+ private readonly _restoreCts;
112
+ private readonly _sessionStates;
113
+ private readonly _pendingRestoredChatResources;
114
+ private readonly _navigation;
115
+ /**
116
+ * The single source of truth for session recency (most-recently-opened
117
+ * first), persisted across restarts. Both the recent-sessions picker (via
118
+ * {@link getRecentlyOpenedSessions}) and {@link SessionsNavigation} build on
119
+ * top of it.
120
+ */
121
+ private readonly _recencyHistory;
122
+ /**
123
+ * Session id (or `undefined` for the new-session slot) that focus was last
124
+ * moved into in response to an active-session change. Tracks the active id
125
+ * so unrelated visibility updates don't re-focus and steal focus.
126
+ */
127
+ private _focusedActiveSessionId;
128
+ /** The in-flight foreground send's "keep newest chat active" follow. */
129
+ private readonly _sendFollow;
130
+ constructor(storageService: IStorageService, logService: ILogService, uriIdentityService: IUriIdentityService, contextKeyService: IContextKeyService, sessionsManagementService: ISessionsManagementService, sessionsProvidersService: ISessionsProvidersService, sessionsPartService: ISessionsPartService, customViewService: ICustomViewService, instantiationService: IInstantiationService, workspaceTrustRequestService: IWorkspaceTrustRequestService, workspaceTrustManagementService: IWorkspaceTrustManagementService, changesStatsCache: ISessionChangesStatsCache, sessionOpenTelemetryService: ISessionOpenTelemetryService);
131
+ private _onDidReplaceSession;
132
+ private _activeSessionViewListeners;
133
+ private _onDidChangeSessions;
134
+ private _startSendFollow;
135
+ getRecentlyOpenedSessions(): IRecentlyOpenedSessions;
136
+ /**
137
+ * Cancel any in-flight open-session/restore and return a fresh cancellation token.
138
+ */
139
+ private _startOpenSession;
140
+ private _beginNavigation;
141
+ private _recordNavigation;
142
+ /**
143
+ * Cancel an in-flight {@link restoreVisibleSessions}. Called when the user
144
+ * explicitly navigates to a session, including a new-session handoff that
145
+ * sets `cancelRestore`, so restore stops fighting the user's choice.
146
+ */
147
+ private _cancelRestore;
148
+ /**
149
+ * Make the given session active in the visibility model, optionally without
150
+ * moving focus into it. The preserve-focus intent is published atomically
151
+ * with the active session by the visibility model, and the model's
152
+ * canonical active session is updated reactively by the mirror autorun.
153
+ */
154
+ private _activate;
155
+ openChat(session: ISession, chatUri: URI, options?: IOpenSessionOptions): Promise<void>;
156
+ private _openChatSession;
157
+ private _openChat;
158
+ closeChat(session: IActiveSession, chat: IChat, options?: ICloseChatOptions): Promise<void>;
159
+ reopenLastClosedItem(): Promise<void>;
160
+ /**
161
+ * Persist a chat's closed/open state into the session's stored view state so
162
+ * it survives switching the session out of the grid (which disposes its
163
+ * wrapper) and reloads. Done synchronously on the close/open action rather
164
+ * than reactively from `closedChats`, which would depend on the session's
165
+ * chats being loaded. The main chat can never be closed and is ignored.
166
+ */
167
+ private _setChatVisibilityState;
168
+ private _applyActiveChatSelection;
169
+ openSession(sessionResource: URI, options?: IOpenSessionOptions): Promise<void>;
170
+ private _openSession;
171
+ showSession(sessionResource: URI, options?: {
172
+ preserveFocus?: boolean;
173
+ }): void;
174
+ canOpenSession(session: ISession): Promise<boolean>;
175
+ openSessionToSide(session: ISession, options?: IOpenSessionOptions & {
176
+ chatResource?: URI;
177
+ }): Promise<void>;
178
+ /**
179
+ * Opens a chat to the side of its session view, redirecting a superseded
180
+ * resource first so a migrating session opens its adopted twin to the side
181
+ * rather than the old facade. Provider-neutral: the redirect is the
182
+ * `resolveSessionResource` hook, not a scheme check.
183
+ */
184
+ openChatToSide(session: ISession, chatResource: URI, options?: {
185
+ preserveFocus?: boolean;
186
+ }): Promise<void>;
187
+ /**
188
+ * Redirects a superseded session to its authoritative facade before it is
189
+ * shown (mirrors `openSession`'s URI resolution). Provider-neutral: it asks
190
+ * `resolveSessionResource`, which declines unfamiliar resources, rather than
191
+ * inspecting the provider's URI scheme. Returns the redirected session (and
192
+ * its main chat) when it changes, otherwise the inputs unchanged.
193
+ */
194
+ private _resolveSessionForOpen;
195
+ private _getSession;
196
+ private _showSession;
197
+ private _waitForOpenSessionToLoad;
198
+ unsetNewSession(): void;
199
+ openNewSession(options?: IOpenNewSessionOptions, token?: CancellationToken): Promise<IOpenNewSessionResult>;
200
+ private _openNewSession;
201
+ /** Open or move beside the active session when requested, keeping a single empty slot. */
202
+ private _activateOrInsert;
203
+ openQuickChat(options?: ICreateNewSessionOptions): IActiveSession | undefined;
204
+ private _openQuickChat;
205
+ openNewChatInSession(session: ISession, options?: ICreateNewChatInSessionOptions): Promise<void>;
206
+ setActive(session: IActiveSession | undefined): void;
207
+ submitNewSessionInput(): Promise<boolean>;
208
+ toggleSessionStickiness(session: ISession): void;
209
+ insertAt(session: ISession | undefined, targetSessionId: string, side: "left" | "right", activate?: boolean): void;
210
+ closeSession(session: ISession | undefined): void;
211
+ closeAllSessions(): void;
212
+ private _restoreInitialChat;
213
+ /**
214
+ * The resource strings of chats that were closed (hidden from the tab strip)
215
+ * when the session was last saved, so they stay hidden across reloads. Stale
216
+ * URIs that no longer match a chat are harmless: the visible session
217
+ * intersects them with the live chat list.
218
+ */
219
+ private _restoreClosedChats;
220
+ private _restoreShownRelatedChats;
221
+ private _waitForSessionToLoad;
222
+ private _loadSessionStates;
223
+ private _saveSessionStates;
224
+ private _snapshotVisibleSessionStates;
225
+ /**
226
+ * The persisted visible sessions, ordered left-to-right by their stored
227
+ * grid position.
228
+ */
229
+ private _getVisibleSessionStates;
230
+ /**
231
+ * Wait for the session with the given resource to become available via its
232
+ * provider, resolving with the session or `undefined` if the token is
233
+ * cancelled before it appears. When `timeout` is given, resolves with
234
+ * `undefined` after that many milliseconds so a persisted session that never
235
+ * resurfaces (e.g. deleted while the window was closed) cannot keep restore
236
+ * pending — and its provider listeners alive — indefinitely.
237
+ */
238
+ private _waitForSession;
239
+ restoreVisibleSessions(): Promise<void>;
240
+ private _restoreVisibleSessions;
241
+ openPreviousSession(): Promise<void>;
242
+ openNextSession(): Promise<void>;
243
+ }