@codingame/monaco-vscode-chat-service-override 34.1.2 → 35.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.
- package/index.js +38 -0
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +40 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +27 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +91 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +20 -4
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +148 -15
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +9 -1
- package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +57 -3
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +10 -14
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +29 -8
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +109 -2
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +207 -21
- package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +362 -37
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +698 -91
- package/vscode/src/vs/platform/agentHost/common/agentService.js +46 -3
- package/vscode/src/vs/platform/agentHost/common/customAgents.js +1 -0
- package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.js +26 -0
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +5 -5
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +17 -17
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +96 -12
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +226 -19
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.d.ts +18 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +89 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +10 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.d.ts +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +400 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +129 -446
- package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +35 -25
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +7 -1
- package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.d.ts +4 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +1 -1
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +1 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +0 -6
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +5 -18
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +52 -3
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +212 -34
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +3 -4
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +11 -10
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +13 -6
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +6 -1
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +399 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +85 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +177 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +898 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +204 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +61 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +338 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +57 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +98 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +149 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +116 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +226 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +138 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +25 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.js +108 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +63 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +178 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +322 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +15 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.js +26 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.d.ts +132 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +237 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +32 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +71 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +19 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +14 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +66 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +128 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +58 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +15 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +64 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +45 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +25 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +143 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +7 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +163 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +26 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +106 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +16 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +44 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +152 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +11 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +9 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +143 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +107 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +46 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +19 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +244 -190
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +47 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +4 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +87 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +772 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +24 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +1 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +130 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +94 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +421 -201
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +1426 -97
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +107 -127
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +331 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +120 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +898 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +581 -336
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +123 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +567 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +168 -84
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +183 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +897 -251
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.d.ts +213 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +720 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +354 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +11 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +55 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +192 -87
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +37 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +40 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +230 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +35 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +26 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +56 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +109 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +38 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +175 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +32 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +183 -84
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +20 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +109 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +117 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +40 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +169 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +399 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.js +198 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +504 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +321 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +2117 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +367 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +16 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +68 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +11 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +13 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +23 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +320 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +80 -4
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +226 -88
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +8 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +13 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +12 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +177 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -18
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +78 -136
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +1 -16
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +1 -17
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +16 -5
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +24 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +113 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +227 -152
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +98 -0
- package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +7 -6
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +11 -12
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +7 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +32 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +23 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +37 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +71 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +29 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +7 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +10 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +26 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +416 -252
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +25 -8
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +8 -3
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +0 -77
- package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +0 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +0 -82
- package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +0 -38
- package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +0 -47
- /package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.js +0 -0
|
@@ -11,6 +11,13 @@
|
|
|
11
11
|
overflow: hidden;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
/* Inset button focus rings so they aren't clipped by a widget's overflow:hidden edge. !important overrides button.css. */
|
|
15
|
+
.ai-customization-management-editor .monaco-button:focus,
|
|
16
|
+
.ai-customization-list-widget .monaco-button:focus,
|
|
17
|
+
.mcp-list-widget .monaco-button:focus {
|
|
18
|
+
outline-offset: -1px !important;
|
|
19
|
+
}
|
|
20
|
+
|
|
14
21
|
/* Sidebar */
|
|
15
22
|
.ai-customization-management-editor .management-sidebar {
|
|
16
23
|
height: 100%;
|
|
@@ -45,7 +52,7 @@
|
|
|
45
52
|
color: var(--vscode-foreground);
|
|
46
53
|
cursor: pointer;
|
|
47
54
|
font-size: 12px;
|
|
48
|
-
font-weight:
|
|
55
|
+
font-weight: 400;
|
|
49
56
|
line-height: 18px;
|
|
50
57
|
font-family: inherit;
|
|
51
58
|
transition: background-color 0.1s ease;
|
|
@@ -304,7 +311,8 @@
|
|
|
304
311
|
}
|
|
305
312
|
|
|
306
313
|
/* Empty state - engaging design */
|
|
307
|
-
.ai-customization-list-widget .list-empty-state
|
|
314
|
+
.ai-customization-list-widget .list-empty-state,
|
|
315
|
+
.ai-customization-management-editor .tools-list-widget .list-empty-state {
|
|
308
316
|
display: flex;
|
|
309
317
|
flex-direction: column;
|
|
310
318
|
align-items: center;
|
|
@@ -315,19 +323,15 @@
|
|
|
315
323
|
flex: 1;
|
|
316
324
|
}
|
|
317
325
|
|
|
318
|
-
.ai-customization-list-widget .list-empty-state .empty-state-
|
|
319
|
-
|
|
320
|
-
opacity: 0.4;
|
|
321
|
-
margin-bottom: 8px;
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
.ai-customization-list-widget .list-empty-state .empty-state-text {
|
|
326
|
+
.ai-customization-list-widget .list-empty-state .empty-state-text,
|
|
327
|
+
.ai-customization-management-editor .tools-list-widget .list-empty-state .empty-state-text {
|
|
325
328
|
font-size: 16px;
|
|
326
|
-
font-weight:
|
|
329
|
+
font-weight: var(--vscode-agents-fontWeight-semiBold);
|
|
327
330
|
color: var(--vscode-foreground);
|
|
328
331
|
}
|
|
329
332
|
|
|
330
|
-
.ai-customization-list-widget .list-empty-state .empty-state-subtext
|
|
333
|
+
.ai-customization-list-widget .list-empty-state .empty-state-subtext,
|
|
334
|
+
.ai-customization-management-editor .tools-list-widget .list-empty-state .empty-state-subtext {
|
|
331
335
|
font-size: var(--vscode-agents-fontSize-body1);
|
|
332
336
|
color: var(--vscode-descriptionForeground);
|
|
333
337
|
max-width: 250px;
|
|
@@ -587,14 +591,15 @@
|
|
|
587
591
|
|
|
588
592
|
/* Section title header at top of list widget (shared by all list widgets) */
|
|
589
593
|
.ai-customization-list-widget .section-title-header,
|
|
590
|
-
.mcp-list-widget .section-title-header
|
|
594
|
+
.mcp-list-widget .section-title-header,
|
|
595
|
+
.ai-customization-management-editor .tools-list-widget .section-title-header {
|
|
591
596
|
flex-shrink: 0;
|
|
592
|
-
padding: 0
|
|
593
|
-
border-bottom: 1px solid var(--vscode-panel-border);
|
|
597
|
+
padding: 0;
|
|
594
598
|
}
|
|
595
599
|
|
|
596
600
|
.ai-customization-list-widget .section-title-header .section-title-row,
|
|
597
|
-
.mcp-list-widget .section-title-header .section-title-row
|
|
601
|
+
.mcp-list-widget .section-title-header .section-title-row,
|
|
602
|
+
.ai-customization-management-editor .tools-list-widget .section-title-header .section-title-row {
|
|
598
603
|
display: flex;
|
|
599
604
|
align-items: center;
|
|
600
605
|
gap: 6px;
|
|
@@ -613,7 +618,8 @@
|
|
|
613
618
|
}
|
|
614
619
|
|
|
615
620
|
.ai-customization-list-widget .section-title-header .section-title,
|
|
616
|
-
.mcp-list-widget .section-title-header .section-title
|
|
621
|
+
.mcp-list-widget .section-title-header .section-title,
|
|
622
|
+
.ai-customization-management-editor .tools-list-widget .section-title-header .section-title {
|
|
617
623
|
font-size: var(--vscode-agents-fontSize-heading2);
|
|
618
624
|
font-weight: var(--vscode-agents-fontWeight-semiBold);
|
|
619
625
|
margin: 0;
|
|
@@ -621,7 +627,8 @@
|
|
|
621
627
|
}
|
|
622
628
|
|
|
623
629
|
.ai-customization-list-widget .section-title-header .section-title-description,
|
|
624
|
-
.mcp-list-widget .section-title-header .section-title-description
|
|
630
|
+
.mcp-list-widget .section-title-header .section-title-description,
|
|
631
|
+
.ai-customization-management-editor .tools-list-widget .section-title-header .section-title-description {
|
|
625
632
|
font-size: var(--vscode-agents-fontSize-body1);
|
|
626
633
|
line-height: 1.45;
|
|
627
634
|
color: var(--vscode-descriptionForeground);
|
|
@@ -634,7 +641,8 @@
|
|
|
634
641
|
}
|
|
635
642
|
|
|
636
643
|
.ai-customization-list-widget .section-title-header .section-title-link,
|
|
637
|
-
.mcp-list-widget .section-title-header .section-title-link
|
|
644
|
+
.mcp-list-widget .section-title-header .section-title-link,
|
|
645
|
+
.ai-customization-management-editor .tools-list-widget .section-title-header .section-title-link {
|
|
638
646
|
font-size: var(--vscode-agents-fontSize-body1);
|
|
639
647
|
/* Match the description's line-height so the link's inline-flex line-box */
|
|
640
648
|
/* does not change the total header height between sections. */
|
|
@@ -648,10 +656,18 @@
|
|
|
648
656
|
}
|
|
649
657
|
|
|
650
658
|
.ai-customization-list-widget .section-title-header .section-title-link:hover,
|
|
651
|
-
.mcp-list-widget .section-title-header .section-title-link:hover
|
|
659
|
+
.mcp-list-widget .section-title-header .section-title-link:hover,
|
|
660
|
+
.ai-customization-management-editor .tools-list-widget .section-title-header .section-title-link:hover {
|
|
652
661
|
text-decoration: underline;
|
|
653
662
|
}
|
|
654
663
|
|
|
664
|
+
/* Inset the focus ring so it isn't clipped by the widget's overflow:hidden at the header's edge. */
|
|
665
|
+
.ai-customization-list-widget .section-title-header .section-title-link:focus-visible,
|
|
666
|
+
.mcp-list-widget .section-title-header .section-title-link:focus-visible,
|
|
667
|
+
.ai-customization-management-editor .tools-list-widget .section-title-header .section-title-link:focus-visible {
|
|
668
|
+
outline-offset: -1px;
|
|
669
|
+
}
|
|
670
|
+
|
|
655
671
|
/* Section footer at bottom of list widget */
|
|
656
672
|
.ai-customization-list-widget .section-footer {
|
|
657
673
|
flex-shrink: 0;
|
|
@@ -758,7 +774,9 @@
|
|
|
758
774
|
.ai-customization-management-editor .prompts-content-container,
|
|
759
775
|
.ai-customization-management-editor .mcp-content-container,
|
|
760
776
|
.ai-customization-management-editor .plugin-content-container,
|
|
761
|
-
.ai-customization-management-editor .models-content-container
|
|
777
|
+
.ai-customization-management-editor .models-content-container,
|
|
778
|
+
.ai-customization-management-editor .tools-content-container,
|
|
779
|
+
.ai-customization-management-editor .automations-content-container {
|
|
762
780
|
height: 100%;
|
|
763
781
|
display: flex;
|
|
764
782
|
flex-direction: column;
|
|
@@ -770,6 +788,236 @@
|
|
|
770
788
|
box-sizing: border-box;
|
|
771
789
|
}
|
|
772
790
|
|
|
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;
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
.ai-customization-management-editor .tools-list-search-and-button-container {
|
|
801
|
+
display: flex;
|
|
802
|
+
align-items: center;
|
|
803
|
+
gap: 8px;
|
|
804
|
+
flex: none;
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
.ai-customization-management-editor .tools-list-search-container {
|
|
808
|
+
flex: 1;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
.ai-customization-management-editor .tools-list-search-container .monaco-inputbox {
|
|
812
|
+
width: 100%;
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
.ai-customization-management-editor .tools-list-browse-button-container {
|
|
816
|
+
flex-shrink: 0;
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
.ai-customization-management-editor .tools-list-browse-button-container .monaco-button {
|
|
820
|
+
white-space: nowrap;
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
/* Marketplace browse (gallery) list */
|
|
824
|
+
.ai-customization-management-editor .tools-gallery-container {
|
|
825
|
+
display: flex;
|
|
826
|
+
flex-direction: column;
|
|
827
|
+
flex: 1;
|
|
828
|
+
min-height: 0;
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
.ai-customization-management-editor .tools-gallery-list {
|
|
832
|
+
flex: 1;
|
|
833
|
+
min-height: 0;
|
|
834
|
+
}
|
|
835
|
+
|
|
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;
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
.ai-customization-management-editor .gallery-item:hover {
|
|
848
|
+
background-color: var(--vscode-list-hoverBackground);
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
.ai-customization-management-editor .gallery-item-details {
|
|
852
|
+
display: flex;
|
|
853
|
+
flex-direction: column;
|
|
854
|
+
flex: 1;
|
|
855
|
+
min-width: 0;
|
|
856
|
+
overflow: hidden;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
.ai-customization-management-editor .gallery-item-name {
|
|
860
|
+
font-size: var(--vscode-agents-fontSize-body1);
|
|
861
|
+
font-weight: var(--vscode-agents-fontWeight-semiBold);
|
|
862
|
+
line-height: 18px;
|
|
863
|
+
overflow: hidden;
|
|
864
|
+
text-overflow: ellipsis;
|
|
865
|
+
white-space: nowrap;
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
.ai-customization-management-editor .gallery-item-description,
|
|
869
|
+
.ai-customization-management-editor .gallery-item-publisher {
|
|
870
|
+
font-size: var(--vscode-agents-fontSize-body2);
|
|
871
|
+
color: var(--vscode-descriptionForeground);
|
|
872
|
+
line-height: 16px;
|
|
873
|
+
overflow: hidden;
|
|
874
|
+
text-overflow: ellipsis;
|
|
875
|
+
white-space: nowrap;
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
.ai-customization-management-editor .gallery-item-action {
|
|
879
|
+
flex-shrink: 0;
|
|
880
|
+
}
|
|
881
|
+
|
|
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;
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
.ai-customization-management-editor .gallery-item-action .monaco-button:focus-visible {
|
|
889
|
+
outline-offset: -1px;
|
|
890
|
+
}
|
|
891
|
+
|
|
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;
|
|
897
|
+
}
|
|
898
|
+
|
|
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;
|
|
904
|
+
display: flex;
|
|
905
|
+
flex-direction: column;
|
|
906
|
+
gap: 2px;
|
|
907
|
+
}
|
|
908
|
+
|
|
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;
|
|
917
|
+
}
|
|
918
|
+
|
|
919
|
+
.ai-customization-management-editor .tools-list-setrow:hover,
|
|
920
|
+
.ai-customization-management-editor .tools-list-toolrow:hover {
|
|
921
|
+
background: var(--vscode-list-hoverBackground);
|
|
922
|
+
}
|
|
923
|
+
|
|
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));
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
.ai-customization-management-editor .tools-list-chevron {
|
|
934
|
+
flex: none;
|
|
935
|
+
width: 16px;
|
|
936
|
+
height: 16px;
|
|
937
|
+
display: inline-flex;
|
|
938
|
+
align-items: center;
|
|
939
|
+
justify-content: center;
|
|
940
|
+
font-size: 12px;
|
|
941
|
+
color: var(--vscode-foreground);
|
|
942
|
+
opacity: 0.7;
|
|
943
|
+
cursor: pointer;
|
|
944
|
+
margin-left: auto;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
/* Child tool row (indented under the tool set) */
|
|
948
|
+
.ai-customization-management-editor .tools-list-children {
|
|
949
|
+
display: flex;
|
|
950
|
+
flex-direction: column;
|
|
951
|
+
gap: 2px;
|
|
952
|
+
}
|
|
953
|
+
|
|
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;
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
.ai-customization-management-editor .tools-list-toolrow.readonly {
|
|
965
|
+
cursor: default;
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
.ai-customization-management-editor .tools-list-row-main {
|
|
969
|
+
display: flex;
|
|
970
|
+
align-items: flex-start;
|
|
971
|
+
gap: 8px;
|
|
972
|
+
flex: 1;
|
|
973
|
+
min-width: 0;
|
|
974
|
+
cursor: pointer;
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
.ai-customization-management-editor .tools-list-row-text {
|
|
978
|
+
display: flex;
|
|
979
|
+
flex-direction: column;
|
|
980
|
+
flex: 1;
|
|
981
|
+
min-width: 0;
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
.ai-customization-management-editor .tools-list-row-label {
|
|
985
|
+
font-size: var(--vscode-agents-fontSize-body1);
|
|
986
|
+
line-height: 18px;
|
|
987
|
+
overflow: hidden;
|
|
988
|
+
text-overflow: ellipsis;
|
|
989
|
+
white-space: nowrap;
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
.ai-customization-management-editor .tools-list-setrow .tools-list-row-label {
|
|
993
|
+
font-weight: var(--vscode-agents-fontWeight-semiBold);
|
|
994
|
+
}
|
|
995
|
+
|
|
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);
|
|
1000
|
+
}
|
|
1001
|
+
|
|
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);
|
|
1006
|
+
overflow: hidden;
|
|
1007
|
+
text-overflow: ellipsis;
|
|
1008
|
+
white-space: nowrap;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
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);
|
|
1015
|
+
color: var(--vscode-descriptionForeground);
|
|
1016
|
+
font-variant-numeric: tabular-nums;
|
|
1017
|
+
white-space: nowrap;
|
|
1018
|
+
cursor: pointer;
|
|
1019
|
+
}
|
|
1020
|
+
|
|
773
1021
|
/* Embedded MCP server detail view */
|
|
774
1022
|
.ai-customization-management-editor .mcp-detail-container {
|
|
775
1023
|
position: relative;
|
|
@@ -792,7 +1040,8 @@
|
|
|
792
1040
|
}
|
|
793
1041
|
|
|
794
1042
|
/* Embedded plugin detail view */
|
|
795
|
-
.ai-customization-management-editor .plugin-detail-container
|
|
1043
|
+
.ai-customization-management-editor .plugin-detail-container,
|
|
1044
|
+
.ai-customization-management-editor .tools-detail-container {
|
|
796
1045
|
position: relative;
|
|
797
1046
|
height: 100%;
|
|
798
1047
|
display: flex;
|
|
@@ -808,23 +1057,27 @@
|
|
|
808
1057
|
|
|
809
1058
|
/* Inline back button with the embedded detail header */
|
|
810
1059
|
.ai-customization-management-editor .mcp-detail-container .ai-customization-embedded-detail,
|
|
811
|
-
.ai-customization-management-editor .plugin-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 {
|
|
812
1062
|
padding: 0;
|
|
813
1063
|
}
|
|
814
1064
|
|
|
815
1065
|
.ai-customization-management-editor .mcp-detail-container .ai-customization-embedded-detail .embedded-detail-header,
|
|
816
|
-
.ai-customization-management-editor .plugin-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 {
|
|
817
1068
|
align-items: center;
|
|
818
1069
|
}
|
|
819
1070
|
|
|
820
1071
|
.ai-customization-management-editor .mcp-detail-container .ai-customization-embedded-detail .embedded-detail-leading-slot:not(:empty),
|
|
821
|
-
.ai-customization-management-editor .plugin-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) {
|
|
822
1074
|
display: flex;
|
|
823
1075
|
align-items: center;
|
|
824
1076
|
margin-inline-end: 4px;
|
|
825
1077
|
}
|
|
826
1078
|
|
|
827
|
-
.ai-customization-management-editor .plugin-detail-editor-container
|
|
1079
|
+
.ai-customization-management-editor .plugin-detail-editor-container,
|
|
1080
|
+
.ai-customization-management-editor .tools-detail-editor-container {
|
|
828
1081
|
flex: 1;
|
|
829
1082
|
overflow: auto;
|
|
830
1083
|
min-height: 0;
|
|
@@ -840,8 +1093,14 @@
|
|
|
840
1093
|
min-width: 0;
|
|
841
1094
|
}
|
|
842
1095
|
|
|
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;
|
|
1099
|
+
}
|
|
1100
|
+
|
|
843
1101
|
.ai-customization-management-editor .ai-customization-embedded-detail.is-empty .embedded-detail-header,
|
|
844
|
-
.ai-customization-management-editor .ai-customization-embedded-detail.is-empty .embedded-detail-description
|
|
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 {
|
|
845
1104
|
display: none;
|
|
846
1105
|
}
|
|
847
1106
|
|
|
@@ -909,6 +1168,61 @@
|
|
|
909
1168
|
padding: 8px 0;
|
|
910
1169
|
}
|
|
911
1170
|
|
|
1171
|
+
/* Included tools list (tool extension detail) */
|
|
1172
|
+
.ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-tools {
|
|
1173
|
+
display: flex;
|
|
1174
|
+
flex-direction: column;
|
|
1175
|
+
gap: 8px;
|
|
1176
|
+
padding-inline-start: 32px;
|
|
1177
|
+
min-width: 0;
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
.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);
|
|
1183
|
+
color: var(--vscode-foreground);
|
|
1184
|
+
margin: 0;
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
.ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-tools-message {
|
|
1188
|
+
color: var(--vscode-descriptionForeground);
|
|
1189
|
+
font-size: var(--vscode-agents-fontSize-body1);
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
.ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-tools-list {
|
|
1193
|
+
display: flex;
|
|
1194
|
+
flex-direction: column;
|
|
1195
|
+
gap: 16px;
|
|
1196
|
+
min-width: 0;
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
.ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-tool {
|
|
1200
|
+
display: flex;
|
|
1201
|
+
flex-direction: column;
|
|
1202
|
+
gap: 2px;
|
|
1203
|
+
min-width: 0;
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
.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);
|
|
1209
|
+
color: var(--vscode-foreground);
|
|
1210
|
+
word-break: break-word;
|
|
1211
|
+
}
|
|
1212
|
+
|
|
1213
|
+
.ai-customization-management-editor .ai-customization-embedded-detail .embedded-detail-tool-description {
|
|
1214
|
+
font-size: var(--vscode-agents-fontSize-body2);
|
|
1215
|
+
color: var(--vscode-descriptionForeground);
|
|
1216
|
+
line-height: 1.4;
|
|
1217
|
+
word-break: break-word;
|
|
1218
|
+
/* Keep descriptions short and scannable; the full text is available once installed. */
|
|
1219
|
+
display: -webkit-box;
|
|
1220
|
+
-webkit-box-orient: vertical;
|
|
1221
|
+
-webkit-line-clamp: 2;
|
|
1222
|
+
line-clamp: 2;
|
|
1223
|
+
overflow: hidden;
|
|
1224
|
+
}
|
|
1225
|
+
|
|
912
1226
|
/* Models section footer */
|
|
913
1227
|
.ai-customization-management-editor .models-content-container .section-footer {
|
|
914
1228
|
flex-shrink: 0;
|
|
@@ -971,12 +1285,6 @@
|
|
|
971
1285
|
flex: 1;
|
|
972
1286
|
}
|
|
973
1287
|
|
|
974
|
-
.mcp-list-widget .mcp-empty-state .empty-icon {
|
|
975
|
-
font-size: 48px;
|
|
976
|
-
opacity: 0.4;
|
|
977
|
-
margin-bottom: 8px;
|
|
978
|
-
}
|
|
979
|
-
|
|
980
1288
|
.mcp-list-widget .mcp-empty-state .empty-text {
|
|
981
1289
|
font-size: 16px;
|
|
982
1290
|
font-weight: 500;
|
|
@@ -1132,6 +1440,11 @@
|
|
|
1132
1440
|
color: var(--vscode-editor-background);
|
|
1133
1441
|
}
|
|
1134
1442
|
|
|
1443
|
+
.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);
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1135
1448
|
.mcp-server-item .mcp-server-status.error {
|
|
1136
1449
|
background-color: color-mix(in srgb, var(--vscode-terminal-ansiRed) 50%, transparent);
|
|
1137
1450
|
color: var(--vscode-editor-background);
|
|
@@ -1156,75 +1469,19 @@
|
|
|
1156
1469
|
display: flex;
|
|
1157
1470
|
gap: 4px;
|
|
1158
1471
|
flex-shrink: 0;
|
|
1159
|
-
/* Horizontal-only padding so focused button outlines do not clip against */
|
|
1160
|
-
/* the widget's overflow:hidden. Vertical padding is omitted so the button */
|
|
1161
|
-
/* group does not make the search row taller than on other sections. */
|
|
1162
|
-
padding: 0 1px;
|
|
1163
|
-
}
|
|
1164
|
-
|
|
1165
|
-
.mcp-list-widget .list-button-group .monaco-button:focus-visible {
|
|
1166
|
-
outline-offset: -1px;
|
|
1167
1472
|
}
|
|
1168
1473
|
|
|
1169
|
-
/*
|
|
1170
|
-
.
|
|
1474
|
+
/* Embedded Editor View */
|
|
1475
|
+
.ai-customization-management-editor .editor-content-container {
|
|
1476
|
+
height: 100%;
|
|
1171
1477
|
display: flex;
|
|
1172
|
-
|
|
1173
|
-
|
|
1478
|
+
flex-direction: column;
|
|
1479
|
+
padding: 0;
|
|
1480
|
+
background: var(--vscode-agentsPanel-background);
|
|
1481
|
+
border: 1px solid var(--vscode-agentsPanel-border);
|
|
1482
|
+
border-radius: 6px;
|
|
1174
1483
|
overflow: hidden;
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
.mcp-gallery-item .mcp-gallery-publisher {
|
|
1178
|
-
font-size: var(--vscode-agents-fontSize-body2);
|
|
1179
|
-
color: var(--vscode-descriptionForeground);
|
|
1180
|
-
white-space: nowrap;
|
|
1181
|
-
overflow: hidden;
|
|
1182
|
-
text-overflow: ellipsis;
|
|
1183
|
-
}
|
|
1184
|
-
|
|
1185
|
-
.mcp-gallery-item .mcp-gallery-action {
|
|
1186
|
-
flex-shrink: 0;
|
|
1187
|
-
}
|
|
1188
|
-
|
|
1189
|
-
.mcp-gallery-item.extension-list-item {
|
|
1190
|
-
padding: 6px 16px;
|
|
1191
|
-
}
|
|
1192
|
-
|
|
1193
|
-
.mcp-gallery-item.extension-list-item > .details {
|
|
1194
|
-
flex: 1;
|
|
1195
|
-
min-width: 0;
|
|
1196
|
-
overflow: hidden;
|
|
1197
|
-
}
|
|
1198
|
-
|
|
1199
|
-
.mcp-gallery-item.extension-list-item > .details > .description {
|
|
1200
|
-
font-size: 12px;
|
|
1201
|
-
color: var(--vscode-descriptionForeground);
|
|
1202
|
-
white-space: nowrap;
|
|
1203
|
-
overflow: hidden;
|
|
1204
|
-
text-overflow: ellipsis;
|
|
1205
|
-
line-height: 16px;
|
|
1206
|
-
}
|
|
1207
|
-
|
|
1208
|
-
.mcp-gallery-item .mcp-gallery-install-button {
|
|
1209
|
-
font-size: var(--vscode-agents-fontSize-body2);
|
|
1210
|
-
padding: 2px 10px;
|
|
1211
|
-
}
|
|
1212
|
-
|
|
1213
|
-
.mcp-gallery-item .mcp-gallery-install-button:focus-visible {
|
|
1214
|
-
outline-offset: -1px;
|
|
1215
|
-
}
|
|
1216
|
-
|
|
1217
|
-
/* Embedded Editor View */
|
|
1218
|
-
.ai-customization-management-editor .editor-content-container {
|
|
1219
|
-
height: 100%;
|
|
1220
|
-
display: flex;
|
|
1221
|
-
flex-direction: column;
|
|
1222
|
-
padding: 0;
|
|
1223
|
-
background: var(--vscode-agentsPanel-background);
|
|
1224
|
-
border: 1px solid var(--vscode-agentsPanel-border);
|
|
1225
|
-
border-radius: 6px;
|
|
1226
|
-
overflow: hidden;
|
|
1227
|
-
box-sizing: border-box;
|
|
1484
|
+
box-sizing: border-box;
|
|
1228
1485
|
}
|
|
1229
1486
|
|
|
1230
1487
|
.ai-customization-management-editor .editor-header {
|
|
@@ -1522,3 +1779,1075 @@ pane is first mounted. View switches inside the modal are not animated. */
|
|
|
1522
1779
|
}
|
|
1523
1780
|
|
|
1524
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;
|
|
1799
|
+
}
|
|
1800
|
+
|
|
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;
|
|
1810
|
+
}
|
|
1811
|
+
|
|
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;
|
|
1817
|
+
}
|
|
1818
|
+
|
|
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;
|
|
1825
|
+
}
|
|
1826
|
+
|
|
1827
|
+
.automations-list-widget .automations-empty-state .automations-empty-cta {
|
|
1828
|
+
margin-top: 16px;
|
|
1829
|
+
min-width: 160px;
|
|
1830
|
+
align-self: center;
|
|
1831
|
+
}
|
|
1832
|
+
|
|
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);
|
|
1842
|
+
}
|
|
1843
|
+
|
|
1844
|
+
.automations-list-widget .automations-header-row {
|
|
1845
|
+
display: flex;
|
|
1846
|
+
flex-direction: row;
|
|
1847
|
+
align-items: center;
|
|
1848
|
+
justify-content: space-between;
|
|
1849
|
+
gap: 8px 16px;
|
|
1850
|
+
flex-wrap: wrap;
|
|
1851
|
+
}
|
|
1852
|
+
|
|
1853
|
+
.automations-list-widget .automations-header-title {
|
|
1854
|
+
font-size: var(--vscode-agents-fontSize-heading2);
|
|
1855
|
+
font-weight: var(--vscode-agents-fontWeight-semiBold);
|
|
1856
|
+
color: var(--vscode-foreground);
|
|
1857
|
+
margin: 0;
|
|
1858
|
+
min-width: 0;
|
|
1859
|
+
}
|
|
1860
|
+
|
|
1861
|
+
.automations-list-widget .automations-header-subtitle {
|
|
1862
|
+
font-size: var(--vscode-agents-fontSize-body1);
|
|
1863
|
+
line-height: 1.45;
|
|
1864
|
+
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
|
+
}
|
|
1870
|
+
|
|
1871
|
+
.automations-list-widget .automations-new-button {
|
|
1872
|
+
width: auto;
|
|
1873
|
+
flex: 0 0 auto;
|
|
1874
|
+
padding: 4px 14px;
|
|
1875
|
+
}
|
|
1876
|
+
|
|
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;
|
|
1881
|
+
}
|
|
1882
|
+
|
|
1883
|
+
/* List */
|
|
1884
|
+
.automations-list-widget .automations-list {
|
|
1885
|
+
display: flex;
|
|
1886
|
+
flex-direction: column;
|
|
1887
|
+
flex: 1;
|
|
1888
|
+
min-height: 0;
|
|
1889
|
+
overflow: auto;
|
|
1890
|
+
gap: 6px;
|
|
1891
|
+
}
|
|
1892
|
+
|
|
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;
|
|
1901
|
+
}
|
|
1902
|
+
|
|
1903
|
+
.automations-list-widget .automations-row:not(.automations-row-disabled):hover {
|
|
1904
|
+
background-color: var(--vscode-list-hoverBackground);
|
|
1905
|
+
}
|
|
1906
|
+
|
|
1907
|
+
.automations-list-widget .automations-row-wrapper:has(> .automations-row-history) .automations-row:not(.automations-row-disabled):hover {
|
|
1908
|
+
background-color: transparent;
|
|
1909
|
+
}
|
|
1910
|
+
|
|
1911
|
+
.automations-list-widget .automations-row:has(:focus-visible) {
|
|
1912
|
+
outline: 1px solid var(--vscode-focusBorder);
|
|
1913
|
+
outline-offset: -1px;
|
|
1914
|
+
}
|
|
1915
|
+
|
|
1916
|
+
.automations-list-widget .automations-row-disabled {
|
|
1917
|
+
opacity: 0.6;
|
|
1918
|
+
}
|
|
1919
|
+
|
|
1920
|
+
.automations-list-widget .automations-row-main {
|
|
1921
|
+
display: flex;
|
|
1922
|
+
flex-direction: column;
|
|
1923
|
+
gap: 4px;
|
|
1924
|
+
flex: 1;
|
|
1925
|
+
min-width: 0;
|
|
1926
|
+
}
|
|
1927
|
+
|
|
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;
|
|
1937
|
+
}
|
|
1938
|
+
|
|
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);
|
|
1946
|
+
}
|
|
1947
|
+
|
|
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;
|
|
1956
|
+
}
|
|
1957
|
+
|
|
1958
|
+
.automations-list-widget .automations-row-meta-sep {
|
|
1959
|
+
opacity: 0.6;
|
|
1960
|
+
}
|
|
1961
|
+
|
|
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;
|
|
1969
|
+
}
|
|
1970
|
+
|
|
1971
|
+
.automations-list-widget .automations-row-actions {
|
|
1972
|
+
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
|
+
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;
|
|
1992
|
+
}
|
|
1993
|
+
|
|
1994
|
+
.automations-list-widget .automations-row-action-button:hover:not(:disabled) {
|
|
1995
|
+
background-color: var(--vscode-toolbar-hoverBackground);
|
|
1996
|
+
}
|
|
1997
|
+
|
|
1998
|
+
.automations-list-widget .automations-row-action-button:focus {
|
|
1999
|
+
outline: 1px solid var(--vscode-focusBorder);
|
|
2000
|
+
outline-offset: -1px;
|
|
2001
|
+
}
|
|
2002
|
+
|
|
2003
|
+
.automations-list-widget .automations-row-action-button:disabled {
|
|
2004
|
+
opacity: 0.4;
|
|
2005
|
+
cursor: default;
|
|
2006
|
+
}
|
|
2007
|
+
|
|
2008
|
+
/* Run history (inline) */
|
|
2009
|
+
.automations-list-widget .automations-row-wrapper {
|
|
2010
|
+
display: flex;
|
|
2011
|
+
flex-direction: column;
|
|
2012
|
+
border-radius: 6px;
|
|
2013
|
+
overflow: hidden;
|
|
2014
|
+
}
|
|
2015
|
+
|
|
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;
|
|
2023
|
+
}
|
|
2024
|
+
|
|
2025
|
+
.automations-list-widget .automations-row-history {
|
|
2026
|
+
padding: 4px 16px 12px 40px;
|
|
2027
|
+
display: flex;
|
|
2028
|
+
flex-direction: column;
|
|
2029
|
+
gap: 4px;
|
|
2030
|
+
}
|
|
2031
|
+
|
|
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);
|
|
2039
|
+
}
|
|
2040
|
+
|
|
2041
|
+
.automations-list-widget .automations-history-empty {
|
|
2042
|
+
font-size: 12px;
|
|
2043
|
+
color: var(--vscode-descriptionForeground);
|
|
2044
|
+
font-style: italic;
|
|
2045
|
+
}
|
|
2046
|
+
|
|
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;
|
|
2054
|
+
}
|
|
2055
|
+
|
|
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);
|
|
2065
|
+
}
|
|
2066
|
+
|
|
2067
|
+
.automations-list-widget .automations-history-status {
|
|
2068
|
+
flex: 0 0 auto;
|
|
2069
|
+
width: 16px;
|
|
2070
|
+
height: 16px;
|
|
2071
|
+
display: inline-flex;
|
|
2072
|
+
align-items: center;
|
|
2073
|
+
justify-content: center;
|
|
2074
|
+
}
|
|
2075
|
+
|
|
2076
|
+
.automations-list-widget .automations-history-row[data-run-status="completed"] .automations-history-status {
|
|
2077
|
+
color: var(--vscode-testing-iconPassed, var(--vscode-icon-foreground));
|
|
2078
|
+
}
|
|
2079
|
+
|
|
2080
|
+
.automations-list-widget .automations-history-row[data-run-status="failed"] .automations-history-status {
|
|
2081
|
+
color: var(--vscode-testing-iconFailed, var(--vscode-errorForeground));
|
|
2082
|
+
}
|
|
2083
|
+
|
|
2084
|
+
.automations-list-widget .automations-history-row[data-run-status="running"] .automations-history-status {
|
|
2085
|
+
color: var(--vscode-charts-blue, var(--vscode-icon-foreground));
|
|
2086
|
+
}
|
|
2087
|
+
|
|
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;
|
|
2094
|
+
}
|
|
2095
|
+
|
|
2096
|
+
.automations-list-widget .automations-history-row-first {
|
|
2097
|
+
display: flex;
|
|
2098
|
+
flex-direction: row;
|
|
2099
|
+
flex-wrap: wrap;
|
|
2100
|
+
gap: 6px;
|
|
2101
|
+
color: var(--vscode-foreground);
|
|
2102
|
+
}
|
|
2103
|
+
|
|
2104
|
+
.automations-list-widget .automations-history-row-status {
|
|
2105
|
+
font-weight: 600;
|
|
2106
|
+
}
|
|
2107
|
+
|
|
2108
|
+
.automations-list-widget .automations-history-row-sep {
|
|
2109
|
+
color: var(--vscode-descriptionForeground);
|
|
2110
|
+
opacity: 0.6;
|
|
2111
|
+
}
|
|
2112
|
+
|
|
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);
|
|
2117
|
+
}
|
|
2118
|
+
|
|
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;
|
|
2124
|
+
}
|
|
2125
|
+
|
|
2126
|
+
.automations-list-widget .automations-history-row-open {
|
|
2127
|
+
flex: 0 0 auto;
|
|
2128
|
+
width: 24px;
|
|
2129
|
+
height: 24px;
|
|
2130
|
+
display: inline-flex;
|
|
2131
|
+
align-items: center;
|
|
2132
|
+
justify-content: center;
|
|
2133
|
+
cursor: pointer;
|
|
2134
|
+
border-radius: 4px;
|
|
2135
|
+
background: transparent;
|
|
2136
|
+
opacity: 0;
|
|
2137
|
+
color: var(--vscode-icon-foreground);
|
|
2138
|
+
font-size: 16px;
|
|
2139
|
+
}
|
|
2140
|
+
|
|
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;
|
|
2144
|
+
}
|
|
2145
|
+
|
|
2146
|
+
.automations-list-widget .automations-history-row-open:focus-visible {
|
|
2147
|
+
outline: 1px solid var(--vscode-focusBorder);
|
|
2148
|
+
outline-offset: -1px;
|
|
2149
|
+
}
|
|
2150
|
+
|
|
2151
|
+
.automations-list-widget .automations-history-row-open:hover {
|
|
2152
|
+
background-color: var(--vscode-toolbar-hoverBackground);
|
|
2153
|
+
}
|
|
2154
|
+
|
|
2155
|
+
.automations-list-widget .automations-history-more {
|
|
2156
|
+
font-size: 11px;
|
|
2157
|
+
color: var(--vscode-descriptionForeground);
|
|
2158
|
+
font-style: italic;
|
|
2159
|
+
}
|
|
2160
|
+
|
|
2161
|
+
/* Dialog */
|
|
2162
|
+
.monaco-dialog-box.automation-dialog .dialog-message-container > .dialog-message-detail {
|
|
2163
|
+
display: none;
|
|
2164
|
+
}
|
|
2165
|
+
|
|
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;
|
|
2178
|
+
}
|
|
2179
|
+
|
|
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;
|
|
2186
|
+
overflow: hidden;
|
|
2187
|
+
clip: rect(0, 0, 0, 0);
|
|
2188
|
+
white-space: nowrap;
|
|
2189
|
+
border: 0;
|
|
2190
|
+
}
|
|
2191
|
+
|
|
2192
|
+
.monaco-dialog-box.automation-dialog .dialog-message-row > .dialog-icon.codicon {
|
|
2193
|
+
display: none;
|
|
2194
|
+
}
|
|
2195
|
+
|
|
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;
|
|
2219
|
+
}
|
|
2220
|
+
|
|
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;
|
|
2234
|
+
}
|
|
2235
|
+
|
|
2236
|
+
.automation-dialog-body {
|
|
2237
|
+
display: flex;
|
|
2238
|
+
flex-direction: column;
|
|
2239
|
+
min-height: 0;
|
|
2240
|
+
}
|
|
2241
|
+
|
|
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;
|
|
2253
|
+
}
|
|
2254
|
+
|
|
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;
|
|
2272
|
+
}
|
|
2273
|
+
|
|
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);
|
|
2289
|
+
font-size: var(--vscode-agents-fontSize-heading2);
|
|
2290
|
+
color: var(--vscode-quickInput-foreground);
|
|
2291
|
+
background-color: var(--vscode-quickInputTitle-background);
|
|
2292
|
+
}
|
|
2293
|
+
|
|
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;
|
|
2299
|
+
}
|
|
2300
|
+
|
|
2301
|
+
.automation-form-pane {
|
|
2302
|
+
flex: 1 1 auto;
|
|
2303
|
+
min-width: 0;
|
|
2304
|
+
min-height: 0;
|
|
2305
|
+
padding: 4px 14px 6px;
|
|
2306
|
+
}
|
|
2307
|
+
|
|
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;
|
|
2317
|
+
}
|
|
2318
|
+
|
|
2319
|
+
.monaco-dialog-box.automation-dialog .dialog-message-row .dialog-message-container::-webkit-scrollbar-track {
|
|
2320
|
+
background-color: transparent;
|
|
2321
|
+
}
|
|
2322
|
+
|
|
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);
|
|
2326
|
+
}
|
|
2327
|
+
|
|
2328
|
+
.monaco-dialog-box.automation-dialog .dialog-message-row .dialog-message-container::-webkit-scrollbar-thumb:hover {
|
|
2329
|
+
background-color: var(--vscode-scrollbarSlider-hoverBackground);
|
|
2330
|
+
}
|
|
2331
|
+
|
|
2332
|
+
.monaco-dialog-box.automation-dialog .dialog-message-row .dialog-message-container::-webkit-scrollbar-thumb:active {
|
|
2333
|
+
background-color: var(--vscode-scrollbarSlider-activeBackground);
|
|
2334
|
+
}
|
|
2335
|
+
|
|
2336
|
+
.monaco-dialog-box.automation-dialog .dialog-message-row .dialog-message-container::-webkit-scrollbar-corner {
|
|
2337
|
+
display: none;
|
|
2338
|
+
}
|
|
2339
|
+
|
|
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` on rules scoped to
|
|
2348
|
+
* `body:has(.automation-dialog)`. They only apply while the
|
|
2349
|
+
* automations dialog is on screen, so other dialogs' popup stacking
|
|
2350
|
+
* is untouched.
|
|
2351
|
+
*/
|
|
2352
|
+
body:has(.automation-dialog) .context-view.monaco-component {
|
|
2353
|
+
z-index: 2600 !important;
|
|
2354
|
+
}
|
|
2355
|
+
|
|
2356
|
+
body:has(.automation-dialog) .quick-input-widget {
|
|
2357
|
+
z-index: 2600 !important;
|
|
2358
|
+
}
|
|
2359
|
+
|
|
2360
|
+
body:has(.automation-dialog) .monaco-menu-container {
|
|
2361
|
+
z-index: 2600 !important;
|
|
2362
|
+
}
|
|
2363
|
+
|
|
2364
|
+
.automation-form {
|
|
2365
|
+
display: flex;
|
|
2366
|
+
flex-direction: column;
|
|
2367
|
+
gap: 10px;
|
|
2368
|
+
padding: 2px 2px 4px;
|
|
2369
|
+
}
|
|
2370
|
+
|
|
2371
|
+
/*
|
|
2372
|
+
* Host for the embedded ChatInputPart. The composer brings its own
|
|
2373
|
+
* background, border, and rounded corners (see chat.css
|
|
2374
|
+
* `.interactive-input-part`), so we just give it room to breathe and let
|
|
2375
|
+
* it fill the dialog's column width. `min-height` is sized for ~5 lines
|
|
2376
|
+
* of body text + the toolbar row so the editor doesn't feel cramped on
|
|
2377
|
+
* first open; the editor itself grows as the user types.
|
|
2378
|
+
*/
|
|
2379
|
+
.automation-form-prompt-host {
|
|
2380
|
+
display: flex;
|
|
2381
|
+
flex-direction: column;
|
|
2382
|
+
min-height: 140px;
|
|
2383
|
+
/*
|
|
2384
|
+
* The host carries the `.interactive-session` class so the shared
|
|
2385
|
+
* chat input CSS (chip colors, focus borders, etc.) matches what
|
|
2386
|
+
* users see in a real chat session. That class also sets
|
|
2387
|
+
* `max-width: 950px; margin: auto; height: 100%` (chat.css), which
|
|
2388
|
+
* is meant for the full chat panel. In our flex column it makes
|
|
2389
|
+
* the host take its content's min-content width and center,
|
|
2390
|
+
* collapsing the chat input to ~chip-bar width. Re-assert
|
|
2391
|
+
* full-width sizing so the host fills the dialog's form column.
|
|
2392
|
+
*/
|
|
2393
|
+
width: auto;
|
|
2394
|
+
max-width: 100%;
|
|
2395
|
+
margin: 0;
|
|
2396
|
+
height: auto;
|
|
2397
|
+
align-self: stretch;
|
|
2398
|
+
}
|
|
2399
|
+
|
|
2400
|
+
.automation-form-prompt-host .interactive-input-part {
|
|
2401
|
+
/*
|
|
2402
|
+
* `.interactive-input-part` in chat.css has `margin: 0 12px`, which
|
|
2403
|
+
* (combined with the default `width: auto`) is designed to inset the
|
|
2404
|
+
* composer inside a wider chat panel. In our dialog the prompt host
|
|
2405
|
+
* is already the form column, so the margin pushes the composer 12px
|
|
2406
|
+
* past the host on each side. Its right border ends up sitting
|
|
2407
|
+
* outside the dialog. Zero out the margin so the composer aligns
|
|
2408
|
+
* with the other form fields.
|
|
2409
|
+
*/
|
|
2410
|
+
margin: 0;
|
|
2411
|
+
/* Don't let long custom-mode names or model identifiers push the
|
|
2412
|
+
* modal wider than its declared max-width. */
|
|
2413
|
+
max-width: 100%;
|
|
2414
|
+
min-width: 0;
|
|
2415
|
+
}
|
|
2416
|
+
|
|
2417
|
+
.automation-form-prompt-host .interactive-input-editor,
|
|
2418
|
+
.automation-form-prompt-host .monaco-editor,
|
|
2419
|
+
.automation-form-prompt-host .monaco-editor-background,
|
|
2420
|
+
.automation-form-prompt-host .monaco-editor .margin {
|
|
2421
|
+
background-color: var(--vscode-settings-textInputBackground, var(--vscode-input-background));
|
|
2422
|
+
}
|
|
2423
|
+
|
|
2424
|
+
.automation-form-prompt-host .interactive-input-and-side-toolbar {
|
|
2425
|
+
/* Allow the input column to shrink below its content's preferred
|
|
2426
|
+
* width so flex children (chips, custom-mode names) don't push the
|
|
2427
|
+
* modal wider than its declared max-width. */
|
|
2428
|
+
min-width: 0;
|
|
2429
|
+
}
|
|
2430
|
+
|
|
2431
|
+
/*
|
|
2432
|
+
* Hide chips from the embedded chat input that don't fit the automation
|
|
2433
|
+
* dialog's reduced surface:
|
|
2434
|
+
* - "Configure Tools" (`workbench.action.chat.configureTools`,
|
|
2435
|
+
* `.codicon-settings`). Tool selection is not relevant for a
|
|
2436
|
+
* scheduled prompt.
|
|
2437
|
+
* - "Attach context" (`workbench.action.chat.attachContext`,
|
|
2438
|
+
* `.codicon-add`, the `+`). The dialog doesn't support attachments.
|
|
2439
|
+
* the prompt is the only payload sent at run time.
|
|
2440
|
+
* - "List MCP Servers" (`workbench.mcp.listServer`, `.codicon-server`)
|
|
2441
|
+
* MCP server management belongs in the live chat surface, not in
|
|
2442
|
+
* a one-off prompt definition. The action view item is custom
|
|
2443
|
+
* (`MenuEntryActionViewItem`) but still renders the standard
|
|
2444
|
+
* `.action-label.codicon-server` icon, so the same selector pattern
|
|
2445
|
+
* matches.
|
|
2446
|
+
* Other chips in this toolbar use either custom action view items
|
|
2447
|
+
* (Model / Mode / Session pickers) or different codicons, so codicon
|
|
2448
|
+
* selectors are unique to the chips we want to remove. The descendant
|
|
2449
|
+
* selector (not `>`) matches even when the action-view-item wraps the
|
|
2450
|
+
* `.action-label` in an extra container (e.g. dropdown variants), which
|
|
2451
|
+
* keeps the rule resilient to view-item refactors. Hiding the
|
|
2452
|
+
* `.action-item` (not just the `.action-label`) removes the slot from
|
|
2453
|
+
* keyboard tab order too.
|
|
2454
|
+
*/
|
|
2455
|
+
.automation-form-prompt-host .chat-input-toolbar .action-item:has(.action-label.codicon-settings),
|
|
2456
|
+
.automation-form-prompt-host .chat-input-toolbar .action-item:has(.action-label.codicon-add),
|
|
2457
|
+
.automation-form-prompt-host .chat-input-toolbar .action-item:has(.action-label.codicon-server) {
|
|
2458
|
+
display: none;
|
|
2459
|
+
}
|
|
2460
|
+
|
|
2461
|
+
/*
|
|
2462
|
+
* Suppress every inter-chip divider drawn by chat.css
|
|
2463
|
+
* (`.chat-input-toolbar ... .action-item + .action-item::before`) inside
|
|
2464
|
+
* the dialog. CSS `+` matches by DOM order regardless of `display:none`,
|
|
2465
|
+
* so the divider would otherwise appear as an orphan vertical line on
|
|
2466
|
+
* whichever visible chip follows our hidden `+`/settings items. The
|
|
2467
|
+
* remaining visible chips (Agent, model, mode) already have enough
|
|
2468
|
+
* intrinsic padding to read as separate without the divider. Dropping
|
|
2469
|
+
* dividers entirely is simpler and more resilient than per-pair
|
|
2470
|
+
* suppression rules that depend on DOM order.
|
|
2471
|
+
*/
|
|
2472
|
+
.automation-form-prompt-host .chat-input-toolbar .monaco-action-bar .actions-container > .action-item + .action-item::before {
|
|
2473
|
+
display: none;
|
|
2474
|
+
}
|
|
2475
|
+
|
|
2476
|
+
/*
|
|
2477
|
+
* Cancel the dialog's `<ul>` indent for the chat input toolbars.
|
|
2478
|
+
*
|
|
2479
|
+
* `dialog.css:120` applies `padding-inline-start: 20px` to every `<ul>`
|
|
2480
|
+
* inside `.dialog-message-container` (meant to reduce the excessive
|
|
2481
|
+
* default indent on bulleted lists in dialog body text). The
|
|
2482
|
+
* `monaco-action-bar`'s `.actions-container` is rendered as a `<ul>`, so
|
|
2483
|
+
* the chat input's primary and secondary toolbars inherit that 20px
|
|
2484
|
+
* left indent. This pushes the Agent / Copilot CLI chips ~20px right of
|
|
2485
|
+
* the chat input's bottom-left corner.
|
|
2486
|
+
*
|
|
2487
|
+
* `actionbar.css` sets `.actions-container { padding: 0 }`, but the
|
|
2488
|
+
* dialog rule uses a logical property (`padding-inline-start`), which
|
|
2489
|
+
* cascades-after the physical shorthand and wins regardless of selector
|
|
2490
|
+
* specificity. Override the logical property explicitly here.
|
|
2491
|
+
*
|
|
2492
|
+
* Scoped to `.automation-form-prompt-host` so the regular chat panel
|
|
2493
|
+
* (which isn't inside a dialog) is unaffected. Any `<ul>`
|
|
2494
|
+
* elements in the dialog's actual message body text retain the
|
|
2495
|
+
* intended 20px indent.
|
|
2496
|
+
*/
|
|
2497
|
+
.automation-form-prompt-host .chat-input-toolbar .monaco-action-bar .actions-container,
|
|
2498
|
+
.automation-form-prompt-host .chat-secondary-toolbar .monaco-action-bar .actions-container {
|
|
2499
|
+
padding-inline-start: 0;
|
|
2500
|
+
margin-left: 0;
|
|
2501
|
+
}
|
|
2502
|
+
|
|
2503
|
+
/*
|
|
2504
|
+
* Sessions-layer workspace picker visual override.
|
|
2505
|
+
*
|
|
2506
|
+
* Two cascading sources need to be defeated to match Mode/Model:
|
|
2507
|
+
*
|
|
2508
|
+
* 1. `.sessions-chat-picker-slot.sessions-chat-workspace-picker
|
|
2509
|
+
* .action-label` (sessions-layer `chatWidget.css:244-269`) sets a
|
|
2510
|
+
* welcome-flow visual: label 18px, inner span 18px, icons 16px,
|
|
2511
|
+
* chevron, generous padding, `color: var(--vscode-foreground)`.
|
|
2512
|
+
*
|
|
2513
|
+
* 2. `.monaco-action-bar .action-label` (actionbar.css:48) sets the
|
|
2514
|
+
* base toolbar font-size to **11px**. This is what Mode/Model
|
|
2515
|
+
* inherit. They don't set font-size themselves. The action bar
|
|
2516
|
+
* base rule wins for their `.action-label`. The workspace picker's
|
|
2517
|
+
* own sessions-layer rule (source 1) overrides that base, so we
|
|
2518
|
+
* need to put the 11px back explicitly. `font-size: inherit`
|
|
2519
|
+
* does NOT work because none of `.sessions-chat-picker-slot`'s
|
|
2520
|
+
* ancestors carry an 11px font-size. The 11px lives on sibling
|
|
2521
|
+
* `.action-label` elements via `.monaco-action-bar .action-label`,
|
|
2522
|
+
* not on an ancestor we can inherit from.
|
|
2523
|
+
*
|
|
2524
|
+
* Result: match the 11px base, neutralize the welcome-flow oversizing,
|
|
2525
|
+
* keep the Mode/Model color (`var(--vscode-icon-foreground)`), match
|
|
2526
|
+
* the chip metrics from `.chat-input-toolbar .chat-input-picker-item
|
|
2527
|
+
* .action-label` (chat.css:1822), and hide the chevron (Mode/Model
|
|
2528
|
+
* don't render one).
|
|
2529
|
+
*
|
|
2530
|
+
* Scoped to `.automation-form-prompt-host` so the welcome view's
|
|
2531
|
+
* standalone workspace picker keeps its larger sizing.
|
|
2532
|
+
*/
|
|
2533
|
+
.automation-form-prompt-host .chat-input-toolbar .sessions-chat-picker-slot.sessions-chat-workspace-picker .action-label {
|
|
2534
|
+
height: 16px;
|
|
2535
|
+
padding: 3px 6px;
|
|
2536
|
+
font-size: 11px;
|
|
2537
|
+
line-height: normal;
|
|
2538
|
+
color: var(--vscode-icon-foreground);
|
|
2539
|
+
}
|
|
2540
|
+
|
|
2541
|
+
.automation-form-prompt-host .chat-input-toolbar .sessions-chat-picker-slot.sessions-chat-workspace-picker .action-label .sessions-chat-dropdown-label {
|
|
2542
|
+
font-size: inherit;
|
|
2543
|
+
line-height: inherit;
|
|
2544
|
+
}
|
|
2545
|
+
|
|
2546
|
+
.automation-form-prompt-host .chat-input-toolbar .sessions-chat-picker-slot.sessions-chat-workspace-picker .action-label > .codicon:not(.sessions-chat-dropdown-chevron) {
|
|
2547
|
+
font-size: 12px;
|
|
2548
|
+
}
|
|
2549
|
+
|
|
2550
|
+
/*
|
|
2551
|
+
* Mode and Model pickers in this toolbar don't render a dropdown
|
|
2552
|
+
* chevron. They are recognized as chips by their padding + hover. Hide
|
|
2553
|
+
* the chevron that `_renderTriggerLabel` always appends so the
|
|
2554
|
+
* workspace chip reads the same way.
|
|
2555
|
+
*/
|
|
2556
|
+
.automation-form-prompt-host .chat-input-toolbar .sessions-chat-picker-slot.sessions-chat-workspace-picker .action-label .sessions-chat-dropdown-chevron {
|
|
2557
|
+
display: none;
|
|
2558
|
+
}
|
|
2559
|
+
|
|
2560
|
+
.automation-form-row {
|
|
2561
|
+
display: flex;
|
|
2562
|
+
flex-direction: column;
|
|
2563
|
+
gap: 4px;
|
|
2564
|
+
}
|
|
2565
|
+
|
|
2566
|
+
.automation-form-row.automation-form-checkbox-row {
|
|
2567
|
+
flex-direction: row;
|
|
2568
|
+
align-items: center;
|
|
2569
|
+
gap: 8px;
|
|
2570
|
+
margin-top: 2px;
|
|
2571
|
+
padding-top: 10px;
|
|
2572
|
+
border-top: 1px solid var(--vscode-widget-border, transparent);
|
|
2573
|
+
}
|
|
2574
|
+
|
|
2575
|
+
/*
|
|
2576
|
+
* Lay the Schedule / Time / Day controls along a single horizontal axis.
|
|
2577
|
+
* Each control lives in its own `.automation-form-schedule-group`
|
|
2578
|
+
* (label-above-control flex column). Time and Day join the row only
|
|
2579
|
+
* when the interval is daily or weekly; flex-wrap keeps the layout
|
|
2580
|
+
* stable if a translation pushes the row past the dialog width.
|
|
2581
|
+
*/
|
|
2582
|
+
.automation-form-row.automation-form-schedule-row {
|
|
2583
|
+
flex-direction: row;
|
|
2584
|
+
align-items: flex-end;
|
|
2585
|
+
flex-wrap: wrap;
|
|
2586
|
+
gap: 12px;
|
|
2587
|
+
}
|
|
2588
|
+
|
|
2589
|
+
.automation-form-schedule-group {
|
|
2590
|
+
display: flex;
|
|
2591
|
+
flex-direction: column;
|
|
2592
|
+
gap: 4px;
|
|
2593
|
+
/*
|
|
2594
|
+
* Each visible group splits the schedule row equally. Hidden
|
|
2595
|
+
* groups (`display: none` from `applyIntervalVisibility`) drop out
|
|
2596
|
+
* of flex distribution, so:
|
|
2597
|
+
* - manual / hourly → Schedule fills 100% of the row
|
|
2598
|
+
* - daily → Schedule + Time split 50/50
|
|
2599
|
+
* - weekly → Schedule + Time + Day split 33/33/33
|
|
2600
|
+
* `min-width: 0` lets the contained SelectBox shrink past its
|
|
2601
|
+
* intrinsic content width when the row is narrow, before the
|
|
2602
|
+
* row's `flex-wrap: wrap` kicks in as a final safety net.
|
|
2603
|
+
*/
|
|
2604
|
+
flex: 1 1 0;
|
|
2605
|
+
min-width: 0;
|
|
2606
|
+
}
|
|
2607
|
+
|
|
2608
|
+
/* SelectBox container sizing. Give Schedule / Time / Day the full
|
|
2609
|
+
* width of their parent group (which itself flex-shares the row).
|
|
2610
|
+
*
|
|
2611
|
+
* `.monaco-select-box` ships with no intrinsic padding or height (the
|
|
2612
|
+
* only baked-in metrics live in the `.monaco-action-bar .action-item`
|
|
2613
|
+
* selector, which we're not inside of). Mirror the standalone-form
|
|
2614
|
+
* pattern used by the settings editor (`settingsEditor2.css:689-694`).
|
|
2615
|
+
* It uses `height: 26px` and `padding: 2px 6px`. This makes the dropdowns match the
|
|
2616
|
+
* Name InputBox above them instead of reading as toolbar widgets
|
|
2617
|
+
* crammed into a form. */
|
|
2618
|
+
.automation-form-schedule-select-container {
|
|
2619
|
+
display: flex;
|
|
2620
|
+
min-width: 0;
|
|
2621
|
+
width: 100%;
|
|
2622
|
+
}
|
|
2623
|
+
|
|
2624
|
+
.automation-form-schedule-select-container .monaco-select-box {
|
|
2625
|
+
height: 26px;
|
|
2626
|
+
padding: 2px 8px;
|
|
2627
|
+
}
|
|
2628
|
+
|
|
2629
|
+
/*
|
|
2630
|
+
* Form-row labels read as section titles ("Name", "Schedule", "Time",
|
|
2631
|
+
* "Day of week", "Prompt"). Mirror the established agents
|
|
2632
|
+
* design-system section-label pattern (see `.overview-section
|
|
2633
|
+
* .section-label` at line ~734: label1 / fontWeight-medium /
|
|
2634
|
+
* foreground) so the labels carry visual weight as section headings
|
|
2635
|
+
* and clearly out-rank their controls.
|
|
2636
|
+
*
|
|
2637
|
+
* `margin-bottom` adds breathing room between the title text and
|
|
2638
|
+
* its control so each form row reads as a discrete section.
|
|
2639
|
+
*/
|
|
2640
|
+
.automation-form-label {
|
|
2641
|
+
font-size: var(--vscode-agents-fontSize-label1);
|
|
2642
|
+
font-weight: var(--vscode-agents-fontWeight-semiBold);
|
|
2643
|
+
color: var(--vscode-foreground);
|
|
2644
|
+
line-height: 1.4;
|
|
2645
|
+
margin-bottom: 2px;
|
|
2646
|
+
cursor: default;
|
|
2647
|
+
}
|
|
2648
|
+
|
|
2649
|
+
.automation-form-hint {
|
|
2650
|
+
font-size: var(--vscode-agents-fontSize-body2, 11px);
|
|
2651
|
+
color: var(--vscode-descriptionForeground);
|
|
2652
|
+
line-height: 1.4;
|
|
2653
|
+
min-height: 1em;
|
|
2654
|
+
}
|
|
2655
|
+
|
|
2656
|
+
.automation-form-checkbox-label {
|
|
2657
|
+
font-size: var(--vscode-agents-fontSize-body1, 13px);
|
|
2658
|
+
color: var(--vscode-foreground);
|
|
2659
|
+
cursor: pointer;
|
|
2660
|
+
}
|
|
2661
|
+
|
|
2662
|
+
/*
|
|
2663
|
+
* Host for the native `InputBox` widget. The widget owns its own
|
|
2664
|
+
* `<input>` and styling (border, padding, focus ring); the host just
|
|
2665
|
+
* lets it grow to the row width.
|
|
2666
|
+
*/
|
|
2667
|
+
.automation-form-input-host {
|
|
2668
|
+
display: flex;
|
|
2669
|
+
width: 100%;
|
|
2670
|
+
}
|
|
2671
|
+
|
|
2672
|
+
.automation-form-input-host > .monaco-inputbox {
|
|
2673
|
+
flex: 1 1 auto;
|
|
2674
|
+
min-width: 0;
|
|
2675
|
+
}
|
|
2676
|
+
|
|
2677
|
+
.automation-form-input,
|
|
2678
|
+
.automation-form-select,
|
|
2679
|
+
.automation-form-textarea {
|
|
2680
|
+
font-family: inherit;
|
|
2681
|
+
font-size: var(--vscode-agents-fontSize-body1, 13px);
|
|
2682
|
+
color: var(--vscode-settings-textInputForeground, var(--vscode-input-foreground));
|
|
2683
|
+
background-color: var(--vscode-settings-textInputBackground, var(--vscode-input-background));
|
|
2684
|
+
border: 1px solid var(--vscode-settings-textInputBorder, var(--vscode-input-border, var(--vscode-contrastBorder, transparent)));
|
|
2685
|
+
border-radius: 2px;
|
|
2686
|
+
padding: 4px 6px;
|
|
2687
|
+
box-sizing: border-box;
|
|
2688
|
+
width: 100%;
|
|
2689
|
+
min-height: 26px;
|
|
2690
|
+
}
|
|
2691
|
+
|
|
2692
|
+
.automation-form-select {
|
|
2693
|
+
color: var(--vscode-settings-dropdownForeground, var(--vscode-dropdown-foreground));
|
|
2694
|
+
background-color: var(--vscode-settings-dropdownBackground, var(--vscode-dropdown-background));
|
|
2695
|
+
border-color: var(--vscode-settings-dropdownBorder, var(--vscode-dropdown-border, var(--vscode-contrastBorder, transparent)));
|
|
2696
|
+
}
|
|
2697
|
+
|
|
2698
|
+
.automation-form-textarea {
|
|
2699
|
+
resize: vertical;
|
|
2700
|
+
min-height: 60px;
|
|
2701
|
+
line-height: 1.4;
|
|
2702
|
+
}
|
|
2703
|
+
|
|
2704
|
+
.automation-form-input:focus,
|
|
2705
|
+
.automation-form-select:focus,
|
|
2706
|
+
.automation-form-textarea:focus {
|
|
2707
|
+
outline: 1px solid var(--vscode-focusBorder);
|
|
2708
|
+
outline-offset: -1px;
|
|
2709
|
+
border-color: var(--vscode-focusBorder);
|
|
2710
|
+
}
|
|
2711
|
+
|
|
2712
|
+
.automation-form-empty {
|
|
2713
|
+
font-size: 12px;
|
|
2714
|
+
color: var(--vscode-errorForeground);
|
|
2715
|
+
padding: 6px 0;
|
|
2716
|
+
}
|
|
2717
|
+
|
|
2718
|
+
/*
|
|
2719
|
+
* Folder picker. This uses the shared `WorkspacePicker` from the sessions
|
|
2720
|
+
* layer (see `sessionWorkspacePicker.ts`). The picker renders an
|
|
2721
|
+
* `<a.action-label>` chip trigger inside
|
|
2722
|
+
* `.sessions-chat-picker-slot.sessions-chat-workspace-picker`. We restyle
|
|
2723
|
+
* it to fit the dialog's compact, 13px form scale. The upstream styling
|
|
2724
|
+
* lives in `sessions/contrib/chat/browser/media/chatWidget.css` and is
|
|
2725
|
+
* sized for the new-session "hero" UI (18px font, larger chip) which is
|
|
2726
|
+
* too large for our modal.
|
|
2727
|
+
*
|
|
2728
|
+
* The dropdown content itself renders through `IActionWidgetService`,
|
|
2729
|
+
* which has its own global CSS. No overrides needed here.
|
|
2730
|
+
*/
|
|
2731
|
+
/*
|
|
2732
|
+
* Isolation + branch group: parented into the chat input's
|
|
2733
|
+
* `.chat-secondary-toolbar` so it sits at the bottom-right of the chat
|
|
2734
|
+
* input, sharing a row with `Copilot CLI | Default Approvals`.
|
|
2735
|
+
* `margin-left: auto` pushes the group to the right edge within that
|
|
2736
|
+
* flex row.
|
|
2737
|
+
*
|
|
2738
|
+
* Visual styling mirrors the new-session view's
|
|
2739
|
+
* `.new-chat-bottom-container` chip vocabulary (see
|
|
2740
|
+
* `sessions/contrib/chat/browser/media/chatWidget.css` lines 178-209):
|
|
2741
|
+
* 16px tall, 11px font, 12px codicons, icon-foreground color, no
|
|
2742
|
+
* border. The `|` divider between the Folder chip and the branch slot
|
|
2743
|
+
* uses the same `box-shadow: -5px 0 0 -4px var(--vscode-editorWidget-border)`
|
|
2744
|
+
* trick the new-session row uses to draw a 1px vertical separator
|
|
2745
|
+
* without adding a DOM element.
|
|
2746
|
+
*
|
|
2747
|
+
* Communicates *where* the automation will run. It is presentational only (no
|
|
2748
|
+
* click handler, no keyboard target).
|
|
2749
|
+
*/
|
|
2750
|
+
.automation-form-prompt-host .chat-secondary-toolbar .automation-form-isolation-group {
|
|
2751
|
+
display: inline-flex;
|
|
2752
|
+
align-items: center;
|
|
2753
|
+
margin-left: auto;
|
|
2754
|
+
min-width: 0;
|
|
2755
|
+
gap: 5px;
|
|
2756
|
+
}
|
|
2757
|
+
|
|
2758
|
+
.automation-form-prompt-host .automation-form-isolation-chip,
|
|
2759
|
+
.automation-form-prompt-host .automation-form-branch-slot {
|
|
2760
|
+
display: inline-flex;
|
|
2761
|
+
align-items: center;
|
|
2762
|
+
gap: 4px;
|
|
2763
|
+
height: 16px;
|
|
2764
|
+
padding: 3px 6px;
|
|
2765
|
+
font-size: 11px;
|
|
2766
|
+
color: var(--vscode-icon-foreground);
|
|
2767
|
+
background: transparent;
|
|
2768
|
+
border: none;
|
|
2769
|
+
min-width: 0;
|
|
2770
|
+
}
|
|
2771
|
+
|
|
2772
|
+
.automation-form-prompt-host .automation-form-isolation-chip > .codicon,
|
|
2773
|
+
.automation-form-prompt-host .automation-form-branch-slot > .codicon {
|
|
2774
|
+
font-size: 12px;
|
|
2775
|
+
color: var(--vscode-icon-foreground);
|
|
2776
|
+
flex-shrink: 0;
|
|
2777
|
+
}
|
|
2778
|
+
|
|
2779
|
+
.automation-form-prompt-host .automation-form-isolation-chip {
|
|
2780
|
+
cursor: pointer;
|
|
2781
|
+
border-radius: var(--vscode-cornerRadius-small);
|
|
2782
|
+
}
|
|
2783
|
+
|
|
2784
|
+
.automation-form-prompt-host .automation-form-isolation-chip:not(.automation-form-isolation-chip-disabled):hover {
|
|
2785
|
+
background-color: var(--vscode-toolbar-hoverBackground);
|
|
2786
|
+
color: var(--vscode-foreground);
|
|
2787
|
+
}
|
|
2788
|
+
|
|
2789
|
+
.automation-form-prompt-host .automation-form-isolation-chip-disabled {
|
|
2790
|
+
cursor: default;
|
|
2791
|
+
}
|
|
2792
|
+
|
|
2793
|
+
.automation-form-prompt-host .automation-form-isolation-label,
|
|
2794
|
+
.automation-form-prompt-host .automation-form-branch-name {
|
|
2795
|
+
font-size: 11px;
|
|
2796
|
+
}
|
|
2797
|
+
|
|
2798
|
+
.automation-form-prompt-host .automation-form-branch-name {
|
|
2799
|
+
min-width: 0;
|
|
2800
|
+
overflow: hidden;
|
|
2801
|
+
text-overflow: ellipsis;
|
|
2802
|
+
white-space: nowrap;
|
|
2803
|
+
}
|
|
2804
|
+
|
|
2805
|
+
/* Mirror the new-session `|` divider between repo-config chips:
|
|
2806
|
+
* `box-shadow: -5px 0 0 -4px var(--vscode-editorWidget-border)` paints
|
|
2807
|
+
* a 1px-wide bar in the gap to the chip's left. */
|
|
2808
|
+
.automation-form-prompt-host .automation-form-isolation-group > .automation-form-branch-slot {
|
|
2809
|
+
box-shadow: -5px 0 0 -4px var(--vscode-editorWidget-border);
|
|
2810
|
+
}
|
|
2811
|
+
|
|
2812
|
+
.automation-form-prompt-host .chat-secondary-toolbar .automation-form-harness-chip {
|
|
2813
|
+
display: inline-flex;
|
|
2814
|
+
align-items: center;
|
|
2815
|
+
gap: 4px;
|
|
2816
|
+
height: 16px;
|
|
2817
|
+
padding: 3px 6px;
|
|
2818
|
+
font-size: 11px;
|
|
2819
|
+
color: var(--vscode-icon-foreground);
|
|
2820
|
+
background: transparent;
|
|
2821
|
+
border: none;
|
|
2822
|
+
opacity: 0.6;
|
|
2823
|
+
cursor: default;
|
|
2824
|
+
}
|
|
2825
|
+
|
|
2826
|
+
.automation-form-prompt-host .automation-form-harness-chip > .codicon {
|
|
2827
|
+
font-size: 12px;
|
|
2828
|
+
flex-shrink: 0;
|
|
2829
|
+
}
|
|
2830
|
+
|
|
2831
|
+
.automation-form-prompt-host .automation-form-harness-label {
|
|
2832
|
+
font-size: 11px;
|
|
2833
|
+
}
|
|
2834
|
+
|
|
2835
|
+
/* Missing-branch state (no folder / no git repo / detached / empty): use
|
|
2836
|
+
* description-foreground + italic so it visually reads as "informational
|
|
2837
|
+
* placeholder, not a real ref name". */
|
|
2838
|
+
.automation-form-prompt-host .automation-form-branch-slot.automation-form-branch-missing,
|
|
2839
|
+
.automation-form-prompt-host .automation-form-branch-slot.automation-form-branch-missing > .codicon {
|
|
2840
|
+
color: var(--vscode-descriptionForeground);
|
|
2841
|
+
}
|
|
2842
|
+
|
|
2843
|
+
.automation-form-prompt-host .automation-form-branch-slot.automation-form-branch-missing .automation-form-branch-name {
|
|
2844
|
+
font-style: italic;
|
|
2845
|
+
}
|
|
2846
|
+
|
|
2847
|
+
.automations-list-widget .automations-row-folder {
|
|
2848
|
+
color: var(--vscode-descriptionForeground);
|
|
2849
|
+
white-space: nowrap;
|
|
2850
|
+
overflow: hidden;
|
|
2851
|
+
text-overflow: ellipsis;
|
|
2852
|
+
max-width: 240px;
|
|
2853
|
+
}
|