@codingame/monaco-vscode-chat-service-override 36.2.7 → 37.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 (725) hide show
  1. package/index.d.ts +1 -0
  2. package/index.js +92 -10
  3. package/package.json +5 -5
  4. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +10 -3
  5. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +54 -17
  6. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.d.ts +14 -0
  7. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.js +46 -0
  8. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +7 -2
  9. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +34 -2
  10. package/vscode/src/vs/platform/agentHost/browser/{remoteAgentHostProtocolClient.d.ts → agentHostProtocolClient.d.ts} +240 -60
  11. package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.js +1911 -0
  12. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +30 -33
  13. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +381 -315
  14. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +3 -1
  15. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +2 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.d.ts +9 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.js +20 -0
  18. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.d.ts +144 -0
  19. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.js +20 -0
  20. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +14 -6
  21. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +14 -10
  22. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +1 -1
  23. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.d.ts +47 -0
  24. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.js +75 -0
  25. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.d.ts +68 -0
  26. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.js +161 -0
  27. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +288 -45
  28. package/vscode/src/vs/platform/agentHost/common/agentMerge.d.ts +261 -0
  29. package/vscode/src/vs/platform/agentHost/common/agentMerge.js +67 -0
  30. package/vscode/src/vs/platform/agentHost/common/agentSdkSetup.d.ts +53 -0
  31. package/vscode/src/vs/platform/agentHost/common/agentSdkSetup.js +45 -0
  32. package/vscode/src/vs/platform/agentHost/common/changesetUri.d.ts +130 -0
  33. package/vscode/src/vs/platform/agentHost/common/changesetUri.js +27 -0
  34. package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +8 -2
  35. package/vscode/src/vs/platform/agentHost/common/customAgents.js +7 -0
  36. package/vscode/src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.d.ts +39 -0
  37. package/vscode/src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.js +25 -0
  38. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.d.ts +110 -0
  39. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.js +38 -0
  40. package/vscode/src/vs/platform/agentHost/common/meta/agentHostArtifactRemovalMeta.d.ts +4 -0
  41. package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.d.ts +7 -0
  42. package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.js +14 -0
  43. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +3 -3
  44. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +16 -24
  45. package/vscode/src/vs/platform/agentHost/common/semanticSearchConstants.d.ts +8 -0
  46. package/vscode/src/vs/platform/agentHost/common/semanticSearchConstants.js +8 -0
  47. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.d.ts +75 -0
  48. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.js +84 -0
  49. package/vscode/src/vs/platform/agentHost/common/shellInitScript.d.ts +24 -0
  50. package/vscode/src/vs/platform/agentHost/common/shellInitScript.js +63 -0
  51. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +71 -20
  52. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +187 -26
  53. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.d.ts +30 -0
  54. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.js +87 -0
  55. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +2 -2
  56. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.d.ts +4 -0
  57. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.js +37 -0
  58. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.d.ts +4 -0
  59. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.js +45 -0
  60. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +5 -4
  61. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +100 -35
  62. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +193 -49
  63. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +161 -40
  64. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +1 -1
  65. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +5 -1
  66. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
  67. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.d.ts +1 -0
  68. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.js +7 -0
  69. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  70. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +114 -3
  71. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +28 -5
  72. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +4 -2
  73. package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.d.ts +34 -0
  74. package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.js +28 -0
  75. package/vscode/src/vs/platform/agentHost/common/worktreePaths.d.ts +24 -0
  76. package/vscode/src/vs/platform/agentHost/common/worktreePaths.js +15 -0
  77. package/vscode/src/vs/platform/browserView/common/browserChatToolReferenceNames.d.ts +1 -1
  78. package/vscode/src/vs/platform/chat/common/aiAgentEnv.d.ts +18 -0
  79. package/vscode/src/vs/platform/chat/common/aiAgentEnv.js +6 -0
  80. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +5 -1
  81. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +77 -5
  82. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +1 -1
  83. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +9 -5
  84. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +1 -5
  85. package/vscode/src/vs/platform/networkFilter/common/settings.js +0 -4
  86. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +19 -7
  87. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +49 -37
  88. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +2 -1
  89. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +12 -0
  90. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +1 -2
  91. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +1 -0
  92. package/vscode/src/vs/platform/terminal/common/autoApprove/autoApproveParseSafety.d.ts +5 -0
  93. package/vscode/src/vs/platform/terminal/common/autoApprove/autoApproveParseSafety.js +7 -0
  94. package/vscode/src/vs/platform/terminal/common/autoApprove/cmdDelayedExpansion.d.ts +5 -0
  95. package/vscode/src/vs/platform/terminal/common/autoApprove/cmdDelayedExpansion.js +8 -0
  96. package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers → platform/terminal/common/autoApprove}/sedFileWriteParser.d.ts +1 -2
  97. package/vscode/src/vs/workbench/browser/chatChangesPill.d.ts +29 -0
  98. package/vscode/src/vs/workbench/browser/chatChangesPill.js +84 -0
  99. package/vscode/src/vs/workbench/common/chatPullRequest.d.ts +19 -0
  100. package/vscode/src/vs/workbench/common/chatPullRequest.js +53 -0
  101. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +342 -155
  102. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +2 -2
  103. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +25 -2
  104. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +150 -67
  105. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +5 -3
  106. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +5 -1
  107. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +39 -9
  108. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +1 -1
  109. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +3 -3
  110. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +6 -6
  111. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +4 -2
  112. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +54 -17
  113. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +11 -11
  114. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +1 -1
  115. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +9 -9
  116. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +1 -1
  117. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +5 -5
  118. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +6 -0
  119. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +5 -1
  120. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +1 -1
  121. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +1 -1
  122. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +2 -2
  123. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/media/voiceModeOnboarding.css +252 -0
  124. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +13 -13
  125. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +7 -7
  126. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.d.ts +146 -0
  127. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.js +889 -0
  128. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +2 -7
  130. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +3 -54
  131. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +32 -3
  132. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +214 -161
  133. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +10 -9
  134. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +2 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +256 -72
  136. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +2 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +11 -12
  139. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +19 -15
  140. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +30 -14
  141. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +19 -10
  142. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +9 -9
  143. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  144. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.d.ts +6 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.js +237 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -6
  147. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  148. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +10 -10
  149. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.d.ts +6 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +68 -61
  151. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +17 -21
  152. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +17 -21
  153. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  154. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +68 -14
  156. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  157. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -19
  158. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +7 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +222 -72
  160. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -17
  161. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +530 -305
  162. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.d.ts +25 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.js +63 -0
  164. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.d.ts +30 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.js +37 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.d.ts +6 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.js +95 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +10 -6
  169. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +2 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +18 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +86 -47
  173. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +61 -47
  174. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +43 -24
  175. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +326 -76
  176. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +112 -5
  177. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +33 -7
  178. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.d.ts +20 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.js +26 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +28 -10
  181. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +110 -126
  182. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.d.ts +131 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.js +638 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupportScope.d.ts +41 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupportScope.js +202 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +24 -1
  187. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +26 -5
  188. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +10 -7
  189. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.d.ts +20 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.js +55 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.d.ts +62 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.js +40 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.d.ts +59 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.js +624 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.d.ts +90 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.js +207 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.d.ts +31 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.js +140 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +4 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +5 -1
  201. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +5 -4
  202. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +74 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +511 -171
  204. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.d.ts +32 -0
  205. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.js +48 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +55 -6
  207. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +210 -20
  208. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +43 -24
  209. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +46 -10
  210. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +216 -110
  211. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +9 -4
  212. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +26 -17
  213. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  215. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  216. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  217. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -26
  218. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +5 -2
  219. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +6 -6
  220. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  221. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  222. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.d.ts +3 -0
  223. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.js +62 -0
  224. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/sessionSummaryHover.css +104 -0
  225. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.d.ts +115 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.js +168 -0
  227. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.d.ts +24 -0
  228. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.js +32 -0
  229. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessionsConfiguration.js +56 -0
  230. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +0 -4
  231. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +16 -17
  232. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +7 -3
  233. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +1 -0
  234. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +2 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +10 -1
  236. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +48 -1
  237. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +913 -220
  238. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +148 -84
  240. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +161 -17
  241. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +2367 -247
  242. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +5 -2
  243. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +21 -13
  244. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.d.ts +26 -0
  245. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.js +34 -0
  246. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.d.ts +2 -0
  247. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.js +23 -0
  248. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +15 -0
  249. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +3 -0
  250. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +10 -2
  251. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +143 -68
  252. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  253. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +10 -5
  254. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.d.ts +40 -0
  255. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.js +302 -0
  256. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +1 -2
  257. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +49 -8
  258. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +3 -3
  259. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.d.ts +38 -0
  260. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.js +240 -0
  261. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.d.ts +1 -0
  262. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.js +53 -0
  263. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.d.ts +82 -0
  264. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.js +762 -0
  265. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.d.ts +80 -0
  266. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.js +279 -0
  267. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.d.ts +44 -0
  268. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.js +437 -0
  269. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +85 -6
  270. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +697 -15
  271. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +7 -7
  272. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +40 -10
  273. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +164 -42
  274. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +6 -9
  275. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +260 -31
  276. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +2097 -589
  277. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.d.ts +32 -0
  278. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.js +860 -0
  279. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2229 -1338
  280. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +79 -26
  281. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/customizationMigrationDashboard.css +354 -0
  282. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +85 -9
  283. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +1550 -357
  284. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +2 -4
  285. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +13 -27
  286. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +38 -26
  287. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +637 -319
  288. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +28 -10
  289. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatPasteTargetService.d.ts +10 -0
  290. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatPasteTargetService.js +22 -0
  291. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.d.ts +15 -0
  292. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.js +38 -0
  293. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.d.ts +8 -0
  294. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.js +38 -0
  295. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +4 -1
  296. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +1675 -633
  297. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +93 -6
  298. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +823 -52
  299. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.d.ts +132 -0
  300. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.js +446 -0
  301. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.d.ts +183 -0
  302. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.js +218 -0
  303. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +45 -42
  304. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +11 -0
  305. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +163 -136
  306. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +72 -72
  307. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +7 -7
  308. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +22 -2
  309. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +105 -14
  310. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  311. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.d.ts +32 -0
  312. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.js +49 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  314. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  315. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  316. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  317. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +27 -22
  318. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +6 -0
  319. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +22 -23
  320. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  321. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -25
  322. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  323. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  324. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +7 -2
  325. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +76 -43
  326. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  327. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
  328. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
  329. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.d.ts +145 -0
  330. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.js +839 -0
  331. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +277 -3
  332. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  333. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +6 -6
  334. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  335. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  336. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  337. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +16 -16
  338. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -4
  339. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  340. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +8 -4
  341. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  342. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +6 -3
  343. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +35 -19
  344. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +16 -9
  345. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +4 -3
  346. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +4 -4
  347. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +4 -0
  348. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +7 -2
  349. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  350. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.d.ts +5 -5
  351. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +3 -3
  352. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.d.ts +86 -0
  353. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.js +282 -0
  354. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +14 -10
  355. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  356. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +5 -0
  357. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +37 -25
  358. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +7 -5
  359. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +135 -82
  360. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
  361. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutlineCreator.d.ts +17 -0
  362. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutlineCreator.js +28 -0
  363. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +5 -5
  364. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
  365. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.d.ts +7 -0
  366. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.js +114 -0
  367. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.d.ts +45 -0
  368. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.js +326 -0
  369. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.d.ts +33 -0
  370. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.js +99 -0
  371. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.d.ts +17 -0
  372. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.js +46 -0
  373. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.d.ts +27 -0
  374. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.js +301 -0
  375. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.d.ts +22 -0
  376. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +103 -0
  377. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +9 -36
  378. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +103 -196
  379. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  380. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +36 -30
  381. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +2 -0
  382. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +51 -12
  383. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  384. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +31 -27
  385. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +65 -20
  386. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +291 -138
  387. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +9 -0
  388. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/microsoft-dark.svg +1 -0
  389. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/microsoft-light.svg +1 -0
  390. package/vscode/src/vs/workbench/contrib/chat/browser/chatSideChat.d.ts +9 -0
  391. package/vscode/src/vs/workbench/contrib/chat/browser/chatSideChat.js +24 -0
  392. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -1
  393. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +59 -35
  394. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +7 -2
  395. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +221 -145
  396. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +15 -29
  397. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +21 -3
  398. package/vscode/src/vs/workbench/contrib/chat/browser/chatSubmitRequestHandlerService.d.ts +22 -0
  399. package/vscode/src/vs/workbench/contrib/chat/browser/chatSubmitRequestHandlerService.js +27 -0
  400. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +9 -0
  401. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +23 -21
  402. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +6 -1
  403. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +62 -6
  404. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +15 -1
  405. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +97 -8
  406. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  407. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +6 -6
  408. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +11 -2
  409. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +24 -16
  410. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  411. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  412. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.d.ts +44 -0
  413. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.js +232 -0
  414. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.d.ts +36 -0
  415. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.js +127 -0
  416. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +1 -1
  417. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyPromptContribution.d.ts +18 -0
  418. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyPromptContribution.js +55 -0
  419. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +4 -3
  420. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  421. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatPetAchievements.css +236 -0
  422. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +1 -1
  423. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.d.ts +9 -0
  424. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.js +260 -0
  425. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +39 -5
  426. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +155 -56
  427. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +10 -14
  428. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +29 -14
  429. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +2 -0
  430. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +76 -24
  431. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +1 -1
  432. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +53 -32
  433. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +1 -1
  434. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +17 -17
  435. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +8 -7
  436. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +1 -1
  437. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +29 -71
  438. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +3 -0
  439. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +36 -40
  440. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +3 -0
  441. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
  442. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  443. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +2 -2
  444. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  445. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  446. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +9 -16
  447. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  448. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +5 -13
  449. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/media/promptTimeline.css +820 -0
  450. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.d.ts +38 -0
  451. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.js +100 -0
  452. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.d.ts +1 -0
  453. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.js +51 -0
  454. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.d.ts +30 -0
  455. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.js +113 -0
  456. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.d.ts +146 -0
  457. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.js +440 -0
  458. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineLayout.d.ts +16 -0
  459. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineLayout.js +5 -0
  460. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.d.ts +194 -0
  461. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.js +525 -0
  462. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRail.d.ts +33 -0
  463. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.d.ts +128 -0
  464. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.js +460 -0
  465. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.d.ts +38 -0
  466. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.js +120 -0
  467. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.d.ts +53 -0
  468. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.js +160 -0
  469. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +25 -22
  470. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.d.ts +13 -0
  471. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.js +52 -0
  472. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.d.ts +22 -0
  473. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.js +58 -0
  474. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.d.ts +63 -0
  475. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.js +361 -0
  476. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.d.ts +35 -0
  477. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.js +90 -0
  478. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +25 -18
  479. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
  480. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +77 -41
  481. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +60 -43
  482. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -1
  483. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +60 -16
  484. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +10 -8
  485. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +13 -4
  486. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -1
  487. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +44 -24
  488. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +4 -4
  489. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  490. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +52 -6
  491. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +446 -79
  492. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.d.ts +11 -0
  493. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.js +13 -0
  494. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.d.ts +66 -0
  495. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.js +297 -0
  496. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.d.ts +137 -0
  497. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.js +714 -0
  498. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentOpenChat.css +379 -0
  499. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.d.ts +10 -0
  500. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.js +78 -0
  501. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.d.ts +36 -0
  502. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.js +172 -0
  503. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +5 -1
  504. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +8 -1
  505. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.d.ts +15 -0
  506. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.js +30 -0
  507. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +11 -1
  508. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +41 -13
  509. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +5 -2
  510. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +133 -3
  511. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +3 -2
  512. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +11 -2
  513. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +4 -4
  514. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.d.ts +1 -0
  515. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.js +96 -0
  516. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
  517. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +36 -1
  518. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +67 -17
  519. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +23 -37
  520. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.d.ts +18 -0
  521. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +72 -3
  522. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputPlaceholderDecoration.d.ts +11 -0
  523. package/vscode/src/vs/workbench/contrib/{agentsVoice/common/agentsVoiceColors.js → chat/browser/widget/input/editor/chatInputPlaceholderDecoration.js} +17 -15
  524. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.d.ts +3 -0
  525. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.js +16 -0
  526. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  527. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +6 -4
  528. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +21 -13
  529. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +48 -8
  530. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +457 -142
  531. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -1
  532. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +22 -14
  533. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +6 -22
  534. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.d.ts +22 -0
  535. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.js +163 -0
  536. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +27 -5
  537. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +79 -32
  538. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.d.ts +6 -0
  539. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.js +12 -0
  540. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +44 -11
  541. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +404 -51
  542. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +64 -4
  543. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +33 -2
  544. package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.d.ts +68 -0
  545. package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.js +70 -0
  546. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -2
  547. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +18 -5
  548. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +43 -14
  549. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -0
  550. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +4 -9
  551. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +164 -71
  552. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +1 -1
  553. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +1 -1
  554. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  555. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +12 -12
  556. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  557. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  558. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.d.ts +3 -1
  559. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +19 -10
  560. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +3 -1
  561. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +172 -159
  562. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.d.ts +115 -0
  563. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.js +69 -0
  564. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.d.ts +60 -0
  565. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.js +139 -0
  566. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  567. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +5 -0
  568. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +21 -1
  569. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +25 -2
  570. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +55 -18
  571. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  572. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  573. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +1 -1
  574. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +1 -0
  575. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  576. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  577. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.d.ts +59 -0
  578. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.js +323 -0
  579. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.d.ts +30 -0
  580. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.js +79 -0
  581. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +6 -2
  582. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +118 -13
  583. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  584. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  585. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  586. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  587. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  588. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
  589. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +1 -0
  590. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.d.ts +81 -0
  591. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +85 -0
  592. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  593. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  594. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +23 -23
  595. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  596. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +17 -3
  597. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +81 -7
  598. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatSessionResolver.d.ts +30 -0
  599. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatSessionResolver.js +86 -0
  600. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +10 -2
  601. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +97 -18
  602. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +2 -22
  603. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +10 -8
  604. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +2 -1
  605. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +2 -0
  606. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +42 -36
  607. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +8 -0
  608. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +10 -0
  609. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
  610. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
  611. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  612. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +25 -16
  613. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +4 -3
  614. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.d.ts +70 -0
  615. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.js +4316 -0
  616. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  617. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  618. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  619. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  620. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +4 -4
  621. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  622. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +4 -4
  623. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -1
  624. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +188 -148
  625. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  626. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  627. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  628. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  629. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  630. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +7 -0
  631. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -3
  632. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +5 -6
  633. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -42
  634. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalOutput.d.ts +2 -0
  635. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalOutput.js +8 -0
  636. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
  637. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +27 -8
  638. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +205 -0
  639. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +1580 -0
  640. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.d.ts +30 -0
  641. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.js +175 -0
  642. package/vscode/src/vs/workbench/services/agentEditorComments/browser/media/agentEditorCommentsOverlayWidget.css +65 -0
  643. package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.d.ts +47 -0
  644. package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.js +129 -0
  645. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +26 -8
  646. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +89 -27
  647. package/vscode/src/vs/workbench/services/agentHost/browser/webAgentHostEnablementService.d.ts +8 -0
  648. package/vscode/src/vs/workbench/services/agentHost/browser/webAgentHostEnablementService.js +28 -0
  649. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +5 -1
  650. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +18 -18
  651. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.js +159 -60
  652. package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.d.ts +47 -0
  653. package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.js +362 -0
  654. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +0 -1
  655. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +0 -40
  656. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +0 -1110
  657. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +0 -76
  658. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.d.ts +0 -63
  659. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.js +0 -25
  660. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +0 -254
  661. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +0 -451
  662. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +0 -1294
  663. package/vscode/src/vs/platform/agentHost/common/agentService.js +0 -92
  664. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/errors.d.ts +0 -186
  665. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/errors.js +0 -10
  666. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +0 -42
  667. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +0 -7
  668. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +0 -15
  669. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +0 -15
  670. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +0 -2
  671. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +0 -19
  672. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +0 -243
  673. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +0 -24
  674. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +0 -77
  675. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +0 -92
  676. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +0 -224
  677. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +0 -23
  678. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +0 -52
  679. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +0 -16
  680. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +0 -96
  681. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +0 -27
  682. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +0 -152
  683. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +0 -87
  684. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +0 -772
  685. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +0 -30
  686. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +0 -29
  687. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +0 -20
  688. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +0 -40
  689. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +0 -160
  690. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +0 -9
  691. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +0 -123
  692. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +0 -37
  693. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +0 -572
  694. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +0 -125
  695. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +0 -399
  696. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +0 -321
  697. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +0 -2117
  698. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +0 -57
  699. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +0 -367
  700. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +0 -78
  701. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +0 -13
  702. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +0 -11
  703. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +0 -6
  704. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +0 -16
  705. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +0 -6
  706. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +0 -46
  707. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +0 -36
  708. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +0 -6
  709. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +0 -12
  710. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +0 -6
  711. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +0 -9
  712. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +0 -6
  713. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +0 -15
  714. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +0 -177
  715. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +0 -67
  716. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +0 -195
  717. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +0 -65
  718. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +0 -264
  719. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +0 -190
  720. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +0 -865
  721. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +0 -31
  722. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +0 -122
  723. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
  724. /package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers → platform/terminal/common/autoApprove}/sedFileWriteParser.js +0 -0
  725. /package/vscode/src/vs/{platform/agentHost/common/agentHost.config.contribution.d.ts → workbench/contrib/chat/browser/agentSessionsConfiguration.d.ts} +0 -0
@@ -11,6 +11,19 @@
11
11
  overflow: hidden;
12
12
  }
13
13
 
14
+ .plugin-list-widget .plugin-card-section-count {
15
+ min-width: var(--vscode-spacing-size160);
16
+ padding: 0 var(--vscode-spacing-size40);
17
+ border-radius: var(--vscode-cornerRadius-circle);
18
+ background: var(--vscode-toolbar-hoverBackground);
19
+ color: var(--vscode-descriptionForeground);
20
+ font-size: var(--vscode-agents-fontSize-label3);
21
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
22
+ line-height: 16px;
23
+ text-align: center;
24
+ box-sizing: border-box;
25
+ }
26
+
14
27
  /* Inset button focus rings so they aren't clipped by a widget's overflow:hidden edge. !important overrides button.css. */
15
28
  .ai-customization-management-editor .monaco-button:focus,
16
29
  .ai-customization-list-widget .monaco-button:focus,
@@ -80,8 +93,85 @@
80
93
  }
81
94
 
82
95
  .ai-customization-management-editor .sidebar-sections-list {
96
+ flex: 0 0 auto;
97
+ overflow: hidden;
98
+ }
99
+
100
+ .ai-customization-management-editor .sidebar-migration-shortcut {
101
+ flex-shrink: 0;
102
+ margin-top: var(--vscode-spacing-size80);
103
+ padding-top: var(--vscode-spacing-size40);
104
+ }
105
+
106
+ .ai-customization-management-editor .sidebar-migration-separator {
107
+ height: var(--vscode-strokeThickness);
108
+ margin: 0 8px 6px;
109
+ background-color: var(--vscode-widget-border, var(--vscode-editorWidget-border, transparent));
110
+ }
111
+
112
+ .ai-customization-management-editor .sidebar-migration-shortcut > button.sidebar-migration-button {
113
+ all: unset;
114
+ box-sizing: border-box;
115
+ display: flex;
116
+ align-items: center;
117
+ gap: 10px;
118
+ width: 100%;
119
+ padding: 4px 8px;
120
+ border: none;
121
+ border-radius: var(--vscode-cornerRadius-small);
122
+ background: transparent;
123
+ color: var(--vscode-foreground);
124
+ cursor: pointer;
125
+ font-size: 12px;
126
+ font-weight: 400;
127
+ line-height: 18px;
128
+ font-family: inherit;
129
+ text-align: left;
130
+ }
131
+
132
+ .ai-customization-management-editor .sidebar-migration-shortcut > button.sidebar-migration-button:hover {
133
+ background-color: var(--vscode-list-hoverBackground);
134
+ }
135
+
136
+ .ai-customization-management-editor .sidebar-migration-shortcut > button.sidebar-migration-button.selected {
137
+ background-color: var(--vscode-list-activeSelectionBackground);
138
+ color: var(--vscode-list-activeSelectionForeground);
139
+ }
140
+
141
+ .ai-customization-management-editor .sidebar-migration-shortcut > button.sidebar-migration-button:focus-visible {
142
+ outline: var(--vscode-strokeThickness) solid var(--vscode-focusBorder);
143
+ outline-offset: -1px;
144
+ }
145
+
146
+ .ai-customization-management-editor .sidebar-migration-icon {
147
+ flex-shrink: 0;
148
+ width: 16px;
149
+ height: 16px;
150
+ display: flex;
151
+ align-items: center;
152
+ justify-content: center;
153
+ color: inherit;
154
+ opacity: 1;
155
+ }
156
+
157
+ .ai-customization-management-editor .sidebar-migration-label {
83
158
  flex: 1;
84
159
  overflow: hidden;
160
+ text-overflow: ellipsis;
161
+ white-space: nowrap;
162
+ font-size: 12px;
163
+ font-weight: 400;
164
+ }
165
+
166
+ .ai-customization-management-editor .sidebar-migration-count {
167
+ margin-left: auto;
168
+ flex-shrink: 0;
169
+ min-width: 14px;
170
+ color: var(--vscode-descriptionForeground);
171
+ font-size: var(--vscode-fontSize-label2);
172
+ font-weight: var(--vscode-fontWeight-semiBold);
173
+ line-height: 16px;
174
+ text-align: right;
85
175
  }
86
176
 
87
177
  /* Section list items */
@@ -130,8 +220,8 @@
130
220
 
131
221
  .ai-customization-management-editor .section-list-item .section-count {
132
222
  flex-shrink: 0;
133
- font-size: var(--vscode-agents-fontSize-label2);
134
- font-weight: var(--vscode-agents-fontWeight-semiBold);
223
+ font-size: var(--vscode-fontSize-label2);
224
+ font-weight: var(--vscode-fontWeight-semiBold);
135
225
  color: var(--vscode-descriptionForeground);
136
226
  border-radius: 8px;
137
227
  min-width: 14px;
@@ -165,6 +255,22 @@
165
255
  box-sizing: border-box;
166
256
  }
167
257
 
258
+ .plugin-list-widget > .section-title-header,
259
+ .plugin-list-widget > .plugin-marketplace-back-container,
260
+ .plugin-list-widget > .list-search-and-button-container,
261
+ .plugin-list-widget > .mcp-list-container,
262
+ .tools-list-widget > .section-title-header,
263
+ .tools-list-widget > .tools-list-search-and-button-container {
264
+ width: min(100%, 840px);
265
+ margin-inline: auto;
266
+ box-sizing: border-box;
267
+ }
268
+
269
+ .ai-customization-management-editor .contributed-section-container {
270
+ flex: 1 1 auto;
271
+ min-height: 0;
272
+ }
273
+
168
274
  .ai-customization-management-editor .section-back-arrow-button {
169
275
  flex-shrink: 0;
170
276
  align-self: flex-start;
@@ -258,7 +364,7 @@
258
364
  }
259
365
 
260
366
  .ai-customization-management-editor .harness-dropdown-chevron {
261
- font-size: 12px;
367
+ font-size: var(--vscode-codiconFontSize-compact);
262
368
  flex-shrink: 0;
263
369
  opacity: 0.7;
264
370
  }
@@ -268,9 +374,50 @@
268
374
  .mcp-list-widget .list-search-and-button-container {
269
375
  display: flex;
270
376
  align-items: center;
271
- gap: 8px;
272
377
  flex-shrink: 0;
273
- padding: 16px 0;
378
+ padding: var(--vscode-spacing-size160) 0 0;
379
+ margin-bottom: var(--vscode-spacing-size160);
380
+ }
381
+
382
+ .ai-customization-list-widget .list-search-and-button-container {
383
+ gap: var(--vscode-spacing-size80);
384
+ }
385
+
386
+ .mcp-list-widget .list-search-and-button-container {
387
+ gap: var(--vscode-spacing-size40);
388
+ }
389
+
390
+ .plugin-list-widget.browse-mode .list-search-and-button-container {
391
+ gap: var(--vscode-spacing-sizeNone);
392
+ }
393
+
394
+ .plugin-list-widget.narrow-layout .list-search-and-button-container {
395
+ align-items: stretch;
396
+ flex-wrap: wrap;
397
+ }
398
+
399
+ .plugin-list-widget.narrow-layout .list-search-container {
400
+ flex-basis: 100%;
401
+ }
402
+
403
+ .plugin-list-widget.narrow-layout .list-button-group {
404
+ width: 100%;
405
+ flex-wrap: nowrap;
406
+ }
407
+
408
+ .plugin-list-widget.narrow-layout .list-button-group > .list-add-button-container,
409
+ .plugin-list-widget.narrow-layout .list-button-group > .list-add-button {
410
+ flex: 1 1 auto;
411
+ min-width: 0;
412
+ }
413
+
414
+ .plugin-list-widget.narrow-layout .list-button-group > .list-add-button {
415
+ width: auto;
416
+ }
417
+
418
+ .plugin-list-widget.narrow-layout .list-button-group > .list-icon-button {
419
+ flex: 0 0 var(--vscode-spacing-size280);
420
+ width: var(--vscode-spacing-size280);
274
421
  }
275
422
 
276
423
  .ai-customization-list-widget .list-search-container,
@@ -300,7 +447,7 @@
300
447
  .ai-customization-list-widget .list-container {
301
448
  flex: 1;
302
449
  min-height: 0;
303
- overflow: auto;
450
+ overflow: hidden;
304
451
  }
305
452
 
306
453
  .ai-customization-list-widget .list-empty-message {
@@ -326,13 +473,13 @@
326
473
  .ai-customization-list-widget .list-empty-state .empty-state-text,
327
474
  .ai-customization-management-editor .tools-list-widget .list-empty-state .empty-state-text {
328
475
  font-size: 16px;
329
- font-weight: var(--vscode-agents-fontWeight-semiBold);
476
+ font-weight: var(--vscode-fontWeight-semiBold);
330
477
  color: var(--vscode-foreground);
331
478
  }
332
479
 
333
480
  .ai-customization-list-widget .list-empty-state .empty-state-subtext,
334
481
  .ai-customization-management-editor .tools-list-widget .list-empty-state .empty-state-subtext {
335
- font-size: var(--vscode-agents-fontSize-body1);
482
+ font-size: var(--vscode-fontSize-body1);
336
483
  color: var(--vscode-descriptionForeground);
337
484
  max-width: 250px;
338
485
  line-height: 1.4;
@@ -342,6 +489,20 @@
342
489
  margin-top: 16px;
343
490
  }
344
491
 
492
+ /* Sessions empty state */
493
+ .agent-sessions-workbench .ai-customization-list-widget .list-empty-state .empty-state-header {
494
+ display: flex;
495
+ flex-direction: row;
496
+ align-items: center;
497
+ gap: 6px;
498
+ }
499
+
500
+ .agent-sessions-workbench .ai-customization-list-widget .list-empty-state .empty-state-header > .empty-state-icon {
501
+ font-size: 16px;
502
+ margin-bottom: 0;
503
+ flex-shrink: 0;
504
+ }
505
+
345
506
  /* Group header styling */
346
507
  .ai-customization-group-header {
347
508
  display: flex;
@@ -370,7 +531,7 @@
370
531
  display: flex;
371
532
  align-items: center;
372
533
  justify-content: center;
373
- font-size: 12px;
534
+ font-size: var(--vscode-codiconFontSize-compact);
374
535
  opacity: 0.7;
375
536
  order: 10;
376
537
  margin-left: auto;
@@ -388,9 +549,10 @@
388
549
  min-width: 0;
389
550
  }
390
551
 
552
+ /* No text-transform: these labels are localized strings that are already cased correctly, and
553
+ per-word capitalization does not survive translation. */
391
554
  .ai-customization-group-header .group-label {
392
- font-weight: var(--vscode-agents-fontWeight-semiBold);
393
- text-transform: capitalize;
555
+ font-weight: var(--vscode-fontWeight-semiBold);
394
556
  color: var(--vscode-sideBarSectionHeader-foreground, var(--vscode-foreground));
395
557
  overflow: hidden;
396
558
  text-overflow: ellipsis;
@@ -399,8 +561,8 @@
399
561
 
400
562
  .ai-customization-group-header .group-count {
401
563
  flex-shrink: 0;
402
- font-size: var(--vscode-agents-fontSize-label2);
403
- font-weight: var(--vscode-agents-fontWeight-semiBold);
564
+ font-size: var(--vscode-fontSize-label2);
565
+ font-weight: var(--vscode-fontWeight-semiBold);
404
566
  color: var(--vscode-descriptionForeground);
405
567
  text-align: right;
406
568
  margin-top: 2px;
@@ -490,7 +652,7 @@
490
652
  /* Shared inline badge style — used by MCP "Bridged" badge and item badges */
491
653
  .inline-badge {
492
654
  flex-shrink: 0;
493
- font-size: var(--vscode-agents-fontSize-label3);
655
+ font-size: var(--vscode-fontSize-label3);
494
656
  padding: 0 4px;
495
657
  border-radius: 3px;
496
658
  color: var(--vscode-descriptionForeground);
@@ -545,7 +707,7 @@
545
707
  }
546
708
 
547
709
  .ai-customization-list-item .item-name {
548
- font-size: var(--vscode-agents-fontSize-body1);
710
+ font-size: var(--vscode-fontSize-body1);
549
711
  overflow: hidden;
550
712
  text-overflow: ellipsis;
551
713
  white-space: nowrap;
@@ -553,7 +715,7 @@
553
715
  }
554
716
 
555
717
  .ai-customization-list-item .item-description {
556
- font-size: var(--vscode-agents-fontSize-body2);
718
+ font-size: var(--vscode-fontSize-body2);
557
719
  color: var(--vscode-descriptionForeground);
558
720
  overflow: hidden;
559
721
  text-overflow: ellipsis;
@@ -563,7 +725,7 @@
563
725
 
564
726
  .ai-customization-list-item .item-description.is-filename {
565
727
  font-family: monospace;
566
- font-size: var(--vscode-agents-fontSize-label3);
728
+ font-size: var(--vscode-fontSize-label3);
567
729
  opacity: 0.7;
568
730
  }
569
731
 
@@ -620,8 +782,8 @@
620
782
  .ai-customization-list-widget .section-title-header .section-title,
621
783
  .mcp-list-widget .section-title-header .section-title,
622
784
  .ai-customization-management-editor .tools-list-widget .section-title-header .section-title {
623
- font-size: var(--vscode-agents-fontSize-heading2);
624
- font-weight: var(--vscode-agents-fontWeight-semiBold);
785
+ font-size: var(--vscode-fontSize-heading2);
786
+ font-weight: var(--vscode-fontWeight-semiBold);
625
787
  margin: 0;
626
788
  color: var(--vscode-foreground);
627
789
  }
@@ -629,21 +791,16 @@
629
791
  .ai-customization-list-widget .section-title-header .section-title-description,
630
792
  .mcp-list-widget .section-title-header .section-title-description,
631
793
  .ai-customization-management-editor .tools-list-widget .section-title-header .section-title-description {
632
- font-size: var(--vscode-agents-fontSize-body1);
794
+ font-size: var(--vscode-fontSize-body1);
633
795
  line-height: 1.45;
634
796
  color: var(--vscode-descriptionForeground);
635
797
  margin: 0 0 8px 0;
636
- /* Reserve space for ~2 lines so the header height is stable across sections. */
637
- /* Rounded up to a whole pixel so naturally-wrapped 2-line descriptions and */
638
- /* shorter 1-line descriptions render at the same height instead of differing */
639
- /* by a sub-pixel rounding. */
640
- min-height: 38px;
641
798
  }
642
799
 
643
800
  .ai-customization-list-widget .section-title-header .section-title-link,
644
801
  .mcp-list-widget .section-title-header .section-title-link,
645
802
  .ai-customization-management-editor .tools-list-widget .section-title-header .section-title-link {
646
- font-size: var(--vscode-agents-fontSize-body1);
803
+ font-size: var(--vscode-fontSize-body1);
647
804
  /* Match the description's line-height so the link's inline-flex line-box */
648
805
  /* does not change the total header height between sections. */
649
806
  line-height: 1.45;
@@ -676,13 +833,13 @@
676
833
  }
677
834
 
678
835
  .ai-customization-list-widget .section-footer .section-footer-description {
679
- font-size: var(--vscode-agents-fontSize-body1);
836
+ font-size: var(--vscode-fontSize-body1);
680
837
  color: var(--vscode-descriptionForeground);
681
838
  margin: 0 0 8px 0;
682
839
  }
683
840
 
684
841
  .ai-customization-list-widget .section-footer .section-footer-link {
685
- font-size: var(--vscode-agents-fontSize-body1);
842
+ font-size: var(--vscode-fontSize-body1);
686
843
  color: var(--vscode-textLink-foreground);
687
844
  text-decoration: none;
688
845
  cursor: pointer;
@@ -748,8 +905,8 @@
748
905
  }
749
906
 
750
907
  .ai-customization-overview .overview-section .section-label {
751
- font-size: var(--vscode-agents-fontSize-label1);
752
- font-weight: var(--vscode-agents-fontWeight-semiBold);
908
+ font-size: var(--vscode-fontSize-label1);
909
+ font-weight: var(--vscode-fontWeight-semiBold);
753
910
  color: var(--vscode-foreground);
754
911
  overflow: hidden;
755
912
  text-overflow: ellipsis;
@@ -761,7 +918,7 @@
761
918
  .ai-customization-overview .overview-section .section-count {
762
919
  flex-shrink: 0;
763
920
  font-size: 9px;
764
- font-weight: 500;
921
+ font-weight: var(--vscode-fontWeight-semiBold);
765
922
  padding: 1px 5px;
766
923
  background-color: var(--vscode-list-inactiveSelectionBackground);
767
924
  color: var(--vscode-list-inactiveSelectionForeground, var(--vscode-foreground));
@@ -772,15 +929,16 @@
772
929
 
773
930
  /* Content container visibility */
774
931
  .ai-customization-management-editor .prompts-content-container,
932
+ .ai-customization-management-editor .prompt-migration-content-container,
775
933
  .ai-customization-management-editor .mcp-content-container,
776
934
  .ai-customization-management-editor .plugin-content-container,
777
935
  .ai-customization-management-editor .models-content-container,
778
- .ai-customization-management-editor .tools-content-container,
779
- .ai-customization-management-editor .automations-content-container {
936
+ .ai-customization-management-editor .tools-content-container {
780
937
  height: 100%;
781
938
  display: flex;
782
939
  flex-direction: column;
783
- padding: 40px 40px 16px;
940
+ padding-block: var(--vscode-spacing-size400) var(--vscode-spacing-size160);
941
+ padding-inline: var(--vscode-spacing-size400);
784
942
  background: var(--vscode-agentsPanel-background);
785
943
  border: 1px solid var(--vscode-agentsPanel-border);
786
944
  border-radius: 6px;
@@ -788,384 +946,1298 @@
788
946
  box-sizing: border-box;
789
947
  }
790
948
 
791
- /* Tools section list widget */
792
- .ai-customization-management-editor .tools-list-widget {
793
- height: 100%;
794
- display: flex;
795
- flex-direction: column;
796
- gap: 16px;
797
- overflow: hidden;
949
+ .ai-customization-management-editor .prompts-content-container,
950
+ .ai-customization-management-editor .prompt-migration-content-container,
951
+ .ai-customization-management-editor .tools-content-container {
952
+ padding-inline: var(--vscode-spacing-sizeNone);
953
+ }
954
+
955
+ /* The scroll hosts reach the pane edge while their content retains the panel inset. */
956
+ .ai-customization-management-editor .prompts-content-container > .ai-customization-list-widget.plugin-list-widget > .section-title-header,
957
+ .ai-customization-management-editor .prompts-content-container > .ai-customization-list-widget.plugin-list-widget > .list-search-and-button-container,
958
+ .ai-customization-management-editor .prompts-content-container > .ai-customization-list-widget.plugin-list-widget .plugin-card-scroll,
959
+ .ai-customization-management-editor .prompt-migration-content-container > .section-title-header,
960
+ .ai-customization-management-editor .prompt-migration-content-container > .customization-migration-banner,
961
+ .ai-customization-management-editor .prompt-migration-content-container > .prompt-migration-footer,
962
+ .ai-customization-management-editor .prompt-migration-list,
963
+ .ai-customization-management-editor .tools-content-container > .tools-list-widget > .section-title-header,
964
+ .ai-customization-management-editor .tools-content-container > .tools-list-widget > .tools-list-search-and-button-container,
965
+ .ai-customization-management-editor .tools-list-tree {
966
+ width: min(calc(100% - var(--vscode-spacing-size400) - var(--vscode-spacing-size400)), 840px);
967
+ margin-inline: auto;
798
968
  }
799
969
 
800
- .ai-customization-management-editor .tools-list-search-and-button-container {
801
- display: flex;
802
- align-items: center;
803
- gap: 8px;
804
- flex: none;
970
+ .ai-customization-management-editor .tools-content-container > .tools-list-widget > .tools-gallery-container {
971
+ width: min(calc(100% - var(--vscode-spacing-size400) - var(--vscode-spacing-size400) - var(--vscode-spacing-size40)), 840px);
972
+ margin-inline: auto;
973
+ box-sizing: border-box;
805
974
  }
806
975
 
807
- .ai-customization-management-editor .tools-list-search-container {
808
- flex: 1;
976
+ .ai-customization-management-editor .prompts-content-container > .ai-customization-list-widget.plugin-list-widget > .plugin-card-scrollable {
977
+ max-width: none;
809
978
  }
810
979
 
811
- .ai-customization-management-editor .tools-list-search-container .monaco-inputbox {
980
+ .ai-customization-management-editor .prompt-migration-list-scrollable {
981
+ position: relative;
982
+ flex: 1;
983
+ min-height: 0;
812
984
  width: 100%;
813
985
  }
814
986
 
815
- .ai-customization-management-editor .tools-list-browse-button-container {
987
+ .ai-customization-management-editor .prompt-migration-list-scrollable > .prompt-migration-scroll-container {
988
+ position: absolute;
989
+ inset: 0;
990
+ overflow: hidden;
991
+ }
992
+
993
+ .ai-customization-management-editor .prompt-migration-footer {
816
994
  flex-shrink: 0;
995
+ display: flex;
996
+ align-items: center;
997
+ justify-content: space-between;
998
+ gap: var(--vscode-spacing-size80);
999
+ padding-top: var(--vscode-spacing-size120);
1000
+ border-top: var(--vscode-strokeThickness) solid var(--vscode-widget-border);
817
1001
  }
818
1002
 
819
- .ai-customization-management-editor .tools-list-browse-button-container .monaco-button {
820
- white-space: nowrap;
1003
+ .ai-customization-management-editor .prompt-migration-selected-count {
1004
+ font-size: var(--vscode-agents-fontSize-body2);
1005
+ color: var(--vscode-descriptionForeground);
821
1006
  }
822
1007
 
823
- /* Marketplace browse (gallery) list */
824
- .ai-customization-management-editor .tools-gallery-container {
1008
+ .ai-customization-management-editor .prompt-migration-settings-item {
1009
+ display: flex;
1010
+ align-items: center;
1011
+ gap: var(--vscode-spacing-size80);
1012
+ min-height: 56px;
1013
+ padding: var(--vscode-spacing-size80) var(--vscode-spacing-size120);
1014
+ box-sizing: border-box;
1015
+ }
1016
+
1017
+ .ai-customization-management-editor .prompt-migration-settings-item-text {
825
1018
  display: flex;
826
1019
  flex-direction: column;
827
- flex: 1;
828
- min-height: 0;
1020
+ gap: var(--vscode-spacing-size20);
1021
+ min-width: 0;
1022
+ cursor: pointer;
829
1023
  }
830
1024
 
831
- .ai-customization-management-editor .tools-gallery-list {
832
- flex: 1;
833
- min-height: 0;
1025
+ .ai-customization-management-editor .prompt-migration-settings-item-label {
1026
+ color: var(--vscode-foreground);
834
1027
  }
835
1028
 
836
- /* Shared gallery row used by the tools, MCP server and plugin marketplace lists. See galleryItemRenderer.ts */
837
- .ai-customization-management-editor .gallery-item {
838
- display: flex;
839
- align-items: center;
840
- gap: 8px;
841
- padding: 8px 12px;
842
- box-sizing: border-box;
843
- border-radius: 4px;
844
- cursor: default;
1029
+ .ai-customization-management-editor .prompt-migration-settings-item-description {
1030
+ color: var(--vscode-descriptionForeground);
1031
+ font-size: var(--vscode-agents-fontSize-body2);
845
1032
  }
846
1033
 
847
- .ai-customization-management-editor .gallery-item:hover {
848
- background-color: var(--vscode-list-hoverBackground);
1034
+ .ai-customization-management-editor .prompt-migration-settings-item.disabled .prompt-migration-settings-item-text {
1035
+ cursor: default;
1036
+ opacity: 0.6;
849
1037
  }
850
1038
 
851
- .ai-customization-management-editor .gallery-item-details {
1039
+ .ai-customization-management-editor .prompt-migration-state {
852
1040
  display: flex;
853
1041
  flex-direction: column;
854
- flex: 1;
855
- min-width: 0;
856
- overflow: hidden;
1042
+ align-items: flex-start;
1043
+ gap: var(--vscode-spacing-size60);
1044
+ margin-top: var(--vscode-spacing-size120);
1045
+ border: var(--vscode-strokeThickness) solid var(--vscode-widget-border);
1046
+ border-radius: var(--vscode-cornerRadius-medium);
857
1047
  }
858
1048
 
859
- .ai-customization-management-editor .gallery-item-name {
1049
+ .ai-customization-management-editor .prompt-migration-state-title {
1050
+ color: var(--vscode-foreground);
860
1051
  font-size: var(--vscode-agents-fontSize-body1);
861
1052
  font-weight: var(--vscode-agents-fontWeight-semiBold);
862
- line-height: 18px;
863
- overflow: hidden;
864
- text-overflow: ellipsis;
865
- white-space: nowrap;
866
1053
  }
867
1054
 
868
- .ai-customization-management-editor .gallery-item-description,
869
- .ai-customization-management-editor .gallery-item-publisher {
870
- font-size: var(--vscode-agents-fontSize-body2);
1055
+ .ai-customization-management-editor .prompt-migration-state-description {
871
1056
  color: var(--vscode-descriptionForeground);
872
- line-height: 16px;
873
- overflow: hidden;
874
- text-overflow: ellipsis;
875
- white-space: nowrap;
1057
+ font-size: var(--vscode-agents-fontSize-body2);
876
1058
  }
877
1059
 
878
- .ai-customization-management-editor .gallery-item-action {
879
- flex-shrink: 0;
1060
+ .ai-customization-management-editor .prompt-migration-state .monaco-button {
1061
+ width: auto;
1062
+ margin-top: var(--vscode-spacing-size40);
880
1063
  }
881
1064
 
882
- .ai-customization-management-editor .gallery-item-action .monaco-button {
883
- white-space: nowrap;
884
- font-size: var(--vscode-agents-fontSize-body2);
885
- padding: 2px 10px;
1065
+ .ai-customization-management-editor .prompt-migration-footer .monaco-button {
1066
+ width: auto;
886
1067
  }
887
1068
 
888
- .ai-customization-management-editor .gallery-item-action .monaco-button:focus-visible {
889
- outline-offset: -1px;
1069
+ .ai-customization-management-editor .prompt-migration-content-container .section-title-header {
1070
+ margin-bottom: var(--vscode-spacing-size80);
890
1071
  }
891
1072
 
892
- /* DomScrollableElement wrapper around the tool tree; takes remaining height for the overlay scrollbar. */
893
- .ai-customization-management-editor .tools-list-tree-scrollable {
894
- position: relative;
895
- flex: 1;
896
- min-height: 0;
1073
+ .ai-customization-management-editor .prompt-migration-content-container .section-title-header .section-title-row {
1074
+ margin-bottom: 0;
897
1075
  }
898
1076
 
899
- /* The scrolled element: bound it to the wrapper so clientHeight < scrollHeight when content overflows. */
900
- .ai-customization-management-editor .tools-list-tree {
901
- position: absolute;
902
- inset: 0;
903
- overflow: hidden;
1077
+ .ai-customization-management-editor .customization-migration-banner {
1078
+ flex-shrink: 0;
1079
+ margin: 0 0 var(--vscode-spacing-size240);
1080
+ padding: 0;
1081
+ background: transparent;
1082
+ border: 0;
1083
+ box-sizing: border-box;
1084
+ }
1085
+
1086
+ .ai-customization-management-editor .customization-migration-banner-content {
904
1087
  display: flex;
905
1088
  flex-direction: column;
906
- gap: 2px;
1089
+ gap: var(--vscode-spacing-size80);
1090
+ min-width: 0;
907
1091
  }
908
1092
 
909
- /* Top-level tool-set row */
910
- .ai-customization-management-editor .tools-list-setrow {
911
- display: flex;
912
- align-items: center;
913
- gap: 8px;
914
- padding: 6px 12px;
915
- border-radius: 4px;
916
- outline-offset: -1px;
1093
+ .ai-customization-management-editor .customization-migration-banner-title {
1094
+ margin: 0;
1095
+ font-size: var(--vscode-fontSize-body1);
1096
+ font-weight: var(--vscode-fontWeight-semiBold);
1097
+ color: var(--vscode-foreground);
917
1098
  }
918
1099
 
919
- .ai-customization-management-editor .tools-list-setrow:hover,
1100
+ .ai-customization-management-editor .customization-migration-banner-message {
1101
+ margin: 0;
1102
+ font-size: var(--vscode-fontSize-body1);
1103
+ line-height: 1.45;
1104
+ color: var(--vscode-foreground);
1105
+ }
1106
+
1107
+ .ai-customization-management-editor .customization-migration-banner-message.rendered-markdown p {
1108
+ margin: 0;
1109
+ }
1110
+
1111
+ .ai-customization-management-editor .customization-migration-banner-message.rendered-markdown a {
1112
+ color: var(--vscode-textLink-foreground);
1113
+ }
1114
+
1115
+ .ai-customization-management-editor .customization-migration-banner-message.rendered-markdown a:hover,
1116
+ .ai-customization-management-editor .customization-migration-banner-message.rendered-markdown a:active {
1117
+ color: var(--vscode-textLink-activeForeground);
1118
+ }
1119
+
1120
+ .ai-customization-management-editor .customization-migration-banner-consequence {
1121
+ margin: 0;
1122
+ font-size: var(--vscode-fontSize-body2);
1123
+ line-height: 1.45;
1124
+ color: var(--vscode-descriptionForeground);
1125
+ }
1126
+
1127
+ .ai-customization-management-editor .migration-learn-more-link {
1128
+ align-self: flex-start;
1129
+ margin-top: 0;
1130
+ }
1131
+
1132
+ .ai-customization-management-editor .customization-migration-banner .section-title-link {
1133
+ color: var(--vscode-textLink-foreground);
1134
+ text-decoration: none;
1135
+ cursor: pointer;
1136
+ }
1137
+
1138
+ .ai-customization-management-editor .customization-migration-banner .section-title-link:hover,
1139
+ .ai-customization-management-editor .customization-migration-banner .section-title-link:active {
1140
+ color: var(--vscode-textLink-activeForeground);
1141
+ text-decoration: underline;
1142
+ }
1143
+
1144
+ .ai-customization-management-editor .customization-migration-page-destinations {
1145
+ margin-top: var(--vscode-spacing-size120);
1146
+ }
1147
+
1148
+ .ai-customization-management-editor .prompt-migration-list {
1149
+ height: 100%;
1150
+ min-height: 0;
1151
+ display: flex;
1152
+ flex-direction: column;
1153
+ overflow: hidden;
1154
+ gap: var(--vscode-spacing-size100);
1155
+ padding: 0;
1156
+ box-sizing: border-box;
1157
+ }
1158
+
1159
+ .ai-customization-management-editor .prompt-migration-group {
1160
+ display: flex;
1161
+ flex-direction: column;
1162
+ margin: 0;
1163
+ }
1164
+
1165
+ .ai-customization-management-editor .prompt-migration-group-header {
1166
+ display: flex;
1167
+ align-items: center;
1168
+ justify-content: space-between;
1169
+ gap: var(--vscode-spacing-size120);
1170
+ margin-bottom: var(--vscode-spacing-size80);
1171
+ padding: 0;
1172
+ background: transparent;
1173
+ }
1174
+
1175
+ .ai-customization-management-editor .prompt-migration-group-heading {
1176
+ display: flex;
1177
+ align-items: center;
1178
+ gap: var(--vscode-spacing-size60);
1179
+ min-width: 0;
1180
+ }
1181
+
1182
+ .ai-customization-management-editor .customization-section-toggle {
1183
+ flex: 0 0 auto;
1184
+ width: var(--vscode-spacing-size160);
1185
+ height: var(--vscode-spacing-size160);
1186
+ padding: 0;
1187
+ border: 0;
1188
+ border-radius: var(--vscode-cornerRadius-small);
1189
+ background: transparent;
1190
+ color: var(--vscode-icon-foreground);
1191
+ line-height: var(--vscode-spacing-size160);
1192
+ cursor: pointer;
1193
+ }
1194
+
1195
+ .ai-customization-management-editor .customization-section-toggle:hover {
1196
+ background: var(--vscode-toolbar-hoverBackground);
1197
+ }
1198
+
1199
+ .ai-customization-management-editor .customization-section-toggle:focus-visible {
1200
+ outline: var(--vscode-strokeThickness) solid var(--vscode-focusBorder);
1201
+ outline-offset: calc(-1 * var(--vscode-strokeThickness));
1202
+ }
1203
+
1204
+ .ai-customization-management-editor .distributed-section-layout.virtualized-section-layout-overflow {
1205
+ padding-right: var(--vscode-spacing-size100);
1206
+ }
1207
+
1208
+ .vscode-high-contrast .ai-customization-management-editor .customization-section-toggle:focus-visible {
1209
+ outline-color: var(--vscode-contrastActiveBorder);
1210
+ }
1211
+
1212
+ .ai-customization-management-editor .prompt-migration-group-title {
1213
+ margin: 0;
1214
+ font-size: var(--vscode-agents-fontSize-heading3);
1215
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
1216
+ color: var(--vscode-foreground);
1217
+ }
1218
+
1219
+ .ai-customization-management-editor .prompt-migration-group-count {
1220
+ font-size: var(--vscode-agents-fontSize-label2);
1221
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
1222
+ color: var(--vscode-descriptionForeground);
1223
+ }
1224
+
1225
+ .ai-customization-management-editor .prompt-migration-group-controls {
1226
+ display: flex;
1227
+ align-items: center;
1228
+ gap: var(--vscode-spacing-size40);
1229
+ flex: 0 0 auto;
1230
+ }
1231
+
1232
+ .ai-customization-management-editor .prompt-migration-group-controls .monaco-checkbox {
1233
+ margin-right: 0;
1234
+ }
1235
+
1236
+ .ai-customization-management-editor .prompt-migration-select-all-label {
1237
+ padding-inline-end: var(--vscode-spacing-size20);
1238
+ font-size: var(--vscode-agents-fontSize-body2);
1239
+ color: var(--vscode-descriptionForeground);
1240
+ cursor: pointer;
1241
+ }
1242
+
1243
+ .ai-customization-management-editor .prompt-migration-group-checkbox {
1244
+ margin: 0;
1245
+ }
1246
+
1247
+ .ai-customization-management-editor .prompt-migration-group-items {
1248
+ display: flex;
1249
+ flex-direction: column;
1250
+ border: var(--vscode-strokeThickness) solid var(--vscode-widget-border);
1251
+ border-radius: var(--vscode-cornerRadius-medium);
1252
+ overflow: hidden;
1253
+ }
1254
+
1255
+ .ai-customization-management-editor .prompt-migration-group-items.virtualized-section-list {
1256
+ display: block;
1257
+ }
1258
+
1259
+ .ai-customization-management-editor .prompt-migration-group-items.virtualized-section-list .monaco-list-row {
1260
+ box-sizing: border-box;
1261
+ }
1262
+
1263
+ .ai-customization-management-editor .prompt-migration-group-empty {
1264
+ padding: var(--vscode-spacing-size160);
1265
+ color: var(--vscode-descriptionForeground);
1266
+ font-size: var(--vscode-agents-fontSize-body2);
1267
+ line-height: 16px;
1268
+ }
1269
+
1270
+ .ai-customization-management-editor .prompt-migration-item {
1271
+ gap: 8px;
1272
+ cursor: default;
1273
+ min-height: 56px;
1274
+ padding: var(--vscode-spacing-size80) var(--vscode-spacing-size120);
1275
+ border-radius: 0;
1276
+ box-sizing: border-box;
1277
+ }
1278
+
1279
+ .ai-customization-management-editor .prompt-migration-group-items.virtualized-section-list .monaco-list-row:not(:first-child) {
1280
+ box-shadow: inset 0 var(--vscode-strokeThickness) var(--vscode-widget-border);
1281
+ }
1282
+
1283
+ .ai-customization-management-editor .prompt-migration-checkbox {
1284
+ flex-shrink: 0;
1285
+ margin: 0;
1286
+ }
1287
+
1288
+ .ai-customization-management-editor .prompt-migration-item-name {
1289
+ color: inherit;
1290
+ }
1291
+
1292
+ .ai-customization-management-editor .prompt-migration-item .item-left {
1293
+ gap: 8px;
1294
+ }
1295
+
1296
+ .ai-customization-management-editor .prompt-migration-open-button.monaco-text-button {
1297
+ flex: 1;
1298
+ flex-direction: column;
1299
+ align-items: stretch;
1300
+ justify-content: center;
1301
+ min-width: 0;
1302
+ width: 100%;
1303
+ padding: 0;
1304
+ border: none;
1305
+ background: transparent;
1306
+ color: inherit;
1307
+ font: inherit;
1308
+ text-align: left;
1309
+ cursor: pointer;
1310
+ border-radius: var(--vscode-cornerRadius-small);
1311
+ }
1312
+
1313
+ .ai-customization-management-editor .prompt-migration-item .icon-button {
1314
+ display: inline-flex;
1315
+ align-items: center;
1316
+ justify-content: center;
1317
+ width: 24px;
1318
+ height: 24px;
1319
+ padding: 0;
1320
+ border: none;
1321
+ border-radius: var(--vscode-cornerRadius-small);
1322
+ background: transparent;
1323
+ color: var(--vscode-icon-foreground);
1324
+ cursor: pointer;
1325
+ font-size: 16px;
1326
+ }
1327
+
1328
+ .ai-customization-management-editor .prompt-migration-more-action {
1329
+ color: var(--vscode-descriptionForeground);
1330
+ }
1331
+
1332
+ .ai-customization-management-editor .prompt-migration-item .icon-button:hover {
1333
+ background-color: var(--vscode-toolbar-hoverBackground);
1334
+ }
1335
+
1336
+ .ai-customization-management-editor .prompt-migration-item .icon-button:focus {
1337
+ outline: 1px solid var(--vscode-focusBorder);
1338
+ outline-offset: -1px;
1339
+ }
1340
+
1341
+ .ai-customization-management-editor .prompt-migration-empty {
1342
+ margin: 0;
1343
+ padding: 8px 12px;
1344
+ color: var(--vscode-descriptionForeground);
1345
+ font-size: var(--vscode-fontSize-body2);
1346
+ }
1347
+
1348
+ .ai-customization-management-editor .prompt-migration-button {
1349
+ min-width: 96px;
1350
+ }
1351
+
1352
+ /* Tools section list widget */
1353
+ .ai-customization-management-editor .tools-list-widget {
1354
+ height: 100%;
1355
+ display: flex;
1356
+ flex-direction: column;
1357
+ gap: 16px;
1358
+ overflow: hidden;
1359
+ }
1360
+
1361
+ .ai-customization-management-editor .tools-list-search-and-button-container {
1362
+ display: flex;
1363
+ align-items: center;
1364
+ gap: 8px;
1365
+ flex: none;
1366
+ }
1367
+
1368
+ .ai-customization-management-editor .tools-list-search-container {
1369
+ flex: 1;
1370
+ }
1371
+
1372
+ .ai-customization-management-editor .tools-list-search-container .monaco-inputbox {
1373
+ width: 100%;
1374
+ }
1375
+
1376
+ .ai-customization-management-editor .tools-list-browse-button-container {
1377
+ flex-shrink: 0;
1378
+ }
1379
+
1380
+ .ai-customization-management-editor .tools-list-browse-button-container .monaco-button {
1381
+ white-space: nowrap;
1382
+ }
1383
+
1384
+ /* Marketplace browse (gallery) list */
1385
+ .ai-customization-management-editor .tools-gallery-container {
1386
+ display: flex;
1387
+ flex-direction: column;
1388
+ flex: 1;
1389
+ min-height: 0;
1390
+ }
1391
+
1392
+ .ai-customization-management-editor .tools-gallery-list {
1393
+ flex: 1;
1394
+ min-height: 0;
1395
+ }
1396
+
1397
+ /* Shared gallery row used by the tools, MCP server and plugin marketplace lists. See galleryItemRenderer.ts */
1398
+ .ai-customization-management-editor .gallery-item {
1399
+ display: flex;
1400
+ align-items: center;
1401
+ gap: 8px;
1402
+ padding: 8px 12px;
1403
+ box-sizing: border-box;
1404
+ border-radius: 4px;
1405
+ cursor: default;
1406
+ }
1407
+
1408
+ .ai-customization-management-editor .gallery-item:hover {
1409
+ background-color: var(--vscode-list-hoverBackground);
1410
+ }
1411
+
1412
+ .ai-customization-management-editor .gallery-item-details {
1413
+ display: flex;
1414
+ flex-direction: column;
1415
+ flex: 1;
1416
+ min-width: 0;
1417
+ overflow: hidden;
1418
+ }
1419
+
1420
+ .ai-customization-management-editor .gallery-item-name {
1421
+ font-size: var(--vscode-fontSize-body1);
1422
+ font-weight: var(--vscode-fontWeight-semiBold);
1423
+ line-height: 18px;
1424
+ overflow: hidden;
1425
+ text-overflow: ellipsis;
1426
+ white-space: nowrap;
1427
+ }
1428
+
1429
+ .ai-customization-management-editor .gallery-item-description,
1430
+ .ai-customization-management-editor .gallery-item-publisher {
1431
+ font-size: var(--vscode-fontSize-body2);
1432
+ color: var(--vscode-descriptionForeground);
1433
+ line-height: 16px;
1434
+ overflow: hidden;
1435
+ text-overflow: ellipsis;
1436
+ white-space: nowrap;
1437
+ }
1438
+
1439
+ .ai-customization-management-editor .gallery-item-action {
1440
+ flex-shrink: 0;
1441
+ }
1442
+
1443
+ .ai-customization-management-editor .gallery-item-action .monaco-button {
1444
+ white-space: nowrap;
1445
+ font-size: var(--vscode-fontSize-body2);
1446
+ padding: 2px 10px;
1447
+ }
1448
+
1449
+ .ai-customization-management-editor .gallery-item-action .monaco-button:focus-visible {
1450
+ outline-offset: -1px;
1451
+ }
1452
+
1453
+ /* DomScrollableElement wrapper around the tool tree; takes remaining height for the overlay scrollbar. */
1454
+ .ai-customization-management-editor .tools-list-tree-scrollable {
1455
+ position: relative;
1456
+ flex: 1;
1457
+ min-height: 0;
1458
+ width: 100%;
1459
+ }
1460
+
1461
+ .ai-customization-management-editor .tools-list-tree-scrollable > .tools-list-scroll-container {
1462
+ position: absolute;
1463
+ inset: 0;
1464
+ overflow: hidden;
1465
+ }
1466
+
1467
+ .ai-customization-management-editor .tools-list-tree {
1468
+ height: 100%;
1469
+ min-height: 0;
1470
+ overflow: hidden;
1471
+ display: flex;
1472
+ flex-direction: column;
1473
+ gap: var(--vscode-spacing-size100);
1474
+ padding: 0 0 var(--vscode-spacing-size200);
1475
+ box-sizing: border-box;
1476
+ }
1477
+
1478
+ .ai-customization-management-editor .tools-inventory-section {
1479
+ display: flex;
1480
+ flex-direction: column;
1481
+ gap: var(--vscode-spacing-size100);
1482
+ }
1483
+
1484
+ .ai-customization-management-editor .tools-inventory-section-header {
1485
+ display: flex;
1486
+ align-items: flex-end;
1487
+ gap: var(--vscode-spacing-size80);
1488
+ min-width: 0;
1489
+ }
1490
+
1491
+ .ai-customization-management-editor .tools-inventory-section-text {
1492
+ flex: 1;
1493
+ min-width: 0;
1494
+ }
1495
+
1496
+ .ai-customization-management-editor .tools-inventory-section-heading-row {
1497
+ display: flex;
1498
+ align-items: center;
1499
+ gap: var(--vscode-spacing-size60);
1500
+ }
1501
+
1502
+ .ai-customization-management-editor .tools-inventory-section-title,
1503
+ .ai-customization-management-editor .tools-marketplace-title {
1504
+ margin: 0;
1505
+ font-size: var(--vscode-agents-fontSize-heading3);
1506
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
1507
+ color: var(--vscode-foreground);
1508
+ }
1509
+
1510
+ .ai-customization-management-editor .tools-inventory-section-count {
1511
+ min-width: var(--vscode-spacing-size160);
1512
+ padding: 0 var(--vscode-spacing-size40);
1513
+ border-radius: var(--vscode-cornerRadius-circle);
1514
+ background: var(--vscode-toolbar-hoverBackground);
1515
+ font-size: var(--vscode-agents-fontSize-label3);
1516
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
1517
+ color: var(--vscode-descriptionForeground);
1518
+ line-height: 16px;
1519
+ text-align: center;
1520
+ box-sizing: border-box;
1521
+ }
1522
+
1523
+ .ai-customization-management-editor .tools-inventory-section-description,
1524
+ .ai-customization-management-editor .tools-marketplace-description {
1525
+ margin: var(--vscode-spacing-size20) 0 0;
1526
+ font-size: var(--vscode-agents-fontSize-body2);
1527
+ line-height: 16px;
1528
+ color: var(--vscode-descriptionForeground);
1529
+ }
1530
+
1531
+ .ai-customization-management-editor .tools-inventory-section-actions {
1532
+ flex-shrink: 0;
1533
+ }
1534
+
1535
+ .ai-customization-management-editor .tools-inventory-section-actions .monaco-button {
1536
+ width: auto;
1537
+ }
1538
+
1539
+ .ai-customization-management-editor .tools-list-widget.narrow-layout .tools-inventory-section-header {
1540
+ align-items: stretch;
1541
+ flex-wrap: wrap;
1542
+ }
1543
+
1544
+ .ai-customization-management-editor .tools-list-widget.narrow-layout .tools-inventory-section-actions {
1545
+ width: 100%;
1546
+ }
1547
+
1548
+ .ai-customization-management-editor .tools-list-widget.narrow-layout .tools-inventory-section-actions .monaco-button {
1549
+ width: 100%;
1550
+ }
1551
+
1552
+ .ai-customization-management-editor .tools-list-widget.narrow-layout .tools-list-toolrow {
1553
+ padding-inline-start: var(--vscode-spacing-size240);
1554
+ }
1555
+
1556
+ .ai-customization-management-editor .tools-inventory-list {
1557
+ display: flex;
1558
+ flex-direction: column;
1559
+ border: var(--vscode-strokeThickness) solid var(--vscode-widget-border);
1560
+ border-radius: var(--vscode-cornerRadius-medium);
1561
+ overflow: hidden;
1562
+ }
1563
+
1564
+ .ai-customization-management-editor .tools-inventory-list .plugin-inventory-empty {
1565
+ padding: var(--vscode-spacing-size160);
1566
+ color: var(--vscode-descriptionForeground);
1567
+ font-size: var(--vscode-agents-fontSize-body2);
1568
+ line-height: 16px;
1569
+ }
1570
+
1571
+ .ai-customization-management-editor .tools-marketplace-header {
1572
+ flex-shrink: 0;
1573
+ margin-bottom: var(--vscode-spacing-size120);
1574
+ }
1575
+
1576
+ /* Top-level tool-set row */
1577
+ .ai-customization-management-editor .tools-list-setrow {
1578
+ display: flex;
1579
+ align-items: center;
1580
+ gap: 8px;
1581
+ padding: var(--vscode-spacing-size80) var(--vscode-spacing-size120);
1582
+ border-radius: 0;
1583
+ outline-offset: -1px;
1584
+ }
1585
+
1586
+ .ai-customization-management-editor .tools-list-setrow:hover,
920
1587
  .ai-customization-management-editor .tools-list-toolrow:hover {
921
1588
  background: var(--vscode-list-hoverBackground);
922
1589
  }
923
1590
 
924
- /* Match the other customization lists' focus ring: :focus-within for inner checkbox/chevron, :focus for a row click. */
925
- .ai-customization-management-editor .tools-list-setrow:focus,
926
- .ai-customization-management-editor .tools-list-setrow:focus-within,
927
- .ai-customization-management-editor .tools-list-toolrow:focus,
928
- .ai-customization-management-editor .tools-list-toolrow:focus-within {
929
- outline: 1px solid var(--vscode-list-focusOutline);
930
- background: var(--vscode-list-focusBackground, var(--vscode-list-hoverBackground));
1591
+ /* A row-to-row divider between every adjacent row (set-to-set, set-to-tool, tool-to-tool, tool-to-set). */
1592
+ .ai-customization-management-editor .tools-inventory-list .monaco-list-row:not(:first-child) {
1593
+ box-shadow: inset 0 var(--vscode-strokeThickness) var(--vscode-widget-border);
1594
+ }
1595
+
1596
+ .ai-customization-management-editor .tools-list-chevron {
1597
+ flex: none;
1598
+ width: 16px;
1599
+ height: 16px;
1600
+ display: inline-flex;
1601
+ align-items: center;
1602
+ justify-content: center;
1603
+ font-size: var(--vscode-codiconFontSize-compact);
1604
+ color: var(--vscode-foreground);
1605
+ opacity: 0.7;
1606
+ cursor: pointer;
1607
+ margin-left: auto;
1608
+ }
1609
+
1610
+ /* Tool row: visually indented under its tool set via its own `padding-inline-start` (no DOM nesting). */
1611
+ .ai-customization-management-editor .tools-list-toolrow {
1612
+ display: flex;
1613
+ align-items: center;
1614
+ gap: 8px;
1615
+ padding: var(--vscode-spacing-size60) var(--vscode-spacing-size120) var(--vscode-spacing-size60) var(--vscode-spacing-size400);
1616
+ border-radius: 0;
1617
+ cursor: pointer;
1618
+ outline-offset: -1px;
1619
+ }
1620
+
1621
+ .ai-customization-management-editor .tools-list-more-action {
1622
+ flex: 0 0 auto;
1623
+ display: inline-flex;
1624
+ align-items: center;
1625
+ justify-content: center;
1626
+ width: var(--vscode-spacing-size240);
1627
+ height: var(--vscode-spacing-size240);
1628
+ padding: 0;
1629
+ border: none;
1630
+ border-radius: var(--vscode-cornerRadius-small);
1631
+ background: transparent;
1632
+ color: var(--vscode-descriptionForeground);
1633
+ cursor: pointer;
1634
+ }
1635
+
1636
+ .ai-customization-management-editor .tools-list-more-action:hover {
1637
+ background: var(--vscode-toolbar-hoverBackground);
1638
+ color: var(--vscode-foreground);
1639
+ }
1640
+
1641
+ .ai-customization-management-editor .tools-list-more-action:focus-visible {
1642
+ outline: var(--vscode-strokeThickness) solid var(--vscode-focusBorder);
1643
+ outline-offset: -1px;
1644
+ }
1645
+
1646
+ .ai-customization-management-editor .tools-list-always-available {
1647
+ flex: 0 0 auto;
1648
+ font-size: var(--vscode-agents-fontSize-label2);
1649
+ color: var(--vscode-descriptionForeground);
1650
+ }
1651
+
1652
+ .ai-customization-management-editor .tools-list-toolrow.readonly {
1653
+ cursor: default;
1654
+ }
1655
+
1656
+ .ai-customization-management-editor .tools-list-row-main {
1657
+ display: flex;
1658
+ align-items: flex-start;
1659
+ gap: 8px;
1660
+ flex: 1;
1661
+ min-width: 0;
1662
+ cursor: pointer;
1663
+ }
1664
+
1665
+ .ai-customization-management-editor .tools-list-row-text {
1666
+ display: flex;
1667
+ flex-direction: column;
1668
+ flex: 1;
1669
+ min-width: 0;
1670
+ }
1671
+
1672
+ .ai-customization-management-editor .tools-list-row-label {
1673
+ font-size: var(--vscode-fontSize-body1);
1674
+ line-height: 18px;
1675
+ overflow: hidden;
1676
+ text-overflow: ellipsis;
1677
+ white-space: nowrap;
1678
+ }
1679
+
1680
+ .ai-customization-management-editor .tools-list-setrow .tools-list-row-label {
1681
+ font-weight: var(--vscode-fontWeight-semiBold);
1682
+ }
1683
+
1684
+ /* Search match highlighting in tool set / tool names */
1685
+ .ai-customization-management-editor .tools-list-row-label .highlight {
1686
+ font-weight: var(--vscode-fontWeight-semiBold);
1687
+ color: var(--vscode-list-highlightForeground);
1688
+ }
1689
+
1690
+ .ai-customization-management-editor .tools-list-row-subtext {
1691
+ font-size: var(--vscode-fontSize-body2);
1692
+ line-height: 14px;
1693
+ color: var(--vscode-descriptionForeground);
1694
+ overflow: hidden;
1695
+ text-overflow: ellipsis;
1696
+ white-space: nowrap;
1697
+ }
1698
+
1699
+ /* Enabled/total tool count shown at the right of a tool-set row */
1700
+ .ai-customization-management-editor .tools-list-row-count {
1701
+ flex: none;
1702
+ font-size: var(--vscode-fontSize-body2);
1703
+ color: var(--vscode-descriptionForeground);
1704
+ font-variant-numeric: tabular-nums;
1705
+ white-space: nowrap;
1706
+ cursor: pointer;
1707
+ }
1708
+
1709
+ /* Embedded MCP server detail view */
1710
+ .ai-customization-management-editor .mcp-detail-container {
1711
+ position: relative;
1712
+ height: 100%;
1713
+ display: flex;
1714
+ flex-direction: column;
1715
+ min-height: 0;
1716
+ overflow: hidden;
1717
+ }
1718
+
1719
+ .ai-customization-management-editor .mcp-detail-editor-container {
1720
+ flex: 1;
1721
+ display: flex;
1722
+ overflow: hidden;
1723
+ min-height: 0;
1724
+ }
1725
+
1726
+ /* Embedded plugin detail view */
1727
+ .ai-customization-management-editor .plugin-detail-container,
1728
+ .ai-customization-management-editor .tools-detail-container {
1729
+ position: relative;
1730
+ height: 100%;
1731
+ display: flex;
1732
+ flex-direction: column;
1733
+ min-height: 0;
1734
+ padding: var(--vscode-spacing-size160);
1735
+ background: var(--vscode-agentsPanel-background);
1736
+ border: var(--vscode-strokeThickness) solid var(--vscode-agentsPanel-border);
1737
+ border-radius: var(--vscode-cornerRadius-medium);
1738
+ overflow: hidden;
1739
+ box-sizing: border-box;
1740
+ }
1741
+
1742
+ /* Inline back button with the embedded detail header */
1743
+ .ai-customization-management-editor .mcp-detail-container .ai-customization-embedded-detail,
1744
+ .ai-customization-management-editor .plugin-detail-container .ai-customization-embedded-detail,
1745
+ .ai-customization-management-editor .tools-detail-container .ai-customization-embedded-detail {
1746
+ padding: 0;
1747
+ }
1748
+
1749
+ .ai-customization-management-editor .mcp-detail-container .ai-customization-embedded-detail .embedded-detail-header,
1750
+ .ai-customization-management-editor .plugin-detail-container .ai-customization-embedded-detail .embedded-detail-header,
1751
+ .ai-customization-management-editor .tools-detail-container .ai-customization-embedded-detail .embedded-detail-header {
1752
+ align-items: center;
1753
+ }
1754
+
1755
+ .ai-customization-management-editor .mcp-detail-container .ai-customization-embedded-detail .embedded-detail-leading-slot:not(:empty),
1756
+ .ai-customization-management-editor .plugin-detail-container .ai-customization-embedded-detail .embedded-detail-leading-slot:not(:empty),
1757
+ .ai-customization-management-editor .tools-detail-container .ai-customization-embedded-detail .embedded-detail-leading-slot:not(:empty) {
1758
+ display: flex;
1759
+ align-items: center;
1760
+ margin-inline-end: var(--vscode-spacing-size200);
1761
+ }
1762
+
1763
+ .ai-customization-management-editor .plugin-detail-editor-container,
1764
+ .ai-customization-management-editor .tools-detail-editor-container {
1765
+ flex: 1;
1766
+ overflow: auto;
1767
+ min-height: 0;
1768
+ display: flex;
1769
+ justify-content: center;
1770
+ }
1771
+
1772
+ /* Shared embedded detail component foundation */
1773
+ .ai-customization-management-editor .ai-customization-embedded-detail {
1774
+ display: flex;
1775
+ flex-direction: column;
1776
+ gap: var(--vscode-spacing-size200);
1777
+ padding: var(--vscode-spacing-size160) var(--vscode-spacing-size240) var(--vscode-spacing-size240);
1778
+ max-width: 720px;
1779
+ width: 100%;
1780
+ min-width: 0;
1781
+ box-sizing: border-box;
1782
+ }
1783
+
1784
+ .ai-customization-management-editor .ai-customization-embedded-detail.embedded-mcp-detail {
1785
+ flex: 1;
1786
+ gap: 0;
1787
+ max-width: none;
1788
+ min-height: 0;
1789
+ padding: 0;
1790
+ }
1791
+
1792
+ .ai-customization-management-editor .embedded-mcp-detail.is-empty .mcp-detail-header {
1793
+ display: none;
1794
+ }
1795
+
1796
+ .ai-customization-management-editor .mcp-detail-container .embedded-mcp-detail .embedded-detail-leading-slot:not(:empty) {
1797
+ display: contents;
1798
+ margin: 0;
1799
+ }
1800
+
1801
+ .ai-customization-management-editor .embedded-mcp-detail .mcp-detail-definition-editor {
1802
+ flex: 1;
1803
+ overflow: hidden;
1804
+ }
1805
+
1806
+ .ai-customization-management-editor .embedded-mcp-detail .mcp-detail-definition-empty {
1807
+ margin: var(--vscode-spacing-size80) calc(var(--vscode-spacing-size160) - var(--vscode-spacing-size40)) var(--vscode-spacing-size160);
1808
+ padding-inline: var(--vscode-spacing-size40);
1809
+ border-radius: var(--vscode-cornerRadius-small);
1810
+ }
1811
+
1812
+ .ai-customization-management-editor .embedded-mcp-detail .embedded-detail-leading-slot:empty {
1813
+ display: none;
1814
+ }
1815
+
1816
+ .ai-customization-management-editor .mcp-detail-container .mcp-detail-header {
1817
+ gap: var(--vscode-spacing-size80);
1818
+ padding-inline: var(--vscode-spacing-size160);
1819
+ }
1820
+
1821
+ .ai-customization-management-editor .mcp-detail-container .editor-back-button {
1822
+ width: var(--vscode-spacing-size280);
1823
+ height: var(--vscode-spacing-size280);
1824
+ }
1825
+
1826
+ .ai-customization-management-editor .mcp-detail-container .mcp-detail-definition-empty {
1827
+ margin-inline-start: calc(var(--vscode-spacing-size160) + var(--vscode-spacing-size280) + var(--vscode-spacing-size80) - var(--vscode-spacing-size40));
1828
+ }
1829
+
1830
+ /* The tools detail lists many short tool descriptions, so let it use the full editor width. */
1831
+ .ai-customization-management-editor .ai-customization-embedded-detail.embedded-tool-detail {
1832
+ max-width: none;
1833
+ }
1834
+
1835
+ .ai-customization-management-editor .ai-customization-embedded-detail.is-empty .embedded-detail-header,
1836
+ .ai-customization-management-editor .ai-customization-embedded-detail.is-empty .embedded-detail-description,
1837
+ .ai-customization-management-editor .ai-customization-embedded-detail.is-empty .embedded-detail-tools {
1838
+ display: none;
1839
+ }
1840
+
1841
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-header {
1842
+ display: flex;
1843
+ align-items: flex-start;
1844
+ gap: 0;
1845
+ min-width: 0;
1846
+ margin-bottom: var(--vscode-spacing-size40);
1847
+ }
1848
+
1849
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-icon {
1850
+ flex: 0 0 auto;
1851
+ width: 32px;
1852
+ height: 32px;
1853
+ display: flex;
1854
+ align-items: center;
1855
+ justify-content: center;
1856
+ color: var(--vscode-foreground);
1857
+ }
1858
+
1859
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-icon.codicon::before {
1860
+ font-size: 28px;
1861
+ }
1862
+
1863
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-header-text {
1864
+ flex: 1;
1865
+ min-width: 0;
1866
+ display: flex;
1867
+ flex-direction: column;
1868
+ gap: 4px;
1869
+ }
1870
+
1871
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-title-actions {
1872
+ display: flex;
1873
+ align-items: center;
1874
+ justify-content: flex-end;
1875
+ flex-wrap: wrap;
1876
+ gap: var(--vscode-spacing-size60);
1877
+ margin-left: auto;
1878
+ }
1879
+
1880
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-title-actions .monaco-button {
1881
+ width: auto;
1882
+ }
1883
+
1884
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-title-actions .monaco-button-dropdown:focus-within {
1885
+ outline: var(--vscode-strokeThickness) solid var(--vscode-focusBorder);
1886
+ outline-offset: -1px;
1887
+ border-radius: var(--vscode-cornerRadius-small);
1888
+ }
1889
+
1890
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-title-actions .monaco-button-dropdown > .monaco-button:focus {
1891
+ outline: 0;
1892
+ }
1893
+
1894
+ .ai-customization-management-editor .embedded-plugin-detail.narrow-layout .embedded-detail-header {
1895
+ display: grid;
1896
+ grid-template-columns: auto minmax(0, 1fr);
1897
+ row-gap: var(--vscode-spacing-size80);
1898
+ }
1899
+
1900
+ .ai-customization-management-editor .embedded-plugin-detail.narrow-layout .embedded-detail-leading-slot {
1901
+ grid-column: 1;
1902
+ grid-row: 1;
1903
+ }
1904
+
1905
+ .ai-customization-management-editor .embedded-plugin-detail.narrow-layout .embedded-detail-leading-slot:empty {
1906
+ display: none;
1907
+ }
1908
+
1909
+ .ai-customization-management-editor .embedded-plugin-detail.narrow-layout .embedded-detail-header-text {
1910
+ grid-column: 2;
1911
+ grid-row: 1;
1912
+ }
1913
+
1914
+ .ai-customization-management-editor .embedded-plugin-detail.narrow-layout .embedded-detail-leading-slot:empty + .embedded-detail-header-text {
1915
+ grid-column: 1 / -1;
1916
+ }
1917
+
1918
+ .ai-customization-management-editor .embedded-plugin-detail.narrow-layout .embedded-detail-title-actions {
1919
+ grid-column: 2;
1920
+ grid-row: 2;
1921
+ justify-content: flex-start;
1922
+ margin-left: 0;
1923
+ }
1924
+
1925
+ .ai-customization-management-editor .embedded-plugin-detail.narrow-layout .embedded-detail-leading-slot:empty ~ .embedded-detail-title-actions {
1926
+ grid-column: 1 / -1;
1927
+ }
1928
+
1929
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-name-row {
1930
+ display: flex;
1931
+ align-items: center;
1932
+ gap: var(--vscode-spacing-size60);
1933
+ min-width: 0;
1934
+ }
1935
+
1936
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-status-badge {
1937
+ flex-shrink: 0;
1938
+ margin-top: 1px;
1939
+ }
1940
+
1941
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-title-actions .embedded-detail-disable-button.monaco-button {
1942
+ color: var(--vscode-descriptionForeground);
1943
+ }
1944
+
1945
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-title-actions .embedded-detail-uninstall-button.monaco-button {
1946
+ color: var(--vscode-errorForeground);
1947
+ border-color: transparent;
1948
+ background: transparent;
1949
+ }
1950
+
1951
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-title-actions .embedded-detail-uninstall-button.monaco-button:hover {
1952
+ background: var(--vscode-button-secondaryHoverBackground);
1953
+ }
1954
+
1955
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-name {
1956
+ margin: 0;
1957
+ font-size: var(--vscode-fontSize-heading2);
1958
+ line-height: 22px;
1959
+ font-weight: var(--vscode-fontWeight-semiBold);
1960
+ word-break: break-word;
1961
+ }
1962
+
1963
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-scope {
1964
+ display: inline-flex;
1965
+ align-items: center;
1966
+ gap: 4px;
1967
+ color: var(--vscode-descriptionForeground);
1968
+ font-size: var(--vscode-agents-fontSize-label1);
1969
+ }
1970
+
1971
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-scope .codicon {
1972
+ font-size: var(--vscode-codiconFontSize-compact);
931
1973
  }
932
1974
 
933
- .ai-customization-management-editor .tools-list-chevron {
934
- flex: none;
935
- width: 16px;
936
- height: 16px;
937
- display: inline-flex;
1975
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-badges {
1976
+ display: flex;
1977
+ flex-wrap: wrap;
938
1978
  align-items: center;
939
- justify-content: center;
940
- font-size: 12px;
1979
+ gap: var(--vscode-spacing-size40);
1980
+ }
1981
+
1982
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-description {
941
1983
  color: var(--vscode-foreground);
942
- opacity: 0.7;
943
- cursor: pointer;
944
- margin-left: auto;
1984
+ font-size: var(--vscode-fontSize-body1);
1985
+ line-height: 1.4;
1986
+ white-space: pre-wrap;
1987
+ word-break: break-word;
1988
+ padding-inline-start: 32px;
1989
+ margin-bottom: var(--vscode-spacing-size40);
1990
+ }
1991
+
1992
+ .ai-customization-management-editor .ai-customization-embedded-detail.embedded-plugin-detail .embedded-detail-description,
1993
+ .ai-customization-management-editor .ai-customization-embedded-detail.embedded-plugin-detail .embedded-detail-section {
1994
+ padding-inline-start: 0;
1995
+ }
1996
+
1997
+ .ai-customization-management-editor .ai-customization-embedded-detail.embedded-plugin-detail .embedded-detail-facts {
1998
+ padding-inline-start: 0;
1999
+ margin-bottom: 0;
945
2000
  }
946
2001
 
947
- /* Child tool row (indented under the tool set) */
948
- .ai-customization-management-editor .tools-list-children {
2002
+ .ai-customization-management-editor .embedded-plugin-detail .plugin-detail-source-facts {
949
2003
  display: flex;
950
2004
  flex-direction: column;
951
- gap: 2px;
2005
+ gap: var(--vscode-spacing-size40);
952
2006
  }
953
2007
 
954
- .ai-customization-management-editor .tools-list-toolrow {
955
- display: flex;
956
- align-items: center;
957
- gap: 8px;
958
- padding: 4px 12px 4px 40px;
959
- border-radius: 4px;
960
- cursor: pointer;
961
- outline-offset: -1px;
2008
+ .ai-customization-management-editor .embedded-plugin-detail .plugin-detail-readme-message {
2009
+ color: var(--vscode-descriptionForeground);
2010
+ font-size: var(--vscode-agents-fontSize-body2);
2011
+ line-height: 16px;
962
2012
  }
963
2013
 
964
- .ai-customization-management-editor .tools-list-toolrow.readonly {
965
- cursor: default;
2014
+ .ai-customization-management-editor .embedded-plugin-detail .plugin-detail-readme > .plugin-detail-contribution-group-title {
2015
+ font-weight: var(--vscode-fontWeight-semiBold);
966
2016
  }
967
2017
 
968
- .ai-customization-management-editor .tools-list-row-main {
2018
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-facts {
969
2019
  display: flex;
970
- align-items: flex-start;
971
- gap: 8px;
972
- flex: 1;
2020
+ flex-direction: column;
2021
+ gap: 0;
2022
+ padding-inline-start: 32px;
2023
+ margin-bottom: var(--vscode-spacing-size80);
2024
+ }
2025
+
2026
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-fact-row {
2027
+ display: grid;
2028
+ grid-template-columns: minmax(96px, max-content) minmax(0, 1fr);
2029
+ gap: var(--vscode-spacing-size120);
2030
+ padding: var(--vscode-spacing-size80) var(--vscode-spacing-size120);
973
2031
  min-width: 0;
974
- cursor: pointer;
975
2032
  }
976
2033
 
977
- .ai-customization-management-editor .tools-list-row-text {
978
- display: flex;
979
- flex-direction: column;
980
- flex: 1;
2034
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-fact-row:not(:last-child) {
2035
+ box-shadow: inset 0 calc(-1 * var(--vscode-strokeThickness)) var(--vscode-widget-border);
2036
+ }
2037
+
2038
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-fact-label,
2039
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-fact-value {
2040
+ font-size: var(--vscode-agents-fontSize-body2);
2041
+ line-height: 16px;
981
2042
  min-width: 0;
982
2043
  }
983
2044
 
984
- .ai-customization-management-editor .tools-list-row-label {
985
- font-size: var(--vscode-agents-fontSize-body1);
986
- line-height: 18px;
2045
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-fact-label {
2046
+ color: var(--vscode-descriptionForeground);
2047
+ }
2048
+
2049
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-fact-value {
2050
+ color: var(--vscode-foreground);
987
2051
  overflow: hidden;
988
2052
  text-overflow: ellipsis;
989
2053
  white-space: nowrap;
990
2054
  }
991
2055
 
992
- .ai-customization-management-editor .tools-list-setrow .tools-list-row-label {
993
- font-weight: var(--vscode-agents-fontWeight-semiBold);
2056
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-fact-value.has-actions {
2057
+ overflow: visible;
994
2058
  }
995
2059
 
996
- /* Search match highlighting in tool set / tool names */
997
- .ai-customization-management-editor .tools-list-row-label .highlight {
998
- font-weight: var(--vscode-agents-fontWeight-semiBold);
999
- color: var(--vscode-list-highlightForeground);
2060
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-fact-link {
2061
+ color: var(--vscode-textLink-foreground);
2062
+ text-decoration: none;
1000
2063
  }
1001
2064
 
1002
- .ai-customization-management-editor .tools-list-row-subtext {
1003
- font-size: var(--vscode-agents-fontSize-body2);
1004
- line-height: 14px;
1005
- color: var(--vscode-descriptionForeground);
2065
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-fact-link:hover {
2066
+ color: var(--vscode-textLink-activeForeground);
2067
+ text-decoration: underline;
2068
+ }
2069
+
2070
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-location-value {
2071
+ display: inline-flex;
2072
+ align-items: center;
2073
+ gap: var(--vscode-spacing-size40);
2074
+ min-width: 0;
2075
+ max-width: 100%;
2076
+ line-height: 20px;
2077
+ padding: var(--vscode-spacing-size20);
2078
+ margin: calc(-1 * var(--vscode-spacing-size20));
2079
+ }
2080
+
2081
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-location-label {
2082
+ min-width: 0;
1006
2083
  overflow: hidden;
1007
2084
  text-overflow: ellipsis;
1008
2085
  white-space: nowrap;
1009
2086
  }
1010
2087
 
1011
- /* Enabled/total tool count shown at the right of a tool-set row */
1012
- .ai-customization-management-editor .tools-list-row-count {
1013
- flex: none;
1014
- font-size: var(--vscode-agents-fontSize-body2);
2088
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-copy-button.monaco-button {
2089
+ flex-shrink: 0;
2090
+ width: 20px;
2091
+ min-width: 20px;
2092
+ height: 20px;
2093
+ padding: 0;
2094
+ background: transparent;
2095
+ border-color: transparent;
1015
2096
  color: var(--vscode-descriptionForeground);
1016
- font-variant-numeric: tabular-nums;
1017
- white-space: nowrap;
1018
- cursor: pointer;
1019
2097
  }
1020
2098
 
1021
- /* Embedded MCP server detail view */
1022
- .ai-customization-management-editor .mcp-detail-container {
1023
- position: relative;
1024
- height: 100%;
2099
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-copy-button.monaco-button:hover {
2100
+ background: transparent;
2101
+ color: var(--vscode-textLink-activeForeground);
2102
+ }
2103
+
2104
+ .ai-customization-management-editor .mcp-detail-definition-empty:focus-visible {
2105
+ outline: var(--vscode-strokeThickness) solid var(--vscode-focusBorder);
2106
+ outline-offset: -1px;
2107
+ }
2108
+
2109
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-section {
2110
+ padding-inline-start: 32px;
2111
+ }
2112
+
2113
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-section-title {
2114
+ margin: 0 0 var(--vscode-spacing-size60) 0;
2115
+ font-size: var(--vscode-agents-fontSize-heading3);
2116
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
2117
+ line-height: 18px;
2118
+ color: var(--vscode-foreground);
2119
+ }
2120
+
2121
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-chip-list {
1025
2122
  display: flex;
1026
2123
  flex-direction: column;
1027
- min-height: 0;
1028
- padding: 16px;
1029
- background: var(--vscode-agentsPanel-background);
1030
- border: 1px solid var(--vscode-agentsPanel-border);
1031
- border-radius: 6px;
1032
- overflow: hidden;
1033
- box-sizing: border-box;
2124
+ gap: 0;
1034
2125
  }
1035
2126
 
1036
- .ai-customization-management-editor .mcp-detail-editor-container {
1037
- flex: 1;
1038
- overflow: auto;
1039
- min-height: 0;
2127
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-flat-list {
2128
+ border: var(--vscode-strokeThickness) solid var(--vscode-widget-border);
2129
+ border-radius: var(--vscode-cornerRadius-medium);
2130
+ overflow: hidden;
1040
2131
  }
1041
2132
 
1042
- /* Embedded plugin detail view */
1043
- .ai-customization-management-editor .plugin-detail-container,
1044
- .ai-customization-management-editor .tools-detail-container {
1045
- position: relative;
1046
- height: 100%;
2133
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-section {
1047
2134
  display: flex;
1048
2135
  flex-direction: column;
1049
- min-height: 0;
1050
- padding: 16px;
1051
- background: var(--vscode-agentsPanel-background);
1052
- border: 1px solid var(--vscode-agentsPanel-border);
1053
- border-radius: 6px;
1054
- overflow: hidden;
1055
- box-sizing: border-box;
2136
+ gap: var(--vscode-spacing-size60);
2137
+ min-width: 0;
2138
+ padding: var(--vscode-spacing-size100) var(--vscode-spacing-size120);
1056
2139
  }
1057
2140
 
1058
- /* Inline back button with the embedded detail header */
1059
- .ai-customization-management-editor .mcp-detail-container .ai-customization-embedded-detail,
1060
- .ai-customization-management-editor .plugin-detail-container .ai-customization-embedded-detail,
1061
- .ai-customization-management-editor .tools-detail-container .ai-customization-embedded-detail {
1062
- padding: 0;
2141
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-section + .plugin-detail-contribution-section {
2142
+ box-shadow: inset 0 var(--vscode-strokeThickness) var(--vscode-widget-border);
1063
2143
  }
1064
2144
 
1065
- .ai-customization-management-editor .mcp-detail-container .ai-customization-embedded-detail .embedded-detail-header,
1066
- .ai-customization-management-editor .plugin-detail-container .ai-customization-embedded-detail .embedded-detail-header,
1067
- .ai-customization-management-editor .tools-detail-container .ai-customization-embedded-detail .embedded-detail-header {
1068
- align-items: center;
2145
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-group {
2146
+ display: flex;
2147
+ flex-direction: column;
2148
+ gap: var(--vscode-spacing-size60);
2149
+ min-width: 0;
1069
2150
  }
1070
2151
 
1071
- .ai-customization-management-editor .mcp-detail-container .ai-customization-embedded-detail .embedded-detail-leading-slot:not(:empty),
1072
- .ai-customization-management-editor .plugin-detail-container .ai-customization-embedded-detail .embedded-detail-leading-slot:not(:empty),
1073
- .ai-customization-management-editor .tools-detail-container .ai-customization-embedded-detail .embedded-detail-leading-slot:not(:empty) {
2152
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-group-title {
1074
2153
  display: flex;
1075
- align-items: center;
1076
- margin-inline-end: 4px;
2154
+ align-items: baseline;
2155
+ gap: var(--vscode-spacing-size60);
2156
+ font-size: var(--vscode-agents-fontSize-label1);
2157
+ font-weight: var(--vscode-agents-fontWeight-regular);
2158
+ color: var(--vscode-foreground);
1077
2159
  }
1078
2160
 
1079
- .ai-customization-management-editor .plugin-detail-editor-container,
1080
- .ai-customization-management-editor .tools-detail-editor-container {
1081
- flex: 1;
1082
- overflow: auto;
1083
- min-height: 0;
2161
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-title-count {
2162
+ color: var(--vscode-descriptionForeground);
1084
2163
  }
1085
2164
 
1086
- /* Compact embedded detail component (shared by MCP / plugin) */
1087
- .ai-customization-management-editor .ai-customization-embedded-detail {
2165
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-list {
1088
2166
  display: flex;
1089
2167
  flex-direction: column;
1090
- gap: 12px;
1091
- padding: 16px 24px 24px 24px;
1092
- max-width: 720px;
1093
- min-width: 0;
2168
+ gap: var(--vscode-spacing-size60);
1094
2169
  }
1095
2170
 
1096
- /* The tools detail lists many short tool descriptions, so let it use the full editor width. */
1097
- .ai-customization-management-editor .ai-customization-embedded-detail.embedded-tool-detail {
1098
- max-width: none;
2171
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-row {
2172
+ display: flex;
2173
+ flex-direction: column;
2174
+ min-width: 0;
2175
+ gap: var(--vscode-spacing-size20);
1099
2176
  }
1100
2177
 
1101
- .ai-customization-management-editor .ai-customization-embedded-detail.is-empty .embedded-detail-header,
1102
- .ai-customization-management-editor .ai-customization-embedded-detail.is-empty .embedded-detail-description,
1103
- .ai-customization-management-editor .ai-customization-embedded-detail.is-empty .embedded-detail-tools {
1104
- display: none;
2178
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-link {
2179
+ padding: 0;
2180
+ border: none;
2181
+ background: transparent;
2182
+ color: var(--vscode-textLink-foreground);
2183
+ text-align: left;
2184
+ cursor: pointer;
2185
+ font-family: inherit;
1105
2186
  }
1106
2187
 
1107
- .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-header {
1108
- display: flex;
1109
- align-items: flex-start;
1110
- gap: 4px;
1111
- min-width: 0;
2188
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-link:hover {
2189
+ color: var(--vscode-textLink-activeForeground);
2190
+ text-decoration: underline;
1112
2191
  }
1113
2192
 
1114
- .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-icon {
1115
- flex: 0 0 auto;
1116
- width: 32px;
1117
- height: 32px;
1118
- display: flex;
1119
- align-items: center;
1120
- justify-content: center;
1121
- color: var(--vscode-foreground);
2193
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-link:focus-visible {
2194
+ outline: var(--vscode-strokeThickness) solid var(--vscode-focusBorder);
2195
+ outline-offset: -1px;
1122
2196
  }
1123
2197
 
1124
- .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-icon.codicon::before {
1125
- font-size: 28px;
2198
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-name {
2199
+ font-size: var(--vscode-agents-fontSize-body1);
2200
+ line-height: 18px;
2201
+ color: var(--vscode-descriptionForeground);
2202
+ overflow: hidden;
2203
+ text-overflow: ellipsis;
2204
+ white-space: nowrap;
1126
2205
  }
1127
2206
 
1128
- .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-header-text {
1129
- flex: 1;
1130
- min-width: 0;
1131
- display: flex;
1132
- flex-direction: column;
1133
- gap: 4px;
2207
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-link.plugin-detail-contribution-name {
2208
+ color: var(--vscode-textLink-foreground);
1134
2209
  }
1135
2210
 
1136
- .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-name {
1137
- margin: 0;
1138
- font-size: var(--vscode-agents-fontSize-heading2);
1139
- line-height: 22px;
1140
- font-weight: var(--vscode-agents-fontWeight-semiBold);
1141
- word-break: break-word;
2211
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-link.plugin-detail-contribution-name:hover {
2212
+ color: var(--vscode-textLink-activeForeground);
1142
2213
  }
1143
2214
 
1144
- .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-scope {
1145
- display: inline-flex;
1146
- align-items: center;
1147
- gap: 4px;
2215
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-description,
2216
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-more,
2217
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-empty {
2218
+ font-size: var(--vscode-agents-fontSize-body2);
2219
+ line-height: 16px;
1148
2220
  color: var(--vscode-descriptionForeground);
1149
- font-size: 12px;
1150
2221
  }
1151
2222
 
1152
- .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-scope .codicon {
1153
- font-size: 12px;
2223
+ .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-chip-list > .plugin-detail-contribution-empty {
2224
+ padding: var(--vscode-spacing-size100) var(--vscode-spacing-size120);
1154
2225
  }
1155
2226
 
1156
- .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-description {
1157
- color: var(--vscode-foreground);
1158
- font-size: var(--vscode-agents-fontSize-body1);
1159
- line-height: 1.4;
1160
- white-space: pre-wrap;
1161
- word-break: break-word;
1162
- padding-inline-start: 32px;
2227
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-contribution-description {
2228
+ overflow: hidden;
2229
+ text-overflow: ellipsis;
2230
+ white-space: nowrap;
2231
+ }
2232
+
2233
+ .vscode-high-contrast .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-flat-list {
2234
+ border-color: var(--vscode-contrastBorder);
1163
2235
  }
1164
2236
 
1165
2237
  .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-empty {
1166
2238
  color: var(--vscode-descriptionForeground);
1167
- font-size: var(--vscode-agents-fontSize-body1);
1168
- padding: 8px 0;
2239
+ font-size: var(--vscode-fontSize-body1);
2240
+ padding-block: var(--vscode-spacing-size80);
1169
2241
  }
1170
2242
 
1171
2243
  /* Included tools list (tool extension detail) */
@@ -1178,15 +2250,15 @@
1178
2250
  }
1179
2251
 
1180
2252
  .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-tools-heading {
1181
- font-size: var(--vscode-agents-fontSize-body1);
1182
- font-weight: var(--vscode-agents-fontWeight-semiBold);
2253
+ font-size: var(--vscode-fontSize-body1);
2254
+ font-weight: var(--vscode-fontWeight-semiBold);
1183
2255
  color: var(--vscode-foreground);
1184
2256
  margin: 0;
1185
2257
  }
1186
2258
 
1187
2259
  .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-tools-message {
1188
2260
  color: var(--vscode-descriptionForeground);
1189
- font-size: var(--vscode-agents-fontSize-body1);
2261
+ font-size: var(--vscode-fontSize-body1);
1190
2262
  }
1191
2263
 
1192
2264
  .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-tools-list {
@@ -1204,14 +2276,14 @@
1204
2276
  }
1205
2277
 
1206
2278
  .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-tool-name {
1207
- font-size: var(--vscode-agents-fontSize-body1);
1208
- font-weight: var(--vscode-agents-fontWeight-semiBold);
2279
+ font-size: var(--vscode-fontSize-body1);
2280
+ font-weight: var(--vscode-fontWeight-semiBold);
1209
2281
  color: var(--vscode-foreground);
1210
2282
  word-break: break-word;
1211
2283
  }
1212
2284
 
1213
2285
  .ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-tool-description {
1214
- font-size: var(--vscode-agents-fontSize-body2);
2286
+ font-size: var(--vscode-fontSize-body2);
1215
2287
  color: var(--vscode-descriptionForeground);
1216
2288
  line-height: 1.4;
1217
2289
  word-break: break-word;
@@ -1231,14 +2303,14 @@
1231
2303
  }
1232
2304
 
1233
2305
  .ai-customization-management-editor .models-content-container .section-footer-description {
1234
- font-size: var(--vscode-agents-fontSize-body1);
2306
+ font-size: var(--vscode-fontSize-body1);
1235
2307
  color: var(--vscode-descriptionForeground);
1236
2308
  line-height: 1.5;
1237
2309
  margin: 0 0 8px 0;
1238
2310
  }
1239
2311
 
1240
2312
  .ai-customization-management-editor .models-content-container .section-footer-link {
1241
- font-size: var(--vscode-agents-fontSize-body1);
2313
+ font-size: var(--vscode-fontSize-body1);
1242
2314
  color: var(--vscode-textLink-foreground);
1243
2315
  text-decoration: none;
1244
2316
  cursor: pointer;
@@ -1264,13 +2336,14 @@
1264
2336
  display: flex;
1265
2337
  flex-direction: column;
1266
2338
  height: 100%;
2339
+ min-height: 0;
1267
2340
  overflow: hidden;
1268
2341
  }
1269
2342
 
1270
2343
  .mcp-list-widget .mcp-list-container {
1271
2344
  flex: 1;
1272
2345
  min-height: 0;
1273
- overflow: auto;
2346
+ overflow: hidden;
1274
2347
  }
1275
2348
 
1276
2349
  /* MCP Empty State */
@@ -1287,12 +2360,12 @@
1287
2360
 
1288
2361
  .mcp-list-widget .mcp-empty-state .empty-text {
1289
2362
  font-size: 16px;
1290
- font-weight: 500;
2363
+ font-weight: var(--vscode-fontWeight-semiBold);
1291
2364
  color: var(--vscode-foreground);
1292
2365
  }
1293
2366
 
1294
2367
  .mcp-list-widget .mcp-empty-state .empty-subtext {
1295
- font-size: var(--vscode-agents-fontSize-body1);
2368
+ font-size: var(--vscode-fontSize-body1);
1296
2369
  color: var(--vscode-descriptionForeground);
1297
2370
  max-width: 250px;
1298
2371
  line-height: 1.4;
@@ -1302,6 +2375,20 @@
1302
2375
  margin-top: 16px;
1303
2376
  }
1304
2377
 
2378
+ /* Sessions empty state */
2379
+ .agent-sessions-workbench .mcp-empty-state .empty-state-header {
2380
+ display: flex;
2381
+ flex-direction: row;
2382
+ align-items: center;
2383
+ gap: 6px;
2384
+ }
2385
+
2386
+ .agent-sessions-workbench .mcp-empty-state .empty-state-header > .empty-icon {
2387
+ font-size: 16px;
2388
+ margin-bottom: 0;
2389
+ flex-shrink: 0;
2390
+ }
2391
+
1305
2392
  /* MCP Disabled (access blocked) state */
1306
2393
  .mcp-list-widget .mcp-disabled-state {
1307
2394
  display: none;
@@ -1337,12 +2424,12 @@
1337
2424
 
1338
2425
  .mcp-list-widget .mcp-disabled-state .empty-text {
1339
2426
  font-size: 16px;
1340
- font-weight: 500;
2427
+ font-weight: var(--vscode-fontWeight-semiBold);
1341
2428
  color: var(--vscode-foreground);
1342
2429
  }
1343
2430
 
1344
2431
  .mcp-list-widget .mcp-disabled-state .empty-subtext {
1345
- font-size: var(--vscode-agents-fontSize-body1);
2432
+ font-size: var(--vscode-fontSize-body1);
1346
2433
  color: var(--vscode-descriptionForeground);
1347
2434
  max-width: 420px;
1348
2435
  line-height: 1.5;
@@ -1375,9 +2462,10 @@
1375
2462
  align-items: center;
1376
2463
  padding: 6px 8px 6px 30px;
1377
2464
  cursor: pointer;
1378
- border-radius: 4px;
2465
+ border-radius: var(--vscode-cornerRadius-small);
1379
2466
  min-height: 32px;
1380
2467
  gap: 10px;
2468
+ box-sizing: border-box;
1381
2469
  }
1382
2470
 
1383
2471
  .mcp-server-item:not(.has-detail):not(.builtin) {
@@ -1406,7 +2494,7 @@
1406
2494
  }
1407
2495
 
1408
2496
  .mcp-server-item .mcp-server-name {
1409
- font-size: var(--vscode-agents-fontSize-body1);
2497
+ font-size: var(--vscode-fontSize-body1);
1410
2498
  overflow: hidden;
1411
2499
  text-overflow: ellipsis;
1412
2500
  white-space: nowrap;
@@ -1414,7 +2502,7 @@
1414
2502
  }
1415
2503
 
1416
2504
  .mcp-server-item .mcp-server-description {
1417
- font-size: var(--vscode-agents-fontSize-body2);
2505
+ font-size: var(--vscode-fontSize-body2);
1418
2506
  color: var(--vscode-descriptionForeground);
1419
2507
  overflow: hidden;
1420
2508
  text-overflow: ellipsis;
@@ -1422,1430 +2510,1233 @@
1422
2510
  line-height: 14px;
1423
2511
  }
1424
2512
 
2513
+ .mcp-server-item.has-error {
2514
+ align-items: flex-start;
2515
+ padding-top: var(--vscode-spacing-size120);
2516
+ padding-bottom: var(--vscode-spacing-size120);
2517
+ }
2518
+
2519
+ .mcp-server-item .mcp-server-description.error {
2520
+ color: var(--vscode-errorForeground);
2521
+ margin-top: var(--vscode-spacing-size80);
2522
+ white-space: pre-wrap;
2523
+ overflow-wrap: anywhere;
2524
+ overflow: visible;
2525
+ text-overflow: clip;
2526
+ }
2527
+
2528
+ .mcp-server-item .mcp-server-description.error:not(.expanded) {
2529
+ display: -webkit-box;
2530
+ -webkit-box-orient: vertical;
2531
+ -webkit-line-clamp: 3;
2532
+ max-height: 3lh;
2533
+ overflow: hidden;
2534
+ }
2535
+
2536
+ .mcp-server-item .mcp-server-error-toggle.monaco-button {
2537
+ align-self: flex-start;
2538
+ width: auto;
2539
+ min-width: 0;
2540
+ padding: 0;
2541
+ margin-top: var(--vscode-spacing-size40);
2542
+ color: var(--vscode-textLink-foreground);
2543
+ font-size: var(--vscode-fontSize-body2);
2544
+ border: 0;
2545
+ background: transparent;
2546
+ }
2547
+
2548
+ .mcp-server-item .mcp-server-error-toggle.monaco-button:hover {
2549
+ color: var(--vscode-textLink-activeForeground);
2550
+ text-decoration: underline;
2551
+ }
2552
+
2553
+ .mcp-server-item .mcp-server-actions {
2554
+ flex-shrink: 0;
2555
+ display: flex;
2556
+ align-items: center;
2557
+ gap: var(--vscode-spacing-size40);
2558
+ }
2559
+
2560
+ .mcp-server-item .mcp-server-sign-in.monaco-button,
2561
+ .plugin-list-widget .mcp-installed-home-row .mcp-server-sign-in.monaco-button {
2562
+ min-width: 0;
2563
+ min-height: var(--vscode-spacing-size240);
2564
+ padding: 0 var(--vscode-spacing-size80);
2565
+ font-size: var(--vscode-fontSize-label1);
2566
+ border-radius: var(--vscode-cornerRadius-small);
2567
+ }
2568
+
1425
2569
  .mcp-server-item .mcp-server-status {
1426
2570
  flex-shrink: 0;
1427
- font-size: var(--vscode-agents-fontSize-label2);
1428
- padding: 2px 8px;
1429
- border-radius: 4px;
1430
- font-weight: var(--vscode-agents-fontWeight-semiBold);
2571
+ width: var(--vscode-spacing-size240);
2572
+ height: var(--vscode-spacing-size240);
2573
+ display: flex;
2574
+ align-items: center;
2575
+ justify-content: center;
2576
+ font-size: var(--vscode-codiconFontSize);
1431
2577
  }
1432
2578
 
1433
2579
  .mcp-server-item .mcp-server-status.running {
1434
- background-color: color-mix(in srgb, var(--vscode-terminal-ansiGreen) 50%, transparent);
1435
- color: var(--vscode-editor-background);
2580
+ color: var(--vscode-charts-green);
1436
2581
  }
1437
2582
 
1438
2583
  .mcp-server-item .mcp-server-status.starting {
1439
- background-color: color-mix(in srgb, var(--vscode-terminal-ansiYellow) 50%, transparent);
1440
- color: var(--vscode-editor-background);
2584
+ color: var(--vscode-progressBar-background, var(--vscode-icon-foreground));
1441
2585
  }
1442
2586
 
1443
2587
  .mcp-server-item .mcp-server-status.auth-required {
1444
- background-color: color-mix(in srgb, var(--vscode-terminal-ansiYellow) 50%, transparent);
1445
- color: var(--vscode-editor-background);
2588
+ color: var(--vscode-list-warningForeground, var(--vscode-editorWarning-foreground));
1446
2589
  }
1447
2590
 
1448
- .mcp-server-item .mcp-server-status.error {
1449
- background-color: color-mix(in srgb, var(--vscode-terminal-ansiRed) 50%, transparent);
1450
- color: var(--vscode-editor-background);
2591
+ .mcp-server-item.disabled {
2592
+ opacity: 0.5;
1451
2593
  }
1452
2594
 
1453
- .mcp-server-item .mcp-server-status.stopped {
1454
- background-color: color-mix(in srgb, var(--vscode-badge-background) 50%, transparent);
1455
- color: var(--vscode-badge-foreground);
2595
+ .mcp-server-item .mcp-server-status.disabled {
2596
+ color: var(--vscode-disabledForeground);
1456
2597
  }
1457
2598
 
1458
- .mcp-server-item.disabled {
1459
- opacity: 0.5;
2599
+ .plugin-list-widget .plugin-search-header {
2600
+ display: flex;
2601
+ align-items: flex-end;
2602
+ padding: var(--vscode-spacing-size80) var(--vscode-spacing-size120) var(--vscode-spacing-size40);
2603
+ -webkit-user-select: none;
2604
+ user-select: none;
2605
+ pointer-events: none;
1460
2606
  }
1461
2607
 
1462
- .mcp-server-item .mcp-server-status.disabled {
1463
- background-color: color-mix(in srgb, var(--vscode-badge-background) 50%, transparent);
1464
- color: var(--vscode-badge-foreground);
2608
+ .plugin-list-widget .plugin-search-header.available-to-install {
2609
+ padding-top: var(--vscode-spacing-size160);
1465
2610
  }
1466
2611
 
1467
- /* Button group for Add Server + Browse Marketplace */
1468
- .mcp-list-widget .list-button-group {
2612
+ .plugin-list-widget .monaco-list-row.plugin-search-header:hover {
2613
+ background: transparent;
2614
+ }
2615
+
2616
+ .plugin-list-widget .plugin-search-header-label {
2617
+ font-size: var(--vscode-agents-fontSize-heading3);
2618
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
2619
+ line-height: 18px;
2620
+ color: var(--vscode-foreground);
2621
+ }
2622
+
2623
+ /* Plugin list item */
2624
+ .plugin-list-widget .plugin-list-item {
1469
2625
  display: flex;
1470
- gap: 4px;
1471
- flex-shrink: 0;
2626
+ align-items: center;
2627
+ padding: var(--vscode-spacing-size80) var(--vscode-spacing-size120);
2628
+ border-radius: var(--vscode-cornerRadius-small);
2629
+ gap: var(--vscode-spacing-size120);
2630
+ min-height: 44px;
2631
+ overflow: hidden;
2632
+ box-sizing: border-box;
1472
2633
  }
1473
2634
 
1474
- /* Embedded Editor View */
1475
- .ai-customization-management-editor .editor-content-container {
1476
- height: 100%;
2635
+ .plugin-list-widget .plugin-installed-item:not(.plugin-home-row),
2636
+ .plugin-list-widget .plugin-marketplace-item {
2637
+ cursor: pointer;
2638
+ }
2639
+
2640
+ .plugin-list-widget .plugin-card-grid.plugin-inventory-list {
1477
2641
  display: flex;
1478
2642
  flex-direction: column;
1479
- padding: 0;
1480
- background: var(--vscode-agentsPanel-background);
1481
- border: 1px solid var(--vscode-agentsPanel-border);
1482
- border-radius: 6px;
2643
+ gap: 0;
2644
+ border: var(--vscode-strokeThickness) solid var(--vscode-agentsPanel-border);
2645
+ border-radius: var(--vscode-cornerRadius-medium);
1483
2646
  overflow: hidden;
2647
+ }
2648
+
2649
+ .plugin-list-widget .plugin-card-grid.plugin-inventory-list.virtualized-section-list {
2650
+ display: block;
2651
+ }
2652
+
2653
+ .plugin-list-widget .virtualized-section-list .monaco-list-row {
1484
2654
  box-sizing: border-box;
1485
2655
  }
1486
2656
 
1487
- .ai-customization-management-editor .editor-header {
2657
+ .plugin-list-widget .customization-inventory-list .monaco-list-row.ai-customization-list-item {
2658
+ background-color: var(--vscode-editorWidget-background);
2659
+ }
2660
+
2661
+ .plugin-list-widget .customization-inventory-list .monaco-list-row.ai-customization-list-item:hover {
2662
+ background-color: var(--vscode-list-hoverBackground);
2663
+ }
2664
+
2665
+ .plugin-list-widget .virtualized-section-list .monaco-list-row:not(:first-child) {
2666
+ box-shadow: inset 0 var(--vscode-strokeThickness) var(--vscode-widget-border, var(--vscode-agentsPanel-border));
2667
+ }
2668
+
2669
+ .plugin-list-widget .plugin-home-row {
2670
+ width: 100%;
2671
+ min-height: 64px;
2672
+ background: transparent;
2673
+ border-radius: 0;
2674
+ cursor: pointer;
2675
+ }
2676
+
2677
+ .plugin-list-widget .plugin-home-row.customization-home-row.disabled {
2678
+ opacity: 0.6;
2679
+ }
2680
+
2681
+ .plugin-list-widget .customization-card-primary-action {
2682
+ appearance: none;
2683
+ background: transparent;
2684
+ border: 0;
2685
+ color: inherit;
2686
+ font: inherit;
2687
+ padding: 0;
2688
+ text-align: start;
2689
+ min-width: 0;
2690
+ cursor: pointer;
2691
+ }
2692
+
2693
+ .plugin-list-widget .plugin-home-row > .customization-card-primary-action {
1488
2694
  display: flex;
1489
2695
  align-items: center;
1490
- gap: 8px;
1491
- padding: 16px 16px 6px;
1492
- flex-shrink: 0;
2696
+ align-self: stretch;
2697
+ flex: 1;
1493
2698
  }
1494
2699
 
1495
- .ai-customization-management-editor .editor-back-button {
1496
- flex-shrink: 0;
1497
- align-self: flex-start;
2700
+ .plugin-list-widget .customization-row-primary {
1498
2701
  display: flex;
1499
2702
  align-items: center;
1500
- justify-content: center;
1501
- width: 26px;
1502
- height: 26px;
1503
- border-radius: 4px;
2703
+ align-self: stretch;
2704
+ flex: 1;
2705
+ min-width: 0;
2706
+ border-radius: var(--vscode-cornerRadius-small);
1504
2707
  cursor: pointer;
1505
- background: transparent;
1506
- border: none;
1507
- color: var(--vscode-foreground);
1508
- opacity: 0.8;
1509
- transition: background-color 0.1s ease, opacity 0.1s ease;
1510
2708
  }
1511
2709
 
1512
- .ai-customization-management-editor .editor-back-button:hover:not(:disabled) {
1513
- background-color: var(--vscode-toolbar-hoverBackground);
1514
- opacity: 1;
2710
+ .plugin-list-widget .customization-card-primary-action:focus-visible,
2711
+ .plugin-list-widget .plugin-remote-item:focus-visible {
2712
+ outline: var(--vscode-strokeThickness) solid var(--vscode-focusBorder);
2713
+ outline-offset: -1px;
1515
2714
  }
1516
2715
 
1517
- .ai-customization-management-editor .editor-back-button:active:not(:disabled) {
1518
- background-color: var(--vscode-toolbar-activeBackground);
2716
+ .plugin-list-widget .plugin-home-row:not(:last-child) {
2717
+ box-shadow: inset 0 calc(-1 * var(--vscode-strokeThickness)) var(--vscode-widget-border, var(--vscode-agentsPanel-border));
1519
2718
  }
1520
2719
 
1521
- .ai-customization-management-editor .editor-back-button:disabled {
1522
- cursor: default;
1523
- opacity: 0.45;
2720
+ .plugin-list-widget .plugin-home-row:hover {
2721
+ background: var(--vscode-list-hoverBackground);
1524
2722
  }
1525
2723
 
1526
- .ai-customization-management-editor .editor-action-button-icon {
1527
- font-size: 14px;
1528
- line-height: 14px;
2724
+ .plugin-list-widget .plugin-home-row .plugin-list-item-action {
2725
+ display: flex;
2726
+ align-items: center;
2727
+ gap: var(--vscode-spacing-size40);
2728
+ margin-left: auto;
1529
2729
  }
1530
2730
 
1531
- .ai-customization-management-editor .editor-item-info {
2731
+ .plugin-list-widget .plugin-list-item:hover {
2732
+ background-color: var(--vscode-list-hoverBackground);
2733
+ }
2734
+
2735
+ .plugin-list-widget .plugin-list-item.disabled {
2736
+ opacity: 0.6;
2737
+ }
2738
+
2739
+ .plugin-list-widget .plugin-home-row.disabled {
2740
+ opacity: 1;
2741
+ }
2742
+
2743
+ .plugin-list-widget .plugin-list-item .item-sync-checkbox {
2744
+ flex-shrink: 0;
2745
+ display: flex;
2746
+ align-items: center;
2747
+ }
2748
+
2749
+ .plugin-list-widget .plugin-list-item-details {
2750
+ flex: 1;
2751
+ min-width: 0;
1532
2752
  display: flex;
1533
2753
  flex-direction: column;
2754
+ gap: var(--vscode-spacing-size20);
1534
2755
  overflow: hidden;
1535
- flex: 1;
2756
+ }
2757
+
2758
+ .plugin-list-widget .plugin-list-item-name-row {
2759
+ display: flex;
2760
+ align-items: center;
2761
+ gap: var(--vscode-spacing-size60);
1536
2762
  min-width: 0;
2763
+ overflow: hidden;
1537
2764
  }
1538
2765
 
1539
- .ai-customization-management-editor .editor-item-name {
1540
- font-size: 14px;
1541
- font-weight: 500;
1542
- color: var(--vscode-foreground);
2766
+ .plugin-list-widget .plugin-list-item-name {
2767
+ font-size: var(--vscode-agents-fontSize-body1);
2768
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
2769
+ line-height: 18px;
1543
2770
  overflow: hidden;
1544
2771
  text-overflow: ellipsis;
1545
2772
  white-space: nowrap;
1546
2773
  }
1547
2774
 
1548
- .ai-customization-management-editor .editor-item-path {
2775
+ .plugin-list-widget .plugin-list-item-description,
2776
+ .plugin-list-widget .plugin-list-item-source,
2777
+ .plugin-list-widget .plugin-list-item-metadata {
1549
2778
  font-size: var(--vscode-agents-fontSize-body2);
2779
+ line-height: 14px;
1550
2780
  color: var(--vscode-descriptionForeground);
1551
2781
  overflow: hidden;
1552
2782
  text-overflow: ellipsis;
1553
2783
  white-space: nowrap;
1554
- font-family: var(--monaco-monospace-font);
1555
- }
1556
-
1557
- .ai-customization-management-editor .editor-save-indicator {
1558
- flex-shrink: 0;
1559
- width: 16px;
1560
- height: 16px;
1561
- font-size: 16px;
1562
- line-height: 16px;
1563
- text-align: center;
1564
- color: var(--vscode-descriptionForeground);
1565
- opacity: 0;
1566
- transition: opacity 0.2s ease;
1567
- margin-right: 4px;
1568
2784
  }
1569
2785
 
1570
- .ai-customization-management-editor .editor-save-indicator.visible {
1571
- opacity: 0.7;
1572
- }
1573
-
1574
- .ai-customization-management-editor .editor-save-indicator.saved {
1575
- color: var(--vscode-testing-iconPassed, #73c991);
1576
- opacity: 1;
2786
+ .plugin-list-widget .plugin-list-item-source {
2787
+ color: var(--vscode-textPreformat-foreground, var(--vscode-descriptionForeground));
1577
2788
  }
1578
2789
 
1579
- .ai-customization-management-editor .editor-mode-button {
2790
+ .plugin-list-widget .plugin-list-item-status {
1580
2791
  flex-shrink: 0;
1581
- height: 26px;
1582
- padding: 0 10px;
1583
- border-radius: 4px;
1584
- border: 1px solid var(--vscode-widget-border);
1585
- background: var(--vscode-button-secondaryBackground);
1586
- color: var(--vscode-button-secondaryForeground);
1587
- cursor: pointer;
1588
- font-size: 12px;
1589
- line-height: 24px;
1590
- transition: background-color 0.1s ease, border-color 0.1s ease;
2792
+ font-size: var(--vscode-agents-fontSize-label2);
2793
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
2794
+ line-height: 18px;
2795
+ padding: 0 var(--vscode-spacing-size80);
2796
+ border-radius: var(--vscode-cornerRadius-circle);
2797
+ color: var(--vscode-badge-foreground);
2798
+ background-color: var(--vscode-badge-background);
1591
2799
  }
1592
2800
 
1593
- .ai-customization-management-editor .editor-mode-button:hover {
1594
- background: var(--vscode-button-secondaryHoverBackground);
2801
+ .plugin-list-widget .plugin-list-item-status.running {
2802
+ color: var(--vscode-editor-background);
2803
+ background-color: color-mix(in srgb, var(--vscode-terminal-ansiGreen) 50%, transparent);
1595
2804
  }
1596
2805
 
1597
- .ai-customization-management-editor .editor-mode-button:focus-visible {
1598
- outline: 1px solid var(--vscode-focusBorder);
1599
- outline-offset: 1px;
2806
+ .plugin-list-widget .plugin-list-item-status.disabled {
2807
+ color: var(--vscode-badge-foreground);
2808
+ background-color: color-mix(in srgb, var(--vscode-badge-background) 50%, transparent);
1600
2809
  }
1601
2810
 
1602
- .ai-customization-management-editor .editor-preview-container,
1603
- .ai-customization-management-editor .embedded-editor-container {
1604
- flex: 1;
1605
- margin-top: 8px;
1606
- min-height: 0;
1607
- overflow: hidden;
2811
+ .plugin-list-widget .mcp-runtime-status-badge {
2812
+ color: var(--vscode-foreground);
2813
+ background-color: var(--vscode-toolbar-hoverBackground);
1608
2814
  }
1609
2815
 
1610
- .ai-customization-management-editor .editor-preview-container {
1611
- background: var(--vscode-editor-background);
1612
- overflow: hidden;
2816
+ .plugin-list-widget .mcp-runtime-status-badge.running {
2817
+ color: var(--vscode-foreground);
2818
+ background-color: color-mix(in srgb, var(--vscode-charts-green) 18%, transparent);
1613
2819
  }
1614
2820
 
1615
- .ai-customization-management-editor .editor-preview-scroll-container {
1616
- height: 100%;
1617
- overflow: auto;
1618
- padding: 16px;
1619
- box-sizing: border-box;
1620
- outline: none;
1621
- display: flex;
1622
- flex-direction: column;
1623
- gap: 16px;
2821
+ .plugin-list-widget .mcp-runtime-status-badge.starting {
2822
+ background-color: color-mix(in srgb, var(--vscode-progressBar-background) 18%, transparent);
1624
2823
  }
1625
2824
 
1626
- .ai-customization-management-editor .editor-preview-section {
1627
- display: flex;
1628
- flex-direction: column;
1629
- gap: 10px;
2825
+ .plugin-list-widget .mcp-runtime-status-badge.auth-required {
2826
+ background-color: color-mix(in srgb, var(--vscode-list-warningForeground, var(--vscode-editorWarning-foreground)) 18%, transparent);
1630
2827
  }
1631
2828
 
1632
- .ai-customization-management-editor .editor-preview-frontmatter-list {
1633
- display: flex;
1634
- flex-direction: column;
1635
- gap: 10px;
2829
+ .plugin-list-widget .mcp-runtime-status-badge.error {
2830
+ background-color: color-mix(in srgb, var(--vscode-errorForeground) 18%, transparent);
1636
2831
  }
1637
2832
 
1638
- .ai-customization-management-editor .editor-preview-row {
2833
+ .plugin-list-widget .plugin-list-item-action {
1639
2834
  display: flex;
1640
- flex-direction: column;
1641
- gap: 6px;
1642
- padding: 10px 12px;
1643
- background: var(--vscode-editorWidget-background);
1644
- border: 1px solid var(--vscode-widget-border);
1645
- border-radius: 6px;
2835
+ align-items: center;
2836
+ flex-flow: row nowrap;
2837
+ gap: var(--vscode-spacing-size40);
2838
+ flex-shrink: 0;
2839
+ margin-left: auto;
1646
2840
  }
1647
2841
 
1648
- .ai-customization-management-editor .editor-preview-row-header {
1649
- display: flex;
1650
- align-items: center;
1651
- gap: 8px;
2842
+ .plugin-list-widget .plugin-list-item-action .plugin-card-icon-button.monaco-button {
2843
+ width: var(--vscode-spacing-size240);
2844
+ min-width: var(--vscode-spacing-size240);
2845
+ height: var(--vscode-spacing-size240);
2846
+ padding: 0;
2847
+ border-color: transparent;
2848
+ background: transparent;
2849
+ color: var(--vscode-descriptionForeground);
1652
2850
  }
1653
2851
 
1654
- .ai-customization-management-editor .editor-preview-row-key {
1655
- font-size: 12px;
1656
- font-weight: 600;
1657
- color: var(--vscode-foreground);
1658
- font-family: var(--monaco-monospace-font);
2852
+ .plugin-list-widget .plugin-list-item-action .plugin-card-icon-button.monaco-button:hover {
2853
+ background: var(--vscode-toolbar-hoverBackground);
2854
+ border-color: transparent;
2855
+ color: var(--vscode-textLink-activeForeground);
1659
2856
  }
1660
2857
 
1661
- .ai-customization-management-editor .editor-preview-row-help {
1662
- display: inline-flex;
1663
- align-items: center;
1664
- justify-content: center;
1665
- width: 20px;
1666
- height: 20px;
2858
+ .plugin-list-widget .mcp-server-actions .plugin-card-icon-button.monaco-button {
2859
+ width: var(--vscode-spacing-size240);
2860
+ min-width: var(--vscode-spacing-size240);
2861
+ height: var(--vscode-spacing-size240);
1667
2862
  padding: 0;
1668
- border: none;
1669
- border-radius: 999px;
2863
+ border-color: transparent;
1670
2864
  background: transparent;
1671
2865
  color: var(--vscode-descriptionForeground);
1672
- cursor: pointer;
1673
2866
  }
1674
2867
 
1675
- .ai-customization-management-editor .editor-preview-row-help:hover {
2868
+ .plugin-list-widget .mcp-server-actions .plugin-card-icon-button.monaco-button:hover {
1676
2869
  background: var(--vscode-toolbar-hoverBackground);
1677
- color: var(--vscode-foreground);
2870
+ border-color: transparent;
2871
+ color: var(--vscode-textLink-activeForeground);
1678
2872
  }
1679
2873
 
1680
- .ai-customization-management-editor .editor-preview-row-help:focus-visible {
1681
- outline: 1px solid var(--vscode-focusBorder);
1682
- outline-offset: 1px;
2874
+ .vscode-high-contrast .plugin-list-widget .plugin-list-item-action .plugin-card-icon-button.monaco-button:focus-visible,
2875
+ .vscode-high-contrast .plugin-list-widget .mcp-server-actions .plugin-card-icon-button.monaco-button:focus-visible {
2876
+ border-color: var(--vscode-contrastActiveBorder);
1683
2877
  }
1684
2878
 
1685
- .ai-customization-management-editor .editor-preview-row-help-icon {
1686
- font-size: 14px;
1687
- line-height: 14px;
2879
+ .plugin-list-widget .customization-home-row:hover {
2880
+ background: color-mix(in srgb, var(--vscode-list-hoverBackground) 65%, transparent);
1688
2881
  }
1689
2882
 
1690
- .ai-customization-management-editor .editor-preview-row-value {
1691
- font-size: var(--vscode-agents-fontSize-body1);
1692
- line-height: 1.5;
1693
- color: var(--vscode-foreground);
1694
- white-space: pre-wrap;
1695
- word-break: break-word;
2883
+ /* The enablement switch is the shared `Switch` widget; its styling lives in base. */
2884
+
2885
+ .plugin-list-widget .plugin-list-item-install-button {
2886
+ font-size: var(--vscode-agents-fontSize-body2);
2887
+ padding: var(--vscode-spacing-size40) var(--vscode-spacing-size80);
1696
2888
  }
1697
2889
 
1698
- .ai-customization-management-editor .editor-preview-row-value.multiline {
1699
- font-family: var(--monaco-monospace-font);
1700
- font-size: 12px;
2890
+ .plugin-list-widget .plugin-list-item-install-button:focus-visible {
2891
+ outline-offset: -1px;
1701
2892
  }
1702
2893
 
1703
- .ai-customization-management-editor .editor-preview-body-content {
1704
- padding: 12px 14px;
1705
- background: var(--vscode-editorWidget-background);
1706
- border: 1px solid var(--vscode-widget-border);
1707
- border-radius: 6px;
2894
+ .plugin-list-widget .plugin-card-container {
2895
+ flex: 1;
2896
+ min-height: 0;
2897
+ overflow: hidden;
1708
2898
  }
1709
2899
 
1710
- .ai-customization-management-editor .editor-preview-body-content > :first-child {
1711
- margin-top: 0;
2900
+ .plugin-list-widget .plugin-card-scrollable {
2901
+ position: relative;
2902
+ flex: 1;
2903
+ min-height: 0;
2904
+ width: 100%;
2905
+ max-width: 840px;
2906
+ margin: 0 auto;
1712
2907
  }
1713
2908
 
1714
- .ai-customization-management-editor .editor-preview-body-content > :last-child {
1715
- margin-bottom: 0;
2909
+ .plugin-list-widget .plugin-card-scrollable > .plugin-card-container {
2910
+ position: absolute;
2911
+ inset: 0;
1716
2912
  }
1717
2913
 
1718
- .ai-customization-management-editor .editor-preview-empty-state {
1719
- padding: 12px 14px;
1720
- background: var(--vscode-editorWidget-background);
1721
- border: 1px dashed var(--vscode-widget-border);
1722
- border-radius: 6px;
1723
- color: var(--vscode-descriptionForeground);
1724
- font-size: 12px;
2914
+ .plugin-list-widget .plugin-card-scroll {
2915
+ height: 100%;
2916
+ overflow: auto;
2917
+ padding: 0 0 var(--vscode-spacing-size200);
2918
+ box-sizing: border-box;
1725
2919
  }
1726
2920
 
1727
- .ai-customization-management-editor .editor-preview-issues-box {
1728
- padding: 12px 14px;
1729
- background: var(--vscode-inputValidation-warningBackground);
1730
- border: 1px solid var(--vscode-inputValidation-warningBorder);
1731
- border-radius: 6px;
1732
- color: var(--vscode-inputValidation-warningForeground);
2921
+ .plugin-list-widget .plugin-card-scroll.distributed-section-layout {
1733
2922
  display: flex;
1734
2923
  flex-direction: column;
1735
- gap: 8px;
2924
+ gap: var(--vscode-spacing-size100);
2925
+ height: 100%;
2926
+ min-height: 0;
2927
+ padding-bottom: 0;
2928
+ overflow: hidden;
1736
2929
  }
1737
2930
 
1738
- .ai-customization-management-editor .editor-preview-issues-title {
1739
- font-size: 12px;
1740
- font-weight: 600;
2931
+ .plugin-list-widget .distributed-section-layout > .plugin-card-section {
2932
+ flex: 0 0 auto;
2933
+ margin-bottom: 0;
1741
2934
  }
1742
2935
 
1743
- .ai-customization-management-editor .editor-preview-issues-description,
1744
- .ai-customization-management-editor .editor-preview-issues-list {
1745
- font-size: 12px;
1746
- line-height: 1.4;
2936
+ .plugin-list-widget .distributed-section-layout .plugin-card-section-header {
2937
+ margin-bottom: var(--vscode-spacing-size20);
1747
2938
  }
1748
2939
 
1749
- .ai-customization-management-editor .editor-preview-issues-list {
1750
- margin: 0;
1751
- padding-left: 18px;
2940
+ .plugin-list-widget .plugin-card-scroll-content {
2941
+ height: auto;
2942
+ overflow: visible;
2943
+ padding: 0 0 var(--vscode-spacing-size200);
1752
2944
  }
1753
2945
 
1754
- .ai-customization-management-editor .embedded-editor-container .monaco-editor {
1755
- border-radius: 4px;
2946
+ .plugin-list-widget .plugin-marketplace-back-container {
2947
+ flex-shrink: 0;
2948
+ display: flex;
2949
+ align-items: center;
2950
+ padding: var(--vscode-spacing-size120) 0 0;
1756
2951
  }
1757
2952
 
1758
- /* Initial open transition: a subtle fade + lift plays once when the editor
1759
- pane is first mounted. View switches inside the modal are not animated. */
1760
- .ai-customization-management-editor {
1761
- animation: ai-customization-view-enter 160ms ease-out;
2953
+ .plugin-list-widget .plugin-card-section {
2954
+ margin-bottom: var(--vscode-spacing-size240);
1762
2955
  }
1763
2956
 
1764
- @keyframes ai-customization-view-enter {
1765
- from {
1766
- opacity: 0;
1767
- transform: translateY(4px);
1768
- }
1769
- to {
1770
- opacity: 1;
1771
- transform: translateY(0);
1772
- }
2957
+ .plugin-list-widget .plugin-card-section-header {
2958
+ display: flex;
2959
+ align-items: flex-end;
2960
+ justify-content: flex-start;
2961
+ gap: var(--vscode-spacing-size60);
2962
+ margin-bottom: var(--vscode-spacing-size120);
2963
+ min-width: 0;
1773
2964
  }
1774
2965
 
1775
- @media (prefers-reduced-motion: reduce) {
1776
- .ai-customization-management-editor {
1777
- animation: none;
1778
- }
2966
+ .plugin-list-widget .plugin-card-section-actions {
2967
+ display: flex;
2968
+ align-items: center;
2969
+ flex: 0 0 auto;
2970
+ gap: var(--vscode-spacing-size40);
1779
2971
  }
1780
2972
 
1781
- /* Welcome page styles live in the welcome page variant stylesheets. */
1782
-
1783
-
1784
- /* Automations section
1785
- *
1786
- * The outer `.automations-content-container` shares the panel-surface
1787
- * styling with the prompts / MCP / plugin / models containers (see the
1788
- * shared rule above near line 758) so the Automations tab visually
1789
- * matches its siblings: 40px panel padding, agentsPanel background,
1790
- * rounded border. The list-widget below fills that panel.
1791
- *
1792
- * No standalone rule is needed here. The shared selector covers it. */
1793
-
1794
- .automations-list-widget {
1795
- display: flex;
1796
- flex-direction: column;
1797
- flex: 1;
1798
- min-height: 0;
2973
+ .plugin-list-widget .plugin-card-section-actions .monaco-button {
2974
+ width: auto;
1799
2975
  }
1800
2976
 
1801
- .automations-list-widget .automations-empty-state {
1802
- display: flex;
1803
- flex-direction: column;
1804
- align-items: center;
1805
- justify-content: center;
1806
- padding: 48px 24px;
1807
- gap: 8px;
1808
- text-align: center;
1809
- flex: 1;
2977
+ .plugin-list-widget .plugin-card-section-actions .plugin-update-button.monaco-button {
2978
+ width: var(--vscode-spacing-size280);
2979
+ min-width: var(--vscode-spacing-size280);
2980
+ padding: var(--vscode-spacing-size40) 0;
1810
2981
  }
1811
2982
 
1812
- .automations-list-widget .automations-empty-state .automations-empty-title {
1813
- font-size: 16px;
1814
- font-weight: 500;
1815
- color: var(--vscode-foreground);
1816
- margin: 0;
2983
+ .plugin-list-widget.narrow-layout .available-plugins-section .plugin-card-section-header,
2984
+ .plugin-list-widget.narrow-layout .installed-plugins-section .plugin-card-section-header,
2985
+ .plugin-list-widget.narrow-layout .available-mcp-servers-section .plugin-card-section-header,
2986
+ .plugin-list-widget.narrow-layout .installed-mcp-servers-section .plugin-card-section-header,
2987
+ .plugin-list-widget.narrow-layout .customization-card-section .plugin-card-section-header {
2988
+ align-items: stretch;
2989
+ flex-wrap: wrap;
1817
2990
  }
1818
2991
 
1819
- .automations-list-widget .automations-empty-state .automations-empty-message {
1820
- font-size: var(--vscode-agents-fontSize-body1);
1821
- color: var(--vscode-descriptionForeground);
1822
- max-width: 320px;
1823
- line-height: 1.4;
1824
- margin: 0;
2992
+ .plugin-list-widget.narrow-layout .available-plugins-section .plugin-card-section-actions,
2993
+ .plugin-list-widget.narrow-layout .installed-plugins-section .plugin-card-section-actions,
2994
+ .plugin-list-widget.narrow-layout .available-mcp-servers-section .plugin-card-section-actions,
2995
+ .plugin-list-widget.narrow-layout .installed-mcp-servers-section .plugin-card-section-actions,
2996
+ .plugin-list-widget.narrow-layout .customization-card-section .plugin-card-section-actions {
2997
+ width: 100%;
1825
2998
  }
1826
2999
 
1827
- .automations-list-widget .automations-empty-state .automations-empty-cta {
1828
- margin-top: 16px;
1829
- min-width: 160px;
1830
- align-self: center;
3000
+ .plugin-list-widget.narrow-layout .available-plugins-section .plugin-available-action,
3001
+ .plugin-list-widget.narrow-layout .installed-plugins-section .plugin-installed-action,
3002
+ .plugin-list-widget.narrow-layout .installed-mcp-servers-section .plugin-installed-action,
3003
+ .plugin-list-widget.narrow-layout .customization-card-section .customization-create-action,
3004
+ .plugin-list-widget.narrow-layout .customization-card-section .customization-generate-action {
3005
+ flex: 1 1 auto;
3006
+ min-width: 0;
1831
3007
  }
1832
3008
 
1833
- /* Header. This mirrors `.section-title-header` on the prompts side so the
1834
- * Automations tab reads with the same vertical rhythm and underline
1835
- * treatment as Agents / Skills / Prompts / Instructions. Horizontal
1836
- * padding is absent because the parent `.automations-content-container`
1837
- * already owns 40px panel padding. */
1838
- .automations-list-widget .automations-header {
1839
- flex-shrink: 0;
1840
- padding: 0 0 32px;
1841
- border-bottom: 1px solid var(--vscode-panel-border);
3009
+ .plugin-list-widget.narrow-layout .customization-card-section .customization-create-action > .monaco-button {
3010
+ flex: 1 1 auto;
3011
+ min-width: 0;
1842
3012
  }
1843
3013
 
1844
- .automations-list-widget .automations-header-row {
3014
+ .plugin-list-widget .plugin-card-section-heading-row {
1845
3015
  display: flex;
1846
- flex-direction: row;
1847
3016
  align-items: center;
1848
- justify-content: space-between;
1849
- gap: 8px 16px;
1850
- flex-wrap: wrap;
3017
+ gap: var(--vscode-spacing-size60);
1851
3018
  }
1852
3019
 
1853
- .automations-list-widget .automations-header-title {
1854
- font-size: var(--vscode-agents-fontSize-heading2);
3020
+ .plugin-list-widget .plugin-card-section-text {
3021
+ flex: 1;
3022
+ min-width: 0;
3023
+ }
3024
+
3025
+ .plugin-list-widget .plugin-card-section-title {
3026
+ margin: 0;
3027
+ font-size: var(--vscode-agents-fontSize-heading3);
1855
3028
  font-weight: var(--vscode-agents-fontWeight-semiBold);
3029
+ line-height: 18px;
1856
3030
  color: var(--vscode-foreground);
1857
- margin: 0;
1858
- min-width: 0;
1859
3031
  }
1860
3032
 
1861
- .automations-list-widget .automations-header-subtitle {
1862
- font-size: var(--vscode-agents-fontSize-body1);
1863
- line-height: 1.45;
3033
+ .plugin-list-widget .plugin-card-section-description {
3034
+ margin-top: var(--vscode-spacing-size20);
3035
+ font-size: var(--vscode-agents-fontSize-body2);
3036
+ line-height: 16px;
1864
3037
  color: var(--vscode-descriptionForeground);
1865
- margin: 0 0 8px 0;
1866
- /* Reserve ~2 lines so vertical rhythm matches the prompts-side
1867
- * `.section-title-description` even when our subtitle is short. */
1868
- min-height: 38px;
1869
3038
  }
1870
3039
 
1871
- .automations-list-widget .automations-new-button {
1872
- width: auto;
1873
- flex: 0 0 auto;
1874
- padding: 4px 14px;
3040
+ .plugin-list-widget .plugin-card-grid {
3041
+ display: grid;
3042
+ grid-template-columns: minmax(0, 1fr);
3043
+ gap: var(--vscode-spacing-size80);
1875
3044
  }
1876
3045
 
1877
- /* When the widget is empty, hide the header so the empty-state CTA reads
1878
- * as the primary action and there is not a duplicate New button. */
1879
- .automations-list-widget.automations-empty .automations-header {
1880
- display: none;
3046
+ .plugin-list-widget .plugin-inventory-empty {
3047
+ padding: var(--vscode-spacing-size160);
3048
+ color: var(--vscode-descriptionForeground);
3049
+ font-size: var(--vscode-agents-fontSize-body2);
3050
+ line-height: 16px;
1881
3051
  }
1882
3052
 
1883
- /* List */
1884
- .automations-list-widget .automations-list {
3053
+ .plugin-list-widget .virtualized-section-loading {
1885
3054
  display: flex;
1886
- flex-direction: column;
1887
- flex: 1;
1888
- min-height: 0;
1889
- overflow: auto;
1890
- gap: 6px;
3055
+ align-items: center;
3056
+ box-sizing: border-box;
3057
+ padding-inline: var(--vscode-spacing-size160);
3058
+ color: var(--vscode-descriptionForeground);
3059
+ font-size: var(--vscode-fontSize-body2);
1891
3060
  }
1892
3061
 
1893
- .automations-list-widget .automations-row {
1894
- display: flex;
1895
- flex-direction: row;
1896
- align-items: flex-start;
1897
- gap: 12px;
1898
- padding: 12px 16px;
1899
- border-radius: 6px;
1900
- cursor: pointer;
3062
+ .plugin-list-widget .plugin-marketplace-home-row .plugin-list-item-install-button.monaco-button {
3063
+ width: auto;
3064
+ flex: 0 0 auto;
1901
3065
  }
1902
3066
 
1903
- .automations-list-widget .automations-row:not(.automations-row-disabled):hover {
1904
- background-color: var(--vscode-list-hoverBackground);
3067
+ .plugin-list-widget .plugin-search-results .plugin-card-section:last-child {
3068
+ margin-bottom: 0;
1905
3069
  }
1906
3070
 
1907
- .automations-list-widget .automations-row-wrapper:has(> .automations-row-history) .automations-row:not(.automations-row-disabled):hover {
1908
- background-color: transparent;
3071
+ .plugin-list-widget.wide-layout .plugin-marketplace-recommended-section .plugin-card-grid {
3072
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1909
3073
  }
1910
3074
 
1911
- .automations-list-widget .automations-row:has(:focus-visible) {
1912
- outline: 1px solid var(--vscode-focusBorder);
1913
- outline-offset: -1px;
3075
+ .plugin-list-widget .plugin-card {
3076
+ display: flex;
3077
+ flex-direction: column;
3078
+ gap: var(--vscode-spacing-size80);
3079
+ min-width: 0;
3080
+ min-height: 112px;
3081
+ padding: var(--vscode-spacing-size120);
3082
+ border: var(--vscode-strokeThickness) solid var(--vscode-agentsPanel-border);
3083
+ border-radius: var(--vscode-cornerRadius-large);
3084
+ color: var(--vscode-foreground);
3085
+ box-sizing: border-box;
3086
+ cursor: pointer;
1914
3087
  }
1915
3088
 
1916
- .automations-list-widget .automations-row-disabled {
1917
- opacity: 0.6;
3089
+ .plugin-list-widget .plugin-marketplace-card {
3090
+ justify-content: space-between;
3091
+ gap: var(--vscode-spacing-size120);
3092
+ min-height: 0;
3093
+ padding-bottom: var(--vscode-spacing-size120);
1918
3094
  }
1919
3095
 
1920
- .automations-list-widget .automations-row-main {
1921
- display: flex;
1922
- flex-direction: column;
1923
- gap: 4px;
3096
+ .plugin-list-widget .plugin-marketplace-card .plugin-card-header {
1924
3097
  flex: 1;
1925
- min-width: 0;
3098
+ align-items: stretch;
3099
+ flex-direction: column;
1926
3100
  }
1927
3101
 
1928
- .automations-list-widget .automations-row-name {
1929
- font-size: var(--vscode-agents-fontSize-body1);
1930
- font-weight: 600;
1931
- color: var(--vscode-foreground);
1932
- display: flex;
1933
- flex-direction: row;
1934
- align-items: center;
1935
- gap: 8px;
1936
- word-break: break-word;
3102
+ .plugin-list-widget .plugin-marketplace-card .plugin-card-title-block.customization-card-primary-action {
3103
+ width: 100%;
1937
3104
  }
1938
3105
 
1939
- .automations-list-widget .automations-row-disabled-badge {
1940
- font-size: 11px;
1941
- font-weight: 400;
1942
- padding: 1px 6px;
1943
- border-radius: 3px;
1944
- background-color: var(--vscode-badge-background);
1945
- color: var(--vscode-badge-foreground);
3106
+ .plugin-list-widget .plugin-marketplace-card .plugin-card-header .plugin-card-actions {
3107
+ justify-content: flex-start;
3108
+ margin-top: auto;
3109
+ margin-left: 0;
3110
+ padding-top: var(--vscode-spacing-size80);
1946
3111
  }
1947
3112
 
1948
- .automations-list-widget .automations-row-meta {
1949
- display: flex;
1950
- flex-direction: row;
1951
- align-items: center;
1952
- gap: 6px;
1953
- font-size: 12px;
1954
- color: var(--vscode-descriptionForeground);
1955
- flex-wrap: wrap;
3113
+ .plugin-list-widget .plugin-marketplace-card .plugin-card-subtitle {
3114
+ display: -webkit-box;
3115
+ -webkit-box-orient: vertical;
3116
+ -webkit-line-clamp: 2;
3117
+ white-space: normal;
1956
3118
  }
1957
3119
 
1958
- .automations-list-widget .automations-row-meta-sep {
1959
- opacity: 0.6;
3120
+ .plugin-list-widget .plugin-card:hover {
3121
+ background: var(--vscode-list-hoverBackground);
1960
3122
  }
1961
3123
 
1962
- .automations-list-widget .automations-row-prompt {
1963
- font-size: 12px;
1964
- color: var(--vscode-descriptionForeground);
1965
- margin-top: 2px;
1966
- overflow: hidden;
1967
- text-overflow: ellipsis;
1968
- word-break: break-word;
3124
+ .plugin-list-widget .plugin-card.disabled {
3125
+ opacity: 0.65;
1969
3126
  }
1970
3127
 
1971
- .automations-list-widget .automations-row-actions {
3128
+ .plugin-list-widget .plugin-card-header {
1972
3129
  display: flex;
1973
- flex-direction: row;
1974
- gap: 4px;
1975
- align-items: center;
1976
- flex: 0 0 auto;
1977
- }
1978
-
1979
- .automations-list-widget .automations-row-action-button {
1980
- display: inline-flex;
1981
3130
  align-items: center;
1982
- justify-content: center;
1983
- width: 24px;
1984
- height: 24px;
1985
- padding: 0;
1986
- border: none;
1987
- border-radius: 4px;
1988
- background: transparent;
1989
- color: var(--vscode-icon-foreground);
1990
- cursor: pointer;
1991
- font-size: 16px;
3131
+ gap: var(--vscode-spacing-size100);
3132
+ min-width: 0;
1992
3133
  }
1993
3134
 
1994
- .automations-list-widget .automations-row-action-button:hover:not(:disabled) {
1995
- background-color: var(--vscode-toolbar-hoverBackground);
3135
+ .plugin-list-widget .plugin-card-header .plugin-card-actions {
3136
+ margin-left: auto;
3137
+ padding-top: var(--vscode-spacing-size20);
1996
3138
  }
1997
3139
 
1998
- .automations-list-widget .automations-row-action-button:focus {
1999
- outline: 1px solid var(--vscode-focusBorder);
2000
- outline-offset: -1px;
3140
+ .plugin-list-widget .plugin-card-title-block {
3141
+ flex: 1;
3142
+ min-width: 0;
2001
3143
  }
2002
3144
 
2003
- .automations-list-widget .automations-row-action-button:disabled {
2004
- opacity: 0.4;
2005
- cursor: default;
3145
+ .plugin-list-widget .plugin-card-title {
3146
+ font-size: var(--vscode-agents-fontSize-body1);
3147
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
3148
+ line-height: 18px;
3149
+ overflow: hidden;
3150
+ text-overflow: ellipsis;
3151
+ white-space: nowrap;
2006
3152
  }
2007
3153
 
2008
- /* Run history (inline) */
2009
- .automations-list-widget .automations-row-wrapper {
2010
- display: flex;
2011
- flex-direction: column;
2012
- border-radius: 6px;
3154
+ .plugin-list-widget .plugin-card-subtitle,
3155
+ .plugin-list-widget .plugin-card-description,
3156
+ .plugin-list-widget .plugin-card-meta {
3157
+ font-size: var(--vscode-agents-fontSize-body2);
3158
+ line-height: 16px;
3159
+ color: var(--vscode-descriptionForeground);
2013
3160
  overflow: hidden;
3161
+ text-overflow: ellipsis;
3162
+ white-space: nowrap;
2014
3163
  }
2015
3164
 
2016
- /*
2017
- * When a wrapper has an expanded history panel, flatten the row's bottom
2018
- * corners so the row + history read as one visually connected card.
2019
- */
2020
- .automations-list-widget .automations-row-wrapper:has(> .automations-row-history) .automations-row {
2021
- border-bottom-left-radius: 0;
2022
- border-bottom-right-radius: 0;
3165
+ .plugin-list-widget .plugin-card-description {
3166
+ white-space: normal;
3167
+ display: -webkit-box;
3168
+ -webkit-line-clamp: 2;
3169
+ -webkit-box-orient: vertical;
2023
3170
  }
2024
3171
 
2025
- .automations-list-widget .automations-row-history {
2026
- padding: 4px 16px 12px 40px;
3172
+ .plugin-list-widget .plugin-card-badges,
3173
+ .plugin-list-widget .plugin-card-actions {
2027
3174
  display: flex;
2028
- flex-direction: column;
2029
- gap: 4px;
3175
+ flex-wrap: nowrap;
3176
+ align-items: center;
3177
+ gap: var(--vscode-spacing-size40);
2030
3178
  }
2031
3179
 
2032
- .automations-list-widget .automations-history-heading {
2033
- font-size: 11px;
2034
- font-weight: 600;
2035
- margin: 4px 0;
2036
- text-transform: uppercase;
2037
- letter-spacing: 0.5px;
2038
- color: var(--vscode-descriptionForeground);
3180
+ .plugin-list-widget .plugin-card-badges {
3181
+ justify-content: flex-start;
2039
3182
  }
2040
3183
 
2041
- .automations-list-widget .automations-history-empty {
2042
- font-size: 12px;
2043
- color: var(--vscode-descriptionForeground);
2044
- font-style: italic;
3184
+ .plugin-list-widget .plugin-card-actions {
3185
+ justify-content: flex-end;
2045
3186
  }
2046
3187
 
2047
- .automations-list-widget .automations-history-list {
2048
- list-style: none;
2049
- margin: 0;
2050
- padding: 0;
2051
- display: flex;
2052
- flex-direction: column;
2053
- gap: 4px;
3188
+ .plugin-list-widget .plugin-card-actions .monaco-button {
3189
+ width: auto;
3190
+ flex: 0 0 auto;
3191
+ font-size: var(--vscode-agents-fontSize-body2);
3192
+ padding: 0 var(--vscode-spacing-size80);
3193
+ min-height: 24px;
2054
3194
  }
2055
3195
 
2056
- .automations-list-widget .automations-history-row {
2057
- display: flex;
2058
- flex-direction: row;
2059
- align-items: flex-start;
2060
- gap: 8px;
2061
- font-size: 12px;
2062
- padding: 6px 10px;
2063
- border-radius: 4px;
2064
- background-color: var(--vscode-editorWidget-background, transparent);
3196
+ .plugin-list-widget .plugin-card-actions .plugin-card-icon-button.monaco-button {
3197
+ width: 24px;
3198
+ min-width: 24px;
3199
+ padding: 0;
2065
3200
  }
2066
3201
 
2067
- .automations-list-widget .automations-history-status {
3202
+ .plugin-list-widget .plugin-card-actions .plugin-card-ghost-button.monaco-button,
3203
+ .plugin-list-widget .plugin-card-section-header .plugin-card-ghost-button.monaco-button,
3204
+ .plugin-list-widget .plugin-marketplace-page-header .plugin-card-ghost-button.monaco-button {
3205
+ background: transparent;
3206
+ color: var(--vscode-foreground);
3207
+ border-color: transparent;
3208
+ width: auto;
2068
3209
  flex: 0 0 auto;
2069
- width: 16px;
2070
- height: 16px;
2071
- display: inline-flex;
2072
- align-items: center;
2073
- justify-content: center;
2074
3210
  }
2075
3211
 
2076
- .automations-list-widget .automations-history-row[data-run-status="completed"] .automations-history-status {
2077
- color: var(--vscode-testing-iconPassed, var(--vscode-icon-foreground));
3212
+ .plugin-list-widget .plugin-card-actions .plugin-card-ghost-button.monaco-button:hover,
3213
+ .plugin-list-widget .plugin-card-section-header .plugin-card-ghost-button.monaco-button:hover,
3214
+ .plugin-list-widget .plugin-marketplace-page-header .plugin-card-ghost-button.monaco-button:hover {
3215
+ background: var(--vscode-toolbar-hoverBackground);
3216
+ color: var(--vscode-foreground);
2078
3217
  }
2079
3218
 
2080
- .automations-list-widget .automations-history-row[data-run-status="failed"] .automations-history-status {
2081
- color: var(--vscode-testing-iconFailed, var(--vscode-errorForeground));
3219
+ .plugin-list-widget .plugin-home-empty-card {
3220
+ display: flex;
3221
+ flex-direction: column;
3222
+ grid-column: 1 / -1;
3223
+ align-items: center;
3224
+ justify-content: center;
3225
+ gap: var(--vscode-spacing-size120);
3226
+ min-height: 160px;
3227
+ padding: var(--vscode-spacing-size360) var(--vscode-spacing-size160);
3228
+ margin: var(--vscode-spacing-size40) 0 var(--vscode-spacing-size240);
3229
+ text-align: center;
3230
+ box-sizing: border-box;
2082
3231
  }
2083
3232
 
2084
- .automations-list-widget .automations-history-row[data-run-status="running"] .automations-history-status {
2085
- color: var(--vscode-charts-blue, var(--vscode-icon-foreground));
3233
+ .plugin-list-widget .plugin-home-empty-title {
3234
+ margin: 0;
3235
+ font-size: var(--vscode-agents-fontSize-heading3);
3236
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
3237
+ color: var(--vscode-foreground);
2086
3238
  }
2087
3239
 
2088
- .automations-list-widget .automations-history-row-text {
2089
- display: flex;
2090
- flex-direction: column;
2091
- gap: 2px;
2092
- flex: 1;
2093
- min-width: 0;
3240
+ .plugin-list-widget .plugin-home-empty-description {
3241
+ max-width: 520px;
3242
+ font-size: var(--vscode-agents-fontSize-body2);
3243
+ line-height: 1.45;
3244
+ color: var(--vscode-descriptionForeground);
2094
3245
  }
2095
3246
 
2096
- .automations-list-widget .automations-history-row-first {
2097
- display: flex;
2098
- flex-direction: row;
3247
+ .plugin-list-widget .plugin-home-empty-card .plugin-card-actions {
3248
+ justify-content: center;
2099
3249
  flex-wrap: wrap;
2100
- gap: 6px;
2101
- color: var(--vscode-foreground);
2102
3250
  }
2103
3251
 
2104
- .automations-list-widget .automations-history-row-status {
2105
- font-weight: 600;
3252
+ .plugin-list-widget .plugin-browse-all-button.monaco-button {
3253
+ width: fit-content;
3254
+ flex: 0 0 auto;
2106
3255
  }
2107
3256
 
2108
- .automations-list-widget .automations-history-row-sep {
2109
- color: var(--vscode-descriptionForeground);
2110
- opacity: 0.6;
3257
+ .vscode-high-contrast .plugin-list-widget .plugin-card,
3258
+ .vscode-high-contrast .plugin-list-widget .plugin-home-empty-card {
3259
+ border-color: var(--vscode-contrastBorder);
2111
3260
  }
2112
3261
 
2113
- .automations-list-widget .automations-history-row-trigger,
2114
- .automations-list-widget .automations-history-row-started,
2115
- .automations-list-widget .automations-history-row-duration {
2116
- color: var(--vscode-descriptionForeground);
3262
+ /* Button group for Add Server + Browse Marketplace */
3263
+ .mcp-list-widget .list-button-group {
3264
+ display: flex;
3265
+ gap: 4px;
3266
+ flex-shrink: 0;
2117
3267
  }
2118
3268
 
2119
- .automations-list-widget .automations-history-row-error {
2120
- color: var(--vscode-errorForeground);
2121
- font-size: 11px;
2122
- white-space: pre-wrap;
2123
- word-break: break-word;
3269
+ /* Embedded Editor View */
3270
+ .ai-customization-management-editor .editor-content-container {
3271
+ height: 100%;
3272
+ display: flex;
3273
+ flex-direction: column;
3274
+ padding: 0;
3275
+ background: var(--vscode-agentsPanel-background);
3276
+ border: 1px solid var(--vscode-agentsPanel-border);
3277
+ border-radius: 6px;
3278
+ overflow: hidden;
3279
+ box-sizing: border-box;
2124
3280
  }
2125
3281
 
2126
- .automations-list-widget .automations-history-row-open {
2127
- flex: 0 0 auto;
2128
- width: 24px;
2129
- height: 24px;
2130
- display: inline-flex;
3282
+ .ai-customization-management-editor .editor-header {
3283
+ display: flex;
3284
+ align-items: center;
3285
+ gap: 8px;
3286
+ padding: 16px 16px 6px;
3287
+ flex-shrink: 0;
3288
+ }
3289
+
3290
+ .ai-customization-management-editor .editor-back-button {
3291
+ flex-shrink: 0;
3292
+ align-self: flex-start;
3293
+ display: flex;
2131
3294
  align-items: center;
2132
3295
  justify-content: center;
3296
+ width: 26px;
3297
+ height: 26px;
3298
+ padding: 0;
3299
+ border-radius: var(--vscode-cornerRadius-small);
2133
3300
  cursor: pointer;
2134
- border-radius: 4px;
2135
3301
  background: transparent;
2136
- opacity: 0;
2137
- color: var(--vscode-icon-foreground);
2138
- font-size: 16px;
3302
+ border: none;
3303
+ color: var(--vscode-foreground);
3304
+ opacity: 0.8;
3305
+ transition: background-color 0.1s ease, opacity 0.1s ease;
2139
3306
  }
2140
3307
 
2141
- .automations-list-widget .automations-history-row:hover .automations-history-row-open,
2142
- .automations-list-widget .automations-history-row-open:focus-visible {
2143
- opacity: 1;
3308
+ .ai-customization-management-editor .editor-back-button .codicon {
3309
+ font-size: var(--vscode-codiconFontSize);
3310
+ line-height: 1;
2144
3311
  }
2145
3312
 
2146
- .automations-list-widget .automations-history-row-open:focus-visible {
2147
- outline: 1px solid var(--vscode-focusBorder);
3313
+ .ai-customization-management-editor .editor-back-button:focus-visible {
3314
+ outline: var(--vscode-strokeThickness) solid var(--vscode-focusBorder);
2148
3315
  outline-offset: -1px;
2149
3316
  }
2150
3317
 
2151
- .automations-list-widget .automations-history-row-open:hover {
3318
+ .ai-customization-management-editor .editor-back-button:hover:not(:disabled) {
2152
3319
  background-color: var(--vscode-toolbar-hoverBackground);
3320
+ opacity: 1;
2153
3321
  }
2154
3322
 
2155
- .automations-list-widget .automations-history-more {
2156
- font-size: 11px;
2157
- color: var(--vscode-descriptionForeground);
2158
- font-style: italic;
3323
+ .ai-customization-management-editor .editor-back-button:active:not(:disabled) {
3324
+ background-color: var(--vscode-toolbar-activeBackground);
2159
3325
  }
2160
3326
 
2161
- /* Dialog */
2162
- .monaco-dialog-box.automation-dialog .dialog-message-container > .dialog-message-detail {
2163
- display: none;
3327
+ .ai-customization-management-editor .editor-back-button:disabled {
3328
+ cursor: default;
3329
+ opacity: 0.45;
2164
3330
  }
2165
3331
 
2166
- /*
2167
- * The dialog's built-in title (rendered into `.dialog-message-text`)
2168
- * stays in the DOM so `aria-labelledby="monaco-dialog-message-text"`
2169
- * still binds for screen readers, but is visually hidden. Our own
2170
- * `.automation-titlebar` provides the visible chrome. Visually-hidden
2171
- * pattern (not `display: none`) because some AT/screen-reader combos
2172
- * skip aria-labelledby targets when `display: none` is in effect.
2173
- * Same treatment for the unused dialog icon slot.
2174
- */
2175
- .monaco-dialog-box.automation-dialog .dialog-message-container > .dialog-message {
2176
- margin: 0;
2177
- padding: 0;
3332
+ .ai-customization-management-editor .editor-action-button-icon {
3333
+ font-size: 14px;
3334
+ line-height: 14px;
2178
3335
  }
2179
3336
 
2180
- .monaco-dialog-box.automation-dialog .dialog-message-container > .dialog-message .dialog-message-text {
2181
- position: absolute;
2182
- width: 1px;
2183
- height: 1px;
2184
- padding: 0;
2185
- margin: -1px;
3337
+ .ai-customization-management-editor .editor-item-info {
3338
+ display: flex;
3339
+ flex-direction: column;
2186
3340
  overflow: hidden;
2187
- clip: rect(0, 0, 0, 0);
2188
- white-space: nowrap;
2189
- border: 0;
3341
+ flex: 1;
3342
+ min-width: 0;
2190
3343
  }
2191
3344
 
2192
- .monaco-dialog-box.automation-dialog .dialog-message-row > .dialog-icon.codicon {
2193
- display: none;
3345
+ .ai-customization-management-editor .editor-item-name {
3346
+ font-size: 14px;
3347
+ font-weight: var(--vscode-fontWeight-semiBold);
3348
+ color: var(--vscode-foreground);
3349
+ overflow: hidden;
3350
+ text-overflow: ellipsis;
3351
+ white-space: nowrap;
2194
3352
  }
2195
3353
 
2196
- /*
2197
- * Lock the dialog box to a stable width. Without this rule the dialog
2198
- * inherits `width: min-content` from `dialog.css` and re-flows as the
2199
- * embedded chat input's chips change size (e.g. when the model picker
2200
- * resolves a shorter label). Use min(640px, 92vw) so the dialog still
2201
- * shrinks gracefully on narrow viewports.
2202
- *
2203
- * Padding is stripped (vs. the base 8px) so our `.automation-titlebar`
2204
- * stripe can paint edge-to-edge inside the dialog body. The form pane
2205
- * re-adds its own padding.
2206
- *
2207
- * Note: `extraClasses` on Dialog adds the class to `.monaco-dialog-box`
2208
- * itself (not an ancestor), so we attach the rule directly here.
2209
- */
2210
- .monaco-dialog-box.automation-dialog {
2211
- width: min(640px, 92vw);
2212
- min-width: min(520px, 92vw);
2213
- max-width: 92vw;
2214
- padding: 0;
2215
- background-color: var(--vscode-quickInput-background);
2216
- color: var(--vscode-quickInput-foreground);
2217
- /* Anchor for the absolutely-positioned close-X (see below). */
2218
- position: relative;
3354
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content {
3355
+ color: var(--vscode-foreground);
3356
+ font-size: var(--vscode-agents-fontSize-body1);
3357
+ line-height: 1.5;
3358
+ overflow-wrap: anywhere;
2219
3359
  }
2220
3360
 
2221
- /*
2222
- * Float the close-X over the titlebar so the title text sits flush
2223
- * with the top edge of the modal (QuickInput-style). Without this,
2224
- * `.dialog-toolbar-row` reserves ~24px of dead space above the title.
2225
- * `z-index` keeps the X above the sticky titlebar.
2226
- */
2227
- .monaco-dialog-box.automation-dialog .dialog-toolbar-row {
2228
- position: absolute;
2229
- top: 0;
2230
- right: 0;
2231
- height: auto;
2232
- padding: 4px 6px 0 0;
2233
- z-index: 2;
3361
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown > :first-child {
3362
+ margin-top: 0;
2234
3363
  }
2235
3364
 
2236
- .automation-dialog-body {
2237
- display: flex;
2238
- flex-direction: column;
2239
- min-height: 0;
3365
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown > :last-child {
3366
+ margin-bottom: 0;
2240
3367
  }
2241
3368
 
2242
- /*
2243
- * Strip the base dialog padding on the message row and container so
2244
- * our titlebar can full-bleed. The form pane below re-adds horizontal
2245
- * padding so the form fields don't crash into the dialog edge.
2246
- *
2247
- * Container still owns the scrolling (per base/.../dialog.css), so
2248
- * the titlebar uses `position: sticky; top: 0` to stay visible as the
2249
- * form scrolls underneath it.
2250
- */
2251
- .monaco-dialog-box.automation-dialog .dialog-message-row {
2252
- padding: 0;
3369
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown p {
3370
+ margin: 0 0 var(--vscode-spacing-size120) 0;
2253
3371
  }
2254
3372
 
2255
- .monaco-dialog-box.automation-dialog .dialog-message-row .dialog-message-container {
2256
- padding: 0;
2257
- /*
2258
- * The base dialog leaves the message container at content size
2259
- * (`align-self: stretch` only stretches height in a horizontal flex
2260
- * row). Our form fields are `width: 100%` of this container, so they
2261
- * track the container's intrinsic min-content width. It shrinks
2262
- * over the first second as the embedded chat input's chip labels
2263
- * (model name, mode name, etc.) resolve and the toolbar's
2264
- * min-content drops. Forcing the container to fill the row width
2265
- * keeps every field at the dialog's locked width from first paint
2266
- * onwards. `min-width: 0` lets the container shrink inside the row
2267
- * (which has `overflow: hidden`) instead of being pushed by long
2268
- * chip labels.
2269
- */
2270
- flex: 1 1 auto;
2271
- min-width: 0;
3373
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown h1,
3374
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown h2,
3375
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown h3,
3376
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown h4,
3377
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown h5,
3378
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown h6 {
3379
+ margin: var(--vscode-spacing-size160) 0 var(--vscode-spacing-size80);
3380
+ color: var(--vscode-foreground);
3381
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
3382
+ line-height: 1.35;
2272
3383
  }
2273
3384
 
2274
- /*
2275
- * QuickInput-style titlebar. The visual "line" beneath it is purely
2276
- * the background contrast between `quickInputTitle.background` (a
2277
- * translucent stripe) and `quickInput.background` (the form area).
2278
- * No `border-bottom`. Sticky so the title stays in view as the form
2279
- * scrolls (the dialog's message-container is the scroll host).
2280
- */
2281
- .automation-titlebar {
2282
- position: sticky;
2283
- top: 0;
2284
- z-index: 1;
2285
- /* Right padding reserves room for the floating close-X chip. */
2286
- padding: 8px 36px 8px 14px;
2287
- text-align: left;
2288
- font-weight: var(--vscode-agents-fontWeight-semiBold);
3385
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown h1 {
2289
3386
  font-size: var(--vscode-agents-fontSize-heading2);
2290
- color: var(--vscode-quickInput-foreground);
2291
- background-color: var(--vscode-quickInputTitle-background);
2292
3387
  }
2293
3388
 
2294
- .automation-description {
2295
- padding: 8px 14px;
2296
- font-size: var(--vscode-agents-fontSize-body2, 12px);
2297
- color: var(--vscode-descriptionForeground);
2298
- line-height: 1.4;
3389
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown h2,
3390
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown h3 {
3391
+ font-size: var(--vscode-agents-fontSize-heading3);
2299
3392
  }
2300
3393
 
2301
- .automation-form-pane {
2302
- flex: 1 1 auto;
2303
- min-width: 0;
2304
- min-height: 0;
2305
- padding: 4px 14px 6px;
3394
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown h4,
3395
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown h5,
3396
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown h6 {
3397
+ font-size: var(--vscode-agents-fontSize-label1);
2306
3398
  }
2307
3399
 
2308
- /*
2309
- * Theme the native overflow scrollbar on the dialog body so it matches
2310
- * the rest of VS Code. .dialog-message-container is the scroll host
2311
- * (see base/browser/ui/dialog/dialog.css). Without this the dialog
2312
- * shows the platform's default scrollbar which clashes visually with
2313
- * the chat input embedded above.
2314
- */
2315
- .monaco-dialog-box.automation-dialog .dialog-message-row .dialog-message-container::-webkit-scrollbar {
2316
- width: 10px;
3400
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown a,
3401
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown a code {
3402
+ color: var(--vscode-textLink-foreground);
2317
3403
  }
2318
3404
 
2319
- .monaco-dialog-box.automation-dialog .dialog-message-row .dialog-message-container::-webkit-scrollbar-track {
2320
- background-color: transparent;
3405
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown a:hover,
3406
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown a:active {
3407
+ color: var(--vscode-textLink-activeForeground);
2321
3408
  }
2322
3409
 
2323
- .monaco-dialog-box.automation-dialog .dialog-message-row .dialog-message-container::-webkit-scrollbar-thumb {
2324
- min-height: 20px;
2325
- background-color: var(--vscode-scrollbarSlider-background);
3410
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown ul,
3411
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown ol {
3412
+ margin: 0 0 var(--vscode-spacing-size120) 0;
3413
+ padding-inline-start: var(--vscode-spacing-size240);
2326
3414
  }
2327
3415
 
2328
- .monaco-dialog-box.automation-dialog .dialog-message-row .dialog-message-container::-webkit-scrollbar-thumb:hover {
2329
- background-color: var(--vscode-scrollbarSlider-hoverBackground);
3416
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown li {
3417
+ margin: var(--vscode-spacing-size40) 0;
2330
3418
  }
2331
3419
 
2332
- .monaco-dialog-box.automation-dialog .dialog-message-row .dialog-message-container::-webkit-scrollbar-thumb:active {
2333
- background-color: var(--vscode-scrollbarSlider-activeBackground);
3420
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown li > p {
3421
+ margin: 0;
2334
3422
  }
2335
3423
 
2336
- .monaco-dialog-box.automation-dialog .dialog-message-row .dialog-message-container::-webkit-scrollbar-corner {
2337
- display: none;
3424
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown code {
3425
+ font-family: var(--monaco-monospace-font);
3426
+ font-size: var(--vscode-agents-fontSize-label2);
3427
+ color: var(--vscode-textPreformat-foreground);
3428
+ background: var(--vscode-textCodeBlock-background);
3429
+ border-radius: var(--vscode-cornerRadius-small);
3430
+ padding: 0 var(--vscode-spacing-size40);
2338
3431
  }
2339
3432
 
2340
- /*
2341
- * Z-index bridge for popups while the automation dialog is open.
2342
- * The dialog modal block is z-index 2575 (see base/.../dialog.css)
2343
- * and shares that value with .context-view (set inline in
2344
- * contextview.ts as `2575 + layer`). DOM order means the dialog
2345
- * shows on top, hiding any popup the chat input chips, the quick
2346
- * input, or a context menu try to open. We can't change the inline
2347
- * z-index from outside, so use `!important` while the dialog service
2348
- * marks the active container as automation-dialog-open.
2349
- */
2350
- .automation-dialog-open .context-view.monaco-component {
2351
- z-index: 2600 !important;
3433
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown pre,
3434
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown div[data-code] {
3435
+ margin: 0 0 var(--vscode-spacing-size120) 0;
3436
+ padding: var(--vscode-spacing-size100) var(--vscode-spacing-size120);
3437
+ overflow: auto;
3438
+ white-space: pre;
3439
+ background: var(--vscode-textCodeBlock-background);
3440
+ border: var(--vscode-strokeThickness) solid var(--vscode-widget-border);
3441
+ border-radius: var(--vscode-cornerRadius-medium);
3442
+ box-sizing: border-box;
2352
3443
  }
2353
3444
 
2354
- .automation-dialog-open .quick-input-widget {
2355
- z-index: 2600 !important;
3445
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown pre code,
3446
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown div[data-code] code {
3447
+ display: block;
3448
+ padding: 0;
3449
+ background: transparent;
3450
+ border-radius: 0;
3451
+ white-space: pre;
2356
3452
  }
2357
3453
 
2358
- .automation-dialog-open .monaco-menu-container {
2359
- z-index: 2600 !important;
3454
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown .monaco-tokenized-source {
3455
+ white-space: pre;
2360
3456
  }
2361
3457
 
2362
- .automation-form {
2363
- display: flex;
2364
- flex-direction: column;
2365
- gap: 10px;
2366
- padding: 2px 2px 4px;
3458
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown blockquote {
3459
+ margin: 0 0 var(--vscode-spacing-size120) 0;
3460
+ padding: var(--vscode-spacing-size80) var(--vscode-spacing-size120) var(--vscode-spacing-size40);
3461
+ color: var(--vscode-foreground);
3462
+ background: var(--vscode-textBlockQuote-background);
3463
+ border-left: 5px solid var(--vscode-textBlockQuote-border);
3464
+ border-radius: var(--vscode-cornerRadius-small);
2367
3465
  }
2368
3466
 
2369
- /*
2370
- * Host for the embedded ChatInputPart. The composer brings its own
2371
- * background, border, and rounded corners (see chat.css
2372
- * `.interactive-input-part`), so we just give it room to breathe and let
2373
- * it fill the dialog's column width. `min-height` is sized for ~5 lines
2374
- * of body text + the toolbar row so the editor doesn't feel cramped on
2375
- * first open; the editor itself grows as the user types.
2376
- */
2377
- .automation-form-prompt-host {
2378
- display: flex;
2379
- flex-direction: column;
2380
- min-height: 140px;
2381
- /*
2382
- * The host carries the `.interactive-session` class so the shared
2383
- * chat input CSS (chip colors, focus borders, etc.) matches what
2384
- * users see in a real chat session. That class also sets
2385
- * `max-width: 950px; margin: auto; height: 100%` (chat.css), which
2386
- * is meant for the full chat panel. In our flex column it makes
2387
- * the host take its content's min-content width and center,
2388
- * collapsing the chat input to ~chip-bar width. Re-assert
2389
- * full-width sizing so the host fills the dialog's form column.
2390
- */
2391
- width: auto;
2392
- max-width: 100%;
2393
- margin: 0;
2394
- height: auto;
2395
- align-self: stretch;
3467
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown blockquote > :first-child {
3468
+ margin-top: 0;
3469
+ }
3470
+
3471
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown blockquote > :last-child {
3472
+ margin-bottom: 0;
3473
+ }
3474
+
3475
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown table {
3476
+ width: 100%;
3477
+ margin: 0 0 var(--vscode-spacing-size120) 0;
3478
+ border-collapse: collapse;
3479
+ border: var(--vscode-strokeThickness) solid var(--vscode-widget-border);
2396
3480
  }
2397
3481
 
2398
- .automation-form-prompt-host .interactive-input-part {
2399
- /*
2400
- * `.interactive-input-part` in chat.css has `margin: 0 12px`, which
2401
- * (combined with the default `width: auto`) is designed to inset the
2402
- * composer inside a wider chat panel. In our dialog the prompt host
2403
- * is already the form column, so the margin pushes the composer 12px
2404
- * past the host on each side. Its right border ends up sitting
2405
- * outside the dialog. Zero out the margin so the composer aligns
2406
- * with the other form fields.
2407
- */
2408
- margin: 0;
2409
- /* Don't let long custom-mode names or model identifiers push the
2410
- * modal wider than its declared max-width. */
2411
- max-width: 100%;
2412
- min-width: 0;
3482
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown th,
3483
+ .ai-customization-management-editor .ai-customization-embedded-detail .plugin-detail-readme-content .rendered-markdown td {
3484
+ padding: var(--vscode-spacing-size40) var(--vscode-spacing-size60);
3485
+ border: var(--vscode-strokeThickness) solid var(--vscode-widget-border);
3486
+ text-align: left;
2413
3487
  }
2414
3488
 
2415
- .automation-form-prompt-host .interactive-input-editor,
2416
- .automation-form-prompt-host .monaco-editor,
2417
- .automation-form-prompt-host .monaco-editor-background,
2418
- .automation-form-prompt-host .monaco-editor .margin {
2419
- background-color: var(--vscode-settings-textInputBackground, var(--vscode-input-background));
3489
+ .ai-customization-management-editor .editor-item-path {
3490
+ font-size: var(--vscode-fontSize-body2);
3491
+ color: var(--vscode-descriptionForeground);
3492
+ overflow: hidden;
3493
+ text-overflow: ellipsis;
3494
+ white-space: nowrap;
3495
+ font-family: var(--monaco-monospace-font);
2420
3496
  }
2421
3497
 
2422
- .automation-form-prompt-host .interactive-input-and-side-toolbar {
2423
- /* Allow the input column to shrink below its content's preferred
2424
- * width so flex children (chips, custom-mode names) don't push the
2425
- * modal wider than its declared max-width. */
2426
- min-width: 0;
3498
+ .ai-customization-management-editor .editor-save-indicator {
3499
+ flex-shrink: 0;
3500
+ width: 16px;
3501
+ height: 16px;
3502
+ font-size: 16px;
3503
+ line-height: 16px;
3504
+ text-align: center;
3505
+ color: var(--vscode-descriptionForeground);
3506
+ opacity: 0;
3507
+ transition: opacity 0.2s ease;
3508
+ margin-right: 4px;
2427
3509
  }
2428
3510
 
2429
- /*
2430
- * Hide chips from the embedded chat input that don't fit the automation
2431
- * dialog's reduced surface:
2432
- * - "Configure Tools" (`workbench.action.chat.configureTools`,
2433
- * `.codicon-settings`). Tool selection is not relevant for a
2434
- * scheduled prompt.
2435
- * - "Attach context" (`workbench.action.chat.attachContext`,
2436
- * `.codicon-add`, the `+`). The dialog doesn't support attachments.
2437
- * the prompt is the only payload sent at run time.
2438
- * - "List MCP Servers" (`workbench.mcp.listServer`, `.codicon-server`)
2439
- * MCP server management belongs in the live chat surface, not in
2440
- * a one-off prompt definition. The action view item is custom
2441
- * (`MenuEntryActionViewItem`) but still renders the standard
2442
- * `.action-label.codicon-server` icon, so the same selector pattern
2443
- * matches.
2444
- * Other chips in this toolbar use either custom action view items
2445
- * (Model / Mode / Session pickers) or different codicons, so codicon
2446
- * selectors are unique to the chips we want to remove. The descendant
2447
- * selector (not `>`) matches even when the action-view-item wraps the
2448
- * `.action-label` in an extra container (e.g. dropdown variants), which
2449
- * keeps the rule resilient to view-item refactors. Hiding the
2450
- * `.action-item` (not just the `.action-label`) removes the slot from
2451
- * keyboard tab order too.
2452
- */
2453
- .automation-form-prompt-host .chat-input-toolbar .action-item:has(.action-label.codicon-settings),
2454
- .automation-form-prompt-host .chat-input-toolbar .action-item:has(.action-label.codicon-add),
2455
- .automation-form-prompt-host .chat-input-toolbar .action-item:has(.action-label.codicon-server) {
2456
- display: none;
3511
+ .ai-customization-management-editor .editor-save-indicator.visible {
3512
+ opacity: 0.7;
2457
3513
  }
2458
3514
 
2459
- /*
2460
- * Suppress every inter-chip divider drawn by chat.css
2461
- * (`.chat-input-toolbar ... .action-item + .action-item::before`) inside
2462
- * the dialog. CSS `+` matches by DOM order regardless of `display:none`,
2463
- * so the divider would otherwise appear as an orphan vertical line on
2464
- * whichever visible chip follows our hidden `+`/settings items. The
2465
- * remaining visible chips (Agent, model, mode) already have enough
2466
- * intrinsic padding to read as separate without the divider. Dropping
2467
- * dividers entirely is simpler and more resilient than per-pair
2468
- * suppression rules that depend on DOM order.
2469
- */
2470
- .automation-form-prompt-host .chat-input-toolbar .monaco-action-bar .actions-container > .action-item + .action-item::before {
2471
- display: none;
3515
+ .ai-customization-management-editor .editor-save-indicator.saved {
3516
+ color: var(--vscode-testing-iconPassed, #73c991);
3517
+ opacity: 1;
2472
3518
  }
2473
3519
 
2474
- /*
2475
- * Cancel the dialog's `<ul>` indent for the chat input toolbars.
2476
- *
2477
- * `dialog.css:120` applies `padding-inline-start: 20px` to every `<ul>`
2478
- * inside `.dialog-message-container` (meant to reduce the excessive
2479
- * default indent on bulleted lists in dialog body text). The
2480
- * `monaco-action-bar`'s `.actions-container` is rendered as a `<ul>`, so
2481
- * the chat input's primary and secondary toolbars inherit that 20px
2482
- * left indent. This pushes the Agent / Copilot CLI chips ~20px right of
2483
- * the chat input's bottom-left corner.
2484
- *
2485
- * `actionbar.css` sets `.actions-container { padding: 0 }`, but the
2486
- * dialog rule uses a logical property (`padding-inline-start`), which
2487
- * cascades-after the physical shorthand and wins regardless of selector
2488
- * specificity. Override the logical property explicitly here.
2489
- *
2490
- * Scoped to `.automation-form-prompt-host` so the regular chat panel
2491
- * (which isn't inside a dialog) is unaffected. Any `<ul>`
2492
- * elements in the dialog's actual message body text retain the
2493
- * intended 20px indent.
2494
- */
2495
- .automation-form-prompt-host .chat-input-toolbar .monaco-action-bar .actions-container,
2496
- .automation-form-prompt-host .chat-secondary-toolbar .monaco-action-bar .actions-container {
2497
- padding-inline-start: 0;
2498
- margin-left: 0;
3520
+ .ai-customization-management-editor .editor-mode-button {
3521
+ flex-shrink: 0;
3522
+ height: 26px;
3523
+ padding: 0 10px;
3524
+ border-radius: 4px;
3525
+ border: 1px solid var(--vscode-widget-border);
3526
+ background: var(--vscode-button-secondaryBackground);
3527
+ color: var(--vscode-button-secondaryForeground);
3528
+ cursor: pointer;
3529
+ font-size: 12px;
3530
+ line-height: 24px;
3531
+ transition: background-color 0.1s ease, border-color 0.1s ease;
2499
3532
  }
2500
3533
 
2501
- /*
2502
- * Sessions-layer workspace picker visual override.
2503
- *
2504
- * Two cascading sources need to be defeated to match Mode/Model:
2505
- *
2506
- * 1. `.sessions-chat-picker-slot.sessions-chat-workspace-picker
2507
- * .action-label` (sessions-layer `chatWidget.css:244-269`) sets a
2508
- * welcome-flow visual: label 18px, inner span 18px, icons 16px,
2509
- * chevron, generous padding, `color: var(--vscode-foreground)`.
2510
- *
2511
- * 2. `.monaco-action-bar .action-label` (actionbar.css:48) sets the
2512
- * base toolbar font-size to **11px**. This is what Mode/Model
2513
- * inherit. They don't set font-size themselves. The action bar
2514
- * base rule wins for their `.action-label`. The workspace picker's
2515
- * own sessions-layer rule (source 1) overrides that base, so we
2516
- * need to put the 11px back explicitly. `font-size: inherit`
2517
- * does NOT work because none of `.sessions-chat-picker-slot`'s
2518
- * ancestors carry an 11px font-size. The 11px lives on sibling
2519
- * `.action-label` elements via `.monaco-action-bar .action-label`,
2520
- * not on an ancestor we can inherit from.
2521
- *
2522
- * Result: match the 11px base, neutralize the welcome-flow oversizing,
2523
- * keep the Mode/Model color (`var(--vscode-icon-foreground)`), match
2524
- * the chip metrics from `.chat-input-toolbar .chat-input-picker-item
2525
- * .action-label` (chat.css:1822), and hide the chevron (Mode/Model
2526
- * don't render one).
2527
- *
2528
- * Scoped to `.automation-form-prompt-host` so the welcome view's
2529
- * standalone workspace picker keeps its larger sizing.
2530
- */
2531
- .automation-form-prompt-host .chat-input-toolbar .sessions-chat-picker-slot.sessions-chat-workspace-picker .action-label {
2532
- height: 16px;
2533
- padding: 3px 6px;
2534
- font-size: 11px;
2535
- line-height: normal;
2536
- color: var(--vscode-icon-foreground);
3534
+ .ai-customization-management-editor .editor-mode-button:hover {
3535
+ background: var(--vscode-button-secondaryHoverBackground);
2537
3536
  }
2538
3537
 
2539
- .automation-form-prompt-host .chat-input-toolbar .sessions-chat-picker-slot.sessions-chat-workspace-picker .action-label .sessions-chat-dropdown-label {
2540
- font-size: inherit;
2541
- line-height: inherit;
3538
+ .ai-customization-management-editor .editor-mode-button:focus-visible {
3539
+ outline: 1px solid var(--vscode-focusBorder);
3540
+ outline-offset: 1px;
2542
3541
  }
2543
3542
 
2544
- .automation-form-prompt-host .chat-input-toolbar .sessions-chat-picker-slot.sessions-chat-workspace-picker .action-label > .codicon:not(.sessions-chat-dropdown-chevron) {
2545
- font-size: 12px;
3543
+ .ai-customization-management-editor .editor-preview-container,
3544
+ .ai-customization-management-editor .embedded-editor-container {
3545
+ flex: 1;
3546
+ margin-top: 8px;
3547
+ min-height: 0;
3548
+ overflow: hidden;
2546
3549
  }
2547
3550
 
2548
- /*
2549
- * Mode and Model pickers in this toolbar don't render a dropdown
2550
- * chevron. They are recognized as chips by their padding + hover. Hide
2551
- * the chevron that `_renderTriggerLabel` always appends so the
2552
- * workspace chip reads the same way.
2553
- */
2554
- .automation-form-prompt-host .chat-input-toolbar .sessions-chat-picker-slot.sessions-chat-workspace-picker .action-label .sessions-chat-dropdown-chevron {
2555
- display: none;
3551
+ .ai-customization-management-editor .editor-preview-container {
3552
+ background: var(--vscode-editor-background);
3553
+ overflow: hidden;
3554
+ }
3555
+
3556
+ .ai-customization-management-editor .editor-preview-scroll-container {
3557
+ height: 100%;
3558
+ overflow: auto;
3559
+ padding: 16px;
3560
+ box-sizing: border-box;
3561
+ outline: none;
3562
+ display: flex;
3563
+ flex-direction: column;
3564
+ gap: 16px;
2556
3565
  }
2557
3566
 
2558
- .automation-form-row {
3567
+ .ai-customization-management-editor .editor-preview-section {
2559
3568
  display: flex;
2560
3569
  flex-direction: column;
2561
- gap: 4px;
3570
+ gap: 10px;
2562
3571
  }
2563
3572
 
2564
- .automation-form-row.automation-form-checkbox-row {
2565
- flex-direction: row;
2566
- align-items: center;
2567
- gap: 8px;
2568
- margin-top: 2px;
2569
- padding-top: 10px;
2570
- border-top: 1px solid var(--vscode-widget-border, transparent);
2571
- }
2572
-
2573
- /*
2574
- * Lay the Schedule / Time / Day controls along a single horizontal axis.
2575
- * Each control lives in its own `.automation-form-schedule-group`
2576
- * (label-above-control flex column). Time and Day join the row only
2577
- * when the interval is daily or weekly; flex-wrap keeps the layout
2578
- * stable if a translation pushes the row past the dialog width.
2579
- */
2580
- .automation-form-row.automation-form-schedule-row {
2581
- flex-direction: row;
2582
- align-items: flex-end;
2583
- flex-wrap: wrap;
2584
- gap: 12px;
3573
+ .ai-customization-management-editor .editor-preview-frontmatter-list {
3574
+ display: flex;
3575
+ flex-direction: column;
3576
+ gap: 10px;
2585
3577
  }
2586
3578
 
2587
- .automation-form-schedule-group {
3579
+ .ai-customization-management-editor .editor-preview-row {
2588
3580
  display: flex;
2589
3581
  flex-direction: column;
2590
- gap: 4px;
2591
- /*
2592
- * Each visible group splits the schedule row equally. Hidden
2593
- * groups (`display: none` from `applyIntervalVisibility`) drop out
2594
- * of flex distribution, so:
2595
- * - manual / hourly → Schedule fills 100% of the row
2596
- * - daily → Schedule + Time split 50/50
2597
- * - weekly → Schedule + Time + Day split 33/33/33
2598
- * `min-width: 0` lets the contained SelectBox shrink past its
2599
- * intrinsic content width when the row is narrow, before the
2600
- * row's `flex-wrap: wrap` kicks in as a final safety net.
2601
- */
2602
- flex: 1 1 0;
2603
- min-width: 0;
3582
+ gap: 6px;
3583
+ padding: 10px 12px;
3584
+ background: var(--vscode-editorWidget-background);
3585
+ border: 1px solid var(--vscode-widget-border);
3586
+ border-radius: 6px;
2604
3587
  }
2605
3588
 
2606
- /* SelectBox container sizing. Give Schedule / Time / Day the full
2607
- * width of their parent group (which itself flex-shares the row).
2608
- *
2609
- * `.monaco-select-box` ships with no intrinsic padding or height (the
2610
- * only baked-in metrics live in the `.monaco-action-bar .action-item`
2611
- * selector, which we're not inside of). Mirror the standalone-form
2612
- * pattern used by the settings editor (`settingsEditor2.css:689-694`).
2613
- * It uses `height: 26px` and `padding: 2px 6px`. This makes the dropdowns match the
2614
- * Name InputBox above them instead of reading as toolbar widgets
2615
- * crammed into a form. */
2616
- .automation-form-schedule-select-container {
3589
+ .ai-customization-management-editor .editor-preview-row-header {
2617
3590
  display: flex;
2618
- min-width: 0;
2619
- width: 100%;
3591
+ align-items: center;
3592
+ gap: 8px;
2620
3593
  }
2621
3594
 
2622
- .automation-form-schedule-select-container .monaco-select-box {
2623
- height: 26px;
2624
- padding: 2px 8px;
2625
- }
2626
-
2627
- /*
2628
- * Form-row labels read as section titles ("Name", "Schedule", "Time",
2629
- * "Day of week", "Prompt"). Mirror the established agents
2630
- * design-system section-label pattern (see `.overview-section
2631
- * .section-label` at line ~734: label1 / fontWeight-medium /
2632
- * foreground) so the labels carry visual weight as section headings
2633
- * and clearly out-rank their controls.
2634
- *
2635
- * `margin-bottom` adds breathing room between the title text and
2636
- * its control so each form row reads as a discrete section.
2637
- */
2638
- .automation-form-label {
2639
- font-size: var(--vscode-agents-fontSize-label1);
2640
- font-weight: var(--vscode-agents-fontWeight-semiBold);
3595
+ .ai-customization-management-editor .editor-preview-row-key {
3596
+ font-size: 12px;
3597
+ font-weight: 600;
2641
3598
  color: var(--vscode-foreground);
2642
- line-height: 1.4;
2643
- margin-bottom: 2px;
2644
- cursor: default;
3599
+ font-family: var(--monaco-monospace-font);
2645
3600
  }
2646
3601
 
2647
- .automation-form-hint {
2648
- font-size: var(--vscode-agents-fontSize-body2, 11px);
3602
+ .ai-customization-management-editor .editor-preview-row-help {
3603
+ display: inline-flex;
3604
+ align-items: center;
3605
+ justify-content: center;
3606
+ width: 20px;
3607
+ height: 20px;
3608
+ padding: 0;
3609
+ border: none;
3610
+ border-radius: 999px;
3611
+ background: transparent;
2649
3612
  color: var(--vscode-descriptionForeground);
2650
- line-height: 1.4;
2651
- min-height: 1em;
2652
- }
2653
-
2654
- .automation-form-checkbox-label {
2655
- font-size: var(--vscode-agents-fontSize-body1, 13px);
2656
- color: var(--vscode-foreground);
2657
3613
  cursor: pointer;
2658
3614
  }
2659
3615
 
2660
- /*
2661
- * Host for the native `InputBox` widget. The widget owns its own
2662
- * `<input>` and styling (border, padding, focus ring); the host just
2663
- * lets it grow to the row width.
2664
- */
2665
- .automation-form-input-host {
2666
- display: flex;
2667
- width: 100%;
3616
+ .ai-customization-management-editor .editor-preview-row-help:hover {
3617
+ background: var(--vscode-toolbar-hoverBackground);
3618
+ color: var(--vscode-foreground);
2668
3619
  }
2669
3620
 
2670
- .automation-form-input-host > .monaco-inputbox {
2671
- flex: 1 1 auto;
2672
- min-width: 0;
3621
+ .ai-customization-management-editor .editor-preview-row-help:focus-visible {
3622
+ outline: 1px solid var(--vscode-focusBorder);
3623
+ outline-offset: 1px;
2673
3624
  }
2674
3625
 
2675
- .automation-form-input,
2676
- .automation-form-select,
2677
- .automation-form-textarea {
2678
- font-family: inherit;
2679
- font-size: var(--vscode-agents-fontSize-body1, 13px);
2680
- color: var(--vscode-settings-textInputForeground, var(--vscode-input-foreground));
2681
- background-color: var(--vscode-settings-textInputBackground, var(--vscode-input-background));
2682
- border: 1px solid var(--vscode-settings-textInputBorder, var(--vscode-input-border, var(--vscode-contrastBorder, transparent)));
2683
- border-radius: 2px;
2684
- padding: 4px 6px;
2685
- box-sizing: border-box;
2686
- width: 100%;
2687
- min-height: 26px;
3626
+ .ai-customization-management-editor .editor-preview-row-help-icon {
3627
+ font-size: 14px;
3628
+ line-height: 14px;
2688
3629
  }
2689
3630
 
2690
- .automation-form-select {
2691
- color: var(--vscode-settings-dropdownForeground, var(--vscode-dropdown-foreground));
2692
- background-color: var(--vscode-settings-dropdownBackground, var(--vscode-dropdown-background));
2693
- border-color: var(--vscode-settings-dropdownBorder, var(--vscode-dropdown-border, var(--vscode-contrastBorder, transparent)));
3631
+ .ai-customization-management-editor .editor-preview-row-value {
3632
+ font-size: var(--vscode-fontSize-body1);
3633
+ line-height: 1.5;
3634
+ color: var(--vscode-foreground);
3635
+ white-space: pre-wrap;
3636
+ word-break: break-word;
2694
3637
  }
2695
3638
 
2696
- .automation-form-textarea {
2697
- resize: vertical;
2698
- min-height: 60px;
2699
- line-height: 1.4;
3639
+ .ai-customization-management-editor .editor-preview-row-value.multiline {
3640
+ font-family: var(--monaco-monospace-font);
3641
+ font-size: 12px;
2700
3642
  }
2701
3643
 
2702
- .automation-form-input:focus,
2703
- .automation-form-select:focus,
2704
- .automation-form-textarea:focus {
2705
- outline: 1px solid var(--vscode-focusBorder);
2706
- outline-offset: -1px;
2707
- border-color: var(--vscode-focusBorder);
3644
+ .ai-customization-management-editor .editor-preview-body-content {
3645
+ padding: 12px 14px;
3646
+ background: var(--vscode-editorWidget-background);
3647
+ border: 1px solid var(--vscode-widget-border);
3648
+ border-radius: 6px;
2708
3649
  }
2709
3650
 
2710
- .automation-form-empty {
2711
- font-size: 12px;
2712
- color: var(--vscode-errorForeground);
2713
- padding: 6px 0;
2714
- }
2715
-
2716
- /*
2717
- * Folder picker. This uses the shared `WorkspacePicker` from the sessions
2718
- * layer (see `sessionWorkspacePicker.ts`). The picker renders an
2719
- * `<a.action-label>` chip trigger inside
2720
- * `.sessions-chat-picker-slot.sessions-chat-workspace-picker`. We restyle
2721
- * it to fit the dialog's compact, 13px form scale. The upstream styling
2722
- * lives in `sessions/contrib/chat/browser/media/chatWidget.css` and is
2723
- * sized for the new-session "hero" UI (18px font, larger chip) which is
2724
- * too large for our modal.
2725
- *
2726
- * The dropdown content itself renders through `IActionWidgetService`,
2727
- * which has its own global CSS. No overrides needed here.
2728
- */
2729
- /*
2730
- * Isolation + branch group: parented into the chat input's
2731
- * `.chat-secondary-toolbar` so it sits at the bottom-right of the chat
2732
- * input, sharing a row with `Copilot CLI | Default Approvals`.
2733
- * `margin-left: auto` pushes the group to the right edge within that
2734
- * flex row.
2735
- *
2736
- * Visual styling mirrors the new-session view's
2737
- * `.new-chat-bottom-container` chip vocabulary (see
2738
- * `sessions/contrib/chat/browser/media/chatWidget.css` lines 178-209):
2739
- * 16px tall, 11px font, 12px codicons, icon-foreground color, no
2740
- * border. The `|` divider between the Folder chip and the branch slot
2741
- * uses the same `box-shadow: -5px 0 0 -4px var(--vscode-editorWidget-border)`
2742
- * trick the new-session row uses to draw a 1px vertical separator
2743
- * without adding a DOM element.
2744
- *
2745
- * Communicates *where* the automation will run. It is presentational only (no
2746
- * click handler, no keyboard target).
2747
- */
2748
- .automation-form-prompt-host .chat-secondary-toolbar .automation-form-isolation-group {
2749
- display: inline-flex;
2750
- align-items: center;
2751
- margin-left: auto;
2752
- min-width: 0;
2753
- gap: 5px;
3651
+ .ai-customization-management-editor .editor-preview-body-content > :first-child {
3652
+ margin-top: 0;
2754
3653
  }
2755
3654
 
2756
- .automation-form-prompt-host .automation-form-isolation-chip,
2757
- .automation-form-prompt-host .automation-form-branch-slot {
2758
- display: inline-flex;
2759
- align-items: center;
2760
- gap: 4px;
2761
- height: 16px;
2762
- padding: 3px 6px;
2763
- font-size: 11px;
2764
- color: var(--vscode-icon-foreground);
2765
- background: transparent;
2766
- border: none;
2767
- min-width: 0;
3655
+ .ai-customization-management-editor .editor-preview-body-content > :last-child {
3656
+ margin-bottom: 0;
2768
3657
  }
2769
3658
 
2770
- .automation-form-prompt-host .automation-form-isolation-chip > .codicon,
2771
- .automation-form-prompt-host .automation-form-branch-slot > .codicon {
3659
+ .ai-customization-management-editor .editor-preview-empty-state {
3660
+ padding: 12px 14px;
3661
+ background: var(--vscode-editorWidget-background);
3662
+ border: 1px dashed var(--vscode-widget-border);
3663
+ border-radius: 6px;
3664
+ color: var(--vscode-descriptionForeground);
2772
3665
  font-size: 12px;
2773
- color: var(--vscode-icon-foreground);
2774
- flex-shrink: 0;
2775
3666
  }
2776
3667
 
2777
- .automation-form-prompt-host .automation-form-isolation-chip {
2778
- cursor: pointer;
2779
- border-radius: var(--vscode-cornerRadius-small);
3668
+ .ai-customization-management-editor .editor-preview-issues-box {
3669
+ padding: 12px 14px;
3670
+ background: var(--vscode-inputValidation-warningBackground);
3671
+ border: 1px solid var(--vscode-inputValidation-warningBorder);
3672
+ border-radius: 6px;
3673
+ color: var(--vscode-inputValidation-warningForeground);
3674
+ display: flex;
3675
+ flex-direction: column;
3676
+ gap: 8px;
2780
3677
  }
2781
3678
 
2782
- .automation-form-prompt-host .automation-form-isolation-chip:not(.automation-form-isolation-chip-disabled):hover {
2783
- background-color: var(--vscode-toolbar-hoverBackground);
2784
- color: var(--vscode-foreground);
3679
+ .ai-customization-management-editor .editor-preview-issues-title {
3680
+ font-size: 12px;
3681
+ font-weight: 600;
2785
3682
  }
2786
3683
 
2787
- .automation-form-prompt-host .automation-form-isolation-chip-disabled {
2788
- cursor: default;
3684
+ .ai-customization-management-editor .editor-preview-issues-description,
3685
+ .ai-customization-management-editor .editor-preview-issues-list {
3686
+ font-size: 12px;
3687
+ line-height: 1.4;
2789
3688
  }
2790
3689
 
2791
- .automation-form-prompt-host .automation-form-isolation-label,
2792
- .automation-form-prompt-host .automation-form-branch-name {
2793
- font-size: 11px;
3690
+ .ai-customization-management-editor .editor-preview-issues-list {
3691
+ margin: 0;
3692
+ padding-left: 18px;
2794
3693
  }
2795
3694
 
2796
- .automation-form-prompt-host .automation-form-branch-name {
2797
- min-width: 0;
2798
- overflow: hidden;
2799
- text-overflow: ellipsis;
2800
- white-space: nowrap;
3695
+ .ai-customization-management-editor .embedded-editor-container .monaco-editor {
3696
+ border-radius: 4px;
2801
3697
  }
2802
3698
 
2803
- /* Mirror the new-session `|` divider between repo-config chips:
2804
- * `box-shadow: -5px 0 0 -4px var(--vscode-editorWidget-border)` paints
2805
- * a 1px-wide bar in the gap to the chip's left. */
2806
- .automation-form-prompt-host .automation-form-isolation-group > .automation-form-branch-slot {
2807
- box-shadow: -5px 0 0 -4px var(--vscode-editorWidget-border);
3699
+ /* Initial open transition: a subtle fade + lift plays once when the editor
3700
+ pane is first mounted. View switches inside the modal are not animated. */
3701
+ .ai-customization-management-editor {
3702
+ animation: ai-customization-view-enter 160ms ease-out;
2808
3703
  }
2809
3704
 
2810
- .automation-form-prompt-host .chat-secondary-toolbar .automation-form-harness-chip {
2811
- display: inline-flex;
2812
- align-items: center;
2813
- gap: 4px;
2814
- height: 16px;
2815
- padding: 3px 6px;
2816
- font-size: 11px;
2817
- color: var(--vscode-icon-foreground);
2818
- background: transparent;
2819
- border: none;
2820
- opacity: 0.6;
2821
- cursor: default;
3705
+ @keyframes ai-customization-view-enter {
3706
+ from {
3707
+ opacity: 0;
3708
+ transform: translateY(4px);
3709
+ }
3710
+ to {
3711
+ opacity: 1;
3712
+ transform: translateY(0);
3713
+ }
2822
3714
  }
2823
3715
 
2824
- .automation-form-prompt-host .automation-form-harness-chip > .codicon {
2825
- font-size: 12px;
2826
- flex-shrink: 0;
3716
+ @media (prefers-reduced-motion: reduce) {
3717
+ .ai-customization-management-editor {
3718
+ animation: none;
3719
+ }
2827
3720
  }
2828
3721
 
2829
- .automation-form-prompt-host .automation-form-harness-label {
2830
- font-size: 11px;
2831
- }
3722
+ /* Welcome page styles live in the welcome page variant stylesheets. */
2832
3723
 
2833
- /* Missing-branch state (no folder / no git repo / detached / empty): use
2834
- * description-foreground + italic so it visually reads as "informational
2835
- * placeholder, not a real ref name". */
2836
- .automation-form-prompt-host .automation-form-branch-slot.automation-form-branch-missing,
2837
- .automation-form-prompt-host .automation-form-branch-slot.automation-form-branch-missing > .codicon {
2838
- color: var(--vscode-descriptionForeground);
3724
+ /* Migrations dashboard scroll container */
3725
+ .ai-customization-management-editor .prompt-migration-content-container.showing-dashboard {
3726
+ padding: 0;
2839
3727
  }
2840
3728
 
2841
- .automation-form-prompt-host .automation-form-branch-slot.automation-form-branch-missing .automation-form-branch-name {
2842
- font-style: italic;
3729
+ .ai-customization-management-editor .customization-migration-dashboard-scrollable {
3730
+ position: relative;
3731
+ flex: 1;
3732
+ min-height: 0;
3733
+ width: 100%;
2843
3734
  }
2844
3735
 
2845
- .automations-list-widget .automations-row-folder {
2846
- color: var(--vscode-descriptionForeground);
2847
- white-space: nowrap;
3736
+ .ai-customization-management-editor .customization-migration-dashboard-container {
3737
+ position: absolute;
3738
+ inset: 0;
2848
3739
  overflow: hidden;
2849
- text-overflow: ellipsis;
2850
- max-width: 240px;
3740
+ box-sizing: border-box;
3741
+ padding: 0 var(--vscode-spacing-size160) 0 0;
2851
3742
  }