@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
@@ -14,7 +14,7 @@ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log
14
14
  import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
15
15
  import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
16
16
  import { CHAT_PET_ACHIEVEMENT_PREVIEW_SIZE, renderChatPetAchievementPreview } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatPetAchievementPreview';
17
- import { chatPetAchievements } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatPetAchievements';
17
+ import { chatPetAchievements, getChatPetAchievementRewardLabels } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatPetAchievements';
18
18
  import { IChatPetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatPetService.service';
19
19
  import { observableSignalFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignalFromEvent';
20
20
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
@@ -37,14 +37,14 @@ function getSessionsChatPetAchievementBadges(enabled, unlockedAchievements) {
37
37
  let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges extends Disposable {
38
38
  constructor(
39
39
  parent,
40
- onOpenAchievements,
40
+ onOpenCustomization,
41
41
  chatPetService,
42
42
  themeService,
43
43
  hoverService,
44
44
  logService
45
45
  ) {
46
46
  super();
47
- this.onOpenAchievements = onOpenAchievements;
47
+ this.onOpenCustomization = onOpenCustomization;
48
48
  this.chatPetService = chatPetService;
49
49
  this.themeService = themeService;
50
50
  this.hoverService = hoverService;
@@ -57,15 +57,15 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
57
57
  this.chatPetService.enabled.read(reader),
58
58
  this.chatPetService.unlockedAchievements.read(reader)
59
59
  );
60
- const variant = this.chatPetService.variant.read(reader);
60
+ const color = this.chatPetService.color.read(reader);
61
61
  const selectedAccessory = this.chatPetService.selectedAccessory.read(reader);
62
62
  themeChanged.read(reader);
63
- this.render(badges, selectedAccessory, variant);
63
+ this.render(badges, selectedAccessory, color);
64
64
  }));
65
65
  }
66
- render(badges, selectedAccessory, variant) {
66
+ render(badges, selectedAccessory, color) {
67
67
  const activeElement = getActiveElement();
68
- const focusedAccessoryId = isHTMLElement(activeElement) ? activeElement.closest(".sessions-chat-pet-achievement-badge")?.dataset.accessoryId : undefined;
68
+ const focusedAchievementId = isHTMLElement(activeElement) ? activeElement.closest(".sessions-chat-pet-achievement-badge")?.dataset.achievementId : undefined;
69
69
  const restoreViewAchievementsFocus = isHTMLElement(activeElement) && activeElement.closest(".sessions-chat-pet-achievement-badges-actions") !== null;
70
70
  let focusTarget;
71
71
  this.renderDisposables.clear();
@@ -74,14 +74,14 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
74
74
  if (!badges) {
75
75
  return;
76
76
  }
77
- this.element.setAttribute("aria-label", ( localize(3232, "Pet achievement badges")));
77
+ this.element.setAttribute("aria-label", ( localize(3604, "Pet achievement badges")));
78
78
  const header = append(this.element, $(".sessions-chat-pet-achievement-badges-header"));
79
- append(header, $("h2.sessions-chat-pet-achievement-badges-title")).textContent = ( localize(3233, "Badges"));
79
+ append(header, $("h2.sessions-chat-pet-achievement-badges-title")).textContent = ( localize(3605, "Badges"));
80
80
  const unlockedCount = badges.filter(badge => badge.unlocked).length;
81
- append(header, $("span.sessions-chat-pet-achievement-badges-count")).textContent = ( localize(3234, "{0} of {1} unlocked", unlockedCount, badges.length));
81
+ append(header, $("span.sessions-chat-pet-achievement-badges-count")).textContent = ( localize(3606, "{0} of {1} unlocked", unlockedCount, badges.length));
82
82
  const list = append(this.element, $("ul.sessions-chat-pet-achievement-badges-list"));
83
83
  list.setAttribute("aria-label", ( localize(
84
- 3235,
84
+ 3607,
85
85
  "Pet achievement badges, {0} of {1} unlocked",
86
86
  unlockedCount,
87
87
  badges.length
@@ -94,12 +94,17 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
94
94
  const accessory = achievement.accessories[0];
95
95
  const item = append(list, $("li.sessions-chat-pet-achievement-badges-list-item"));
96
96
  if (!unlocked) {
97
- item.setAttribute("aria-label", ( localize(3236, "Locked secret achievement badge")));
97
+ item.setAttribute("aria-label", ( localize(3608, "Locked secret achievement badge")));
98
98
  }
99
- const badgeElement = unlocked ? this.createUnlockedBadgeButton(item, achievement, accessory.id, selectedAccessory === accessory.id) : append(item, $("span.sessions-chat-pet-achievement-badge.locked", {
99
+ const badgeElement = unlocked ? this.createUnlockedBadgeButton(
100
+ item,
101
+ achievement,
102
+ accessory?.id,
103
+ !!accessory && selectedAccessory === accessory.id
104
+ ) : append(item, $("span.sessions-chat-pet-achievement-badge.locked", {
100
105
  "aria-hidden": "true"
101
106
  }));
102
- if (accessory.id === focusedAccessoryId) {
107
+ if (achievement.id === focusedAchievementId) {
103
108
  focusTarget = badgeElement;
104
109
  }
105
110
  const canvas = append(badgeElement, $("canvas.sessions-chat-pet-achievement-badge-preview"));
@@ -107,22 +112,24 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
107
112
  canvas.height = CHAT_PET_ACHIEVEMENT_PREVIEW_SIZE;
108
113
  canvas.setAttribute("aria-hidden", "true");
109
114
  this.renderDisposables.add(
110
- renderChatPetAchievementPreview(canvas, accessory, unlocked, variant, this.themeService, this.logService)
115
+ renderChatPetAchievementPreview(canvas, accessory, unlocked, color, this.themeService, this.logService)
111
116
  );
112
117
  this.renderDisposables.add(this.hoverService.setupManagedHover(
113
118
  getDefaultHoverDelegate("mouse"),
114
119
  badgeElement,
115
- unlocked ? accessory.label : ( localize(3237, "Locked"))
120
+ unlocked ? getChatPetAchievementRewardLabels(achievement).join(", ") : ( localize(3609, "Locked"))
116
121
  ));
117
122
  }
118
123
  const actions = append(this.element, $(".sessions-chat-pet-achievement-badges-actions"));
119
124
  const viewAchievements = this.renderDisposables.add(( new Button(actions, {
120
125
  ...defaultButtonStyles,
121
126
  secondary: true,
122
- ariaLabel: ( localize(3238, "View Pet Achievements"))
127
+ ariaLabel: ( localize(3610, "View Pet Achievements"))
123
128
  })));
124
- viewAchievements.label = ( localize(3239, "View Achievements"));
125
- this.renderDisposables.add(viewAchievements.onDidClick(() => this.onOpenAchievements()));
129
+ viewAchievements.label = ( localize(3611, "View Achievements"));
130
+ this.renderDisposables.add(
131
+ viewAchievements.onDidClick(() => this.onOpenCustomization("achievements"))
132
+ );
126
133
  if (restoreViewAchievementsFocus) {
127
134
  focusTarget = viewAchievements.element;
128
135
  }
@@ -135,30 +142,28 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
135
142
  }
136
143
  }
137
144
  createUnlockedBadgeButton(parent, achievement, accessoryId, selected) {
138
- const accessory = achievement.accessories[0];
145
+ const reward = getChatPetAchievementRewardLabels(achievement).join(", ");
139
146
  const button = this.renderDisposables.add(( new Button(parent, {
140
- ariaLabel: selected ? ( localize(
141
- 3240,
142
- "{0} achievement badge: {1}, wearing",
143
- achievement.title,
144
- accessory.label
145
- )) : ( localize(
146
- 3241,
147
- "{0} achievement badge: wear {1}",
148
- achievement.title,
149
- accessory.label
150
- ))
147
+ ariaLabel: achievement.colorCustomization ? ( localize(3612, "{0} achievement badge: change Blobby's color", achievement.title)) : selected ? ( localize(3613, "{0} achievement badge: {1}, wearing", achievement.title, reward)) : ( localize(3614, "{0} achievement badge: wear {1}", achievement.title, reward))
151
148
  })));
152
149
  button.element.classList.add("sessions-chat-pet-achievement-badge");
153
150
  button.element.classList.toggle("wearing", selected);
154
- button.element.dataset.accessoryId = accessoryId;
155
- button.element.setAttribute("aria-pressed", String(selected));
151
+ button.element.dataset.achievementId = achievement.id;
152
+ if (accessoryId) {
153
+ button.element.dataset.accessoryId = accessoryId;
154
+ button.element.setAttribute("aria-pressed", String(selected));
155
+ }
156
156
  this.renderDisposables.add(button.onDidClick(() => {
157
+ if (achievement.colorCustomization) {
158
+ this.chatPetService.markAchievementSeen(achievement.id);
159
+ this.onOpenCustomization("color");
160
+ return;
161
+ }
157
162
  if (this.chatPetService.selectedAccessory.get() === accessoryId) {
158
163
  return;
159
164
  }
160
165
  this.chatPetService.setAccessory(accessoryId);
161
- status(( localize(3242, "VS Code pet is now wearing {0}", accessory.label)));
166
+ status(( localize(3615, "VS Code pet is now wearing {0}", reward)));
162
167
  }));
163
168
  return button.element;
164
169
  }
@@ -403,6 +403,12 @@
403
403
  justify-content: flex-end;
404
404
  }
405
405
 
406
+ .agent-sessions-workbench .sessions-account-titlebar-panel-provider-metric-row[tabindex="0"]:focus-visible {
407
+ outline: var(--vscode-strokeThickness) solid var(--vscode-focusBorder);
408
+ outline-offset: -1px;
409
+ border-radius: var(--vscode-cornerRadius-small);
410
+ }
411
+
406
412
  .agent-sessions-workbench .sessions-account-titlebar-panel-provider-usage-value {
407
413
  font-weight: var(--vscode-fontWeight-semiBold);
408
414
  }
@@ -32,11 +32,14 @@ export declare class NullAgentFeedbackService extends Disposable implements IAge
32
32
  setFeedbackResolved(_sessionResource: URI, _feedbackId: string, _resolved: boolean): void;
33
33
  addReply(_sessionResource: URI, _feedbackId: string, _replyText: string): void;
34
34
  getFeedback(_sessionResource: URI): readonly IAgentFeedback[];
35
+ isAgentHostSession(_sessionResource: URI): boolean;
35
36
  showFeedbackInEditor(_sessionResource: URI, _feedbackIds: readonly string[]): void;
36
37
  hideFeedbackInEditor(_sessionResource: URI, _feedbackId: string): void;
37
38
  getVisibleResolvedFeedbackIds(_sessionResource: URI): ReadonlySet<string>;
38
39
  hasLoadedFeedback(_sessionResource: URI): boolean;
39
40
  getSessionForFile(_resourceUri: URI): undefined;
41
+ getChatChanges(_sessionResource: URI): readonly [
42
+ ];
40
43
  getFeedbackSessionResource(_resourceUri: URI): URI | undefined;
41
44
  registerFeedbackResourceScope(_resourceUri: URI, _sessionResource: URI): IDisposable;
42
45
  getMostRecentSessionForResource(_resourceUri: URI): URI | undefined;
@@ -53,6 +53,9 @@ class NullAgentFeedbackService extends Disposable {
53
53
  getFeedback(_sessionResource) {
54
54
  return [];
55
55
  }
56
+ isAgentHostSession(_sessionResource) {
57
+ return false;
58
+ }
56
59
  showFeedbackInEditor(_sessionResource, _feedbackIds) {}
57
60
  hideFeedbackInEditor(_sessionResource, _feedbackId) {}
58
61
  getVisibleResolvedFeedbackIds(_sessionResource) {
@@ -64,6 +67,9 @@ class NullAgentFeedbackService extends Disposable {
64
67
  getSessionForFile(_resourceUri) {
65
68
  return undefined;
66
69
  }
70
+ getChatChanges(_sessionResource) {
71
+ return [];
72
+ }
67
73
  getFeedbackSessionResource(_resourceUri) {
68
74
  return undefined;
69
75
  }
@@ -41,7 +41,7 @@ registerAction2(class extends Action2 {
41
41
  constructor() {
42
42
  super({
43
43
  id: OPEN_AI_CUSTOMIZATION_FILE_ID,
44
- title: ( localize2(3243, "Open")),
44
+ title: ( localize2(3616, "Open")),
45
45
  icon: Codicon.goToFile
46
46
  });
47
47
  }
@@ -57,7 +57,7 @@ registerAction2(class extends Action2 {
57
57
  constructor() {
58
58
  super({
59
59
  id: RUN_PROMPT_FROM_VIEW_ID,
60
- title: ( localize2(3244, "Run Prompt")),
60
+ title: ( localize2(3617, "Run Prompt")),
61
61
  icon: Codicon.play
62
62
  });
63
63
  }
@@ -71,7 +71,7 @@ registerAction2(class extends Action2 {
71
71
  constructor() {
72
72
  super({
73
73
  id: DELETE_AI_CUSTOMIZATION_FILE_ID,
74
- title: ( localize2(3245, "Delete")),
74
+ title: ( localize2(3618, "Delete")),
75
75
  icon: Codicon.trash
76
76
  });
77
77
  }
@@ -84,8 +84,8 @@ registerAction2(class extends Action2 {
84
84
  return;
85
85
  }
86
86
  const confirmation = await dialogService.confirm({
87
- message: ( localize(3246, "Are you sure you want to delete '{0}'?", name || uri.path)),
88
- primaryButton: ( localize(3245, "Delete"))
87
+ message: ( localize(3619, "Are you sure you want to delete '{0}'?", name || uri.path)),
88
+ primaryButton: ( localize(3618, "Delete"))
89
89
  });
90
90
  if (confirmation.confirmed) {
91
91
  const useTrash = fileService.hasCapability(uri, FileSystemProviderCapabilities.Trash);
@@ -101,7 +101,7 @@ registerAction2(class extends Action2 {
101
101
  constructor() {
102
102
  super({
103
103
  id: COPY_AI_CUSTOMIZATION_PATH_ID,
104
- title: ( localize2(3247, "Copy Path")),
104
+ title: ( localize2(3620, "Copy Path")),
105
105
  icon: Codicon.clippy
106
106
  });
107
107
  }
@@ -115,7 +115,7 @@ registerAction2(class extends Action2 {
115
115
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
116
116
  command: {
117
117
  id: DELETE_AI_CUSTOMIZATION_FILE_ID,
118
- title: ( localize(3245, "Delete")),
118
+ title: ( localize(3618, "Delete")),
119
119
  icon: Codicon.trash
120
120
  },
121
121
  group: "inline",
@@ -124,7 +124,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
124
124
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
125
125
  command: {
126
126
  id: OPEN_AI_CUSTOMIZATION_FILE_ID,
127
- title: ( localize(3243, "Open"))
127
+ title: ( localize(3616, "Open"))
128
128
  },
129
129
  group: "1_open",
130
130
  order: 1
@@ -132,7 +132,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
132
132
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
133
133
  command: {
134
134
  id: RUN_PROMPT_FROM_VIEW_ID,
135
- title: ( localize(3244, "Run Prompt")),
135
+ title: ( localize(3617, "Run Prompt")),
136
136
  icon: Codicon.play
137
137
  },
138
138
  group: "2_run",
@@ -142,7 +142,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
142
142
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
143
143
  command: {
144
144
  id: COPY_AI_CUSTOMIZATION_PATH_ID,
145
- title: ( localize(3247, "Copy Path"))
145
+ title: ( localize(3620, "Copy Path"))
146
146
  },
147
147
  group: "3_modify",
148
148
  order: 1
@@ -150,7 +150,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
150
150
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
151
151
  command: {
152
152
  id: DELETE_AI_CUSTOMIZATION_FILE_ID,
153
- title: ( localize(3245, "Delete"))
153
+ title: ( localize(3618, "Delete"))
154
154
  },
155
155
  group: "3_modify",
156
156
  order: 10
@@ -160,7 +160,7 @@ registerAction2(class extends Action2 {
160
160
  constructor() {
161
161
  super({
162
162
  id: DISABLE_AI_CUSTOMIZATION_ITEM_ID,
163
- title: ( localize2(3248, "Disable")),
163
+ title: ( localize2(3621, "Disable")),
164
164
  icon: Codicon.eyeClosed
165
165
  });
166
166
  }
@@ -187,7 +187,7 @@ registerAction2(class extends Action2 {
187
187
  constructor() {
188
188
  super({
189
189
  id: ENABLE_AI_CUSTOMIZATION_ITEM_ID,
190
- title: ( localize2(3249, "Enable")),
190
+ title: ( localize2(3622, "Enable")),
191
191
  icon: Codicon.eye
192
192
  });
193
193
  }
@@ -212,7 +212,7 @@ registerAction2(class extends Action2 {
212
212
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
213
213
  command: {
214
214
  id: DISABLE_AI_CUSTOMIZATION_ITEM_ID,
215
- title: ( localize(3248, "Disable"))
215
+ title: ( localize(3621, "Disable"))
216
216
  },
217
217
  group: "4_toggle",
218
218
  order: 1,
@@ -221,7 +221,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
221
221
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
222
222
  command: {
223
223
  id: ENABLE_AI_CUSTOMIZATION_ITEM_ID,
224
- title: ( localize(3249, "Enable"))
224
+ title: ( localize(3622, "Enable"))
225
225
  },
226
226
  group: "4_toggle",
227
227
  order: 1,
@@ -230,7 +230,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
230
230
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
231
231
  command: {
232
232
  id: DISABLE_AI_CUSTOMIZATION_ITEM_ID,
233
- title: ( localize(3248, "Disable")),
233
+ title: ( localize(3621, "Disable")),
234
234
  icon: Codicon.eyeClosed
235
235
  },
236
236
  group: "inline",
@@ -240,7 +240,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
240
240
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
241
241
  command: {
242
242
  id: ENABLE_AI_CUSTOMIZATION_ITEM_ID,
243
- title: ( localize(3249, "Enable")),
243
+ title: ( localize(3622, "Enable")),
244
244
  icon: Codicon.eye
245
245
  },
246
246
  group: "inline",
@@ -251,7 +251,7 @@ registerAction2(class extends Action2 {
251
251
  constructor() {
252
252
  super({
253
253
  id: FOCUS_AI_CUSTOMIZATION_VIEW_ID,
254
- title: ( localize2(3250, "Focus Chat Customizations")),
254
+ title: ( localize2(3623, "Focus Chat Customizations")),
255
255
  category: AI_CUSTOMIZATION_CATEGORY,
256
256
  precondition: ( ContextKeyExpr.and(IsSessionsWindowContext, ChatContextKeys.enabled, ( IsPhoneLayoutContext.negate()))),
257
257
  f1: true,
@@ -215,26 +215,26 @@ class UnifiedAICustomizationDataSource {
215
215
  const items = [{
216
216
  type: "category",
217
217
  id: "category-agents",
218
- label: ( localize(3252, "Custom Agents")),
218
+ label: ( localize(3625, "Custom Agents")),
219
219
  promptType: PromptsType.agent,
220
220
  icon: agentIcon
221
221
  }, {
222
222
  type: "category",
223
223
  id: "category-skills",
224
- label: ( localize(3253, "Skills")),
224
+ label: ( localize(3626, "Skills")),
225
225
  promptType: PromptsType.skill,
226
226
  icon: skillIcon
227
227
  }, {
228
228
  type: "category",
229
229
  id: "category-instructions",
230
- label: ( localize(3254, "Instructions")),
230
+ label: ( localize(3627, "Instructions")),
231
231
  promptType: PromptsType.instructions,
232
232
  icon: instructionsIcon
233
233
  }];
234
234
  items.push({
235
235
  type: "link",
236
236
  id: "link-mcp-servers",
237
- label: ( localize(3255, "MCP Servers")),
237
+ label: ( localize(3628, "MCP Servers")),
238
238
  icon: mcpServerIcon,
239
239
  section: AICustomizationManagementSection.McpServers
240
240
  });
@@ -337,11 +337,11 @@ class UnifiedAICustomizationDataSource {
337
337
  }
338
338
  createGroupItem(promptType, storage, count) {
339
339
  const storageLabels = {
340
- [AICustomizationSources.local]: ( localize(3256, "Workspace ({0})", count)),
341
- [AICustomizationSources.user]: ( localize(3257, "User ({0})", count)),
342
- [AICustomizationSources.extension]: ( localize(3258, "Extensions ({0})", count)),
343
- [AICustomizationSources.plugin]: ( localize(3259, "Plugins ({0})", count)),
344
- [AICustomizationSources.builtin]: ( localize(3260, "Built-in ({0})", count))
340
+ [AICustomizationSources.local]: ( localize(3629, "Workspace ({0})", count)),
341
+ [AICustomizationSources.user]: ( localize(3630, "User ({0})", count)),
342
+ [AICustomizationSources.extension]: ( localize(3631, "Extensions ({0})", count)),
343
+ [AICustomizationSources.plugin]: ( localize(3632, "Plugins ({0})", count)),
344
+ [AICustomizationSources.builtin]: ( localize(3633, "Built-in ({0})", count))
345
345
  };
346
346
  const storageIcons = {
347
347
  [AICustomizationSources.local]: workspaceIcon,
@@ -508,10 +508,10 @@ class UnifiedAICustomizationDataSource {
508
508
  if (element.type === "group") {
509
509
  return element.label;
510
510
  }
511
- const nameAndDesc = element.description ? ( localize(3261, "{0}, {1}", element.name, element.description)) : element.name;
512
- return element.disabled ? ( localize(3262, "{0}, disabled", nameAndDesc)) : nameAndDesc;
511
+ const nameAndDesc = element.description ? ( localize(3634, "{0}, {1}", element.name, element.description)) : element.name;
512
+ return element.disabled ? ( localize(3635, "{0}, disabled", nameAndDesc)) : nameAndDesc;
513
513
  },
514
- getWidgetAriaLabel: () => ( localize(3263, "Chat Customization Items"))
514
+ getWidgetAriaLabel: () => ( localize(3636, "Chat Customization Items"))
515
515
  },
516
516
  keyboardNavigationLabelProvider: {
517
517
  getKeyboardNavigationLabel: element => {
@@ -27,7 +27,7 @@ import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severit
27
27
  const hasWorktreeAndRepositoryContextKey = new RawContextKey("agentSessionHasWorktreeAndRepository", false, {
28
28
  type: "boolean",
29
29
  description: ( localize(
30
- 3264,
30
+ 3637,
31
31
  "True when the active agent session has both a worktree and a parent repository."
32
32
  ))
33
33
  });
@@ -54,7 +54,7 @@ class ApplyChangesToParentRepoAction extends Action2 {
54
54
  constructor() {
55
55
  super({
56
56
  id: ApplyChangesToParentRepoAction.ID,
57
- title: ( localize2(3265, "Apply Changes to Parent Repository")),
57
+ title: ( localize2(3638, "Apply Changes to Parent Repository")),
58
58
  icon: Codicon.desktopDownload,
59
59
  category: CHAT_CATEGORY,
60
60
  precondition: ( ContextKeyExpr.and(IsSessionsWindowContext, hasWorktreeAndRepositoryContextKey)),
@@ -82,7 +82,7 @@ class ApplyChangesToParentRepoAction extends Action2 {
82
82
  const repoRoot = folder.root;
83
83
  const openFolderAction = toAction({
84
84
  id: "applyChangesToParentRepo.openFolder",
85
- label: ( localize(3266, "Open in VS Code")),
85
+ label: ( localize(3639, "Open in VS Code")),
86
86
  run: () => {
87
87
  const scheme = productService.quality === "stable" ? "vscode" : productService.quality === "exploration" ? "vscode-exploration" : "vscode-insiders";
88
88
  const params = ( new URLSearchParams());
@@ -103,7 +103,7 @@ class ApplyChangesToParentRepoAction extends Action2 {
103
103
  if (!worktreeBranch) {
104
104
  notificationService.notify({
105
105
  severity: Severity.Warning,
106
- message: ( localize(3267, "Could not determine worktree branch name."))
106
+ message: ( localize(3640, "Could not determine worktree branch name."))
107
107
  });
108
108
  return;
109
109
  }
@@ -113,7 +113,7 @@ class ApplyChangesToParentRepoAction extends Action2 {
113
113
  } else {
114
114
  notificationService.notify({
115
115
  severity: Severity.Info,
116
- message: typeof result === "string" && result.startsWith("Already up to date") ? ( localize(3268, "Parent repository is up to date with worktree.")) : ( localize(3269, "Applied changes to parent repository.")),
116
+ message: typeof result === "string" && result.startsWith("Already up to date") ? ( localize(3641, "Parent repository is up to date with worktree.")) : ( localize(3642, "Applied changes to parent repository.")),
117
117
  actions: {
118
118
  primary: [openFolderAction]
119
119
  }
@@ -124,7 +124,7 @@ class ApplyChangesToParentRepoAction extends Action2 {
124
124
  notificationService.notify({
125
125
  severity: Severity.Warning,
126
126
  message: ( localize(
127
- 3270,
127
+ 3643,
128
128
  "Failed to apply changes to parent repo. The parent repo may have diverged — resolve conflicts manually."
129
129
  )),
130
130
  actions: {
@@ -142,7 +142,7 @@ registerWorkbenchContribution2(
142
142
  );
143
143
  MenuRegistry.appendMenuItem(MenuId.AgentsChangesToolbar, {
144
144
  submenu: MenuId.AgentsChangesPrimaryActionSubMenu,
145
- title: ( localize2(3271, "Apply Actions")),
145
+ title: ( localize2(3644, "Apply Actions")),
146
146
  group: "navigation",
147
147
  order: 1,
148
148
  when: ( ContextKeyExpr.and(IsSessionsWindowContext, ( SessionIsArchivedContext.isEqualTo(false))))
@@ -18,7 +18,7 @@ registerCss(aquarium, 1);
18
18
  [SESSIONS_DEVELOPER_JOY_ENABLED_SETTING]: {
19
19
  type: "boolean",
20
20
  default: true,
21
- description: ( localize(3272, "Adds an easter egg to the Agents window.")),
21
+ description: ( localize(3645, "Adds an easter egg to the Agents window.")),
22
22
  tags: ["experimental"]
23
23
  }
24
24
  }
@@ -30,7 +30,7 @@ class SimulateFishFeedingStreakAction extends Action2 {
30
30
  constructor() {
31
31
  super({
32
32
  id: SimulateFishFeedingStreakAction.ID,
33
- title: ( localize2(3273, "Simulate Fish Feeding Streak")),
33
+ title: ( localize2(3646, "Simulate Fish Feeding Streak")),
34
34
  f1: true,
35
35
  category: Categories.Developer
36
36
  });
@@ -40,21 +40,21 @@ class SimulateFishFeedingStreakAction extends Action2 {
40
40
  const aquariumService = accessor.get(IAquariumService);
41
41
  const aliveItem = {
42
42
  id: "alive",
43
- label: ( localize(3274, "Alive streak")),
44
- detail: ( localize(3275, "Show a live feeding streak in the toggle tooltip."))
43
+ label: ( localize(3647, "Alive streak")),
44
+ detail: ( localize(3648, "Show a live feeding streak in the toggle tooltip."))
45
45
  };
46
46
  const diedItem = {
47
47
  id: "died",
48
- label: ( localize(3276, "Died streak (revivable)")),
49
- detail: ( localize(3277, "Park a died streak and offer the revival prompt."))
48
+ label: ( localize(3649, "Died streak (revivable)")),
49
+ detail: ( localize(3650, "Park a died streak and offer the revival prompt."))
50
50
  };
51
51
  const clearItem = {
52
52
  id: "clear",
53
- label: ( localize(3278, "Clear streak")),
54
- detail: ( localize(3279, "Remove all streak state."))
53
+ label: ( localize(3651, "Clear streak")),
54
+ detail: ( localize(3652, "Remove all streak state."))
55
55
  };
56
56
  const scenario = await quickInputService.pick([aliveItem, diedItem, clearItem], {
57
- placeHolder: ( localize(3280, "Pick a streak scenario to simulate"))
57
+ placeHolder: ( localize(3653, "Pick a streak scenario to simulate"))
58
58
  });
59
59
  if (!scenario) {
60
60
  return;
@@ -65,10 +65,10 @@ class SimulateFishFeedingStreakAction extends Action2 {
65
65
  }
66
66
  const raw = await quickInputService.input({
67
67
  value: "30",
68
- prompt: ( localize(3281, "How many days should the streak be?")),
68
+ prompt: ( localize(3654, "How many days should the streak be?")),
69
69
  validateInput: async value => {
70
70
  const n = Number(value);
71
- return (!Number.isInteger(n) || n <= 0) ? ( localize(3282, "Enter a whole number greater than 0.")) : undefined;
71
+ return (!Number.isInteger(n) || n <= 0) ? ( localize(3655, "Enter a whole number greater than 0.")) : undefined;
72
72
  }
73
73
  });
74
74
  if (raw === undefined) {
@@ -85,7 +85,7 @@ class ToggleAquariumActionVisibilityAction extends Action2 {
85
85
  constructor() {
86
86
  super({
87
87
  id: ToggleAquariumActionVisibilityAction.ID,
88
- title: ( localize2(3283, "Toggle Aquarium Action Visibility")),
88
+ title: ( localize2(3656, "Toggle Aquarium Action Visibility")),
89
89
  f1: true,
90
90
  category: Categories.Developer
91
91
  });
@@ -148,7 +148,7 @@ let AquariumService = class AquariumService extends Disposable {
148
148
  StorageScope.APPLICATION,
149
149
  StorageTarget.USER
150
150
  );
151
- this.accessibilityService.status(visible ? ( localize(3284, "Aquarium action shown")) : ( localize(3285, "Aquarium action hidden")));
151
+ this.accessibilityService.status(visible ? ( localize(3657, "Aquarium action shown")) : ( localize(3658, "Aquarium action hidden")));
152
152
  return visible;
153
153
  }
154
154
  simulateStreak(count, alive) {
@@ -231,7 +231,7 @@ let AquariumService = class AquariumService extends Disposable {
231
231
  streakSpan.append(String(streak));
232
232
  } else {
233
233
  streakSpan.classList.add("revivable");
234
- streakSpan.append(( localize(3286, "{0} · Feed again to revive", revivable)));
234
+ streakSpan.append(( localize(3659, "{0} · Feed again to revive", revivable)));
235
235
  }
236
236
  button.appendChild(streakSpan);
237
237
  }
@@ -243,18 +243,18 @@ let AquariumService = class AquariumService extends Disposable {
243
243
  button.setAttribute("aria-label", label);
244
244
  }
245
245
  getToggleLabel(active) {
246
- const base = active ? ( localize(3287, "Hide Aquarium")) : ( localize(3288, "Show Aquarium"));
246
+ const base = active ? ( localize(3660, "Hide Aquarium")) : ( localize(3661, "Show Aquarium"));
247
247
  const streak = this.streak.count;
248
248
  if (streak > 0) {
249
249
  const hungerDescription = getFishHungerDescription(this.streak.hungerState);
250
250
  return (streak === 1 ? localize(
251
- 3289,
251
+ 3662,
252
252
  "{0} — {1} — {2} day feeding streak",
253
253
  base,
254
254
  hungerDescription,
255
255
  streak
256
256
  ) : localize(
257
- 3290,
257
+ 3663,
258
258
  "{0} — {1} — {2} days feeding streak",
259
259
  base,
260
260
  hungerDescription,
@@ -263,7 +263,7 @@ let AquariumService = class AquariumService extends Disposable {
263
263
  }
264
264
  const revivable = this.streak.revivableCount;
265
265
  if (revivable > 0) {
266
- return revivable === 1 ? ( localize(3291, "{0} — feed a fish to revive your {1} day streak", base, revivable)) : ( localize(3292, "{0} — feed a fish to revive your {1} day streak", base, revivable));
266
+ return revivable === 1 ? ( localize(3664, "{0} — feed a fish to revive your {1} day streak", base, revivable)) : ( localize(3665, "{0} — feed a fish to revive your {1} day streak", base, revivable));
267
267
  }
268
268
  return base;
269
269
  }
@@ -736,13 +736,13 @@ function addIconClasses(element, icon) {
736
736
  function getFishHungerDescription(state) {
737
737
  switch (state) {
738
738
  case "happy":
739
- return localize(3293, "fish is happy");
739
+ return localize(3666, "fish is happy");
740
740
  case "neutral":
741
- return localize(3294, "fish is getting hungry");
741
+ return localize(3667, "fish is getting hungry");
742
742
  case "sad":
743
- return localize(3295, "fish is hungry");
743
+ return localize(3668, "fish is hungry");
744
744
  case "verySad":
745
- return localize(3296, "fish is starving");
745
+ return localize(3669, "fish is starving");
746
746
  }
747
747
  }
748
748
  function computeWallAvoidAngle(centerX, centerY, width, height) {