@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,566 @@
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 chatCompositeBar from './media/chatCompositeBar.css';
5
+ import { Disposable, DisposableStore, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
7
+ import { $, addDisposableGenericMouseDownListener, addDisposableGenericMouseUpListener, addDisposableListener, EventType, DisposableResizeObserver, getWindow, reset, EventHelper, isHTMLElement, addStandardDisposableListener } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
8
+ import { applyDragImage } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/dnd/dnd';
9
+ import { ScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
10
+ import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
11
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
12
+ import { isLinux } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
13
+ import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
14
+ import { Action, Separator } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
15
+ import { InputBox } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/inputbox/inputBox';
16
+ import { defaultInputBoxStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
17
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
18
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
19
+ import { IContextMenuService, IContextViewService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
20
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
21
+ import { MenuWorkbenchToolBar, HiddenItemStrategy } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar';
22
+ import { Menus } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/menus';
23
+ import { StandardMouseEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/mouseEvent';
24
+ import { StandardKeyboardEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/keyboardEvent';
25
+ import { KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
26
+ import { onUnexpectedError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
27
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
28
+ import { ChatInteractivity, SessionStatus, getChatCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
29
+ import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service';
30
+ import { fillSessionChatDragData, fillChatReferenceDragData, clearChatReferenceDragData } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/dnd';
31
+ import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
32
+ import { getDefaultHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
33
+ import { applySessionBarThemeColors } from './sessionBarStyles.js';
34
+ import { ISessionsProvidersService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service';
35
+ import { isAgentHostProvider } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/agentHostSessionsProvider';
36
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
37
+ import { CLOSE_CHAT_COMMAND_ID, COPY_AGENT_HOST_CHAT_LINK_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/sessionCommands';
38
+ import { getSessionConversationStatusAriaLabel } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/sessionConversationGroups';
39
+ import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
40
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
41
+
42
+ registerCss(chatCompositeBar, 0);
43
+ let ChatCompositeBar = class ChatCompositeBar extends Disposable {
44
+ get element() {
45
+ return this._container;
46
+ }
47
+ get visible() {
48
+ return this._visible;
49
+ }
50
+ get height() {
51
+ return this._visible ? this._height : 0;
52
+ }
53
+ constructor(
54
+ resizeObserverCtor,
55
+ _themeService,
56
+ _sessionsManagementService,
57
+ _contextMenuService,
58
+ _contextViewService,
59
+ _hoverService,
60
+ _instantiationService,
61
+ _sessionsProvidersService,
62
+ _commandService,
63
+ _editorGroupsService
64
+ ) {
65
+ super();
66
+ this._themeService = _themeService;
67
+ this._sessionsManagementService = _sessionsManagementService;
68
+ this._contextMenuService = _contextMenuService;
69
+ this._contextViewService = _contextViewService;
70
+ this._hoverService = _hoverService;
71
+ this._instantiationService = _instantiationService;
72
+ this._sessionsProvidersService = _sessionsProvidersService;
73
+ this._commandService = _commandService;
74
+ this._editorGroupsService = _editorGroupsService;
75
+ this._tabs = [];
76
+ this._tabDisposables = this._register(( new DisposableStore()));
77
+ this._groupDisposables = this._register(( new MutableDisposable()));
78
+ this._editingDisposables = this._register(( new MutableDisposable()));
79
+ this._showSessionActions = false;
80
+ this._onDidChangeVisibility = this._register(( new Emitter()));
81
+ this.onDidChangeVisibility = this._onDidChangeVisibility.event;
82
+ this._onDidChangeHeight = this._register(( new Emitter()));
83
+ this.onDidChangeHeight = this._onDidChangeHeight.event;
84
+ this._visible = false;
85
+ this._height = 0;
86
+ this._container = $(".chat-composite-bar.session-chat-tabs-bar");
87
+ const updateCompactHeight = () => this._container.classList.toggle(
88
+ "compact-height",
89
+ this._editorGroupsService.partOptions.tabHeight === "compact"
90
+ );
91
+ updateCompactHeight();
92
+ this._register(
93
+ this._editorGroupsService.onDidChangeEditorPartOptions(updateCompactHeight)
94
+ );
95
+ this._tabsRow = $(".chat-composite-bar-tabs-row");
96
+ this._container.appendChild(this._tabsRow);
97
+ this._tabsContainer = $(".chat-composite-bar-tabs");
98
+ this._tabsContainer.setAttribute("role", "tablist");
99
+ this._tabsContainer.setAttribute("aria-label", ( localize(2953, "Chats")));
100
+ this._tabsScrollbar = this._register(( new ScrollableElement(this._tabsContainer, {
101
+ horizontal: ScrollbarVisibility.Hidden,
102
+ vertical: ScrollbarVisibility.Hidden,
103
+ scrollYToX: true,
104
+ useShadows: false
105
+ })));
106
+ this._tabsRow.appendChild(this._tabsScrollbar.getDomNode());
107
+ this._sessionActionsContainer = $(".session-chat-tabs-actions");
108
+ this._tabsRow.appendChild(this._sessionActionsContainer);
109
+ const sessionToolbarContainer = $(".chat-composite-bar-toolbar");
110
+ this._sessionActionsContainer.appendChild(sessionToolbarContainer);
111
+ this._sessionToolbar = this._register(
112
+ this._instantiationService.createInstance(MenuWorkbenchToolBar, sessionToolbarContainer, Menus.SessionBarToolbar, {
113
+ hiddenItemStrategy: HiddenItemStrategy.Ignore,
114
+ menuOptions: {
115
+ shouldForwardArgs: true
116
+ },
117
+ highlightToggledItems: true
118
+ })
119
+ );
120
+ const preventMiddleButtonDefault = e => {
121
+ if (e.button === 1 && !this._isInTabInput(e)) {
122
+ e.preventDefault();
123
+ }
124
+ };
125
+ this._register(
126
+ addDisposableGenericMouseDownListener(this._tabsContainer, preventMiddleButtonDefault)
127
+ );
128
+ if (isLinux) {
129
+ this._register(
130
+ addDisposableGenericMouseUpListener(this._tabsContainer, preventMiddleButtonDefault)
131
+ );
132
+ }
133
+ this._register(addDisposableListener(this._tabsContainer, EventType.SCROLL, () => {
134
+ this._tabsScrollbar.setScrollPosition({
135
+ scrollLeft: this._tabsContainer.scrollLeft
136
+ });
137
+ }));
138
+ this._register(this._tabsScrollbar.onScroll(e => {
139
+ if (e.scrollLeftChanged) {
140
+ this._tabsContainer.scrollLeft = e.scrollLeft;
141
+ }
142
+ }));
143
+ const resizeObserver = this._register(( new DisposableResizeObserver("ChatCompositeBar.activeTabReveal", () => {
144
+ this._updateScrollDimensions();
145
+ this._revealActiveTab();
146
+ })));
147
+ this._register(resizeObserver.observe(this._tabsContainer));
148
+ const heightObserver = this._register(( new DisposableResizeObserver("ChatCompositeBar.height", entries => {
149
+ const entry = entries.find(entry => entry.target === this._container);
150
+ if (!entry) {
151
+ return;
152
+ }
153
+ const height = entry.borderBoxSize[0]?.blockSize ?? entry.contentRect.height;
154
+ if (this._height !== height) {
155
+ this._height = height;
156
+ this._onDidChangeHeight.fire();
157
+ }
158
+ }, getWindow(this._container), {
159
+ resizeObserverCtor
160
+ })));
161
+ this._register(heightObserver.observe(this._container, {
162
+ box: "border-box"
163
+ }));
164
+ this._setVisible(false);
165
+ this._updateStyles();
166
+ this._register(this._themeService.onDidColorThemeChange(() => this._updateStyles()));
167
+ }
168
+ setGroup(delegate) {
169
+ if (this._delegate === delegate) {
170
+ return;
171
+ }
172
+ this._delegate = delegate;
173
+ this._sessionToolbar.context = delegate?.session;
174
+ const store = ( new DisposableStore());
175
+ this._groupDisposables.value = store;
176
+ if (!delegate) {
177
+ this._rebuildTabs([], "");
178
+ this._setVisible(false);
179
+ return;
180
+ }
181
+ this._setVisible(false);
182
+ store.add(autorun(reader => {
183
+ const chats = delegate.chats.read(reader);
184
+ const mainChatUri = delegate.mainChatResource.read(reader);
185
+ this._rebuildTabs(chats, mainChatUri);
186
+ }));
187
+ store.add(autorun(reader => {
188
+ this._updateActiveTab(delegate.activeChatResource.read(reader));
189
+ }));
190
+ store.add(autorun(reader => {
191
+ this._showSessionActions = delegate.showSessionActions.read(reader);
192
+ this._sessionActionsContainer.classList.toggle("hidden", !this._showSessionActions);
193
+ }));
194
+ store.add(autorun(reader => {
195
+ this._setVisible(delegate.visible.read(reader));
196
+ }));
197
+ }
198
+ setAriaLabel(label) {
199
+ this._tabsContainer.setAttribute("aria-label", label);
200
+ }
201
+ _rebuildTabs(chats, mainChatId) {
202
+ this._cancelTabEditing();
203
+ this._tabDisposables.clear();
204
+ this._tabs.length = 0;
205
+ reset(this._tabsContainer);
206
+ for (const chat of chats) {
207
+ this._createTab(chat, ( chat.resource.toString()) === mainChatId);
208
+ }
209
+ this._updateActiveTab(this._delegate?.activeChatResource.get() ?? "");
210
+ this._updateScrollDimensions();
211
+ }
212
+ _updateScrollDimensions() {
213
+ this._tabsScrollbar.setScrollDimensions({
214
+ width: this._tabsContainer.clientWidth,
215
+ scrollWidth: this._tabsContainer.scrollWidth
216
+ });
217
+ }
218
+ _createTab(chat, isMainChat) {
219
+ const delegate = this._delegate;
220
+ const session = delegate?.session;
221
+ const tab = $(".chat-composite-bar-tab.modern-ui-editor-tab");
222
+ tab.tabIndex = -1;
223
+ tab.setAttribute("role", "tab");
224
+ tab.draggable = true;
225
+ tab.dataset.chatResource = ( chat.resource.toString());
226
+ tab.dataset.isMainChat = String(isMainChat);
227
+ const tabFill = $(".chat-composite-bar-tab-fill.modern-ui-editor-tab-fill", {
228
+ "aria-hidden": true
229
+ });
230
+ tab.appendChild(tabFill);
231
+ const labelEl = $(".chat-composite-bar-tab-label.modern-ui-editor-tab-label");
232
+ this._tabDisposables.add(autorun(reader => {
233
+ const title = chat.title.read(reader);
234
+ const status = chat.status.read(reader);
235
+ labelEl.textContent = title;
236
+ tab.setAttribute("aria-label", ( localize(2954, "{0}, {1}", title, getSessionConversationStatusAriaLabel(status))));
237
+ }));
238
+ const lockIcon = $(".chat-composite-bar-tab-lock");
239
+ lockIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.lock));
240
+ tab.appendChild(lockIcon);
241
+ this._tabDisposables.add(autorun(reader => {
242
+ const isReadOnly = chat.interactivity.read(reader) === ChatInteractivity.ReadOnly;
243
+ tab.classList.toggle("read-only", isReadOnly);
244
+ tab.dataset.interactivity = chat.interactivity.read(reader);
245
+ }));
246
+ tab.appendChild(labelEl);
247
+ const inputContainer = $(".chat-composite-bar-tab-input-container");
248
+ tab.appendChild(inputContainer);
249
+ this._tabDisposables.add(
250
+ this._hoverService.setupManagedHover(getDefaultHoverDelegate("element"), tab, () => chat.title.get())
251
+ );
252
+ this._tabDisposables.add(autorun(reader => {
253
+ const status = chat.status.read(reader);
254
+ tab.classList.toggle("untitled", status === SessionStatus.Untitled);
255
+ }));
256
+ const indicator = $(".chat-composite-bar-tab-indicator");
257
+ const indicatorIcon = $(".chat-composite-bar-tab-indicator-icon");
258
+ indicator.appendChild(indicatorIcon);
259
+ this._tabDisposables.add(autorun(reader => {
260
+ const isActive = delegate?.activeChatResource.read(reader) === ( chat.resource.toString());
261
+ const status = chat.status.read(reader);
262
+ const isRead = chat.isRead.read(reader);
263
+ let mode = "none";
264
+ if (status === SessionStatus.NeedsInput) {
265
+ mode = "needs-input";
266
+ } else if (status === SessionStatus.InProgress) {
267
+ mode = "in-progress";
268
+ } else if (!isRead && !isActive) {
269
+ mode = "unread";
270
+ }
271
+ tab.classList.toggle("needs-input", mode === "needs-input");
272
+ tab.classList.toggle("unread", mode === "unread");
273
+ tab.classList.toggle("in-progress", mode === "in-progress");
274
+ indicatorIcon.className = "chat-composite-bar-tab-indicator-icon";
275
+ if (mode === "in-progress") {
276
+ indicatorIcon.classList.add(...ThemeIcon.asClassNameArray(ThemeIcon.modify(Codicon.loading, "spin")));
277
+ }
278
+ }));
279
+ tab.appendChild(indicator);
280
+ let tabToolbar;
281
+ if (!isMainChat && session) {
282
+ const actionsContainer = $(".chat-composite-bar-tab-actions");
283
+ tab.appendChild(actionsContainer);
284
+ tabToolbar = this._tabDisposables.add(
285
+ this._instantiationService.createInstance(MenuWorkbenchToolBar, actionsContainer, Menus.SessionChatTab, {
286
+ hiddenItemStrategy: HiddenItemStrategy.Ignore,
287
+ menuOptions: {
288
+ shouldForwardArgs: true
289
+ },
290
+ toolbarOptions: {
291
+ primaryGroup: () => true
292
+ }
293
+ })
294
+ );
295
+ tabToolbar.context = {
296
+ session,
297
+ chat
298
+ };
299
+ }
300
+ this._tabsContainer.appendChild(tab);
301
+ const chatTab = {
302
+ chat,
303
+ element: tab,
304
+ inputContainer,
305
+ toolbar: tabToolbar
306
+ };
307
+ this._tabDisposables.add(addDisposableListener(tab, EventType.CLICK, () => {
308
+ this._cancelTabEditing();
309
+ this._delegate?.openChat(chat.resource);
310
+ }));
311
+ const isHandledTabKey = event => ( [
312
+ KeyCode.Enter,
313
+ KeyCode.Space,
314
+ KeyCode.LeftArrow,
315
+ KeyCode.RightArrow,
316
+ KeyCode.Home,
317
+ KeyCode.End
318
+ ].some(keyCode => event.equals(keyCode)));
319
+ this._tabDisposables.add(addDisposableListener(tab, EventType.KEY_DOWN, e => {
320
+ if (e.target === tab && isHandledTabKey(( new StandardKeyboardEvent(e)))) {
321
+ EventHelper.stop(e, true);
322
+ }
323
+ }));
324
+ this._tabDisposables.add(addDisposableListener(tab, EventType.KEY_UP, e => {
325
+ if (e.target !== tab) {
326
+ return;
327
+ }
328
+ const event = ( new StandardKeyboardEvent(e));
329
+ if (event.equals(KeyCode.Enter) || event.equals(KeyCode.Space)) {
330
+ EventHelper.stop(e, true);
331
+ this._delegate?.openChat(chat.resource);
332
+ } else if (( [KeyCode.LeftArrow, KeyCode.RightArrow, KeyCode.Home, KeyCode.End].some(keyCode => event.equals(keyCode)))) {
333
+ let tabIndex = this._tabs.indexOf(chatTab);
334
+ if (event.equals(KeyCode.LeftArrow)) {
335
+ tabIndex--;
336
+ } else if (event.equals(KeyCode.RightArrow)) {
337
+ tabIndex++;
338
+ } else if (event.equals(KeyCode.Home)) {
339
+ tabIndex = 0;
340
+ } else {
341
+ tabIndex = this._tabs.length - 1;
342
+ }
343
+ const targetTab = this._tabs[tabIndex];
344
+ if (targetTab) {
345
+ EventHelper.stop(e, true);
346
+ this._delegate?.openChat(targetTab.chat.resource);
347
+ targetTab.element.focus();
348
+ }
349
+ }
350
+ }));
351
+ this._tabDisposables.add(addDisposableListener(tab, EventType.AUXCLICK, e => {
352
+ if (e.button !== 1) {
353
+ return;
354
+ }
355
+ if (this._isInTabInput(e)) {
356
+ return;
357
+ }
358
+ EventHelper.stop(e, true);
359
+ if (isMainChat || !session) {
360
+ return;
361
+ }
362
+ this._cancelTabEditing();
363
+ void this._commandService.executeCommand(CLOSE_CHAT_COMMAND_ID, {
364
+ session,
365
+ chat
366
+ }).catch(onUnexpectedError);
367
+ }));
368
+ this._tabDisposables.add(addDisposableListener(tab, EventType.DRAG_START, e => {
369
+ if (!delegate || !e.dataTransfer) {
370
+ e.preventDefault();
371
+ return;
372
+ }
373
+ const target = e.target;
374
+ if (target?.closest(".chat-composite-bar-tab-actions")) {
375
+ e.preventDefault();
376
+ return;
377
+ }
378
+ if (this._editingTab) {
379
+ e.preventDefault();
380
+ return;
381
+ }
382
+ this._cancelTabEditing();
383
+ fillSessionChatDragData(e, delegate.session.sessionId, chat.resource);
384
+ const backendChatResource = this._backendChatResource(chat);
385
+ if (backendChatResource) {
386
+ fillChatReferenceDragData(e, backendChatResource, chat.resource, chat.title.get());
387
+ }
388
+ e.dataTransfer.effectAllowed = "copyMove";
389
+ applyDragImage(e, tab, chat.title.get());
390
+ delegate.onTabDragStart?.(chat.resource);
391
+ }));
392
+ this._tabDisposables.add(addDisposableListener(tab, EventType.DRAG_END, () => {
393
+ clearChatReferenceDragData();
394
+ this._delegate?.onTabDragEnd?.();
395
+ }));
396
+ const renameAction = this._tabDisposables.add(( new Action("sessionCompositeBar.renameChat", ( localize(2955, "Rename")), undefined, true, async () => {
397
+ this._startTabEditing(chatTab);
398
+ })));
399
+ const copyLinkAction = this._tabDisposables.add(( new Action(COPY_AGENT_HOST_CHAT_LINK_COMMAND_ID, ( localize(2956, "Copy Link")), undefined, true, async () => {
400
+ if (session) {
401
+ await this._commandService.executeCommand(COPY_AGENT_HOST_CHAT_LINK_COMMAND_ID, {
402
+ session,
403
+ chat
404
+ });
405
+ }
406
+ })));
407
+ const deleteAction = this._tabDisposables.add(( new Action("sessionCompositeBar.deleteChat", ( localize(2957, "Delete Chat")), undefined, true, async () => {
408
+ if (delegate) {
409
+ await this._sessionsManagementService.deleteChat(delegate.session, chat.resource);
410
+ }
411
+ })));
412
+ this._tabDisposables.add(addDisposableListener(tab, EventType.DBLCLICK, e => {
413
+ if (chat.status.get() === SessionStatus.Untitled || !getChatCapabilities(chat, session, undefined).canRename) {
414
+ return;
415
+ }
416
+ e.preventDefault();
417
+ e.stopPropagation();
418
+ this._startTabEditing(chatTab);
419
+ }));
420
+ this._tabDisposables.add(addDisposableListener(tab, EventType.CONTEXT_MENU, e => {
421
+ if (chat.status.get() === SessionStatus.Untitled) {
422
+ e.preventDefault();
423
+ return;
424
+ }
425
+ e.preventDefault();
426
+ e.stopPropagation();
427
+ const event = ( new StandardMouseEvent(getWindow(tab), e));
428
+ this._contextMenuService.showContextMenu({
429
+ getAnchor: () => event,
430
+ getActions: () => {
431
+ const capabilities = getChatCapabilities(chat, session, undefined);
432
+ const provider = session && this._sessionsProvidersService.getProvider(session.providerId);
433
+ return Separator.join(
434
+ capabilities.canRename ? [renameAction] : [],
435
+ provider && isAgentHostProvider(provider) ? [copyLinkAction] : [],
436
+ capabilities.canDelete ? [deleteAction] : []
437
+ );
438
+ }
439
+ });
440
+ }));
441
+ this._tabs.push(chatTab);
442
+ }
443
+ _isInTabInput(event) {
444
+ return isHTMLElement(event.target) && !!event.target.closest(".chat-composite-bar-tab-input-container");
445
+ }
446
+ _backendChatResource(chat) {
447
+ const providerId = this._delegate?.session.providerId;
448
+ if (!providerId) {
449
+ return undefined;
450
+ }
451
+ const provider = this._sessionsProvidersService.getProvider(providerId);
452
+ return provider && isAgentHostProvider(provider) ? provider.getBackendChatResource(chat.resource) : undefined;
453
+ }
454
+ _startTabEditing(chatTab) {
455
+ const delegate = this._delegate;
456
+ if (!delegate || this._editingTab) {
457
+ return;
458
+ }
459
+ const {
460
+ chat,
461
+ element: tab,
462
+ inputContainer
463
+ } = chatTab;
464
+ const initialTitle = chat.title.get();
465
+ this._editingTab = chatTab;
466
+ tab.classList.add("editing");
467
+ const store = ( new DisposableStore());
468
+ this._editingDisposables.value = store;
469
+ const inputBox = store.add(( new InputBox(inputContainer, this._contextViewService, {
470
+ ariaLabel: ( localize(2958, "Rename chat")),
471
+ inputBoxStyles: defaultInputBoxStyles
472
+ })));
473
+ inputBox.element.classList.add("chat-composite-bar-tab-input");
474
+ inputBox.value = initialTitle;
475
+ inputBox.focus();
476
+ inputBox.select();
477
+ let finished = false;
478
+ const finish = commit => {
479
+ if (finished) {
480
+ return;
481
+ }
482
+ finished = true;
483
+ const newTitle = inputBox.value.trim();
484
+ this._endTabEditing();
485
+ if (commit && newTitle && newTitle !== initialTitle) {
486
+ this._sessionsManagementService.renameChat(delegate.session, chat.resource, newTitle).catch(onUnexpectedError);
487
+ }
488
+ };
489
+ store.add(
490
+ addStandardDisposableListener(inputBox.inputElement, EventType.KEY_DOWN, e => {
491
+ if (e.equals(KeyCode.Enter)) {
492
+ e.preventDefault();
493
+ e.stopPropagation();
494
+ finish(true);
495
+ } else if (e.equals(KeyCode.Escape)) {
496
+ e.preventDefault();
497
+ e.stopPropagation();
498
+ finish(false);
499
+ } else {
500
+ e.stopPropagation();
501
+ }
502
+ })
503
+ );
504
+ store.add(
505
+ addDisposableListener(inputBox.inputElement, EventType.BLUR, () => finish(false))
506
+ );
507
+ store.add(
508
+ addDisposableListener(inputBox.element, EventType.CLICK, e => e.stopPropagation())
509
+ );
510
+ store.add(
511
+ addDisposableListener(inputBox.element, EventType.DBLCLICK, e => e.stopPropagation())
512
+ );
513
+ }
514
+ _cancelTabEditing() {
515
+ if (!this._editingTab) {
516
+ return;
517
+ }
518
+ this._endTabEditing();
519
+ }
520
+ _endTabEditing() {
521
+ const editingTab = this._editingTab;
522
+ this._editingTab = undefined;
523
+ this._editingDisposables.clear();
524
+ if (editingTab) {
525
+ editingTab.element.classList.remove("editing");
526
+ reset(editingTab.inputContainer);
527
+ }
528
+ }
529
+ _updateActiveTab(activeChatId) {
530
+ for (const tab of this._tabs) {
531
+ const isActive = ( tab.chat.resource.toString()) === activeChatId;
532
+ tab.element.classList.toggle("active", isActive);
533
+ tab.element.setAttribute("aria-selected", String(isActive));
534
+ tab.element.tabIndex = isActive ? 0 : -1;
535
+ tab.toolbar?.setFocusable(isActive);
536
+ if (isActive) {
537
+ tab.element.scrollIntoView({
538
+ block: "nearest",
539
+ inline: "nearest"
540
+ });
541
+ }
542
+ }
543
+ }
544
+ _revealActiveTab() {
545
+ const activeTab = this._tabs.find(t => t.element.classList.contains("active"));
546
+ activeTab?.element.scrollIntoView({
547
+ block: "nearest",
548
+ inline: "nearest"
549
+ });
550
+ }
551
+ _setVisible(visible) {
552
+ const wasVisible = this._visible;
553
+ this._visible = visible;
554
+ this._container.style.display = this._visible ? "" : "none";
555
+ this._height = this._visible ? this._container.offsetHeight : 0;
556
+ if (wasVisible !== this._visible) {
557
+ this._onDidChangeVisibility.fire(this._visible);
558
+ }
559
+ }
560
+ _updateStyles() {
561
+ applySessionBarThemeColors(this._container, this._themeService.getColorTheme());
562
+ }
563
+ };
564
+ ChatCompositeBar = ( __decorate([( __param(1, IThemeService)), ( __param(2, ISessionsManagementService)), ( __param(3, IContextMenuService)), ( __param(4, IContextViewService)), ( __param(5, IHoverService)), ( __param(6, IInstantiationService)), ( __param(7, ISessionsProvidersService)), ( __param(8, ICommandService)), ( __param(9, IEditorGroupsService))], ChatCompositeBar));
565
+
566
+ export { ChatCompositeBar };
@@ -0,0 +1,43 @@
1
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
2
+ import { Themable } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService";
3
+ import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
4
+ import { IDraggedSessionChat } from "@codingame/monaco-vscode-api/vscode/vs/sessions/browser/dnd";
5
+ /** Zone of a target group where a dragged chat can be dropped. */
6
+ export type ChatDropZone = "left" | "right" | "top" | "bottom" | "center";
7
+ /**
8
+ * Resolves an element under the groups container to the chat group it belongs
9
+ * to, and receives drop notifications.
10
+ */
11
+ export interface IChatGroupDropTargetDelegate {
12
+ /** Whether the drag can be accepted by this session's grid. */
13
+ isChatDrag(event: DragEvent): boolean;
14
+ /** Resolve a child element to its owning chat group id + root element. */
15
+ findTargetGroup(child: HTMLElement): {
16
+ readonly id: number;
17
+ readonly element: HTMLElement;
18
+ } | undefined;
19
+ /** Handle a chat being dropped onto the given group in the given zone. */
20
+ onChatDrop(targetGroupId: number, zone: ChatDropZone, data: IDraggedSessionChat | undefined): void;
21
+ }
22
+ /**
23
+ * Drop target for the chats grid within a session. Listens for chat-tab drags
24
+ * over the groups container, displays a 5-zone overlay on whichever group is
25
+ * being hovered, and calls back into the owning {@link ChatGroupsView} to move
26
+ * the chat into an existing group (center) or split it into a new group (edge).
27
+ */
28
+ export declare class ChatGroupDropTarget extends Themable {
29
+ private readonly _container;
30
+ private readonly _delegate;
31
+ private readonly _instantiationService;
32
+ private _overlay?;
33
+ private _counter;
34
+ constructor(_container: HTMLElement, _delegate: IChatGroupDropTargetDelegate, themeService: IThemeService, _instantiationService: IInstantiationService);
35
+ private get overlay();
36
+ private _registerListeners;
37
+ private _onDragEnter;
38
+ private _onDragLeave;
39
+ private _onDragEnd;
40
+ private _updateContainer;
41
+ dispose(): void;
42
+ private _disposeOverlay;
43
+ }