@codingame/monaco-vscode-workbench-service-override 37.2.0 → 37.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/common.d.ts +3 -0
  2. package/common.js +29 -0
  3. package/index.d.ts +1 -1
  4. package/index.js +25 -32
  5. package/package.json +18 -8
  6. package/session.d.ts +4 -0
  7. package/session.js +260 -0
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostLocationPreferenceService.d.ts +24 -0
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostLocationPreferenceService.js +71 -0
  10. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreference.d.ts +7 -0
  11. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreference.js +7 -0
  12. package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.d.ts +50 -0
  13. package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.js +120 -0
  14. package/vscode/src/vs/sessions/browser/media/sessions-logo-dark.svg +6 -0
  15. package/vscode/src/vs/sessions/browser/media/sessions-logo-light.svg +6 -0
  16. package/vscode/src/vs/sessions/browser/media/sessionsSetUp.css +72 -0
  17. package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.d.ts +116 -0
  18. package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.js +566 -0
  19. package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.d.ts +43 -0
  20. package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.js +308 -0
  21. package/vscode/src/vs/sessions/browser/parts/chatGroupView.d.ts +108 -0
  22. package/vscode/src/vs/sessions/browser/parts/chatGroupView.js +324 -0
  23. package/vscode/src/vs/sessions/browser/parts/chatGroupsView.d.ts +136 -0
  24. package/vscode/src/vs/sessions/browser/parts/chatGroupsView.js +771 -0
  25. package/vscode/src/vs/sessions/browser/parts/customViewGridPart.d.ts +43 -0
  26. package/vscode/src/vs/sessions/browser/parts/customViewGridPart.js +113 -0
  27. package/vscode/src/vs/sessions/browser/parts/customViewGridParts.d.ts +17 -0
  28. package/vscode/src/vs/sessions/browser/parts/customViewGridParts.js +31 -0
  29. package/vscode/src/vs/sessions/browser/parts/customViewNode.d.ts +24 -0
  30. package/vscode/src/vs/sessions/browser/parts/customViewNode.js +131 -0
  31. package/vscode/src/vs/sessions/browser/parts/editorPart.d.ts +11 -0
  32. package/vscode/src/vs/sessions/browser/parts/editorPart.js +36 -0
  33. package/vscode/src/vs/sessions/browser/parts/editorParts.d.ts +12 -0
  34. package/vscode/src/vs/sessions/browser/parts/editorParts.js +45 -0
  35. package/vscode/src/vs/sessions/browser/parts/media/chatCompositeBar.css +559 -0
  36. package/vscode/src/vs/sessions/browser/parts/media/chatGroupDropTarget.css +27 -0
  37. package/vscode/src/vs/sessions/browser/parts/media/chatGroupsView.css +60 -0
  38. package/vscode/src/vs/sessions/browser/parts/media/customViewGridPart.css +108 -0
  39. package/vscode/src/vs/sessions/browser/parts/media/editorPart.css +210 -0
  40. package/vscode/src/vs/sessions/browser/parts/media/remoteHostUnavailableEmptyState.css +81 -0
  41. package/vscode/src/vs/sessions/browser/parts/media/sessionDropTarget.css +31 -0
  42. package/vscode/src/vs/sessions/browser/parts/media/sessionReadOnlyBanner.css +87 -0
  43. package/vscode/src/vs/sessions/browser/parts/media/sessionView.css +107 -0
  44. package/vscode/src/vs/sessions/browser/parts/media/sessionsPart.css +134 -0
  45. package/vscode/src/vs/sessions/browser/parts/menubar.contribution.d.ts +1 -0
  46. package/vscode/src/vs/sessions/browser/parts/menubar.contribution.js +79 -0
  47. package/vscode/src/vs/sessions/browser/parts/mobile/mobileCustomViewGridPart.d.ts +13 -0
  48. package/vscode/src/vs/sessions/browser/parts/mobile/mobileCustomViewGridPart.js +33 -0
  49. package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.d.ts +14 -0
  50. package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.js +34 -0
  51. package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.d.ts +39 -0
  52. package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.js +136 -0
  53. package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.d.ts +9 -0
  54. package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.js +62 -0
  55. package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.d.ts +39 -0
  56. package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.js +261 -0
  57. package/vscode/src/vs/sessions/browser/parts/sessionHeader.d.ts +97 -0
  58. package/vscode/src/vs/sessions/browser/parts/sessionHeader.js +345 -0
  59. package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.d.ts +43 -0
  60. package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.js +69 -0
  61. package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.d.ts +79 -0
  62. package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.js +363 -0
  63. package/vscode/src/vs/sessions/browser/parts/sessionView.d.ts +125 -0
  64. package/vscode/src/vs/sessions/browser/parts/sessionView.js +300 -0
  65. package/vscode/src/vs/sessions/browser/parts/sessionsPart.d.ts +124 -0
  66. package/vscode/src/vs/sessions/browser/parts/sessionsPart.js +336 -0
  67. package/vscode/src/vs/sessions/browser/parts/sessionsParts.d.ts +33 -0
  68. package/vscode/src/vs/sessions/browser/parts/sessionsParts.js +62 -0
  69. package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.d.ts +13 -0
  70. package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.js +36 -0
  71. package/vscode/src/vs/sessions/browser/parts/singlePaneEditorPart.d.ts +65 -0
  72. package/vscode/src/vs/sessions/browser/parts/singlePaneEditorPart.js +178 -0
  73. package/vscode/src/vs/sessions/browser/sessionWorkspace.d.ts +12 -0
  74. package/vscode/src/vs/sessions/browser/sessionWorkspace.js +19 -0
  75. package/vscode/src/vs/sessions/browser/sessionsSetUpService.d.ts +24 -0
  76. package/vscode/src/vs/sessions/browser/sessionsSetUpService.js +598 -0
  77. package/vscode/src/vs/sessions/browser/sessionsSignInDialog.d.ts +25 -0
  78. package/vscode/src/vs/sessions/browser/sessionsSignInDialog.js +91 -0
  79. package/vscode/src/vs/sessions/common/welcome.d.ts +1 -0
  80. package/vscode/src/vs/sessions/common/welcome.js +5 -0
  81. package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.d.ts +11 -0
  82. package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +1052 -0
  83. package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.d.ts +23 -0
  84. package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +168 -0
  85. package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountTitleBarWidget.css +646 -0
  86. package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountWidget.css +231 -0
  87. package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/chatPetAchievementBadges.css +120 -0
  88. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.d.ts +53 -0
  89. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.js +99 -0
  90. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.d.ts +1 -0
  91. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +270 -0
  92. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.d.ts +62 -0
  93. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +606 -0
  94. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/media/aiCustomizationTreeView.css +116 -0
  95. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.d.ts +1 -0
  96. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +97 -0
  97. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.d.ts +72 -0
  98. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +776 -0
  99. package/vscode/src/vs/sessions/contrib/aquarium/browser/fish.d.ts +68 -0
  100. package/vscode/src/vs/sessions/contrib/aquarium/browser/fish.js +153 -0
  101. package/vscode/src/vs/sessions/contrib/aquarium/browser/fishFeedingStreak.d.ts +58 -0
  102. package/vscode/src/vs/sessions/contrib/aquarium/browser/fishFeedingStreak.js +172 -0
  103. package/vscode/src/vs/sessions/contrib/aquarium/browser/media/aquarium.css +316 -0
  104. package/vscode/src/vs/sessions/contrib/aquarium/browser/vscodeLogoPath.d.ts +1 -0
  105. package/vscode/src/vs/sessions/contrib/aquarium/browser/vscodeLogoPath.js +5 -0
  106. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.d.ts +173 -0
  107. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +1589 -0
  108. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.d.ts +32 -0
  109. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +396 -0
  110. package/vscode/src/vs/sessions/contrib/automations/browser/automationInputCompletions.d.ts +33 -0
  111. package/vscode/src/vs/sessions/contrib/automations/browser/automationInputCompletions.js +216 -0
  112. package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.d.ts +37 -0
  113. package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.js +126 -0
  114. package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.d.ts +21 -0
  115. package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +294 -0
  116. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.d.ts +59 -0
  117. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +232 -0
  118. package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.d.ts +13 -0
  119. package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.js +22 -0
  120. package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.d.ts +60 -0
  121. package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +1256 -0
  122. package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.d.ts +1 -0
  123. package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +88 -0
  124. package/vscode/src/vs/sessions/contrib/automations/browser/media/automationDialog.css +746 -0
  125. package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.d.ts +62 -0
  126. package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +493 -0
  127. package/vscode/src/vs/sessions/contrib/automations/common/isolationGroupModel.d.ts +38 -0
  128. package/vscode/src/vs/sessions/contrib/automations/common/isolationGroupModel.js +123 -0
  129. package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.d.ts +45 -0
  130. package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.js +110 -0
  131. package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.contribution.d.ts +1 -0
  132. package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.contribution.js +5 -0
  133. package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.d.ts +31 -0
  134. package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.js +137 -0
  135. package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.d.ts +1 -0
  136. package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +130 -0
  137. package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.d.ts +8 -0
  138. package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +385 -0
  139. package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.d.ts +28 -0
  140. package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.js +76 -0
  141. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.d.ts +1 -0
  142. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +509 -0
  143. package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.d.ts +6 -0
  144. package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +58 -0
  145. package/vscode/src/vs/sessions/contrib/changes/browser/media/changesActions.css +11 -0
  146. package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.d.ts +24 -0
  147. package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +188 -0
  148. package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.d.ts +15 -0
  149. package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +100 -0
  150. package/vscode/src/vs/sessions/contrib/chat/browser/chatViewStateService.d.ts +9 -0
  151. package/vscode/src/vs/sessions/contrib/chat/browser/chatViewStateService.js +18 -0
  152. package/vscode/src/vs/sessions/contrib/chat/browser/media/sessionChatInputToolbarDebug.css +59 -0
  153. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.d.ts +47 -0
  154. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +306 -0
  155. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.d.ts +41 -0
  156. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.js +31 -0
  157. package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.d.ts +1 -0
  158. package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +84 -0
  159. package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.d.ts +1 -0
  160. package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +111 -0
  161. package/vscode/src/vs/sessions/contrib/customViewTest/browser/media/customViewTest.css +9 -0
  162. package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.d.ts +21 -0
  163. package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +170 -0
  164. package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.d.ts +14 -0
  165. package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +425 -0
  166. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.d.ts +1 -0
  167. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +35 -0
  168. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.d.ts +18 -0
  169. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +85 -0
  170. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.d.ts +31 -0
  171. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +125 -0
  172. package/vscode/src/vs/sessions/contrib/editor/browser/media/editorBreadcrumbs.css +66 -0
  173. package/vscode/src/vs/sessions/contrib/editor/browser/media/editorHeader.css +113 -0
  174. package/vscode/src/vs/sessions/contrib/editor/browser/media/emptyFileEditor.css +30 -0
  175. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/fileTreeView.contribution.d.ts +1 -0
  176. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/fileTreeView.contribution.js +25 -0
  177. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +66 -0
  178. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +274 -0
  179. package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.d.ts +6 -0
  180. package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +100 -0
  181. package/vscode/src/vs/sessions/contrib/files/browser/filesView.d.ts +21 -0
  182. package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +76 -0
  183. package/vscode/src/vs/sessions/contrib/files/browser/media/filesView.css +29 -0
  184. package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.d.ts +211 -0
  185. package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +587 -0
  186. package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.d.ts +112 -0
  187. package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.js +444 -0
  188. package/vscode/src/vs/sessions/contrib/layout/browser/mobileSessionLayoutController.d.ts +13 -0
  189. package/vscode/src/vs/sessions/contrib/layout/browser/mobileSessionLayoutController.js +8 -0
  190. package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.d.ts +1 -0
  191. package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +68 -0
  192. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDetailPanelCoordinator.d.ts +32 -0
  193. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDetailPanelCoordinator.js +81 -0
  194. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDockedTabsCoordinator.d.ts +111 -0
  195. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDockedTabsCoordinator.js +513 -0
  196. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDraftSessionStrategy.d.ts +44 -0
  197. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDraftSessionStrategy.js +423 -0
  198. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneExistingSessionStrategy.d.ts +62 -0
  199. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneExistingSessionStrategy.js +435 -0
  200. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneLayoutStrategy.d.ts +46 -0
  201. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneLayoutStrategy.js +11 -0
  202. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.d.ts +11 -0
  203. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.js +43 -0
  204. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneVisibilityProfileStore.d.ts +21 -0
  205. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneVisibilityProfileStore.js +77 -0
  206. package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.d.ts +55 -0
  207. package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.js +91 -0
  208. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/agentHostReadinessContext.d.ts +11 -0
  209. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/agentHostReadinessContext.js +39 -0
  210. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.d.ts +1 -0
  211. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.js +109 -0
  212. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.d.ts +1 -0
  213. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.js +123 -0
  214. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.d.ts +24 -0
  215. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.js +67 -0
  216. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.d.ts +1 -0
  217. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.js +47 -0
  218. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.d.ts +79 -0
  219. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +1277 -0
  220. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3TourContribution.d.ts +1 -0
  221. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3TourContribution.js +75 -0
  222. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.d.ts +34 -0
  223. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +53 -0
  224. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.d.ts +40 -0
  225. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +69 -0
  226. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.d.ts +4 -0
  227. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +38 -0
  228. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.d.ts +6 -0
  229. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +63 -0
  230. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.d.ts +15 -0
  231. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.js +49 -0
  232. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/media/sessionsPolicyBlocked.css +125 -0
  233. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.d.ts +20 -0
  234. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.js +98 -0
  235. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.d.ts +39 -0
  236. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +218 -0
  237. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.d.ts +53 -0
  238. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +496 -0
  239. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.d.ts +27 -0
  240. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.js +26 -0
  241. package/vscode/src/vs/sessions/contrib/search/browser/media/searchEditorEmptyState.css +15 -0
  242. package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.d.ts +1 -0
  243. package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +79 -0
  244. package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.d.ts +7 -0
  245. package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +57 -0
  246. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsCIFixModel.d.ts +39 -0
  247. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsCIFixModel.js +155 -0
  248. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.d.ts +117 -0
  249. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +320 -0
  250. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.d.ts +65 -0
  251. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +129 -0
  252. package/vscode/src/vs/sessions/contrib/sessions/browser/media/automationsCards.css +624 -0
  253. package/vscode/src/vs/sessions/contrib/sessions/browser/media/blockedSessionsList.css +111 -0
  254. package/vscode/src/vs/sessions/contrib/sessions/browser/media/newSessionActionViewItem.css +112 -0
  255. package/vscode/src/vs/sessions/contrib/sessions/browser/media/sessionsTitleBarWidget.css +159 -0
  256. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionActionFeedback.d.ts +26 -0
  257. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionActionFeedback.js +26 -0
  258. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.d.ts +2 -0
  259. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +77 -0
  260. package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.d.ts +1 -0
  261. package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +162 -0
  262. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.d.ts +111 -0
  263. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +1550 -0
  264. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsMouseNavigation.d.ts +13 -0
  265. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsMouseNavigation.js +69 -0
  266. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsPicker.d.ts +10 -0
  267. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsPicker.js +33 -0
  268. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.d.ts +126 -0
  269. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.js +724 -0
  270. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.d.ts +150 -0
  271. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +526 -0
  272. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTypedCharactersTracker.d.ts +64 -0
  273. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTypedCharactersTracker.js +99 -0
  274. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.d.ts +37 -0
  275. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +160 -0
  276. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.d.ts +19 -0
  277. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +74 -0
  278. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.d.ts +4 -0
  279. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +228 -0
  280. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.d.ts +53 -0
  281. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +2143 -0
  282. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.d.ts +12 -0
  283. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +1270 -0
  284. package/vscode/src/vs/sessions/contrib/workspace/browser/workspace.contribution.d.ts +1 -0
  285. package/vscode/src/vs/sessions/contrib/workspace/browser/workspace.contribution.js +5 -0
  286. package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.d.ts +28 -0
  287. package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.js +95 -0
  288. package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.d.ts +79 -0
  289. package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.js +259 -0
  290. package/vscode/src/vs/sessions/services/customView/browser/customView.d.ts +42 -0
  291. package/vscode/src/vs/sessions/services/customView/browser/customView.js +15 -0
  292. package/vscode/src/vs/sessions/services/customView/browser/customViewService.d.ts +21 -0
  293. package/vscode/src/vs/sessions/services/customView/browser/customViewService.js +68 -0
  294. package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.d.ts +72 -0
  295. package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.js +115 -0
  296. package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.d.ts +77 -0
  297. package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.js +330 -0
  298. package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.d.ts +67 -0
  299. package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.js +157 -0
  300. package/vscode/src/vs/sessions/services/sessions/browser/sessionOpenTelemetryService.d.ts +32 -0
  301. package/vscode/src/vs/sessions/services/sessions/browser/sessionOpenTelemetryService.js +162 -0
  302. package/vscode/src/vs/sessions/services/sessions/browser/sessionSectionOrderService.d.ts +40 -0
  303. package/vscode/src/vs/sessions/services/sessions/browser/sessionSectionOrderService.js +170 -0
  304. package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.d.ts +63 -0
  305. package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.js +419 -0
  306. package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.d.ts +229 -0
  307. package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +1212 -0
  308. package/vscode/src/vs/sessions/services/sessions/browser/sessionsProvidersService.d.ts +22 -0
  309. package/vscode/src/vs/sessions/services/sessions/browser/sessionsProvidersService.js +42 -0
  310. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.d.ts +43 -0
  311. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.js +103 -0
  312. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.d.ts +243 -0
  313. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +1121 -0
  314. package/vscode/src/vs/sessions/services/sessions/browser/sessionsWindowUsageService.d.ts +8 -0
  315. package/vscode/src/vs/sessions/services/sessions/browser/sessionsWindowUsageService.js +24 -0
  316. package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.d.ts +321 -0
  317. package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.js +729 -0
  318. package/vscode/src/vs/sessions/services/sessions/browser/worktreeTrust.d.ts +23 -0
  319. package/vscode/src/vs/sessions/services/sessions/browser/worktreeTrust.js +23 -0
  320. package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.d.ts +32 -0
  321. package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.js +103 -0
  322. package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.d.ts +16 -0
  323. package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.js +41 -0
  324. package/vscode/src/vs/workbench/browser/layout.js +7 -7
  325. package/vscode/src/vs/workbench/browser/workbench.js +3 -3
@@ -0,0 +1,606 @@
1
+
2
+ import { registerCss } from '@codingame/monaco-vscode-api/css';
3
+ import * as aiCustomizationTreeView from './media/aiCustomizationTreeView.css';
4
+ import { append, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
+ import { ActionBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionbar';
6
+ import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
7
+ import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
8
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
9
+ import { basename, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
10
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
11
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
+ import { createActionViewItem, getContextMenuActions } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
13
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
14
+ import { RawContextKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
15
+ import { WorkbenchAsyncDataTree } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
16
+ import { ViewPane } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/views/viewPane';
17
+ import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
18
+ import { ResourceSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
19
+ import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
20
+ import { promptIcon, instructionsIcon, skillIcon, agentIcon, mcpServerIcon, builtinIcon, pluginIcon, extensionIcon, userIcon, workspaceIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons';
21
+ import { AICustomizationItemMenuId } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView';
22
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
23
+ import { AICustomizationManagementEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput';
24
+ import { AICustomizationManagementEditor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor';
25
+ import { AICustomizationManagementSection, AICustomizationSources } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
26
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
27
+
28
+ registerCss(aiCustomizationTreeView, 1);
29
+ const AICustomizationIsEmptyContextKey = new RawContextKey("aiCustomization.isEmpty", true);
30
+ const AICustomizationItemTypeContextKey = new RawContextKey("aiCustomizationItemType", "");
31
+ const AICustomizationItemDisabledContextKey = new RawContextKey("aiCustomizationItemDisabled", false);
32
+ const AICustomizationItemStorageContextKey = new RawContextKey("aiCustomizationItemStorage", "");
33
+ const ROOT_ELEMENT = Symbol("root");
34
+ class AICustomizationTreeDelegate {
35
+ getHeight(_element) {
36
+ return 22;
37
+ }
38
+ getTemplateId(element) {
39
+ switch (element.type) {
40
+ case "category":
41
+ case "link":
42
+ return "category";
43
+ case "group":
44
+ return "group";
45
+ case "file":
46
+ return "file";
47
+ }
48
+ }
49
+ }
50
+ class AICustomizationCategoryRenderer {
51
+ constructor() {
52
+ this.templateId = "category";
53
+ }
54
+ renderTemplate(container) {
55
+ const element = append(container, $(".ai-customization-category"));
56
+ const icon = append(element, $(".icon"));
57
+ const label = append(element, $(".label"));
58
+ return {
59
+ container: element,
60
+ icon,
61
+ label
62
+ };
63
+ }
64
+ renderElement(node, _index, templateData) {
65
+ templateData.icon.className = "icon";
66
+ templateData.icon.classList.add(...ThemeIcon.asClassNameArray(node.element.icon));
67
+ templateData.label.textContent = node.element.label;
68
+ }
69
+ disposeTemplate(_templateData) {}
70
+ }
71
+ class AICustomizationGroupRenderer {
72
+ constructor() {
73
+ this.templateId = "group";
74
+ }
75
+ renderTemplate(container) {
76
+ const element = append(container, $(".ai-customization-group-header"));
77
+ const label = append(element, $(".label"));
78
+ return {
79
+ container: element,
80
+ label
81
+ };
82
+ }
83
+ renderElement(node, _index, templateData) {
84
+ templateData.label.textContent = node.element.label;
85
+ }
86
+ disposeTemplate(_templateData) {}
87
+ }
88
+ class AICustomizationFileRenderer {
89
+ constructor(menuService, contextKeyService, instantiationService) {
90
+ this.menuService = menuService;
91
+ this.contextKeyService = contextKeyService;
92
+ this.instantiationService = instantiationService;
93
+ this.templateId = "file";
94
+ }
95
+ renderTemplate(container) {
96
+ const element = append(container, $(".ai-customization-tree-item"));
97
+ const icon = append(element, $(".icon"));
98
+ const name = append(element, $(".name"));
99
+ const actionsContainer = append(element, $(".actions"));
100
+ const templateDisposables = ( new DisposableStore());
101
+ const actionBar = templateDisposables.add(( new ActionBar(actionsContainer, {
102
+ actionViewItemProvider: createActionViewItem.bind(undefined, this.instantiationService)
103
+ })));
104
+ return {
105
+ container: element,
106
+ icon,
107
+ name,
108
+ actionBar,
109
+ elementDisposables: ( new DisposableStore()),
110
+ templateDisposables
111
+ };
112
+ }
113
+ renderElement(node, _index, templateData) {
114
+ const item = node.element;
115
+ templateData.elementDisposables.clear();
116
+ let icon;
117
+ switch (item.promptType) {
118
+ case PromptsType.agent:
119
+ icon = agentIcon;
120
+ break;
121
+ case PromptsType.skill:
122
+ icon = skillIcon;
123
+ break;
124
+ case PromptsType.instructions:
125
+ icon = instructionsIcon;
126
+ break;
127
+ case PromptsType.prompt:
128
+ default:
129
+ icon = promptIcon;
130
+ break;
131
+ }
132
+ templateData.icon.className = "icon";
133
+ templateData.icon.classList.add(...ThemeIcon.asClassNameArray(icon));
134
+ templateData.name.textContent = item.name;
135
+ templateData.container.classList.toggle("disabled", item.disabled);
136
+ const tooltip = item.description ? `${item.name} - ${item.description}` : item.name;
137
+ templateData.container.title = tooltip;
138
+ const context = {
139
+ uri: ( item.uri.toString()),
140
+ name: item.name,
141
+ promptType: item.promptType,
142
+ storage: item.storage
143
+ };
144
+ const overlay = this.contextKeyService.createOverlay([
145
+ [AICustomizationItemTypeContextKey.key, item.promptType],
146
+ [AICustomizationItemDisabledContextKey.key, item.disabled],
147
+ [AICustomizationItemStorageContextKey.key, item.storage]
148
+ ]);
149
+ const menu = templateData.elementDisposables.add(this.menuService.createMenu(AICustomizationItemMenuId, overlay));
150
+ const updateActions = () => {
151
+ const actions = menu.getActions({
152
+ arg: context,
153
+ shouldForwardArgs: true
154
+ });
155
+ const {
156
+ primary
157
+ } = getContextMenuActions(actions, "inline");
158
+ templateData.actionBar.clear();
159
+ templateData.actionBar.push(primary, {
160
+ icon: true,
161
+ label: false
162
+ });
163
+ };
164
+ updateActions();
165
+ templateData.elementDisposables.add(menu.onDidChange(updateActions));
166
+ templateData.actionBar.context = context;
167
+ }
168
+ disposeElement(_node, _index, templateData) {
169
+ templateData.elementDisposables.clear();
170
+ }
171
+ disposeTemplate(templateData) {
172
+ templateData.templateDisposables.dispose();
173
+ templateData.elementDisposables.dispose();
174
+ }
175
+ }
176
+ class UnifiedAICustomizationDataSource {
177
+ constructor(promptsService, logService, onItemCountChanged) {
178
+ this.promptsService = promptsService;
179
+ this.logService = logService;
180
+ this.onItemCountChanged = onItemCountChanged;
181
+ this.cache = ( new Map());
182
+ this.totalItemCount = 0;
183
+ }
184
+ clearCache() {
185
+ this.cache.clear();
186
+ this.totalItemCount = 0;
187
+ }
188
+ hasChildren(element) {
189
+ if (element === ROOT_ELEMENT) {
190
+ return true;
191
+ }
192
+ if (element.type === "link") {
193
+ return false;
194
+ }
195
+ return element.type === "category" || element.type === "group";
196
+ }
197
+ async getChildren(element) {
198
+ try {
199
+ if (element === ROOT_ELEMENT) {
200
+ return this.getTypeCategories();
201
+ }
202
+ if (element.type === "category") {
203
+ return this.getStorageGroups(element.promptType);
204
+ }
205
+ if (element.type === "group") {
206
+ return this.getFilesForStorageAndType(element.storage, element.promptType);
207
+ }
208
+ return [];
209
+ } catch (error) {
210
+ this.logService.error("[AICustomization] Error fetching tree children:", error);
211
+ return [];
212
+ }
213
+ }
214
+ getTypeCategories() {
215
+ const items = [{
216
+ type: "category",
217
+ id: "category-agents",
218
+ label: ( localize(3235, "Custom Agents")),
219
+ promptType: PromptsType.agent,
220
+ icon: agentIcon
221
+ }, {
222
+ type: "category",
223
+ id: "category-skills",
224
+ label: ( localize(3236, "Skills")),
225
+ promptType: PromptsType.skill,
226
+ icon: skillIcon
227
+ }, {
228
+ type: "category",
229
+ id: "category-instructions",
230
+ label: ( localize(3237, "Instructions")),
231
+ promptType: PromptsType.instructions,
232
+ icon: instructionsIcon
233
+ }];
234
+ items.push({
235
+ type: "link",
236
+ id: "link-mcp-servers",
237
+ label: ( localize(3238, "MCP Servers")),
238
+ icon: mcpServerIcon,
239
+ section: AICustomizationManagementSection.McpServers
240
+ });
241
+ return items;
242
+ }
243
+ async getStorageGroups(promptType) {
244
+ const groups = [];
245
+ let cached = this.cache.get(promptType);
246
+ if (!cached) {
247
+ cached = {};
248
+ this.cache.set(promptType, cached);
249
+ }
250
+ if (promptType === PromptsType.skill) {
251
+ if (!cached.skills) {
252
+ const skills = await this.promptsService.findAgentSkills(CancellationToken.None);
253
+ cached.skills = skills || [];
254
+ this.totalItemCount += cached.skills.length;
255
+ this.onItemCountChanged(this.totalItemCount);
256
+ }
257
+ const workspaceSkills = cached.skills.filter(s => s.storage === PromptsStorage.local);
258
+ const userSkills = cached.skills.filter(s => s.storage === PromptsStorage.user);
259
+ const extensionSkills = cached.skills.filter(s => s.storage === PromptsStorage.extension);
260
+ const builtinSkills = cached.skills.filter(s => s.storage === PromptsStorage.builtIn);
261
+ if (workspaceSkills.length > 0) {
262
+ groups.push(
263
+ this.createGroupItem(promptType, AICustomizationSources.local, workspaceSkills.length)
264
+ );
265
+ }
266
+ if (userSkills.length > 0) {
267
+ groups.push(
268
+ this.createGroupItem(promptType, AICustomizationSources.user, userSkills.length)
269
+ );
270
+ }
271
+ if (extensionSkills.length > 0) {
272
+ groups.push(
273
+ this.createGroupItem(promptType, AICustomizationSources.extension, extensionSkills.length)
274
+ );
275
+ }
276
+ if (builtinSkills.length > 0) {
277
+ groups.push(
278
+ this.createGroupItem(promptType, AICustomizationSources.builtin, builtinSkills.length)
279
+ );
280
+ }
281
+ return groups;
282
+ }
283
+ if (!cached.files) {
284
+ const allItems = [
285
+ ...(await this.promptsService.listPromptFiles(promptType, CancellationToken.None))
286
+ ];
287
+ if (promptType === PromptsType.instructions) {
288
+ const existingUris = ( new ResourceSet(allItems.map(item => item.uri)));
289
+ const agentInstructions = await this.promptsService.listAgentInstructions(CancellationToken.None);
290
+ for (const file of agentInstructions) {
291
+ if (!( existingUris.has(file.uri))) {
292
+ allItems.push({
293
+ uri: file.uri,
294
+ storage: PromptsStorage.local,
295
+ type: PromptsType.instructions
296
+ });
297
+ }
298
+ }
299
+ }
300
+ const workspaceItems = allItems.filter(item => item.storage === PromptsStorage.local);
301
+ const userItems = allItems.filter(item => item.storage === PromptsStorage.user);
302
+ const extensionItems = allItems.filter(item => item.storage === PromptsStorage.extension);
303
+ const builtinItems = allItems.filter(item => item.storage === PromptsStorage.builtIn);
304
+ cached.files = ( new Map([
305
+ [PromptsStorage.local, workspaceItems],
306
+ [PromptsStorage.user, userItems],
307
+ [PromptsStorage.extension, extensionItems],
308
+ [PromptsStorage.builtIn, builtinItems]
309
+ ]));
310
+ const itemCount = allItems.length;
311
+ this.totalItemCount += itemCount;
312
+ this.onItemCountChanged(this.totalItemCount);
313
+ }
314
+ const workspaceItems = cached.files.get(PromptsStorage.local) || [];
315
+ const userItems = cached.files.get(PromptsStorage.user) || [];
316
+ const extensionItems = cached.files.get(PromptsStorage.extension) || [];
317
+ const builtinItems = cached.files.get(PromptsStorage.builtIn) || [];
318
+ if (workspaceItems.length > 0) {
319
+ groups.push(
320
+ this.createGroupItem(promptType, PromptsStorage.local, workspaceItems.length)
321
+ );
322
+ }
323
+ if (userItems.length > 0) {
324
+ groups.push(this.createGroupItem(promptType, PromptsStorage.user, userItems.length));
325
+ }
326
+ if (extensionItems.length > 0) {
327
+ groups.push(
328
+ this.createGroupItem(promptType, PromptsStorage.extension, extensionItems.length)
329
+ );
330
+ }
331
+ if (builtinItems.length > 0) {
332
+ groups.push(
333
+ this.createGroupItem(promptType, PromptsStorage.builtIn, builtinItems.length)
334
+ );
335
+ }
336
+ return groups;
337
+ }
338
+ createGroupItem(promptType, storage, count) {
339
+ const storageLabels = {
340
+ [AICustomizationSources.local]: ( localize(3239, "Workspace ({0})", count)),
341
+ [AICustomizationSources.user]: ( localize(3240, "User ({0})", count)),
342
+ [AICustomizationSources.extension]: ( localize(3241, "Extensions ({0})", count)),
343
+ [AICustomizationSources.plugin]: ( localize(3242, "Plugins ({0})", count)),
344
+ [AICustomizationSources.builtin]: ( localize(3243, "Built-in ({0})", count))
345
+ };
346
+ const storageIcons = {
347
+ [AICustomizationSources.local]: workspaceIcon,
348
+ [AICustomizationSources.user]: userIcon,
349
+ [AICustomizationSources.extension]: extensionIcon,
350
+ [AICustomizationSources.plugin]: pluginIcon,
351
+ [AICustomizationSources.builtin]: builtinIcon
352
+ };
353
+ const storageSuffixes = {
354
+ [AICustomizationSources.local]: "workspace",
355
+ [AICustomizationSources.user]: "user",
356
+ [AICustomizationSources.extension]: "extensions",
357
+ [AICustomizationSources.plugin]: "plugins",
358
+ [AICustomizationSources.builtin]: "builtin"
359
+ };
360
+ return {
361
+ type: "group",
362
+ id: `group-${promptType}-${storageSuffixes[storage]}`,
363
+ label: storageLabels[storage],
364
+ storage,
365
+ promptType,
366
+ icon: storageIcons[storage]
367
+ };
368
+ }
369
+ async getFilesForStorageAndType(storage, promptType) {
370
+ const cached = this.cache.get(promptType);
371
+ const disabledUris = this.promptsService.getDisabledPromptFiles(promptType);
372
+ if (promptType === PromptsType.skill) {
373
+ const skills = cached?.skills || [];
374
+ const filtered = skills.filter(skill => skill.storage === storage);
375
+ const seenUris = ( new Set());
376
+ const result = filtered.map(skill => {
377
+ seenUris.add(( skill.uri.toString()));
378
+ const skillName = skill.name || basename(dirname(skill.uri)) || basename(skill.uri);
379
+ return {
380
+ type: "file",
381
+ id: ( skill.uri.toString()),
382
+ uri: skill.uri,
383
+ name: skillName,
384
+ description: skill.description,
385
+ storage: skill.storage,
386
+ promptType,
387
+ disabled: ( disabledUris.has(skill.uri))
388
+ };
389
+ });
390
+ if (disabledUris.size > 0) {
391
+ const allSkillFiles = await this.promptsService.listPromptFiles(PromptsType.skill, CancellationToken.None);
392
+ for (const file of allSkillFiles) {
393
+ if (file.storage === storage && !( seenUris.has(( file.uri.toString()))) && ( disabledUris.has(file.uri))) {
394
+ result.push({
395
+ type: "file",
396
+ id: ( file.uri.toString()),
397
+ uri: file.uri,
398
+ name: file.name || basename(dirname(file.uri)) || basename(file.uri),
399
+ description: file.description,
400
+ storage: file.storage,
401
+ promptType,
402
+ disabled: true
403
+ });
404
+ }
405
+ }
406
+ }
407
+ return result;
408
+ }
409
+ const items = [...(cached?.files?.get(storage) || [])];
410
+ return items.map(item => ({
411
+ type: "file",
412
+ id: ( item.uri.toString()),
413
+ uri: item.uri,
414
+ name: item.name || basename(item.uri),
415
+ description: item.description,
416
+ storage: item.storage,
417
+ promptType,
418
+ disabled: ( disabledUris.has(item.uri))
419
+ }));
420
+ }
421
+ }
422
+ (class AICustomizationViewPane extends ViewPane {
423
+ static {
424
+ this.ID = "aiCustomization.view";
425
+ }
426
+ constructor(
427
+ options,
428
+ keybindingService,
429
+ contextMenuService,
430
+ configurationService,
431
+ contextKeyService,
432
+ viewDescriptorService,
433
+ instantiationService,
434
+ openerService,
435
+ themeService,
436
+ hoverService,
437
+ promptsService,
438
+ editorService,
439
+ menuService,
440
+ logService,
441
+ workspaceContextService,
442
+ workspaceService
443
+ ) {
444
+ super(
445
+ options,
446
+ keybindingService,
447
+ contextMenuService,
448
+ configurationService,
449
+ contextKeyService,
450
+ viewDescriptorService,
451
+ instantiationService,
452
+ openerService,
453
+ themeService,
454
+ hoverService
455
+ );
456
+ this.promptsService = promptsService;
457
+ this.editorService = editorService;
458
+ this.menuService = menuService;
459
+ this.logService = logService;
460
+ this.workspaceContextService = workspaceContextService;
461
+ this.workspaceService = workspaceService;
462
+ this.treeDisposables = this._register(( new DisposableStore()));
463
+ this.isEmptyContextKey = AICustomizationIsEmptyContextKey.bindTo(contextKeyService);
464
+ this.itemTypeContextKey = AICustomizationItemTypeContextKey.bindTo(contextKeyService);
465
+ this.itemDisabledContextKey = AICustomizationItemDisabledContextKey.bindTo(contextKeyService);
466
+ this.itemStorageContextKey = AICustomizationItemStorageContextKey.bindTo(contextKeyService);
467
+ this._register(this.promptsService.onDidChangeCustomAgents(() => this.refresh()));
468
+ this._register(this.promptsService.onDidChangeSlashCommands(() => this.refresh()));
469
+ this._register(
470
+ this.workspaceContextService.onDidChangeWorkspaceFolders(() => this.refresh())
471
+ );
472
+ this._register(autorun(reader => {
473
+ this.workspaceService.activeProjectRoot.read(reader);
474
+ this.refresh();
475
+ }));
476
+ }
477
+ renderBody(container) {
478
+ super.renderBody(container);
479
+ container.classList.add("ai-customization-view");
480
+ this.treeContainer = append(container, $(".tree-container"));
481
+ this.createTree();
482
+ }
483
+ createTree() {
484
+ if (!this.treeContainer) {
485
+ return;
486
+ }
487
+ this.dataSource = ( new UnifiedAICustomizationDataSource(
488
+ this.promptsService,
489
+ this.logService,
490
+ count => this.isEmptyContextKey.set(count === 0)
491
+ ));
492
+ this.tree = this.treeDisposables.add(this.instantiationService.createInstance(
493
+ WorkbenchAsyncDataTree,
494
+ "AICustomization",
495
+ this.treeContainer,
496
+ ( new AICustomizationTreeDelegate()),
497
+ [( new AICustomizationCategoryRenderer()), ( new AICustomizationGroupRenderer()), ( new AICustomizationFileRenderer(this.menuService, this.contextKeyService, this.instantiationService))],
498
+ this.dataSource,
499
+ {
500
+ identityProvider: {
501
+ getId: element => element.id
502
+ },
503
+ accessibilityProvider: {
504
+ getAriaLabel: element => {
505
+ if (element.type === "category" || element.type === "link") {
506
+ return element.label;
507
+ }
508
+ if (element.type === "group") {
509
+ return element.label;
510
+ }
511
+ const nameAndDesc = element.description ? ( localize(3244, "{0}, {1}", element.name, element.description)) : element.name;
512
+ return element.disabled ? ( localize(3245, "{0}, disabled", nameAndDesc)) : nameAndDesc;
513
+ },
514
+ getWidgetAriaLabel: () => ( localize(3246, "Chat Customization Items"))
515
+ },
516
+ keyboardNavigationLabelProvider: {
517
+ getKeyboardNavigationLabel: element => {
518
+ if (element.type === "file") {
519
+ return element.name;
520
+ }
521
+ return element.label;
522
+ }
523
+ }
524
+ }
525
+ ));
526
+ this.treeDisposables.add(this.tree.onDidOpen(async e => {
527
+ if (e.element && e.element.type === "file") {
528
+ this.editorService.openEditor({
529
+ resource: e.element.uri
530
+ });
531
+ } else if (e.element && e.element.type === "link") {
532
+ const input = AICustomizationManagementEditorInput.getOrCreate();
533
+ const editor = await this.editorService.openEditor(input, {
534
+ pinned: true
535
+ });
536
+ if (editor instanceof AICustomizationManagementEditor) {
537
+ editor.selectSectionById(e.element.section);
538
+ }
539
+ }
540
+ }));
541
+ this.treeDisposables.add(this.tree.onContextMenu(e => this.onContextMenu(e)));
542
+ void this.tree.setInput(ROOT_ELEMENT).then(() => this.autoExpandCategories());
543
+ }
544
+ async autoExpandCategories() {
545
+ if (!this.tree) {
546
+ return;
547
+ }
548
+ const rootNode = this.tree.getNode(ROOT_ELEMENT);
549
+ for (const child of rootNode.children) {
550
+ if (child.element !== ROOT_ELEMENT) {
551
+ await this.tree.expand(child.element);
552
+ }
553
+ }
554
+ }
555
+ layoutBody(height, width) {
556
+ super.layoutBody(height, width);
557
+ this.tree?.layout(height, width);
558
+ }
559
+ refresh() {
560
+ this.dataSource?.clearCache();
561
+ this.isEmptyContextKey.set(true);
562
+ void this.tree?.setInput(ROOT_ELEMENT).then(() => this.autoExpandCategories());
563
+ }
564
+ collapseAll() {
565
+ this.tree?.collapseAll();
566
+ }
567
+ expandAll() {
568
+ this.tree?.expandAll();
569
+ }
570
+ onContextMenu(e) {
571
+ if (!e.element || e.element.type !== "file") {
572
+ return;
573
+ }
574
+ const element = e.element;
575
+ this.itemTypeContextKey.set(element.promptType);
576
+ this.itemDisabledContextKey.set(element.disabled);
577
+ this.itemStorageContextKey.set(element.storage);
578
+ const context = {
579
+ uri: ( element.uri.toString()),
580
+ name: element.name,
581
+ promptType: element.promptType,
582
+ disabled: element.disabled
583
+ };
584
+ const menu = this.menuService.getMenuActions(AICustomizationItemMenuId, this.contextKeyService, {
585
+ arg: context,
586
+ shouldForwardArgs: true
587
+ });
588
+ const {
589
+ secondary
590
+ } = getContextMenuActions(menu, "inline");
591
+ if (secondary.length > 0) {
592
+ this.contextMenuService.showContextMenu({
593
+ getAnchor: () => e.anchor,
594
+ getActions: () => secondary,
595
+ getActionsContext: () => context,
596
+ onHide: () => {
597
+ this.itemTypeContextKey.reset();
598
+ this.itemDisabledContextKey.reset();
599
+ this.itemStorageContextKey.reset();
600
+ }
601
+ });
602
+ }
603
+ }
604
+ });
605
+
606
+ export { AICustomizationIsEmptyContextKey, AICustomizationItemDisabledContextKey, AICustomizationItemStorageContextKey, AICustomizationItemTypeContextKey };