@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,419 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
5
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
+ import { themeColorFromId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
7
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
8
+ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
9
+ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
10
+ import { SessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
11
+ import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service';
12
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
13
+
14
+ var SessionsListModelService_1;
15
+ var SessionListModelChangeKind;
16
+ (function(SessionListModelChangeKind) {
17
+ SessionListModelChangeKind["Pinned"] = "pinned";
18
+ SessionListModelChangeKind["Sort"] = "sort";
19
+ })(SessionListModelChangeKind || (SessionListModelChangeKind = {}));
20
+ let SessionsListModelService = class SessionsListModelService extends Disposable {
21
+ static {
22
+ SessionsListModelService_1 = this;
23
+ }
24
+ static {
25
+ this.PINNED_SESSIONS_KEY = "sessionsListControl.pinnedSessions";
26
+ }
27
+ static {
28
+ this.SORT_OVERRIDES_KEY = "sessionsListControl.sortOverrides";
29
+ }
30
+ static {
31
+ this.UPDATED_DEFAULT_PLACEMENTS_KEY = "sessionsListControl.updatedDefaultPlacements";
32
+ }
33
+ static {
34
+ this.LEGACY_READ_SESSIONS_KEY = "sessionsListControl.readSessions";
35
+ }
36
+ static {
37
+ this.READ_MIGRATION_DONE_KEY = "sessionsListControl.readMigrationDone";
38
+ }
39
+ static {
40
+ this.UNREAD_DEFAULT_CUTOFF = ( new Date("2026-05-12T00:00:00.000Z"));
41
+ }
42
+ constructor(storageService, sessionsManagementService) {
43
+ super();
44
+ this.storageService = storageService;
45
+ this.sessionsManagementService = sessionsManagementService;
46
+ this._onDidChange = this._register(( new Emitter()));
47
+ this.onDidChange = this._onDidChange.event;
48
+ this._pinnedSessionIds = this.loadSet(SessionsListModelService_1.PINNED_SESSIONS_KEY);
49
+ this._sortOverrides = this.loadSortOverrides();
50
+ this._updatedDefaultPlacements = this.loadUpdatedDefaultPlacements();
51
+ const legacyRead = this.loadSet(SessionsListModelService_1.LEGACY_READ_SESSIONS_KEY);
52
+ this._legacyReadSessionIds = legacyRead.size > 0 ? legacyRead : undefined;
53
+ this._migratedReadSessionIds = this.loadSet(SessionsListModelService_1.READ_MIGRATION_DONE_KEY);
54
+ this._register(this.sessionsManagementService.onDidChangeSessions(
55
+ () => this.updateDefaultPlacement(this.sessionsManagementService.getSessions())
56
+ ));
57
+ this.updateDefaultPlacement(this.sessionsManagementService.getSessions());
58
+ this._register(this.sessionsManagementService.onDidDeleteSession(session => {
59
+ this.deleteSession(session);
60
+ }));
61
+ }
62
+ migrateLegacyReadState(session) {
63
+ const sessionId = session.sessionId;
64
+ if (( this._migratedReadSessionIds.has(sessionId))) {
65
+ return;
66
+ }
67
+ const wasRead = (this._legacyReadSessionIds?.has(sessionId) ?? false) || session.updatedAt.get() < SessionsListModelService_1.UNREAD_DEFAULT_CUTOFF;
68
+ if (!wasRead) {
69
+ return;
70
+ }
71
+ this.sessionsManagementService.markRead(session);
72
+ this._migratedReadSessionIds.add(sessionId);
73
+ this.saveSet(
74
+ SessionsListModelService_1.READ_MIGRATION_DONE_KEY,
75
+ this._migratedReadSessionIds
76
+ );
77
+ }
78
+ pinSession(session) {
79
+ if (( this._pinnedSessionIds.has(session.sessionId))) {
80
+ return;
81
+ }
82
+ this._pinnedSessionIds.add(session.sessionId);
83
+ this.saveSet(SessionsListModelService_1.PINNED_SESSIONS_KEY, this._pinnedSessionIds);
84
+ this._onDidChange.fire({
85
+ changes: [{
86
+ sessionId: session.sessionId,
87
+ kind: SessionListModelChangeKind.Pinned
88
+ }]
89
+ });
90
+ }
91
+ unpinSession(session) {
92
+ if (!( this._pinnedSessionIds.has(session.sessionId))) {
93
+ return;
94
+ }
95
+ this._pinnedSessionIds.delete(session.sessionId);
96
+ this.saveSet(SessionsListModelService_1.PINNED_SESSIONS_KEY, this._pinnedSessionIds);
97
+ this._onDidChange.fire({
98
+ changes: [{
99
+ sessionId: session.sessionId,
100
+ kind: SessionListModelChangeKind.Pinned
101
+ }]
102
+ });
103
+ }
104
+ unpinSessions(sessions) {
105
+ const changed = [];
106
+ for (const session of sessions) {
107
+ if (this._pinnedSessionIds.delete(session.sessionId)) {
108
+ changed.push({
109
+ sessionId: session.sessionId,
110
+ kind: SessionListModelChangeKind.Pinned
111
+ });
112
+ }
113
+ }
114
+ if (changed.length > 0) {
115
+ this.saveSet(SessionsListModelService_1.PINNED_SESSIONS_KEY, this._pinnedSessionIds);
116
+ this._onDidChange.fire({
117
+ changes: changed
118
+ });
119
+ }
120
+ }
121
+ isSessionPinned(session) {
122
+ return ( this._pinnedSessionIds.has(session.sessionId));
123
+ }
124
+ updateDefaultPlacement(sessionsToCheck) {
125
+ const sessions = this.sessionsManagementService.getSessions();
126
+ const changedSessionIds = ( new Set());
127
+ let sortChanged = this.expireUpdatedDefaultPlacements(sessionsToCheck, changedSessionIds);
128
+ for (const mode of ["created", "updated"]) {
129
+ for (const session of sessionsToCheck) {
130
+ if (this.ensureCreatorAdjacentSortOverride(session, mode, sessions, ( new Set()), changedSessionIds)) {
131
+ sortChanged = true;
132
+ }
133
+ }
134
+ }
135
+ if (sortChanged) {
136
+ this.saveSortOverrides();
137
+ this.saveUpdatedDefaultPlacements();
138
+ }
139
+ if (changedSessionIds.size > 0) {
140
+ this._onDidChange.fire({
141
+ changes: [...changedSessionIds].map(sessionId => ({
142
+ sessionId,
143
+ kind: SessionListModelChangeKind.Sort
144
+ }))
145
+ });
146
+ }
147
+ }
148
+ ensureCreatorAdjacentSortOverride(session, mode, sessions, visiting, changedSessionIds) {
149
+ if (( this._sortOverrides[mode].has(session.sessionId)) || (mode === "updated" && ( this._updatedDefaultPlacements.has(session.sessionId)))) {
150
+ return false;
151
+ }
152
+ const creatorResource = session.createdBySession?.get()?.session;
153
+ if (!creatorResource) {
154
+ return false;
155
+ }
156
+ const creator = this.sessionsManagementService.getSession(creatorResource);
157
+ if (!creator || ( visiting.has(session.sessionId))) {
158
+ return false;
159
+ }
160
+ visiting.add(session.sessionId);
161
+ this.ensureCreatorAdjacentSortOverride(creator, mode, sessions, visiting, changedSessionIds);
162
+ visiting.delete(session.sessionId);
163
+ if (creator.createdBySession?.get() && !( this._sortOverrides[mode].has(creator.sessionId))) {
164
+ return false;
165
+ }
166
+ const creatorKey = this.getSortKey(creator, mode);
167
+ const sorted = sessions.filter(candidate => candidate.sessionId !== session.sessionId).sort((a, b) => this.getSortKey(b, mode) - this.getSortKey(a, mode));
168
+ const creatorIndex = sorted.findIndex(candidate => candidate.sessionId === creator.sessionId);
169
+ if (creatorIndex < 0) {
170
+ return false;
171
+ }
172
+ const below = sorted[creatorIndex + 1];
173
+ const belowKey = below ? this.getSortKey(below, mode) : undefined;
174
+ const createdSessionKey = belowKey !== undefined && creatorKey > belowKey ? (creatorKey + belowKey) / 2 : creatorKey - 60_000;
175
+ this._sortOverrides[mode].set(session.sessionId, createdSessionKey);
176
+ if (mode === "updated") {
177
+ this._updatedDefaultPlacements.set(session.sessionId, this.getNaturalSortKey(session, mode));
178
+ }
179
+ changedSessionIds.add(session.sessionId);
180
+ return true;
181
+ }
182
+ expireUpdatedDefaultPlacements(sessionsToCheck, changedSessionIds) {
183
+ let changed = false;
184
+ for (const session of sessionsToCheck) {
185
+ const naturalKeyAtPlacement = this._updatedDefaultPlacements.get(session.sessionId);
186
+ if (naturalKeyAtPlacement === undefined || naturalKeyAtPlacement === null || naturalKeyAtPlacement === this.getNaturalSortKey(session, "updated")) {
187
+ continue;
188
+ }
189
+ this._sortOverrides.updated.delete(session.sessionId);
190
+ this._updatedDefaultPlacements.set(session.sessionId, null);
191
+ changedSessionIds.add(session.sessionId);
192
+ changed = true;
193
+ }
194
+ return changed;
195
+ }
196
+ getNaturalSortKey(session, mode) {
197
+ return mode === "updated" ? session.updatedAt.get().getTime() : session.createdAt.getTime();
198
+ }
199
+ getSortKey(session, mode) {
200
+ const override = this._sortOverrides[mode].get(session.sessionId);
201
+ return override ?? this.getNaturalSortKey(session, mode);
202
+ }
203
+ hasSortOverride(sessionId, mode) {
204
+ return ( this._sortOverrides[mode].has(sessionId));
205
+ }
206
+ applySortChanges(mode, set, clear) {
207
+ const map = this._sortOverrides[mode];
208
+ const changes = [];
209
+ let updatedDefaultPlacementChanged = false;
210
+ for (const sessionId of clear) {
211
+ if (mode === "updated" && this._updatedDefaultPlacements.delete(sessionId)) {
212
+ updatedDefaultPlacementChanged = true;
213
+ }
214
+ const session = this.sessionsManagementService.getSessions().find(session => session.sessionId === sessionId);
215
+ if (session?.createdBySession?.get()) {
216
+ const naturalKey = this.getNaturalSortKey(session, mode);
217
+ if (map.get(sessionId) !== naturalKey) {
218
+ map.set(sessionId, naturalKey);
219
+ changes.push({
220
+ sessionId,
221
+ kind: SessionListModelChangeKind.Sort
222
+ });
223
+ }
224
+ } else if (map.delete(sessionId)) {
225
+ changes.push({
226
+ sessionId,
227
+ kind: SessionListModelChangeKind.Sort
228
+ });
229
+ }
230
+ }
231
+ for (const [sessionId, value] of set) {
232
+ if (mode === "updated" && this._updatedDefaultPlacements.delete(sessionId)) {
233
+ updatedDefaultPlacementChanged = true;
234
+ }
235
+ if (map.get(sessionId) !== value) {
236
+ map.set(sessionId, value);
237
+ changes.push({
238
+ sessionId,
239
+ kind: SessionListModelChangeKind.Sort
240
+ });
241
+ }
242
+ }
243
+ if (changes.length > 0) {
244
+ this.saveSortOverrides();
245
+ this._onDidChange.fire({
246
+ changes
247
+ });
248
+ }
249
+ if (updatedDefaultPlacementChanged) {
250
+ this.saveUpdatedDefaultPlacements();
251
+ }
252
+ }
253
+ getStatusIcon(status, isRead, isArchived, completedStateIcon) {
254
+ switch (status) {
255
+ case SessionStatus.InProgress:
256
+ return {
257
+ ...Codicon.sessionInProgress,
258
+ color: themeColorFromId("textLink.foreground")
259
+ };
260
+ case SessionStatus.NeedsInput:
261
+ return {
262
+ ...Codicon.circleFilled,
263
+ color: themeColorFromId("list.warningForeground")
264
+ };
265
+ case SessionStatus.Error:
266
+ return {
267
+ ...Codicon.error,
268
+ color: themeColorFromId("errorForeground")
269
+ };
270
+ default:
271
+ if (isArchived) {
272
+ return {
273
+ ...Codicon.passFilled,
274
+ color: themeColorFromId("agentSessionReadIndicator.foreground")
275
+ };
276
+ }
277
+ if (!isRead) {
278
+ return {
279
+ ...Codicon.circleFilled,
280
+ color: themeColorFromId("textLink.foreground")
281
+ };
282
+ }
283
+ if (completedStateIcon) {
284
+ return completedStateIcon;
285
+ }
286
+ return {
287
+ ...Codicon.circleSmallFilled,
288
+ color: themeColorFromId("agentSessionReadIndicator.foreground")
289
+ };
290
+ }
291
+ }
292
+ deleteSession(session) {
293
+ const changes = [];
294
+ if (this._pinnedSessionIds.delete(session.sessionId)) {
295
+ this.saveSet(SessionsListModelService_1.PINNED_SESSIONS_KEY, this._pinnedSessionIds);
296
+ changes.push({
297
+ sessionId: session.sessionId,
298
+ kind: SessionListModelChangeKind.Pinned
299
+ });
300
+ }
301
+ let sortChanged = false;
302
+ if (this._sortOverrides.created.delete(session.sessionId)) {
303
+ sortChanged = true;
304
+ }
305
+ if (this._sortOverrides.updated.delete(session.sessionId)) {
306
+ sortChanged = true;
307
+ }
308
+ if (this._updatedDefaultPlacements.delete(session.sessionId)) {
309
+ this.saveUpdatedDefaultPlacements();
310
+ }
311
+ if (sortChanged) {
312
+ this.saveSortOverrides();
313
+ changes.push({
314
+ sessionId: session.sessionId,
315
+ kind: SessionListModelChangeKind.Sort
316
+ });
317
+ }
318
+ if (changes.length > 0) {
319
+ this._onDidChange.fire({
320
+ changes
321
+ });
322
+ }
323
+ }
324
+ loadSet(key) {
325
+ const raw = this.storageService.get(key, StorageScope.PROFILE);
326
+ if (raw) {
327
+ try {
328
+ const arr = JSON.parse(raw);
329
+ if (Array.isArray(arr)) {
330
+ return ( new Set(arr));
331
+ }
332
+ } catch {}
333
+ }
334
+ return ( new Set());
335
+ }
336
+ saveSet(key, set) {
337
+ if (set.size === 0) {
338
+ this.storageService.remove(key, StorageScope.PROFILE);
339
+ } else {
340
+ this.storageService.store(key, JSON.stringify([...set]), StorageScope.PROFILE, StorageTarget.USER);
341
+ }
342
+ }
343
+ loadSortOverrides() {
344
+ const result = {
345
+ created: ( new Map()),
346
+ updated: ( new Map())
347
+ };
348
+ const raw = this.storageService.get(SessionsListModelService_1.SORT_OVERRIDES_KEY, StorageScope.PROFILE);
349
+ if (raw) {
350
+ try {
351
+ const parsed = JSON.parse(raw);
352
+ for (const mode of ["created", "updated"]) {
353
+ const entries = parsed[mode];
354
+ if (entries) {
355
+ for (const [sessionId, value] of Object.entries(entries)) {
356
+ if (typeof value === "number") {
357
+ result[mode].set(sessionId, value);
358
+ }
359
+ }
360
+ }
361
+ }
362
+ } catch {}
363
+ }
364
+ return result;
365
+ }
366
+ saveSortOverrides() {
367
+ if (this._sortOverrides.created.size === 0 && this._sortOverrides.updated.size === 0) {
368
+ this.storageService.remove(SessionsListModelService_1.SORT_OVERRIDES_KEY, StorageScope.PROFILE);
369
+ return;
370
+ }
371
+ const serialized = {
372
+ created: Object.fromEntries(this._sortOverrides.created),
373
+ updated: Object.fromEntries(this._sortOverrides.updated)
374
+ };
375
+ this.storageService.store(
376
+ SessionsListModelService_1.SORT_OVERRIDES_KEY,
377
+ JSON.stringify(serialized),
378
+ StorageScope.PROFILE,
379
+ StorageTarget.USER
380
+ );
381
+ }
382
+ loadUpdatedDefaultPlacements() {
383
+ const result = ( new Map());
384
+ const raw = this.storageService.get(
385
+ SessionsListModelService_1.UPDATED_DEFAULT_PLACEMENTS_KEY,
386
+ StorageScope.PROFILE
387
+ );
388
+ if (!raw) {
389
+ return result;
390
+ }
391
+ try {
392
+ const parsed = JSON.parse(raw);
393
+ for (const [sessionId, value] of Object.entries(parsed)) {
394
+ if (typeof value === "number" || value === null) {
395
+ result.set(sessionId, value);
396
+ }
397
+ }
398
+ } catch {}
399
+ return result;
400
+ }
401
+ saveUpdatedDefaultPlacements() {
402
+ if (this._updatedDefaultPlacements.size === 0) {
403
+ this.storageService.remove(
404
+ SessionsListModelService_1.UPDATED_DEFAULT_PLACEMENTS_KEY,
405
+ StorageScope.PROFILE
406
+ );
407
+ return;
408
+ }
409
+ this.storageService.store(
410
+ SessionsListModelService_1.UPDATED_DEFAULT_PLACEMENTS_KEY,
411
+ JSON.stringify(Object.fromEntries(this._updatedDefaultPlacements)),
412
+ StorageScope.PROFILE,
413
+ StorageTarget.USER
414
+ );
415
+ }
416
+ };
417
+ SessionsListModelService = SessionsListModelService_1 = ( __decorate([( __param(0, IStorageService)), ( __param(1, ISessionsManagementService))], SessionsListModelService));
418
+
419
+ export { SessionListModelChangeKind, SessionsListModelService };
@@ -0,0 +1,229 @@
1
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
2
+ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
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 { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
7
+ import { IRemoteAgentHostService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService.service";
8
+ import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
9
+ import { IChatWidgetHistoryService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.service";
10
+ import { IPathService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service";
11
+ import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
12
+ import { ICreateNewChatInSessionOptions, ICreateNewSessionOptions, IProviderSessionType, ISendRequestOptions, ISendRequestSentEvent, ISessionsChangeEvent, NewSessionRequestOptions } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
13
+ import { ISessionsManagementService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service";
14
+ import { ISessionsProvidersService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service";
15
+ import { IDeleteChatOptions, type SessionResourceResolveReason } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsProvider";
16
+ import { IChat, ISession, ISessionWorkspace, ISideChatSelection, ISessionType } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
17
+ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
18
+ import { IWorkspaceTrustManagementService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service";
19
+ export declare class SessionsManagementService extends Disposable implements ISessionsManagementService {
20
+ private readonly logService;
21
+ private readonly sessionsProvidersService;
22
+ private readonly uriIdentityService;
23
+ private readonly chatService;
24
+ private readonly chatWidgetHistoryService;
25
+ private readonly storageService;
26
+ private readonly pathService;
27
+ private readonly remoteAgentHostService;
28
+ private readonly workspaceTrustManagementService;
29
+ readonly _serviceBrand: undefined;
30
+ private readonly _onDidChangeSessions;
31
+ readonly onDidChangeSessions: Event<ISessionsChangeEvent>;
32
+ private readonly _onDidStartSession;
33
+ readonly onDidStartSession: Event<ISession>;
34
+ private readonly _onWillSendRequest;
35
+ readonly onWillSendRequest: Event<ISession>;
36
+ private readonly _onDidSendRequest;
37
+ readonly onDidSendRequest: Event<ISendRequestSentEvent>;
38
+ private readonly _onDidArchiveSession;
39
+ readonly onDidArchiveSession: Event<ISession>;
40
+ private readonly _onDidUnarchiveSession;
41
+ readonly onDidUnarchiveSession: Event<ISession>;
42
+ private readonly _onDidDeleteSession;
43
+ readonly onDidDeleteSession: Event<ISession>;
44
+ private readonly _onDidDeleteChat;
45
+ readonly onDidDeleteChat: Event<ISession>;
46
+ private readonly _onDidRenameChat;
47
+ readonly onDidRenameChat: Event<ISession>;
48
+ private readonly _onDidRenameSession;
49
+ readonly onDidRenameSession: Event<ISession>;
50
+ private readonly _onDidChangeSessionTypes;
51
+ readonly onDidChangeSessionTypes: Event<void>;
52
+ private readonly _onDidReplaceSession;
53
+ readonly onDidReplaceSession: Event<{
54
+ readonly from: ISession;
55
+ readonly to: ISession;
56
+ }>;
57
+ private readonly _onDidDiscardNewSession;
58
+ readonly onDidDiscardNewSession: Event<ISession>;
59
+ private readonly _onDidReplaceNewDraftSession;
60
+ readonly onDidReplaceNewDraftSession: Event<{
61
+ readonly from: ISession;
62
+ readonly to: ISession;
63
+ }>;
64
+ private _sessionTypes;
65
+ /** Tracks the in-progress new session (composed but not yet sent). */
66
+ private readonly _newSession;
67
+ readonly newSession: IObservable<ISession | undefined>;
68
+ /** Tracks the Automation dialog's in-progress session draft. */
69
+ private readonly _automationSession;
70
+ readonly automationSession: IObservable<ISession | undefined>;
71
+ private readonly _providerListeners;
72
+ private readonly _disposeCts;
73
+ private readonly _unlistedNewSessions;
74
+ private readonly _inFlightNewSessionRequests;
75
+ /**
76
+ * Chat resources for which this service has just kicked off a
77
+ * `provider.sendRequest` and will emit `_onDidSendRequest` manually after
78
+ * the provider call resolves. Used to suppress the duplicate event that
79
+ * would otherwise arrive via {@link IChatService.onDidSubmitRequest},
80
+ * which fires synchronously inside the same provider call.
81
+ */
82
+ private readonly _pendingSendChatResources;
83
+ constructor(logService: ILogService, sessionsProvidersService: ISessionsProvidersService, uriIdentityService: IUriIdentityService, chatService: IChatService, chatWidgetHistoryService: IChatWidgetHistoryService, storageService: IStorageService, pathService: IPathService, remoteAgentHostService: IRemoteAgentHostService, workspaceTrustManagementService: IWorkspaceTrustManagementService);
84
+ private _onProvidersChanged;
85
+ private _subscribeToProviders;
86
+ private _handleDidReplaceSession;
87
+ private onDidChangeSessionsFromSessionsProviders;
88
+ /**
89
+ * Resolves a session resource to the one that should actually be opened,
90
+ * giving providers a chance to supersede another provider's resource (legacy
91
+ * Copilot CLI adoption). Falls back to `resource` when no provider claims it,
92
+ * so an unresolvable session still opens the way it does today.
93
+ */
94
+ resolveSessionResource(resource: URI, reason?: SessionResourceResolveReason): Promise<URI>;
95
+ getSessions(): ISession[];
96
+ getInFlightNewSessionRequests(): readonly ISession[];
97
+ private trackInFlightNewSessionRequest;
98
+ private _getMergedSessions;
99
+ /**
100
+ * A legacy Copilot CLI session migrated in place to the agent host is briefly
101
+ * listed by BOTH the extension-host provider (`copilotcli:/<id>`) and the
102
+ * agent-host provider (`agent-host-copilotcli:/<id>`) for the same underlying
103
+ * SDK session id — the workbench agent-session model caches the stale legacy
104
+ * entry even after the extension stops reporting it. Drop the legacy entry so
105
+ * exactly one row shows per session.
106
+ *
107
+ * A legacy row that has no twin yet stays visible: opening it redirects through
108
+ * {@link resolveSessionResource} and adopts it, so it is never a dead end.
109
+ */
110
+ private _dedupeMigratedCopilotCliSessions;
111
+ getSession(resource: URI): ISession | undefined;
112
+ getSessionForChatResource(resource: URI): {
113
+ session: ISession;
114
+ chat: IChat;
115
+ } | undefined;
116
+ getAllSessionTypes(): ISessionType[];
117
+ getAllProviderSessionTypes(): IProviderSessionType[];
118
+ getSessionTypesForFolder(folderUri: URI): IProviderSessionType[];
119
+ getQuickChatSessionTypes(): IProviderSessionType[];
120
+ isNewSessionTargetAvailable(folderUri: URI, options?: ICreateNewSessionOptions): boolean;
121
+ isQuickChatTargetAvailable(options?: ICreateNewSessionOptions): boolean;
122
+ private _isTargetAvailable;
123
+ resolveWorkspace(folderUri: URI, preferredProviderId?: string): {
124
+ providerId: string;
125
+ workspace: ISessionWorkspace;
126
+ } | undefined;
127
+ private _collectSessionTypes;
128
+ private _updateSessionTypes;
129
+ discardNewSession(session?: ISession): void;
130
+ discardAutomationSession(session?: ISession): void;
131
+ /**
132
+ * Resolve the provider and session type to use for a new session in the
133
+ * given folder. Includes that provider's resolved workspace so headless
134
+ * callers can enforce provider-specific trust without resolving it again.
135
+ */
136
+ private _resolveProviderForNewSession;
137
+ createNewSession(folderUri: URI, options?: ICreateNewSessionOptions): ISession;
138
+ createAutomationSession(folderUri: URI, options?: ICreateNewSessionOptions): ISession;
139
+ /**
140
+ * Resolve the provider and session type to use for a quick chat, keyed on
141
+ * {@link ISessionsProvider.supportsQuickChats} instead of `resolveWorkspace`.
142
+ * Honors an explicit `options.sessionTypeId` (validated against the chosen
143
+ * provider) and otherwise defaults to the last-used type, then the first
144
+ * advertised one. Throws when no capable provider/type can be resolved.
145
+ */
146
+ private _resolveProviderForQuickChat;
147
+ /** Default quick-chat session type: the last-used one if still advertised, else the first. */
148
+ private _defaultQuickChatSessionType;
149
+ createQuickChat(options?: ICreateNewSessionOptions): ISession;
150
+ createAutomationQuickChat(options?: ICreateNewSessionOptions): ISession;
151
+ private _providerCreateSessionOptions;
152
+ getAutomationSessionConfiguration(session: ISession): Promise<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsProvider").IAutomationSessionConfiguration | null | undefined>;
153
+ supportsAutomationSessionConfiguration(session: ISession): boolean;
154
+ usesCombinedNewSessionConfigPicker(session: ISession): boolean;
155
+ createNewChatInSession(session: ISession, options?: ICreateNewChatInSessionOptions): Promise<IChat | undefined>;
156
+ forkChatInSession(session: ISession, sourceChat: URI, turnId: string): Promise<IChat>;
157
+ createSideChatInSession(session: ISession, sourceChat: URI, turnId: string, selection?: ISideChatSelection): Promise<IChat>;
158
+ /**
159
+ * For a `/troubleshoot` request, strip any `#session` marker attachments and
160
+ * append a `Session log:` line with the resolved host-local `events.jsonl`
161
+ * path(s) — the referenced sessions if present, otherwise the current one.
162
+ * Returns `options` unchanged when there is nothing to do.
163
+ */
164
+ private _augmentOptionsForTroubleshoot;
165
+ sendNewChatRequest(session: ISession, options: ISendRequestOptions): Promise<void>;
166
+ private _prepareNewSessionForSend;
167
+ /**
168
+ * Create a new session for the given folder and send a chat request to it,
169
+ * without navigating into the started session. The started session appears
170
+ * in the sessions list once the provider commits it, while the user's
171
+ * current view is left untouched. Returns the committed session,
172
+ * or `undefined` if the service was disposed during the send.
173
+ *
174
+ * Unlike {@link sendNewChatRequest} with `background`, this does not go
175
+ * through the new-session composer: it creates a fresh session purely for
176
+ * this request and never sets it as pending/active. Intended for callers
177
+ * outside the composer that want to kick off a session programmatically.
178
+ *
179
+ * If the send or any configuration setter fails, the stranded draft is
180
+ * disposed through its provider and the error is rethrown.
181
+ */
182
+ createAndSendNewChatRequest(folderUri: URI, options: NewSessionRequestOptions, createOptions?: ICreateNewSessionOptions, token?: CancellationToken): Promise<ISession | undefined>;
183
+ createAndSendQuickChatRequest(options: ISendRequestOptions, createOptions?: ICreateNewSessionOptions, token?: CancellationToken): Promise<ISession | undefined>;
184
+ private _configureAndSendNewSession;
185
+ private _configureNewSession;
186
+ private _waitForRequestedModel;
187
+ dispose(): void;
188
+ private _prepareAndSendNewChatRequestInBackground;
189
+ /**
190
+ * Commit a new-session request: fire {@link _onWillSendRequest}, create the
191
+ * new chat via the provider, send the request, and—on success—fire
192
+ * {@link _onDidStartSession} and {@link _onDidSendRequest}. The started
193
+ * session is never swapped into the visible chat slot, so it simply appears
194
+ * in the sessions list once the provider commits it.
195
+ *
196
+ * Owns the full will/did send lifecycle so callers do not fire the paired
197
+ * events themselves. Errors are propagated to the caller; this method does
198
+ * not clean up the stranded draft, so callers own any view handling and the
199
+ * error handling (e.g. disposing the stranded draft via
200
+ * {@link ISessionsProvider.deleteNewSession}).
201
+ *
202
+ * Providers are multi-new-session aware, so the graduating session and a
203
+ * concurrently reseeded composer draft coexist without conflict.
204
+ */
205
+ private _sendNewChatRequestInBackground;
206
+ sendRequest(session: ISession, chat: IChat, options: ISendRequestOptions): Promise<void>;
207
+ /**
208
+ * Send a request for an existing chat in the background: commit the send via
209
+ * the provider and—on success—fire {@link _onDidSendRequest}. Unlike the
210
+ * foreground {@link sendRequest} path this does not fire
211
+ * {@link _onWillSendRequest}, so the view's send-follow never navigates the
212
+ * visible slot into the sent chat. Errors are propagated to the caller.
213
+ */
214
+ private _sendRequestInBackground;
215
+ private _getProvider;
216
+ cancelCurrentRequest(session: ISession): Promise<void>;
217
+ archiveSession(session: ISession): Promise<void>;
218
+ unarchiveSession(session: ISession): Promise<void>;
219
+ setSessionReadState(session: ISession, isRead: boolean): Promise<void>;
220
+ markRead(session: ISession): Promise<void>;
221
+ markUnread(session: ISession): Promise<void>;
222
+ markAllRead(sessions: readonly ISession[]): Promise<void>;
223
+ deleteSession(session: ISession): Promise<void>;
224
+ deleteSessions(sessions: readonly ISession[]): Promise<void>;
225
+ deleteChat(session: ISession, chatUri: URI, options?: IDeleteChatOptions): Promise<void>;
226
+ renameChat(session: ISession, chatUri: URI, title: string): Promise<void>;
227
+ renameSession(session: ISession, title: string): Promise<void>;
228
+ removeSessionArtifact(session: ISession, artifactId: string): Promise<void>;
229
+ }