@codingame/monaco-vscode-workbench-service-override 37.6.0 → 38.0.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 (324) hide show
  1. package/common.js +2 -0
  2. package/index.js +9 -10
  3. package/package.json +10 -10
  4. package/session.js +45 -42
  5. package/vscode/src/vs/platform/agentHost/common/sessionComparisonPrompts.d.ts +1 -0
  6. package/vscode/src/vs/platform/agentHost/common/sessionComparisonPrompts.js +12 -0
  7. package/vscode/src/vs/sessions/browser/{singlePaneWorkbench.d.ts → desktopWorkbench.d.ts} +6 -5
  8. package/vscode/src/vs/sessions/browser/{singlePaneWorkbench.js → desktopWorkbench.js} +23 -25
  9. package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.d.ts +5 -2
  10. package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.js +41 -3
  11. package/vscode/src/vs/sessions/browser/layoutActions.js +25 -41
  12. package/vscode/src/vs/sessions/browser/mobileWorkbench.d.ts +4 -0
  13. package/vscode/src/vs/sessions/browser/mobileWorkbench.js +10 -0
  14. package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.d.ts +10 -5
  15. package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.js +138 -34
  16. package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.d.ts +2 -0
  17. package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.js +13 -5
  18. package/vscode/src/vs/sessions/browser/parts/chatGroupView.d.ts +27 -5
  19. package/vscode/src/vs/sessions/browser/parts/chatGroupView.js +129 -28
  20. package/vscode/src/vs/sessions/browser/parts/chatGroupsView.d.ts +22 -7
  21. package/vscode/src/vs/sessions/browser/parts/chatGroupsView.js +260 -21
  22. package/vscode/src/vs/sessions/browser/parts/chatHeader.d.ts +25 -0
  23. package/vscode/src/vs/sessions/browser/parts/chatHeader.js +42 -0
  24. package/vscode/src/vs/sessions/browser/parts/customViewGridPart.js +9 -1
  25. package/vscode/src/vs/sessions/browser/parts/customViewNode.js +1 -1
  26. package/vscode/src/vs/sessions/browser/parts/{singlePaneAuxiliaryBarPart.d.ts → desktopAuxiliaryBarPart.d.ts} +4 -4
  27. package/vscode/src/vs/sessions/browser/parts/desktopAuxiliaryBarPart.js +26 -0
  28. package/vscode/src/vs/sessions/browser/parts/{singlePaneEditorPart.d.ts → desktopEditorPart.d.ts} +8 -6
  29. package/vscode/src/vs/sessions/browser/parts/{singlePaneEditorPart.js → desktopEditorPart.js} +25 -5
  30. package/vscode/src/vs/sessions/browser/parts/editorPart.js +16 -4
  31. package/vscode/src/vs/sessions/browser/parts/editorParts.d.ts +1 -1
  32. package/vscode/src/vs/sessions/browser/parts/editorParts.js +7 -6
  33. package/vscode/src/vs/sessions/browser/parts/gridGap.d.ts +14 -0
  34. package/vscode/src/vs/sessions/browser/parts/gridGap.js +69 -0
  35. package/vscode/src/vs/sessions/browser/parts/media/chatCompositeBar.css +132 -4
  36. package/vscode/src/vs/sessions/browser/parts/media/chatGroupsView.css +10 -0
  37. package/vscode/src/vs/sessions/browser/parts/media/editorPart.css +46 -2
  38. package/vscode/src/vs/sessions/browser/parts/media/sessionReadOnlyBanner.css +3 -3
  39. package/vscode/src/vs/sessions/browser/parts/media/sessionView.css +45 -48
  40. package/vscode/src/vs/sessions/browser/parts/media/sessionsPart.css +15 -0
  41. package/vscode/src/vs/sessions/browser/parts/menubar.contribution.js +8 -8
  42. package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.js +1 -1
  43. package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.d.ts +9 -1
  44. package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.js +21 -3
  45. package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.js +1 -1
  46. package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.d.ts +4 -3
  47. package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.js +29 -15
  48. package/vscode/src/vs/sessions/browser/parts/sessionGridLayout.d.ts +67 -0
  49. package/vscode/src/vs/sessions/browser/parts/sessionGridLayout.js +598 -0
  50. package/vscode/src/vs/sessions/browser/parts/sessionHeader.d.ts +11 -84
  51. package/vscode/src/vs/sessions/browser/parts/sessionHeader.js +37 -317
  52. package/vscode/src/vs/sessions/browser/parts/sessionHeaderBar.d.ts +103 -0
  53. package/vscode/src/vs/sessions/browser/parts/sessionHeaderBar.js +391 -0
  54. package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.d.ts +6 -4
  55. package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.js +58 -28
  56. package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.d.ts +4 -0
  57. package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.js +66 -23
  58. package/vscode/src/vs/sessions/browser/parts/sessionView.d.ts +24 -5
  59. package/vscode/src/vs/sessions/browser/parts/sessionView.js +143 -33
  60. package/vscode/src/vs/sessions/browser/parts/sessionsPart.d.ts +25 -19
  61. package/vscode/src/vs/sessions/browser/parts/sessionsPart.js +157 -58
  62. package/vscode/src/vs/sessions/browser/parts/sessionsParts.d.ts +12 -3
  63. package/vscode/src/vs/sessions/browser/parts/sessionsParts.js +17 -2
  64. package/vscode/src/vs/sessions/browser/sessionWorkspace.d.ts +6 -3
  65. package/vscode/src/vs/sessions/browser/sessionWorkspace.js +2 -2
  66. package/vscode/src/vs/sessions/browser/sessionsSetUpService.js +66 -20
  67. package/vscode/src/vs/sessions/browser/sessionsSignInDialog.d.ts +1 -0
  68. package/vscode/src/vs/sessions/browser/sessionsSignInDialog.js +5 -4
  69. package/vscode/src/vs/sessions/browser/workbenchFactory.d.ts +12 -0
  70. package/vscode/src/vs/sessions/browser/workbenchFactory.js +17 -0
  71. package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.d.ts +85 -1
  72. package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +118 -100
  73. package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.d.ts +3 -2
  74. package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +39 -34
  75. package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountTitleBarWidget.css +6 -0
  76. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.d.ts +3 -0
  77. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.js +6 -0
  78. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +18 -18
  79. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +12 -12
  80. package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.js +7 -7
  81. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +12 -12
  82. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +10 -10
  83. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.d.ts +78 -8
  84. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +1166 -202
  85. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.d.ts +11 -1
  86. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +190 -69
  87. package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.d.ts +11 -9
  88. package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +122 -233
  89. package/vscode/src/vs/sessions/contrib/automations/browser/automationTelemetry.d.ts +22 -0
  90. package/vscode/src/vs/sessions/contrib/automations/browser/automationTelemetry.js +62 -0
  91. package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.d.ts +7 -2
  92. package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +172 -84
  93. package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +17 -7
  94. package/vscode/src/vs/sessions/contrib/automations/browser/media/automationDialog.css +242 -60
  95. package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.d.ts +24 -36
  96. package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +104 -420
  97. package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +15 -14
  98. package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.d.ts +13 -3
  99. package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +66 -43
  100. package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.js +2 -7
  101. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +54 -59
  102. package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +7 -7
  103. package/vscode/src/vs/sessions/contrib/changes/browser/media/changesActions.css +6 -0
  104. package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +25 -21
  105. package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +21 -27
  106. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +17 -17
  107. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.d.ts +5 -5
  108. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.js +2 -2
  109. package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +2 -2
  110. package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReview.contributions.js +9 -16
  111. package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +7 -7
  112. package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +15 -13
  113. package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.d.ts +13 -1
  114. package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +104 -117
  115. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +8 -7
  116. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +5 -5
  117. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +1 -1
  118. package/vscode/src/vs/sessions/contrib/editor/browser/media/editorBreadcrumbs.css +0 -1
  119. package/vscode/src/vs/sessions/contrib/editor/browser/media/editorHeader.css +1 -1
  120. package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.d.ts +7 -0
  121. package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +77 -13
  122. package/vscode/src/vs/sessions/contrib/files/browser/filesView.d.ts +2 -1
  123. package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +14 -4
  124. package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.d.ts +45 -10
  125. package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +527 -96
  126. package/vscode/src/vs/sessions/contrib/layout/browser/chatLayoutOwnerKeys.d.ts +18 -0
  127. package/vscode/src/vs/sessions/contrib/layout/browser/chatLayoutOwnerKeys.js +95 -0
  128. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDetailPanelCoordinator.d.ts → desktop/desktopDetailPanelCoordinator.d.ts} +5 -4
  129. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDetailPanelCoordinator.js → desktop/desktopDetailPanelCoordinator.js} +10 -7
  130. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDockedTabsCoordinator.d.ts → desktop/desktopDockedTabsCoordinator.d.ts} +15 -12
  131. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDockedTabsCoordinator.js → desktop/desktopDockedTabsCoordinator.js} +91 -44
  132. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDraftSessionStrategy.d.ts → desktop/desktopDraftSessionStrategy.d.ts} +10 -5
  133. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDraftSessionStrategy.js → desktop/desktopDraftSessionStrategy.js} +95 -22
  134. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneExistingSessionStrategy.d.ts → desktop/desktopExistingSessionStrategy.d.ts} +13 -11
  135. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneExistingSessionStrategy.js → desktop/desktopExistingSessionStrategy.js} +137 -57
  136. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneLayoutStrategy.d.ts → desktop/desktopLayoutStrategy.d.ts} +22 -13
  137. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneLayoutStrategy.js → desktop/desktopLayoutStrategy.js} +2 -2
  138. package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopOwnerCompositionStore.d.ts +22 -0
  139. package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopOwnerCompositionStore.js +136 -0
  140. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneSharedHelpers.d.ts → desktop/desktopSharedHelpers.d.ts} +9 -2
  141. package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopSharedHelpers.js +56 -0
  142. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneVisibilityProfileStore.d.ts → desktop/desktopVisibilityProfileStore.d.ts} +3 -2
  143. package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneVisibilityProfileStore.js → desktop/desktopVisibilityProfileStore.js} +10 -9
  144. package/vscode/src/vs/sessions/contrib/layout/browser/desktopLayoutController.d.ts +71 -0
  145. package/vscode/src/vs/sessions/contrib/layout/browser/desktopLayoutController.js +201 -0
  146. package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.d.ts +8 -1
  147. package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +35 -35
  148. package/vscode/src/vs/sessions/contrib/layout/common/sessionEditorWorkingSet.d.ts +39 -0
  149. package/vscode/src/vs/sessions/contrib/layout/common/sessionEditorWorkingSet.js +73 -0
  150. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.d.ts +42 -1
  151. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.js +14 -10
  152. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.js +3 -4
  153. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.d.ts +2 -2
  154. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.js +13 -9
  155. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.js +20 -5
  156. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourVariation.d.ts +8 -0
  157. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourVariation.js +19 -0
  158. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +21 -20
  159. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +10 -5
  160. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +12 -8
  161. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.d.ts +3 -1
  162. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +12 -7
  163. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.d.ts +9 -1
  164. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +46 -19
  165. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.js +2 -0
  166. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/media/sessionsPolicyBlocked.css +33 -0
  167. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.d.ts +4 -2
  168. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.js +29 -8
  169. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.d.ts +15 -2
  170. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +169 -32
  171. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostForkActions.js +30 -8
  172. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.js +8 -34
  173. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.js +63 -49
  174. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.js +1 -1
  175. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.js +31 -17
  176. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnostics.contribution.d.ts +32 -0
  177. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnostics.contribution.js +250 -0
  178. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsLogs.d.ts +6 -0
  179. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsLogs.js +52 -0
  180. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsReport.d.ts +51 -0
  181. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsReport.js +439 -0
  182. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsService.d.ts +45 -0
  183. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsService.js +595 -0
  184. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.d.ts +20 -3
  185. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +360 -46
  186. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerSource.d.ts +9 -0
  187. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerSource.js +59 -0
  188. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/media/connectionDiagnostics.css +201 -0
  189. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/getRemoteSessionTool.d.ts +10 -0
  190. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/getRemoteSessionTool.js +70 -0
  191. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionChatService.d.ts +20 -0
  192. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionChatService.js +104 -0
  193. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionInspector.d.ts +15 -0
  194. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionInspector.js +152 -0
  195. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionMessageRouter.d.ts +49 -0
  196. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionMessageRouter.js +340 -0
  197. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionService.d.ts +41 -0
  198. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionService.js +400 -0
  199. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionSource.d.ts +28 -0
  200. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionSource.js +178 -0
  201. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionTools.d.ts +17 -0
  202. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionTools.js +206 -0
  203. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessions.contribution.d.ts +1 -0
  204. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessions.contribution.js +58 -0
  205. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/sendRemoteMessageTool.d.ts +10 -0
  206. package/vscode/src/vs/sessions/contrib/remoteSessions/browser/sendRemoteMessageTool.js +90 -0
  207. package/vscode/src/vs/sessions/contrib/remoteSessions/common/remoteSessionInspection.d.ts +38 -0
  208. package/vscode/src/vs/sessions/contrib/remoteSessions/common/remoteSessionInspection.js +58 -0
  209. package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +4 -5
  210. package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +1 -1
  211. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparison.contribution.d.ts +1 -0
  212. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparison.contribution.js +33 -0
  213. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonGridController.d.ts +30 -0
  214. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonGridController.js +190 -0
  215. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonTool.d.ts +31 -0
  216. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonTool.js +559 -0
  217. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonViewService.d.ts +12 -0
  218. package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonViewService.js +38 -0
  219. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.d.ts +13 -4
  220. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +155 -22
  221. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +9 -5
  222. package/vscode/src/vs/sessions/contrib/sessions/browser/media/automationsCards.css +90 -25
  223. package/vscode/src/vs/sessions/contrib/sessions/browser/media/sessionsTitleBarWidget.css +21 -4
  224. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.d.ts +2 -1
  225. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +11 -7
  226. package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.d.ts +116 -1
  227. package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +126 -30
  228. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsAccountTelemetry.d.ts +26 -0
  229. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsAccountTelemetry.js +160 -0
  230. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.d.ts +14 -6
  231. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +555 -151
  232. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsLifecycleTracker.d.ts +192 -0
  233. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsLifecycleTracker.js +510 -0
  234. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.d.ts +6 -7
  235. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.js +64 -57
  236. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.d.ts +5 -3
  237. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +83 -51
  238. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.d.ts +5 -1
  239. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +33 -12
  240. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationCataloguePresentation.d.ts +3 -0
  241. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationCataloguePresentation.js +53 -0
  242. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +10 -10
  243. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.d.ts +2 -2
  244. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +103 -55
  245. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.d.ts +7 -1
  246. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +679 -325
  247. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.d.ts +27 -1
  248. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +508 -163
  249. package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.d.ts +20 -2
  250. package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.js +100 -17
  251. package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.d.ts +5 -1
  252. package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.js +108 -30
  253. package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.d.ts +5 -3
  254. package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.js +47 -35
  255. package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.d.ts +9 -4
  256. package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.js +75 -25
  257. package/vscode/src/vs/sessions/services/customView/browser/customViewService.d.ts +11 -4
  258. package/vscode/src/vs/sessions/services/customView/browser/customViewService.js +17 -9
  259. package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.d.ts +5 -0
  260. package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.js +20 -2
  261. package/vscode/src/vs/sessions/services/sessions/browser/sessionComparisonService.d.ts +75 -0
  262. package/vscode/src/vs/sessions/services/sessions/browser/sessionComparisonService.js +1135 -0
  263. package/vscode/src/vs/sessions/services/sessions/browser/sessionGridState.d.ts +17 -0
  264. package/vscode/src/vs/sessions/services/sessions/browser/sessionGridState.js +99 -0
  265. package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.d.ts +4 -0
  266. package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.js +88 -23
  267. package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.d.ts +19 -26
  268. package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.js +115 -74
  269. package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.js +1 -1
  270. package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.d.ts +22 -7
  271. package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +278 -60
  272. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.d.ts +17 -20
  273. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.js +33 -22
  274. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.d.ts +28 -8
  275. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +673 -160
  276. package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.d.ts +13 -4
  277. package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.js +105 -15
  278. package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.js +53 -34
  279. package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.js +1 -1
  280. package/vscode/src/vs/workbench/browser/layout.d.ts +46 -70
  281. package/vscode/src/vs/workbench/browser/layout.js +243 -44
  282. package/vscode/src/vs/workbench/browser/workbench.d.ts +1 -3
  283. package/vscode/src/vs/workbench/browser/workbench.js +26 -24
  284. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +6 -0
  285. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +41 -0
  286. package/vscode/src/vs/workbench/contrib/chat/common/chatUsage.d.ts +15 -0
  287. package/vscode/src/vs/workbench/contrib/chat/common/chatUsage.js +56 -0
  288. package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.d.ts +0 -18
  289. package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.js +0 -27
  290. package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.js +0 -36
  291. package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.d.ts +0 -37
  292. package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.js +0 -126
  293. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.d.ts +0 -59
  294. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +0 -232
  295. package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.d.ts +0 -13
  296. package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.js +0 -22
  297. package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.d.ts +0 -45
  298. package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.js +0 -110
  299. package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.d.ts +0 -112
  300. package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.js +0 -444
  301. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.js +0 -43
  302. package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.d.ts +0 -55
  303. package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.js +0 -91
  304. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.d.ts +0 -26
  305. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.js +0 -98
  306. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.d.ts +0 -33
  307. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.js +0 -98
  308. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.d.ts +0 -2
  309. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.js +0 -13
  310. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.d.ts +0 -122
  311. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.js +0 -464
  312. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.d.ts +0 -35
  313. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.js +0 -90
  314. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.d.ts +0 -84
  315. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.js +0 -328
  316. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.d.ts +0 -174
  317. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.js +0 -1390
  318. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/media/agentHostSessionConfigPicker.css +0 -44
  319. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.d.ts +0 -30
  320. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.js +0 -78
  321. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.d.ts +0 -11
  322. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.js +0 -26
  323. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.d.ts +0 -27
  324. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.js +0 -26
@@ -2,16 +2,17 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { CancellationToken, CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
4
4
  import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
5
- import { raceCancellationError, raceTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
5
+ import { SequencerByKey, raceCancellationError, raceTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
6
6
  import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
7
7
  import { getComparisonKey } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
8
8
  import { StringSHA1 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/hash';
9
- import { Disposable, DisposableMap, toDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
9
+ import { Disposable, DisposableMap, combinedDisposable, toDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
10
10
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
11
11
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
12
12
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
13
+ import { findDevContainerSample } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/devContainerSamples';
13
14
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
14
- import { agentHostAuthority, AGENT_HOST_SCHEME } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
15
+ import { agentHostAuthority, AGENT_HOST_SCHEME, fromAgentHostUri } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
15
16
  import { agentsWindowAgentHostClientInfo } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostClientInfo';
16
17
  import { AgentHostProtocolClient } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/browser/agentHostProtocolClient';
17
18
  import { RemoteAgentHostEntryType, getEntryTypeConfig, RemoteAgentHostConnectionStatus, getEntryAddress } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService';
@@ -20,20 +21,43 @@ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
20
21
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
21
22
  import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
22
23
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
24
+ import { IWorkspaceTrustRequestService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service';
23
25
  import { ISessionsProvidersService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service';
26
+ import { resolveRemoteAgentHostEntryAuthority } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/openInVSCodeUtils';
27
+ import { devContainerSourcePath, getDevContainerSourceEntry, resolveDevContainerSourceConnection } from './devContainerSource.js';
24
28
  import { RemoteAgentHostSessionsProvider } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostSessionsProvider';
29
+ import { waitForState } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils/utilsCancellation';
30
+ import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
25
31
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
26
32
 
27
33
  const DEV_CONTAINER_AGENT_HOSTS_STORAGE_KEY = "devContainerAgentHost.connections";
28
34
  const CONNECTOR_REGISTRATION_TIMEOUT_MS = 30_000;
29
35
  function isStoredDevContainerAgentHost(value) {
30
- return typeof value === "object" && value !== null && typeof Reflect.get(value, "workspaceUri") === "string" && typeof Reflect.get(value, "name") === "string";
36
+ return typeof value === "object" && value !== null && typeof Reflect.get(value, "workspaceUri") === "string" && typeof Reflect.get(value, "name") === "string" && (Reflect.get(value, "sandboxEnabled") === undefined || typeof Reflect.get(value, "sandboxEnabled") === "boolean");
31
37
  }
32
38
  function devContainerAddress(workspaceUri) {
33
39
  const sha = ( new StringSHA1());
34
40
  sha.update(getComparisonKey(workspaceUri));
35
41
  return `devcontainer:${sha.digest()}`;
36
42
  }
43
+ async function createDevContainerConnection(connector, workspaceUri, address, token, options) {
44
+ const key = getComparisonKey(workspaceUri);
45
+ let inspectedSupport;
46
+ const listener = connector.onDidChangeSandboxSupport?.(event => {
47
+ if (getComparisonKey(event.workspaceUri) === key) {
48
+ inspectedSupport = event.supported;
49
+ }
50
+ });
51
+ try {
52
+ const connection = await connector.createConnection(workspaceUri, address, token, options);
53
+ return inspectedSupport !== undefined ? {
54
+ ...connection,
55
+ sandboxSupported: inspectedSupport
56
+ } : connection;
57
+ } finally {
58
+ listener?.dispose();
59
+ }
60
+ }
37
61
  class DevContainerConnectionFactory extends Disposable {
38
62
  constructor(_instantiationService) {
39
63
  super();
@@ -43,20 +67,29 @@ class DevContainerConnectionFactory extends Disposable {
43
67
  this._entries = observableValue(this, []);
44
68
  this.entries = this._entries;
45
69
  }
46
- stageConnection(connector, workspaceUri, connection) {
70
+ stageConnection(connector, workspaceUri, connection, hostAuthority, sandboxEnabled) {
47
71
  const entry = {
48
72
  name: connection.name,
49
73
  connection: {
50
74
  type: RemoteAgentHostEntryType.DevContainer,
51
75
  address: connection.address,
52
- hostPath: workspaceUri.fsPath
76
+ ...(connection.repository ? {
77
+ repository: connection.repository
78
+ } : {
79
+ hostPath: connection.hostWorkspaceFolder ?? devContainerSourcePath(workspaceUri)
80
+ }),
81
+ ...(hostAuthority ? {
82
+ hostAuthority
83
+ } : {})
53
84
  }
54
85
  };
55
86
  this._stagedConnections.set(connection.address, {
56
87
  entry,
57
88
  connector,
58
89
  workspaceUri,
59
- initialConnection: connection
90
+ initialConnection: connection,
91
+ sandboxEnabled,
92
+ sandboxSupported: connection.sandboxSupported
60
93
  });
61
94
  this._updateEntries();
62
95
  return entry;
@@ -67,7 +100,18 @@ class DevContainerConnectionFactory extends Disposable {
67
100
  staged?.initialConnection?.transportDisposable?.dispose();
68
101
  this._updateEntries();
69
102
  }
70
- async createConnection(entry, _options) {
103
+ getSandboxSupported(address) {
104
+ return this._stagedConnections.get(address)?.sandboxSupported;
105
+ }
106
+ setSandboxSupported(workspaceUri, supported) {
107
+ const key = getComparisonKey(workspaceUri);
108
+ for (const staged of ( this._stagedConnections.values())) {
109
+ if (getComparisonKey(staged.workspaceUri) === key) {
110
+ staged.sandboxSupported = supported;
111
+ }
112
+ }
113
+ }
114
+ async createConnection(entry, options) {
71
115
  if (entry.connection.type !== RemoteAgentHostEntryType.DevContainer) {
72
116
  throw ( new Error(
73
117
  `Dev Container factory cannot create a ${entry.connection.type} connection.`
@@ -77,12 +121,23 @@ class DevContainerConnectionFactory extends Disposable {
77
121
  if (!staged) {
78
122
  throw ( new Error(`No Dev Container connection is staged for ${entry.connection.address}.`));
79
123
  }
80
- const connection = staged.initialConnection ?? (await staged.connector.createConnection(staged.workspaceUri, entry.connection.address, CancellationToken.None));
124
+ const connection = staged.initialConnection ?? (await createDevContainerConnection(
125
+ staged.connector,
126
+ staged.workspaceUri,
127
+ entry.connection.address,
128
+ CancellationToken.None,
129
+ {
130
+ resume: options.userInitiated,
131
+ ...(staged.sandboxEnabled !== undefined ? {
132
+ sandboxEnabled: staged.sandboxEnabled
133
+ } : {})
134
+ }
135
+ ));
81
136
  try {
82
137
  const authority = agentHostAuthority(entry.connection.address);
83
138
  if (connection.workspaceUri.scheme !== AGENT_HOST_SCHEME || connection.workspaceUri.authority !== authority) {
84
139
  throw ( new Error(( localize(
85
- 4385,
140
+ 5299,
86
141
  "Dev Container workspace URI must use the '{0}' scheme and '{1}' authority.",
87
142
  AGENT_HOST_SCHEME,
88
143
  authority
@@ -98,6 +153,7 @@ class DevContainerConnectionFactory extends Disposable {
98
153
  }
99
154
  );
100
155
  staged.initialConnection = undefined;
156
+ staged.sandboxSupported = connection.sandboxSupported;
101
157
  return {
102
158
  connection: client,
103
159
  transportDisposable: connection.transportDisposable
@@ -119,18 +175,23 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
119
175
  _instantiationService,
120
176
  _remoteAgentHostService,
121
177
  _sessionsProvidersService,
122
- _storageService
178
+ _storageService,
179
+ _workspaceTrustRequestService
123
180
  ) {
124
181
  super();
125
182
  this._instantiationService = _instantiationService;
126
183
  this._remoteAgentHostService = _remoteAgentHostService;
127
184
  this._sessionsProvidersService = _sessionsProvidersService;
128
185
  this._storageService = _storageService;
186
+ this._workspaceTrustRequestService = _workspaceTrustRequestService;
129
187
  this._providerStores = this._register(( new DisposableMap()));
130
188
  this._providers = ( new Map());
131
189
  this._activeConnections = ( new Map());
190
+ this._knownSandboxSupport = ( new Map());
132
191
  this._pendingConnections = ( new Map());
133
192
  this._storedConnections = ( new Map());
193
+ this._lifecycleOperations = ( new SequencerByKey());
194
+ this._lifecycleTokenSource = this._register(( new CancellationTokenSource()));
134
195
  this._onDidRegisterConnector = this._register(( new Emitter()));
135
196
  this._onDidChangeAvailability = this._register(( new Emitter()));
136
197
  this.onDidChangeAvailability = this._onDidChangeAvailability.event;
@@ -141,38 +202,91 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
141
202
  this._register(
142
203
  this._remoteAgentHostService.onDidChangeConnections(() => this._reconcileConnections())
143
204
  );
205
+ this._register(
206
+ this._remoteAgentHostService.onDidChangeConnections(() => this._onDidChangeAvailability.fire())
207
+ );
208
+ this._register(
209
+ this._sessionsProvidersService.onDidChangeProviders(() => this._initializeProviders())
210
+ );
144
211
  this._restoreProviders();
212
+ this._initializeProviders();
145
213
  this._register(this._storageService.onDidChangeValue(
146
214
  StorageScope.APPLICATION,
147
215
  DEV_CONTAINER_AGENT_HOSTS_STORAGE_KEY,
148
216
  this._store
149
217
  )(() => this._restoreProviders()));
150
218
  }
219
+ _initializeProviders() {
220
+ for (const provider of this._sessionsProvidersService.getProviders()) {
221
+ if (provider instanceof RemoteAgentHostSessionsProvider) {
222
+ provider.initializeDevContainerSupport(this, this._sessionsProvidersService, this._workspaceTrustRequestService);
223
+ }
224
+ }
225
+ }
151
226
  registerConnector(connector) {
152
227
  if (this._connector) {
153
- throw ( new Error(( localize(4386, "A Dev Container Agent Host connector is already registered."))));
228
+ throw ( new Error(( localize(5300, "A Dev Container Agent Host connector is already registered."))));
154
229
  }
155
230
  this._connector = connector;
231
+ const sandboxSupportListener = connector.onDidChangeSandboxSupport?.(event => this._setSandboxSupported(event.workspaceUri, event.supported));
156
232
  this._onDidRegisterConnector.fire(connector);
157
233
  this._onDidChangeAvailability.fire();
158
- return toDisposable(() => {
234
+ return combinedDisposable(sandboxSupportListener ?? Disposable.None, toDisposable(() => {
159
235
  if (this._connector === connector) {
160
236
  this._connector = undefined;
161
237
  this._onDidChangeAvailability.fire();
162
238
  }
163
- });
239
+ }));
164
240
  }
165
241
  isAvailable(workspaceUri) {
166
242
  return this._connector?.isAvailable(workspaceUri) ?? Promise.resolve(false);
167
243
  }
168
- connect(workspaceUri, token) {
169
- return this._ensureConnection(workspaceUri, token).then(active => this._acquireConnection(getComparisonKey(workspaceUri), active));
244
+ getSandboxSupported(workspaceUri) {
245
+ return this._knownSandboxSupport.get(getComparisonKey(workspaceUri));
170
246
  }
171
- _ensureConnection(workspaceUri, token) {
247
+ _setSandboxSupported(workspaceUri, supported) {
172
248
  const key = getComparisonKey(workspaceUri);
249
+ const previous = this._knownSandboxSupport.get(key);
250
+ if (supported === undefined) {
251
+ this._knownSandboxSupport.delete(key);
252
+ } else {
253
+ this._knownSandboxSupport.set(key, supported);
254
+ }
255
+ this._connectionFactory.setSandboxSupported(workspaceUri, supported);
173
256
  const active = this._activeConnections.get(key);
174
- if (active && this._isConnectedOrReconnecting(active.address)) {
175
- return Promise.resolve(active);
257
+ if (active) {
258
+ active.sandboxSupported = supported;
259
+ }
260
+ this._providers.get(key)?.setDevContainerSandboxSupported(supported);
261
+ if (previous !== supported) {
262
+ this._onDidChangeAvailability.fire();
263
+ }
264
+ }
265
+ async connect(workspaceUri, token, options) {
266
+ const key = getComparisonKey(workspaceUri);
267
+ const active = this._activeConnections.get(key);
268
+ const target = active && this._acquireConnection(key, active);
269
+ try {
270
+ const connected = await this._ensureConnection(workspaceUri, token, options?.sandboxEnabled);
271
+ return target ?? this._acquireConnection(key, connected);
272
+ } catch (error) {
273
+ await target?.release();
274
+ throw error;
275
+ }
276
+ }
277
+ async showLog(workspaceUri) {
278
+ const connector = this._connector ?? (await this._waitForConnector(CancellationToken.None));
279
+ await connector.showLog(workspaceUri);
280
+ }
281
+ _ensureConnection(workspaceUri, token, sandboxEnabled) {
282
+ const key = getComparisonKey(workspaceUri);
283
+ sandboxEnabled ??= this._storedConnections.get(key)?.sandboxEnabled;
284
+ const active = this._activeConnections.get(key);
285
+ if (active) {
286
+ if (active.state === "running" && this._isConnectedOrReconnecting(active.address)) {
287
+ return this._waitForReconnection(active, token);
288
+ }
289
+ return raceCancellationError(this._ensureActiveConnection(key, active, sandboxEnabled), token).then(() => active);
176
290
  }
177
291
  const pending = this._pendingConnections.get(key);
178
292
  if (pending) {
@@ -180,7 +294,7 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
180
294
  }
181
295
  this._providers.get(key)?.setConnectionStatus(RemoteAgentHostConnectionStatus.connecting);
182
296
  const tokenSource = ( new CancellationTokenSource(token));
183
- const promise = this._replaceConnectionAndConnect(workspaceUri, key, active, tokenSource.token);
297
+ const promise = this._connectWhenReady(workspaceUri, key, tokenSource.token, sandboxEnabled);
184
298
  const pendingConnection = {
185
299
  promise,
186
300
  tokenSource
@@ -192,6 +306,30 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
192
306
  );
193
307
  return promise;
194
308
  }
309
+ async _waitForReconnection(active, token) {
310
+ const {
311
+ connection,
312
+ canceled
313
+ } = await waitForState(observableFromEvent(this, Event.any(
314
+ this._remoteAgentHostService.onDidChangeConnections,
315
+ listener => token.onCancellationRequested(listener)
316
+ ), () => ({
317
+ connection: this._remoteAgentHostService.connections.find(connection => connection.address === active.address),
318
+ canceled: token.isCancellationRequested
319
+ })), (
320
+ {
321
+ connection,
322
+ canceled
323
+ }
324
+ ) => canceled || !connection || (!RemoteAgentHostConnectionStatus.isReconnecting(connection.status) && !RemoteAgentHostConnectionStatus.isConnecting(connection.status)));
325
+ if (canceled) {
326
+ throw ( new CancellationError());
327
+ }
328
+ if (!connection || !RemoteAgentHostConnectionStatus.isConnected(connection.status)) {
329
+ throw ( new Error(( localize(5301, "The Dev Container Agent Host disconnected while reconnecting."))));
330
+ }
331
+ return active;
332
+ }
195
333
  _completePendingConnection(key, pending) {
196
334
  if (this._pendingConnections.get(key) === pending) {
197
335
  this._pendingConnections.delete(key);
@@ -201,30 +339,32 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
201
339
  }
202
340
  pending.tokenSource.dispose();
203
341
  }
204
- async _replaceConnectionAndConnect(workspaceUri, key, active, token) {
342
+ async _connectWhenReady(workspaceUri, key, token, sandboxEnabled) {
205
343
  const connector = this._connector ?? (await this._waitForConnector(token));
206
- if (active) {
207
- await this._disconnectActiveConnection(key, active);
208
- }
209
- return this._connect(connector, workspaceUri, key, token);
344
+ return this._connect(connector, workspaceUri, key, token, sandboxEnabled);
210
345
  }
211
346
  async _waitForConnector(token) {
212
347
  const connectorPromise = Event.toPromise(this._onDidRegisterConnector.event);
213
348
  try {
214
349
  const connector = await raceCancellationError(raceTimeout(connectorPromise, CONNECTOR_REGISTRATION_TIMEOUT_MS), token);
215
350
  if (!connector) {
216
- throw ( new Error(( localize(4387, "No Dev Container Agent Host connector is registered."))));
351
+ throw ( new Error(( localize(5302, "No Dev Container Agent Host connector is registered."))));
217
352
  }
218
353
  return connector;
219
354
  } finally {
220
355
  connectorPromise.cancel();
221
356
  }
222
357
  }
223
- async _connect(connector, workspaceUri, key, token) {
358
+ async _connect(connector, workspaceUri, key, token, sandboxEnabled) {
224
359
  if (token.isCancellationRequested) {
225
360
  throw ( new CancellationError());
226
361
  }
227
- const connected = await connector.createConnection(workspaceUri, devContainerAddress(workspaceUri), token);
362
+ const connected = await createDevContainerConnection(connector, workspaceUri, devContainerAddress(workspaceUri), token, {
363
+ resume: true,
364
+ ...(sandboxEnabled !== undefined ? {
365
+ sandboxEnabled
366
+ } : {})
367
+ });
228
368
  if (token.isCancellationRequested) {
229
369
  connected.transportDisposable?.dispose();
230
370
  throw ( new CancellationError());
@@ -232,7 +372,15 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
232
372
  let stagedAddress;
233
373
  try {
234
374
  const provider = this._ensureProvider(workspaceUri, connected.name, connected.address);
235
- const entry = this._connectionFactory.stageConnection(connector, workspaceUri, connected);
375
+ this._setSandboxSupported(workspaceUri, connected.sandboxSupported);
376
+ const sourceEntry = getDevContainerSourceEntry(workspaceUri, this._remoteAgentHostService);
377
+ const entry = this._connectionFactory.stageConnection(
378
+ connector,
379
+ workspaceUri,
380
+ connected,
381
+ sourceEntry && resolveRemoteAgentHostEntryAuthority(sourceEntry),
382
+ sandboxEnabled
383
+ );
236
384
  const address = getEntryAddress(entry);
237
385
  stagedAddress = address;
238
386
  if (token.isCancellationRequested) {
@@ -243,7 +391,7 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
243
391
  const connection = this._remoteAgentHostService.getConnection(connectionInfo.address);
244
392
  if (!connection) {
245
393
  throw ( new Error(( localize(
246
- 4388,
394
+ 5303,
247
395
  "Dev Container Agent Host connection was not available after connecting."
248
396
  ))));
249
397
  }
@@ -251,7 +399,7 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
251
399
  provider.setConnectionStatus(connectionInfo.status);
252
400
  await this._waitForSessionTypes(provider, token);
253
401
  if (provider.getSessions().length > 0) {
254
- this._storeConnection(workspaceUri, connected.name);
402
+ this._storeConnection(workspaceUri, connected.name, sandboxEnabled);
255
403
  }
256
404
  const target = {
257
405
  providerId: provider.id,
@@ -261,9 +409,15 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
261
409
  address,
262
410
  provider,
263
411
  target,
264
- references: 0
412
+ connector,
413
+ workspaceUri,
414
+ state: "running",
415
+ references: 0,
416
+ sandboxEnabled,
417
+ sandboxSupported: this.getSandboxSupported(workspaceUri)
265
418
  };
266
419
  this._activeConnections.set(key, active);
420
+ this._onDidChangeAvailability.fire();
267
421
  return active;
268
422
  } catch (error) {
269
423
  if (stagedAddress !== undefined) {
@@ -293,6 +447,9 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
293
447
  released = true;
294
448
  active.references--;
295
449
  if (active.references === 0 && this._activeConnections.get(key) === active) {
450
+ if (active.connector.stopContainer) {
451
+ return;
452
+ }
296
453
  await this._disconnectActiveConnection(key, active);
297
454
  if (active.provider.getSessions().length === 0) {
298
455
  this._removeStoredConnection(key);
@@ -309,15 +466,29 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
309
466
  return existing;
310
467
  }
311
468
  const store = ( new DisposableStore());
469
+ const connectOnDemand = async () => {
470
+ await this._ensureConnection(workspaceUri, CancellationToken.None);
471
+ };
312
472
  const provider = store.add(this._createProvider({
313
473
  address,
314
474
  name,
315
- devContainerWorktreeScope: key,
475
+ devContainerSourceWorkspaceUri: workspaceUri,
476
+ devContainerWorktreeScope: findDevContainerSample(workspaceUri) ? undefined : getComparisonKey(fromAgentHostUri(workspaceUri)),
477
+ resolveDevContainerWorktreeConnection: workspaceUri.scheme === AGENT_HOST_SCHEME ? () => resolveDevContainerSourceConnection(
478
+ workspaceUri,
479
+ this._remoteAgentHostService,
480
+ this._sessionsProvidersService,
481
+ CancellationToken.None
482
+ ) : undefined,
316
483
  omitHostFromWorkspaceLabel: true,
317
- connectOnDemand: async () => {
318
- await this._ensureConnection(workspaceUri, CancellationToken.None);
484
+ devContainerLifecycle: {
485
+ connect: connectOnDemand,
486
+ stop: () => this._stopContainer(key),
487
+ remove: () => this._removeContainer(key)
319
488
  },
320
- disconnectOnDemand: () => this.disconnect(workspaceUri)
489
+ connectOnDemand,
490
+ disconnectOnDemand: () => this.disconnect(workspaceUri),
491
+ showConnectionLog: () => this.showLog(workspaceUri)
321
492
  }));
322
493
  provider.setConnectionStatus(RemoteAgentHostConnectionStatus.disconnected);
323
494
  store.add(this._sessionsProvidersService.registerProvider(provider));
@@ -326,7 +497,11 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
326
497
  this._storeConnection(workspaceUri, name);
327
498
  }
328
499
  }));
329
- store.add(toDisposable(() => this._providers.delete(key)));
500
+ store.add(toDisposable(() => {
501
+ this._providers.delete(key);
502
+ this._activeConnections.delete(key);
503
+ this._onDidChangeAvailability.fire();
504
+ }));
330
505
  this._providers.set(key, provider);
331
506
  this._providerStores.set(key, store);
332
507
  return provider;
@@ -340,7 +515,7 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
340
515
  const remaining = deadline - Date.now();
341
516
  if (remaining <= 0) {
342
517
  throw ( new Error(( localize(
343
- 4389,
518
+ 5304,
344
519
  "Timed out waiting for the Dev Container Agent Host to advertise agents."
345
520
  ))));
346
521
  }
@@ -352,7 +527,7 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
352
527
  ), token);
353
528
  if (timedOut) {
354
529
  throw ( new Error(( localize(
355
- 4389,
530
+ 5304,
356
531
  "Timed out waiting for the Dev Container Agent Host to advertise agents."
357
532
  ))));
358
533
  }
@@ -382,6 +557,129 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
382
557
  active.provider.clearConnection();
383
558
  active.provider.setConnectionStatus(RemoteAgentHostConnectionStatus.disconnected);
384
559
  }
560
+ _stopContainer(key) {
561
+ return this._lifecycleOperations.queue(key, async () => {
562
+ const active = this._activeConnections.get(key);
563
+ if (!active || active.state === "stopped" || active.state === "removed") {
564
+ return true;
565
+ }
566
+ if (!active.connector.stopContainer) {
567
+ return false;
568
+ }
569
+ active.state = "stopping";
570
+ try {
571
+ const stopped = await active.connector.stopContainer(active.workspaceUri);
572
+ if (!stopped) {
573
+ active.state = "running";
574
+ return false;
575
+ }
576
+ await this._disconnectActiveTransport(active);
577
+ active.state = "stopped";
578
+ if (active.references === 0 && active.provider.getSessions().length === 0) {
579
+ this._removeStoredConnection(key);
580
+ this._removeProvider(key);
581
+ }
582
+ return stopped;
583
+ } catch (error) {
584
+ await this._connectActive(active);
585
+ throw error;
586
+ }
587
+ });
588
+ }
589
+ _removeContainer(key) {
590
+ return this._lifecycleOperations.queue(key, async () => {
591
+ const active = this._activeConnections.get(key);
592
+ if (!active || active.state === "removed") {
593
+ return true;
594
+ }
595
+ if (!active.connector.removeContainer) {
596
+ return false;
597
+ }
598
+ active.state = "removing";
599
+ try {
600
+ const removed = await active.connector.removeContainer(active.workspaceUri);
601
+ if (!removed) {
602
+ active.state = "running";
603
+ return false;
604
+ }
605
+ await this._disconnectActiveTransport(active);
606
+ active.state = "removed";
607
+ active.sandboxSupported = undefined;
608
+ this._knownSandboxSupport.delete(key);
609
+ active.provider.setDevContainerSandboxSupported(undefined);
610
+ this._onDidChangeAvailability.fire();
611
+ return removed;
612
+ } catch (error) {
613
+ await this._connectActive(active);
614
+ throw error;
615
+ }
616
+ });
617
+ }
618
+ _ensureActiveConnection(key, active, sandboxEnabled) {
619
+ return this._lifecycleOperations.queue(key, async () => {
620
+ if (this._isConnectedOrReconnecting(active.address)) {
621
+ active.state = "running";
622
+ return;
623
+ }
624
+ await this._connectActive(active, active.state === "removed" ? sandboxEnabled : undefined);
625
+ });
626
+ }
627
+ async _connectActive(active, sandboxEnabled) {
628
+ const previousState = active.state;
629
+ const requestedSandboxEnabled = sandboxEnabled ?? active.sandboxEnabled;
630
+ active.state = "connecting";
631
+ try {
632
+ const connected = await createDevContainerConnection(
633
+ active.connector,
634
+ active.workspaceUri,
635
+ active.address,
636
+ this._lifecycleTokenSource.token,
637
+ {
638
+ resume: true,
639
+ ...(requestedSandboxEnabled !== undefined ? {
640
+ sandboxEnabled: requestedSandboxEnabled
641
+ } : {})
642
+ }
643
+ );
644
+ this._setSandboxSupported(active.workspaceUri, connected.sandboxSupported);
645
+ const sourceEntry = getDevContainerSourceEntry(active.workspaceUri, this._remoteAgentHostService);
646
+ this._connectionFactory.stageConnection(
647
+ active.connector,
648
+ active.workspaceUri,
649
+ connected,
650
+ sourceEntry && resolveRemoteAgentHostEntryAuthority(sourceEntry),
651
+ requestedSandboxEnabled
652
+ );
653
+ this._remoteAgentHostService.reconnect(active.address, true);
654
+ const connectionInfo = await this._remoteAgentHostService.waitForConnection(active.address);
655
+ const connection = this._remoteAgentHostService.getConnection(connectionInfo.address);
656
+ if (!connection) {
657
+ throw ( new Error(( localize(
658
+ 5303,
659
+ "Dev Container Agent Host connection was not available after connecting."
660
+ ))));
661
+ }
662
+ active.provider.setConnection(connection, connected.defaultDirectory ?? connectionInfo.defaultDirectory);
663
+ active.provider.setConnectionStatus(connectionInfo.status);
664
+ active.sandboxEnabled = requestedSandboxEnabled;
665
+ if (( this._storedConnections.has(getComparisonKey(active.workspaceUri))) || active.provider.getSessions().length > 0) {
666
+ this._storeConnection(active.workspaceUri, connected.name, requestedSandboxEnabled);
667
+ }
668
+ active.state = "running";
669
+ this._onDidChangeAvailability.fire();
670
+ } catch (error) {
671
+ this._connectionFactory.unstageConnection(active.address);
672
+ await this._remoteAgentHostService.removeRemoteAgentHost(active.address);
673
+ active.state = previousState;
674
+ throw error;
675
+ }
676
+ }
677
+ async _disconnectActiveTransport(active) {
678
+ this._connectionFactory.unstageConnection(active.address);
679
+ active.provider.clearConnection();
680
+ active.provider.setConnectionStatus(RemoteAgentHostConnectionStatus.disconnected);
681
+ await this._remoteAgentHostService.removeRemoteAgentHost(active.address);
682
+ }
385
683
  _isConnectedOrReconnecting(address) {
386
684
  return ( this._remoteAgentHostService.connections.some(
387
685
  connection => connection.address === address && (RemoteAgentHostConnectionStatus.isConnected(connection.status) || RemoteAgentHostConnectionStatus.isReconnecting(connection.status))
@@ -391,6 +689,10 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
391
689
  for (const [key, active] of this._activeConnections) {
392
690
  const connectionInfo = this._remoteAgentHostService.connections.find(connection => connection.address === active.address);
393
691
  if (!connectionInfo) {
692
+ if (active.state !== "running") {
693
+ active.provider.setConnectionStatus(RemoteAgentHostConnectionStatus.disconnected);
694
+ continue;
695
+ }
394
696
  this._activeConnections.delete(key);
395
697
  this._connectionFactory.unstageConnection(active.address);
396
698
  active.provider.clearConnection();
@@ -402,6 +704,10 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
402
704
  }
403
705
  active.provider.setConnectionStatus(connectionInfo.status);
404
706
  if (RemoteAgentHostConnectionStatus.isConnected(connectionInfo.status)) {
707
+ const sandboxSupported = this._connectionFactory.getSandboxSupported(active.address);
708
+ if (sandboxSupported !== active.sandboxSupported) {
709
+ this._setSandboxSupported(active.workspaceUri, sandboxSupported);
710
+ }
405
711
  const connection = this._remoteAgentHostService.getConnection(active.address);
406
712
  if (connection) {
407
713
  active.provider.setConnection(connection, connectionInfo.defaultDirectory);
@@ -441,12 +747,15 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
441
747
  continue;
442
748
  }
443
749
  const uri = ( URI.parse(candidate.workspaceUri));
444
- if (uri.scheme !== Schemas.file || candidate.name.length === 0) {
750
+ if ((uri.scheme !== Schemas.file && (uri.scheme !== AGENT_HOST_SCHEME || !uri.authority) && !findDevContainerSample(uri)) || candidate.name.length === 0) {
445
751
  continue;
446
752
  }
447
753
  result.set(getComparisonKey(uri), {
448
754
  workspaceUri: ( uri.toString()),
449
- name: candidate.name
755
+ name: candidate.name,
756
+ ...(candidate.sandboxEnabled !== undefined ? {
757
+ sandboxEnabled: candidate.sandboxEnabled
758
+ } : {})
450
759
  });
451
760
  }
452
761
  } catch {
@@ -454,14 +763,18 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
454
763
  }
455
764
  return result;
456
765
  }
457
- _storeConnection(workspaceUri, name) {
766
+ _storeConnection(workspaceUri, name, sandboxEnabled) {
458
767
  const key = getComparisonKey(workspaceUri);
768
+ const existing = this._storedConnections.get(key);
769
+ const requestedSandboxEnabled = sandboxEnabled ?? this._activeConnections.get(key)?.sandboxEnabled ?? existing?.sandboxEnabled;
459
770
  const stored = {
460
771
  workspaceUri: ( workspaceUri.toString()),
461
- name
772
+ name,
773
+ ...(requestedSandboxEnabled !== undefined ? {
774
+ sandboxEnabled: requestedSandboxEnabled
775
+ } : {})
462
776
  };
463
- const existing = this._storedConnections.get(key);
464
- if (existing?.workspaceUri === stored.workspaceUri && existing.name === stored.name) {
777
+ if (existing?.workspaceUri === stored.workspaceUri && existing.name === stored.name && existing.sandboxEnabled === stored.sandboxEnabled) {
465
778
  return;
466
779
  }
467
780
  this._storedConnections.set(key, stored);
@@ -483,6 +796,7 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
483
796
  this._providerStores.deleteAndDispose(key);
484
797
  }
485
798
  dispose() {
799
+ this._lifecycleTokenSource.cancel();
486
800
  for (const pending of ( this._pendingConnections.values())) {
487
801
  pending.tokenSource.cancel();
488
802
  pending.tokenSource.dispose();
@@ -491,6 +805,6 @@ let DevContainerAgentHostService = class DevContainerAgentHostService extends Di
491
805
  super.dispose();
492
806
  }
493
807
  };
494
- DevContainerAgentHostService = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IRemoteAgentHostService)), ( __param(2, ISessionsProvidersService)), ( __param(3, IStorageService))], DevContainerAgentHostService));
808
+ DevContainerAgentHostService = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IRemoteAgentHostService)), ( __param(2, ISessionsProvidersService)), ( __param(3, IStorageService)), ( __param(4, IWorkspaceTrustRequestService))], DevContainerAgentHostService));
495
809
 
496
810
  export { DevContainerAgentHostService };