@codingame/monaco-vscode-workbench-service-override 37.2.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,526 @@
1
+
2
+ import { registerCss } from '@codingame/monaco-vscode-api/css';
3
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
4
+ import * as sessionsTitleBarWidget from './media/sessionsTitleBarWidget.css';
5
+ import { reset, $, addDisposableGenericMouseDownListener, addDisposableListener, EventType, isAncestor, getDomNodePagePosition, getWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
6
+ import { combinedDisposable, DisposableStore, MutableDisposable, toDisposable, Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import { KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
8
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
+ import { BaseActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems';
10
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
11
+ import { MenuRegistry, SubmenuItemAction } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
12
+ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
13
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
14
+ import { KeybindingsRegistry, KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
15
+ import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
16
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
17
+ import { Menus } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/menus';
18
+ import { IActionViewItemService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/actionViewItemService.service';
19
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
20
+ import { onUnexpectedError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
21
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
22
+ import { AnchorPosition, AnchorAlignment } from '@codingame/monaco-vscode-api/vscode/vs/base/common/layout';
23
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
24
+ import { IContextViewService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
25
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
26
+ import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
27
+ import { IsAuxiliaryWindowContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
28
+ import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService.service';
29
+ import { SessionsBlockedSessionsVisibleContext, SessionsWelcomeVisibleContext } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/contextkeys';
30
+ import { ISessionsProvidersService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service';
31
+ import { SHOW_SESSIONS_PICKER_COMMAND_ID } from './sessionsActions.js';
32
+ import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service';
33
+ import { ISessionsService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsService.service';
34
+ import { BlockedSessionsList, registerBlockedSessionsItemActions } from './blockedSessionsList.js';
35
+ import { SessionActionFeedback } from './sessionActionFeedback.js';
36
+ import { BlockedSessionsIndicatorModel } from './blockedSessionsIndicatorModel.js';
37
+ import { getSessionWorkspaceDisplayInfo } from '../../../browser/sessionWorkspace.js';
38
+ import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
39
+ import { IBrowserWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/browser/environmentService.service';
40
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
41
+
42
+ registerCss(sessionsTitleBarWidget, 1);
43
+ const SHOW_ALL_SESSIONS_FROM_BLOCKED_LIST_COMMAND_ID = "sessions.blockedSessions.showAllSessions";
44
+ const IGNORE_ALL_INPUT_NEEDED_COMMAND_ID = "sessions.blockedSessions.ignoreAllInputNeeded";
45
+ const HIDE_BLOCKED_SESSIONS_COMMAND_ID = "sessions.blockedSessions.hide";
46
+ function registerBlockedSessionsHeaderActions() {
47
+ return combinedDisposable(MenuRegistry.appendMenuItem(Menus.BlockedSessionsHeader, {
48
+ command: {
49
+ id: SHOW_ALL_SESSIONS_FROM_BLOCKED_LIST_COMMAND_ID,
50
+ title: ( localize(4593, "Show All Sessions")),
51
+ icon: Codicon.listSelection
52
+ },
53
+ group: "navigation",
54
+ order: 1
55
+ }), MenuRegistry.appendMenuItem(Menus.BlockedSessionsHeader, {
56
+ command: {
57
+ id: IGNORE_ALL_INPUT_NEEDED_COMMAND_ID,
58
+ title: ( localize(4594, "Ignore All Input Needed")),
59
+ icon: Codicon.bellSlash
60
+ },
61
+ group: "navigation",
62
+ order: 2
63
+ }), MenuRegistry.appendMenuItem(Menus.BlockedSessionsHeader, {
64
+ command: {
65
+ id: HIDE_BLOCKED_SESSIONS_COMMAND_ID,
66
+ title: ( localize(4595, "Close")),
67
+ icon: Codicon.close
68
+ },
69
+ group: "z_close",
70
+ order: 1
71
+ }));
72
+ }
73
+ function registerBlockedSessionsHeaderCommands() {
74
+ return combinedDisposable(
75
+ CommandsRegistry.registerCommand(SHOW_ALL_SESSIONS_FROM_BLOCKED_LIST_COMMAND_ID, (_accessor, context) => {
76
+ context.showAllSessions();
77
+ }),
78
+ CommandsRegistry.registerCommand(IGNORE_ALL_INPUT_NEEDED_COMMAND_ID, (_accessor, context) => {
79
+ context.ignoreAllSessions();
80
+ })
81
+ );
82
+ }
83
+ let openBlockedSessionsView;
84
+ const BLOCKED_DROPDOWN_MIN_WIDTH = 550;
85
+ const BLOCKED_DROPDOWN_MAX_WIDTH_RATIO = 0.9;
86
+ let SessionsTitleBarWidget = class SessionsTitleBarWidget extends BaseActionViewItem {
87
+ constructor(
88
+ action,
89
+ options,
90
+ _sessionActionFeedback,
91
+ _blockedIndicator,
92
+ sessionsManagementService,
93
+ sessionsService,
94
+ sessionsProvidersService,
95
+ commandService,
96
+ contextViewService,
97
+ layoutService,
98
+ instantiationService,
99
+ contextKeyService,
100
+ quickInputService,
101
+ hoverService,
102
+ environmentService
103
+ ) {
104
+ super(undefined, action, options);
105
+ this._sessionActionFeedback = _sessionActionFeedback;
106
+ this._blockedIndicator = _blockedIndicator;
107
+ this.sessionsManagementService = sessionsManagementService;
108
+ this.sessionsService = sessionsService;
109
+ this.sessionsProvidersService = sessionsProvidersService;
110
+ this.commandService = commandService;
111
+ this.contextViewService = contextViewService;
112
+ this.layoutService = layoutService;
113
+ this.instantiationService = instantiationService;
114
+ this.quickInputService = quickInputService;
115
+ this.hoverService = hoverService;
116
+ this._dynamicDisposables = this._register(( new DisposableStore()));
117
+ this._blinkListener = this._register(( new MutableDisposable()));
118
+ this._isRendering = false;
119
+ this._isQuickChat = false;
120
+ this._sessionTitle = environmentService.sessionTitle?.replace(/\s+/g, " ").trim() || undefined;
121
+ this._blockedSessionsVisibleContext = SessionsBlockedSessionsVisibleContext.bindTo(contextKeyService);
122
+ this._register(this._blockedIndicator.onDidRequestBlink(() => {
123
+ this._lastRenderState = undefined;
124
+ this._render();
125
+ }));
126
+ this._register(autorun(reader => {
127
+ const sessionData = this.sessionsService.activeSession.read(reader);
128
+ this._workspaceInfo = getSessionWorkspaceDisplayInfo(sessionData, reader);
129
+ this._isQuickChat = sessionData?.isQuickChat?.read(reader) ?? false;
130
+ this._lastRenderState = undefined;
131
+ this._render();
132
+ }));
133
+ this._register(autorun(reader => {
134
+ const blocked = this._blockedIndicator.blockedSessions.read(reader);
135
+ this._sessionActionFeedback.approvedCount.read(reader);
136
+ this._blockedIndicator.requiresInputKind.read(reader);
137
+ if (this._openContextView && this._blockedList) {
138
+ this._blockedList.setSessions(blocked.map(entry => entry.session));
139
+ this.contextViewService.layout();
140
+ }
141
+ this._render();
142
+ }));
143
+ this._register(this.sessionsManagementService.onDidChangeSessions(() => {
144
+ this._lastRenderState = undefined;
145
+ this._render();
146
+ }));
147
+ this._register(this.sessionsProvidersService.onDidChangeProviders(() => {
148
+ this._lastRenderState = undefined;
149
+ this._render();
150
+ }));
151
+ this._register(toDisposable(() => this._openContextView?.close()));
152
+ }
153
+ render(container) {
154
+ super.render(container);
155
+ this._container = container;
156
+ container.classList.add("agent-sessions-titlebar-container");
157
+ this._render();
158
+ }
159
+ setFocusable(_focusable) {}
160
+ onClick() {}
161
+ _render() {
162
+ if (!this._container) {
163
+ return;
164
+ }
165
+ if (this._isRendering) {
166
+ return;
167
+ }
168
+ this._isRendering = true;
169
+ try {
170
+ const approvedCount = this._sessionActionFeedback.approvedCount.get();
171
+ const blockedCount = this._blockedIndicator.blockedSessions.get().length;
172
+ const requiresInput = blockedCount > 0;
173
+ const showApproved = approvedCount > 0;
174
+ const showRequiresInput = requiresInput && !showApproved;
175
+ const shouldBlink = showRequiresInput && this._blockedIndicator.consumePendingBlink();
176
+ const requiresInputKind = this._blockedIndicator.requiresInputKind.get();
177
+ let renderState;
178
+ if (showApproved) {
179
+ renderState = `approved|${approvedCount}`;
180
+ } else if (showRequiresInput) {
181
+ renderState = `blocked|${blockedCount}|${requiresInputKind ?? "mixed"}`;
182
+ } else {
183
+ renderState = `normal|${this._workspaceInfo?.icon.id ?? ""}|${this._workspaceInfo?.label ?? ""}|${this._isQuickChat}`;
184
+ }
185
+ if (this._lastRenderState === renderState) {
186
+ return;
187
+ }
188
+ this._lastRenderState = renderState;
189
+ if (!requiresInput && this._openContextView) {
190
+ this._openContextView.close();
191
+ }
192
+ reset(this._container);
193
+ this._dynamicDisposables.clear();
194
+ this._container.removeAttribute("aria-hidden");
195
+ this._container.setAttribute("role", "button");
196
+ this._container.tabIndex = 0;
197
+ if (!(showRequiresInput && !shouldBlink)) {
198
+ this._container.classList.remove("agent-sessions-titlebar-blink");
199
+ }
200
+ this._container.classList.toggle("agent-sessions-titlebar-requires-input", showRequiresInput);
201
+ this._container.classList.toggle("agent-sessions-titlebar-approved", showApproved);
202
+ if (showApproved) {
203
+ this._renderApproved(approvedCount);
204
+ } else if (showRequiresInput) {
205
+ this._renderRequiresInput(blockedCount, requiresInputKind, shouldBlink);
206
+ } else {
207
+ this._renderActiveSession();
208
+ }
209
+ } finally {
210
+ this._isRendering = false;
211
+ }
212
+ }
213
+ _renderActiveSession() {
214
+ const container = this._container;
215
+ container.setAttribute("aria-label", this._sessionTitle ? ( localize(4596, "Show Sessions: {0}", this._sessionTitle)) : ( localize(4597, "Show Sessions")));
216
+ const workspaceInfo = this._workspaceInfo;
217
+ const sessionPill = $("div.agent-sessions-titlebar-pill");
218
+ const centerGroup = $("div.agent-sessions-titlebar-center");
219
+ if (workspaceInfo) {
220
+ const workspaceIconEl = $(
221
+ `div.agent-sessions-titlebar-workspace-icon${ThemeIcon.asCSSSelector(workspaceInfo.icon)}`,
222
+ {
223
+ "aria-hidden": "true"
224
+ }
225
+ );
226
+ centerGroup.appendChild(workspaceIconEl);
227
+ const workspaceEl = $("div.agent-sessions-titlebar-workspace");
228
+ workspaceEl.textContent = this._sessionTitle ?? workspaceInfo.label;
229
+ centerGroup.appendChild(workspaceEl);
230
+ this._dynamicDisposables.add(this.hoverService.setupDelayedHover(workspaceEl, {
231
+ content: workspaceEl.textContent
232
+ }));
233
+ } else if (this._isQuickChat) {
234
+ const workspaceIconEl = $(
235
+ `div.agent-sessions-titlebar-workspace-icon${ThemeIcon.asCSSSelector(Codicon.commentDiscussion)}`,
236
+ {
237
+ "aria-hidden": "true"
238
+ }
239
+ );
240
+ centerGroup.appendChild(workspaceIconEl);
241
+ const workspaceEl = $("div.agent-sessions-titlebar-workspace");
242
+ workspaceEl.textContent = this._sessionTitle ?? ( localize(4598, "No workspace"));
243
+ centerGroup.appendChild(workspaceEl);
244
+ this._dynamicDisposables.add(this.hoverService.setupDelayedHover(workspaceEl, {
245
+ content: workspaceEl.textContent
246
+ }));
247
+ } else if (this._sessionTitle) {
248
+ const titleElement = $("div.agent-sessions-titlebar-workspace");
249
+ titleElement.textContent = this._sessionTitle;
250
+ centerGroup.appendChild(titleElement);
251
+ this._dynamicDisposables.add(this.hoverService.setupDelayedHover(titleElement, {
252
+ content: this._sessionTitle
253
+ }));
254
+ }
255
+ sessionPill.appendChild(centerGroup);
256
+ this._dynamicDisposables.add(addDisposableGenericMouseDownListener(sessionPill, e => {
257
+ e.preventDefault();
258
+ e.stopPropagation();
259
+ }));
260
+ this._dynamicDisposables.add(addDisposableListener(sessionPill, EventType.CLICK, e => {
261
+ e.preventDefault();
262
+ e.stopPropagation();
263
+ this._showSessionsPicker();
264
+ }));
265
+ container.appendChild(sessionPill);
266
+ this._dynamicDisposables.add(addDisposableListener(container, EventType.KEY_DOWN, e => {
267
+ if (e.key === "Enter" || e.key === " ") {
268
+ e.preventDefault();
269
+ e.stopPropagation();
270
+ this._showSessionsPicker();
271
+ }
272
+ }));
273
+ }
274
+ _renderRequiresInput(count, kind, shouldBlink) {
275
+ const container = this._container;
276
+ const label = this._blockedIndicator.getRequiresInputLabel(count, kind);
277
+ container.setAttribute("aria-label", label);
278
+ const pill = $("div.agent-sessions-titlebar-pill");
279
+ const labelEl = $("div.agent-sessions-titlebar-requires-input-label");
280
+ labelEl.textContent = label;
281
+ pill.appendChild(labelEl);
282
+ this._dynamicDisposables.add(addDisposableGenericMouseDownListener(pill, e => {
283
+ e.preventDefault();
284
+ e.stopPropagation();
285
+ }));
286
+ this._dynamicDisposables.add(addDisposableListener(pill, EventType.CLICK, e => {
287
+ e.preventDefault();
288
+ e.stopPropagation();
289
+ this._toggleBlockedSessions();
290
+ }));
291
+ container.appendChild(pill);
292
+ this._dynamicDisposables.add(addDisposableListener(container, EventType.KEY_DOWN, e => {
293
+ if (e.key === "Enter" || e.key === " ") {
294
+ e.preventDefault();
295
+ e.stopPropagation();
296
+ this._toggleBlockedSessions();
297
+ }
298
+ }));
299
+ if (shouldBlink) {
300
+ this._triggerAttentionBlink();
301
+ }
302
+ }
303
+ _renderApproved(count) {
304
+ const container = this._container;
305
+ const label = count === 1 ? ( localize(4599, "Approved 1 session")) : ( localize(4600, "Approved {0} sessions", count));
306
+ container.setAttribute("aria-label", label);
307
+ const pill = $("div.agent-sessions-titlebar-pill");
308
+ const labelEl = $("div.agent-sessions-titlebar-approved-label");
309
+ labelEl.textContent = label;
310
+ pill.appendChild(labelEl);
311
+ this._dynamicDisposables.add(addDisposableGenericMouseDownListener(pill, e => {
312
+ e.preventDefault();
313
+ e.stopPropagation();
314
+ }));
315
+ this._dynamicDisposables.add(addDisposableListener(pill, EventType.CLICK, e => {
316
+ e.preventDefault();
317
+ e.stopPropagation();
318
+ this._activateDefaultAction();
319
+ }));
320
+ container.appendChild(pill);
321
+ this._dynamicDisposables.add(addDisposableListener(container, EventType.KEY_DOWN, e => {
322
+ if (e.key === "Enter" || e.key === " ") {
323
+ e.preventDefault();
324
+ e.stopPropagation();
325
+ this._activateDefaultAction();
326
+ }
327
+ }));
328
+ }
329
+ _activateDefaultAction() {
330
+ const requiresInput = this._blockedIndicator.blockedSessions.get().length > 0;
331
+ if (requiresInput) {
332
+ this._toggleBlockedSessions();
333
+ } else {
334
+ this._showSessionsPicker();
335
+ }
336
+ }
337
+ _triggerAttentionBlink() {
338
+ const container = this._container;
339
+ if (!container) {
340
+ return;
341
+ }
342
+ container.classList.remove("agent-sessions-titlebar-blink");
343
+ container.getBoundingClientRect();
344
+ container.classList.add("agent-sessions-titlebar-blink");
345
+ this._blinkListener.value = addDisposableListener(container, "animationend", () => {
346
+ container.classList.remove("agent-sessions-titlebar-blink");
347
+ this._blinkListener.clear();
348
+ });
349
+ }
350
+ _toggleBlockedSessions() {
351
+ if (this._openContextView) {
352
+ this._openContextView.close();
353
+ return;
354
+ }
355
+ this._showBlockedSessions();
356
+ }
357
+ _showBlockedSessions() {
358
+ const container = this._container;
359
+ if (!container) {
360
+ return;
361
+ }
362
+ if (this._blockedIndicator.blockedSessions.get().length === 0) {
363
+ return;
364
+ }
365
+ const width = this._computeBlockedDropdownWidth(container);
366
+ const store = ( new DisposableStore());
367
+ this._openContextView = this.contextViewService.showContextView({
368
+ getAnchor: () => this._getBlockedDropdownAnchor(container),
369
+ anchorAlignment: AnchorAlignment.LEFT,
370
+ anchorPosition: AnchorPosition.BELOW,
371
+ render: viewContainer => {
372
+ const list = store.add(
373
+ this.instantiationService.createInstance(BlockedSessionsList, viewContainer, {
374
+ width,
375
+ approvalModel: this._blockedIndicator.approvalModel,
376
+ ciFixModel: this._blockedIndicator.ciFixModel,
377
+ onSessionOpen: (resource, preserveFocus, sideBySide) => {
378
+ this._openContextView?.close();
379
+ this._openBlockedSession(resource, preserveFocus, sideBySide);
380
+ },
381
+ onIgnoreSession: session => this._blockedIndicator.ignoreSession(session),
382
+ onShowAllSessions: () => {
383
+ this._openContextView?.close();
384
+ this._showSessionsPicker();
385
+ },
386
+ onIgnoreAllSessions: () => this._blockedIndicator.ignoreAllSessions(),
387
+ onClose: () => this._openContextView?.close()
388
+ })
389
+ );
390
+ list.setSessions(this._blockedIndicator.blockedSessions.get().map(entry => entry.session));
391
+ store.add(list.onDidChangeContentHeight(() => this.contextViewService.layout()));
392
+ store.add(list.onDidApproveSession(approved => {
393
+ this._blockedIndicator.dismissApproval(approved);
394
+ this._sessionActionFeedback.notifyApproved();
395
+ }));
396
+ store.add(this.layoutService.onDidLayoutActiveContainer(() => {
397
+ list.setWidth(this._computeBlockedDropdownWidth(container));
398
+ this.contextViewService.layout();
399
+ }));
400
+ store.add(this.quickInputService.onShow(() => this._openContextView?.close()));
401
+ this._blockedList = list;
402
+ return store;
403
+ },
404
+ focus: () => this._blockedList?.focus(),
405
+ onDOMEvent: e => {
406
+ if (e.type === EventType.CLICK) {
407
+ const target = e.target;
408
+ if (target && !isAncestor(target, this.contextViewService.getContextViewElement()) && !isAncestor(target, container)) {
409
+ this._openContextView?.close();
410
+ }
411
+ }
412
+ },
413
+ onHide: () => {
414
+ this._blockedSessionsVisibleContext.set(false);
415
+ store.dispose();
416
+ this._openContextView = undefined;
417
+ openBlockedSessionsView = undefined;
418
+ this._blockedList = undefined;
419
+ }
420
+ });
421
+ openBlockedSessionsView = this._openContextView;
422
+ this._blockedSessionsVisibleContext.set(true);
423
+ }
424
+ _computeBlockedDropdownWidth(container) {
425
+ const anchorWidth = getDomNodePagePosition(container).width;
426
+ const windowWidth = getWindow(container).innerWidth;
427
+ const minWidth = Math.max(anchorWidth, BLOCKED_DROPDOWN_MIN_WIDTH);
428
+ const maxWidth = windowWidth * BLOCKED_DROPDOWN_MAX_WIDTH_RATIO;
429
+ return Math.round(Math.min(minWidth, maxWidth));
430
+ }
431
+ _getBlockedDropdownAnchor(container) {
432
+ const position = getDomNodePagePosition(container);
433
+ const width = this._computeBlockedDropdownWidth(container);
434
+ const centerX = position.left + position.width / 2;
435
+ return {
436
+ x: Math.round(centerX - width / 2),
437
+ y: position.top,
438
+ width: 0,
439
+ height: position.height
440
+ };
441
+ }
442
+ _openBlockedSession(resource, preserveFocus, sideBySide) {
443
+ if (sideBySide) {
444
+ const session = this.sessionsManagementService.getSession(resource);
445
+ if (session) {
446
+ this.sessionsService.openSessionToSide(session, {
447
+ preserveFocus,
448
+ source: "sessionsList"
449
+ }).catch(onUnexpectedError);
450
+ return;
451
+ }
452
+ }
453
+ this.sessionsService.openSession(resource, {
454
+ preserveFocus,
455
+ source: "sessionsList"
456
+ }).catch(onUnexpectedError);
457
+ }
458
+ _showSessionsPicker() {
459
+ this.commandService.executeCommand(SHOW_SESSIONS_PICKER_COMMAND_ID);
460
+ }
461
+ };
462
+ SessionsTitleBarWidget = ( __decorate([( __param(4, ISessionsManagementService)), ( __param(5, ISessionsService)), ( __param(6, ISessionsProvidersService)), ( __param(7, ICommandService)), ( __param(8, IContextViewService)), ( __param(9, IWorkbenchLayoutService)), ( __param(10, IInstantiationService)), ( __param(11, IContextKeyService)), ( __param(12, IQuickInputService)), ( __param(13, IHoverService)), ( __param(14, IBrowserWorkbenchEnvironmentService))], SessionsTitleBarWidget));
463
+ let SessionsTitleBarContribution = class SessionsTitleBarContribution extends Disposable {
464
+ static {
465
+ this.ID = "workbench.contrib.agentSessionsTitleBar";
466
+ }
467
+ constructor(actionViewItemService, instantiationService, logService) {
468
+ super();
469
+ const sessionActionFeedback = this._register(( new SessionActionFeedback()));
470
+ const blockedIndicator = this._register(instantiationService.createInstance(
471
+ BlockedSessionsIndicatorModel,
472
+ undefined,
473
+ undefined,
474
+ undefined
475
+ ));
476
+ this._register(MenuRegistry.appendMenuItem(Menus.CommandCenter, {
477
+ submenu: Menus.TitleBarSessionTitle,
478
+ title: ( localize(4601, "Agent Sessions")),
479
+ order: 101,
480
+ when: ( ContextKeyExpr.and(( IsAuxiliaryWindowContext.negate()), ( SessionsWelcomeVisibleContext.negate())))
481
+ }));
482
+ this._register(MenuRegistry.appendMenuItem(Menus.TitleBarSessionTitle, {
483
+ command: {
484
+ id: SHOW_SESSIONS_PICKER_COMMAND_ID,
485
+ title: ( localize(4602, "Show Sessions"))
486
+ },
487
+ group: "a_sessions",
488
+ order: 1,
489
+ when: ( IsAuxiliaryWindowContext.negate())
490
+ }));
491
+ this._register(registerBlockedSessionsHeaderCommands());
492
+ this._register(registerBlockedSessionsHeaderActions());
493
+ this._register(registerBlockedSessionsItemActions());
494
+ this._register(
495
+ actionViewItemService.register(Menus.CommandCenter, Menus.TitleBarSessionTitle, (action, options) => {
496
+ if (!(action instanceof SubmenuItemAction)) {
497
+ return undefined;
498
+ }
499
+ logService.trace("[SessionsTitleBar] creating the title bar widget");
500
+ return instantiationService.createInstance(
501
+ SessionsTitleBarWidget,
502
+ action,
503
+ options,
504
+ sessionActionFeedback,
505
+ blockedIndicator
506
+ );
507
+ }, undefined)
508
+ );
509
+ }
510
+ };
511
+ SessionsTitleBarContribution = ( __decorate([( __param(0, IActionViewItemService)), ( __param(1, IInstantiationService)), ( __param(2, ILogService))], SessionsTitleBarContribution));
512
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
513
+ id: HIDE_BLOCKED_SESSIONS_COMMAND_ID,
514
+ weight: KeybindingWeight.SessionsContrib + 100,
515
+ when: SessionsBlockedSessionsVisibleContext,
516
+ primary: KeyCode.Escape,
517
+ handler: (_accessor, context) => {
518
+ if (context) {
519
+ context.close();
520
+ } else {
521
+ openBlockedSessionsView?.close();
522
+ }
523
+ }
524
+ });
525
+
526
+ export { SessionsTitleBarContribution, SessionsTitleBarWidget, registerBlockedSessionsHeaderActions, registerBlockedSessionsHeaderCommands };
@@ -0,0 +1,64 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
+ import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
4
+ import { IModelContentChangedEvent } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEvents";
5
+ import { IActiveSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
6
+ /** Characters the user typed into one resource while `session` was active. */
7
+ export interface ITypedCharactersEntry {
8
+ /**
9
+ * The session that was active while the characters were typed, captured at
10
+ * that moment so attribution does not depend on which session is active
11
+ * when the buffered batch is eventually reported.
12
+ */
13
+ readonly session: IActiveSession;
14
+ readonly resource: URI;
15
+ readonly characters: number;
16
+ }
17
+ /** How long typed characters are buffered before they are reported. Exported for tests. */
18
+ export declare const TYPED_CHARACTERS_REPORT_DELAY = 5000;
19
+ /**
20
+ * How often reporting an entry may be deferred before it is dropped. Bounds
21
+ * how long typing is retained for a session whose workspace never resolves.
22
+ * Exported for tests.
23
+ */
24
+ export declare const MAX_TYPED_CHARACTERS_RETRIES = 3;
25
+ /**
26
+ * Counts the characters the user manually types into the text models of this
27
+ * window and reports them per resource and originating session.
28
+ *
29
+ * Only models of the window this tracker runs in are observed, which is what
30
+ * scopes the counts to the Agents window: a regular window editing the same
31
+ * folder has its own renderer with its own models and never reaches this
32
+ * tracker.
33
+ *
34
+ * Typing produces one content change per keystroke, so counts are buffered and
35
+ * reported in batches instead of on every change. The active session is still
36
+ * captured per keystroke, so a batch reported after the user switched sessions
37
+ * stays attributed to the session it was typed into.
38
+ */
39
+ export declare class SessionsTypedCharactersTracker extends Disposable {
40
+ private readonly _getActiveSession;
41
+ private readonly _report;
42
+ private readonly _pending;
43
+ private readonly _modelListeners;
44
+ private readonly _reportScheduler;
45
+ /**
46
+ * @param _report Consumes a batch and returns the entries it could not
47
+ * attribute yet, which are retried instead of being dropped.
48
+ */
49
+ constructor(_getActiveSession: () => IActiveSession | undefined, _report: (entries: readonly ITypedCharactersEntry[]) => readonly ITypedCharactersEntry[], modelService: IModelService);
50
+ /** Reports everything buffered so far, retaining whatever the consumer could not attribute yet. */
51
+ flush(): void;
52
+ private _trackModel;
53
+ private _handleContentChange;
54
+ private _add;
55
+ }
56
+ /**
57
+ * Sums the characters inserted by manual typing in `e`, ignoring everything
58
+ * the user did not type themselves (agent edits, accepted suggestions, paste,
59
+ * undo/redo, …).
60
+ *
61
+ * `detailedReasons[i]` describes the next `detailedReasonsChangeLengths[i]`
62
+ * entries of `changes`, so both lists are walked in lockstep.
63
+ */
64
+ export declare function countTypedCharacters(e: IModelContentChangedEvent): number;