@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
package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js
ADDED
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
|
|
2
|
+
import { $, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
3
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
|
+
import { FONT_SIZE, addKeyboardActivation } from './tokens.js';
|
|
5
|
+
|
|
6
|
+
function hoverIcon(className, ariaLabel) {
|
|
7
|
+
const el = $(`span.codicon.${className}`);
|
|
8
|
+
el.role = "button";
|
|
9
|
+
el.tabIndex = 0;
|
|
10
|
+
el.ariaLabel = ariaLabel;
|
|
11
|
+
el.style.cssText = `font-size:${FONT_SIZE.iconSm};color:var(--vscode-descriptionForeground);cursor:pointer;-webkit-app-region:no-drag;padding:1px;`;
|
|
12
|
+
el.addEventListener("mouseenter", () => {
|
|
13
|
+
el.style.color = "var(--vscode-foreground)";
|
|
14
|
+
});
|
|
15
|
+
el.addEventListener("mouseleave", () => {
|
|
16
|
+
el.style.color = "var(--vscode-descriptionForeground)";
|
|
17
|
+
});
|
|
18
|
+
addKeyboardActivation(el);
|
|
19
|
+
return el;
|
|
20
|
+
}
|
|
21
|
+
function createSessionRow(session, props) {
|
|
22
|
+
const isSelected = props.selectedTarget?.toString() === ( session.resource.toString());
|
|
23
|
+
const dotColor = session.needsInput ? "var(--vscode-editorWarning-foreground)" : session.isActive ? "var(--vscode-charts-green)" : "var(--vscode-editorWhitespace-foreground)";
|
|
24
|
+
const effectiveDotColor = session.isSpeaking ? "var(--vscode-agentsVoice-speakingForeground)" : dotColor;
|
|
25
|
+
const shouldPulse = session.isActive || session.isSpeaking;
|
|
26
|
+
const labelColor = session.isSpeaking ? "var(--vscode-agentsVoice-speakingForeground)" : session.isIdle ? "var(--vscode-descriptionForeground)" : "var(--vscode-foreground)";
|
|
27
|
+
const labelWeight = session.isSpeaking ? "500" : "normal";
|
|
28
|
+
const rowBg = isSelected ? "background:var(--vscode-list-activeSelectionBackground);border-radius:4px;" : "";
|
|
29
|
+
const rowLabelColor = isSelected ? "var(--vscode-list-activeSelectionForeground)" : labelColor;
|
|
30
|
+
const row = $("div");
|
|
31
|
+
row.role = "option";
|
|
32
|
+
row.tabIndex = 0;
|
|
33
|
+
row.ariaLabel = session.label || "Untitled session";
|
|
34
|
+
row.setAttribute("aria-selected", String(isSelected));
|
|
35
|
+
row.style.cssText = `display:flex;align-items:center;gap:6px;height:28px;padding:0 4px;border-bottom:1px solid var(--vscode-editorGroup-border);flex-shrink:0;cursor:pointer;${rowBg}`;
|
|
36
|
+
row.addEventListener("click", e => {
|
|
37
|
+
e.preventDefault();
|
|
38
|
+
e.stopPropagation();
|
|
39
|
+
if (isSelected) {
|
|
40
|
+
props.onSelectTarget(undefined);
|
|
41
|
+
} else {
|
|
42
|
+
props.onSelectTarget(session.resource);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
row.addEventListener("keydown", e => {
|
|
46
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
47
|
+
e.preventDefault();
|
|
48
|
+
row.click();
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
const showActions = () => {
|
|
52
|
+
if (stats) {
|
|
53
|
+
stats.style.display = "none";
|
|
54
|
+
}
|
|
55
|
+
if (actions) {
|
|
56
|
+
actions.style.display = "flex";
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const hideActions = () => {
|
|
60
|
+
if (stats) {
|
|
61
|
+
stats.style.display = "flex";
|
|
62
|
+
}
|
|
63
|
+
if (actions) {
|
|
64
|
+
actions.style.display = "none";
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
row.addEventListener("mouseenter", showActions);
|
|
68
|
+
row.addEventListener("mouseleave", hideActions);
|
|
69
|
+
row.addEventListener("focusin", showActions);
|
|
70
|
+
row.addEventListener("focusout", e => {
|
|
71
|
+
if (!row.contains(e.relatedTarget)) {
|
|
72
|
+
hideActions();
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
if (isSelected) {
|
|
76
|
+
const check = $("span.codicon.codicon-check");
|
|
77
|
+
check.style.cssText = `font-size:10px;color:${rowLabelColor};flex-shrink:0;`;
|
|
78
|
+
row.append(check);
|
|
79
|
+
} else {
|
|
80
|
+
const dot = $("span");
|
|
81
|
+
dot.style.cssText = `width:7px;height:7px;border-radius:50%;background:${effectiveDotColor};flex-shrink:0;${shouldPulse ? "animation:agents-voice-pulse 1.4s ease-in-out infinite;" : ""}`;
|
|
82
|
+
row.append(dot);
|
|
83
|
+
}
|
|
84
|
+
const label = $("span");
|
|
85
|
+
label.style.cssText = `font-size:${FONT_SIZE.body};flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:${rowLabelColor};font-weight:${labelWeight};`;
|
|
86
|
+
label.textContent = session.label || "Untitled session";
|
|
87
|
+
row.append(label);
|
|
88
|
+
const actionsContainer = $("div");
|
|
89
|
+
actionsContainer.style.cssText = "display:flex;align-items:center;gap:4px;flex-shrink:0;";
|
|
90
|
+
const stats = $("span");
|
|
91
|
+
stats.setAttribute("data-role", "stats");
|
|
92
|
+
stats.style.cssText = `display:flex;gap:4px;font-size:${FONT_SIZE.body};`;
|
|
93
|
+
if (session.insertions > 0) {
|
|
94
|
+
const ins = $("span");
|
|
95
|
+
ins.style.color = "var(--vscode-charts-green)";
|
|
96
|
+
ins.textContent = `+${session.insertions}`;
|
|
97
|
+
stats.append(ins);
|
|
98
|
+
}
|
|
99
|
+
if (session.deletions > 0) {
|
|
100
|
+
const del = $("span");
|
|
101
|
+
del.style.color = "var(--vscode-editorError-foreground)";
|
|
102
|
+
del.textContent = `-${session.deletions}`;
|
|
103
|
+
stats.append(del);
|
|
104
|
+
}
|
|
105
|
+
const actions = $("span");
|
|
106
|
+
actions.setAttribute("data-role", "actions");
|
|
107
|
+
actions.style.cssText = "display:none;gap:4px;align-items:center;";
|
|
108
|
+
if (!session.isIdle) {
|
|
109
|
+
const stopBtn = hoverIcon("codicon-debug-stop", ( localize(4835, "Stop session")));
|
|
110
|
+
stopBtn.addEventListener("mouseenter", () => {
|
|
111
|
+
stopBtn.style.color = "var(--vscode-editorError-foreground)";
|
|
112
|
+
});
|
|
113
|
+
stopBtn.addEventListener("mouseleave", () => {
|
|
114
|
+
stopBtn.style.color = "var(--vscode-descriptionForeground)";
|
|
115
|
+
});
|
|
116
|
+
stopBtn.addEventListener("click", e => {
|
|
117
|
+
e.preventDefault();
|
|
118
|
+
e.stopPropagation();
|
|
119
|
+
props.onStopSession(session.resource);
|
|
120
|
+
});
|
|
121
|
+
actions.append(stopBtn);
|
|
122
|
+
}
|
|
123
|
+
actionsContainer.append(stats, actions);
|
|
124
|
+
row.append(actionsContainer);
|
|
125
|
+
const wrapper = $("div");
|
|
126
|
+
wrapper.append(row);
|
|
127
|
+
if (session.toolConfirmation) {
|
|
128
|
+
const tc = session.toolConfirmation;
|
|
129
|
+
const confRow = $("div");
|
|
130
|
+
confRow.style.cssText = "display:flex;flex-direction:column;gap:3px;padding:2px 2px 6px 15px;border-bottom:1px solid var(--vscode-panel-border);";
|
|
131
|
+
const confDesc = $("span");
|
|
132
|
+
confDesc.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-editorWarning-foreground);`;
|
|
133
|
+
confDesc.textContent = tc.description;
|
|
134
|
+
const confBtns = $("div");
|
|
135
|
+
confBtns.style.cssText = "display:flex;gap:6px;";
|
|
136
|
+
const btnStyle = `-webkit-app-region:no-drag;border:none;color:var(--vscode-button-foreground);font-size:${FONT_SIZE.body};padding:2px 8px;border-radius:3px;cursor:pointer;`;
|
|
137
|
+
if (tc.type === "approval") {
|
|
138
|
+
const approveBtn = $("button");
|
|
139
|
+
approveBtn.style.cssText = `${btnStyle}background:var(--vscode-charts-green);`;
|
|
140
|
+
approveBtn.textContent = ( localize(4836, "Approve"));
|
|
141
|
+
approveBtn.addEventListener("click", () => tc.approve());
|
|
142
|
+
const denyBtn = $("button");
|
|
143
|
+
denyBtn.style.cssText = `${btnStyle}background:var(--vscode-button-secondaryBackground);color:var(--vscode-foreground);`;
|
|
144
|
+
denyBtn.textContent = ( localize(4837, "Deny"));
|
|
145
|
+
denyBtn.addEventListener("click", () => tc.deny());
|
|
146
|
+
const stopBtn = $("button");
|
|
147
|
+
stopBtn.style.cssText = `${btnStyle}background:var(--vscode-button-secondaryBackground);color:var(--vscode-foreground);`;
|
|
148
|
+
stopBtn.textContent = ( localize(4838, "Stop"));
|
|
149
|
+
stopBtn.addEventListener("click", () => props.onCancelSession(session.resource));
|
|
150
|
+
confBtns.append(approveBtn, denyBtn, stopBtn);
|
|
151
|
+
} else {
|
|
152
|
+
const openInVSCode = $("button");
|
|
153
|
+
openInVSCode.style.cssText = `${btnStyle}background:var(--vscode-button-background);`;
|
|
154
|
+
openInVSCode.textContent = ( localize(4839, "Open in VS Code"));
|
|
155
|
+
openInVSCode.addEventListener("click", () => props.onOpenSession(session.resource));
|
|
156
|
+
confBtns.append(openInVSCode);
|
|
157
|
+
}
|
|
158
|
+
confRow.append(confDesc, confBtns);
|
|
159
|
+
wrapper.append(confRow);
|
|
160
|
+
}
|
|
161
|
+
return wrapper;
|
|
162
|
+
}
|
|
163
|
+
function createSessionList() {
|
|
164
|
+
const container = $("div.voice-session-list");
|
|
165
|
+
container.style.cssText = "display:flex;flex-direction:column;min-height:84px;max-height:320px;overflow-y:auto;margin:0 -14px 0 0;padding-right:8px;";
|
|
166
|
+
const style = $("style");
|
|
167
|
+
style.textContent = `
|
|
168
|
+
@keyframes agents-voice-pulse{0%,100%{opacity:1}50%{opacity:0.4}}
|
|
169
|
+
.voice-session-list::-webkit-scrollbar{width:6px;background:transparent;}
|
|
170
|
+
.voice-session-list::-webkit-scrollbar-thumb{background:var(--vscode-scrollbarSlider-activeBackground);border-radius:3px;}
|
|
171
|
+
.voice-session-list::-webkit-scrollbar-thumb:hover{background:var(--vscode-scrollbarSlider-activeBackground);}
|
|
172
|
+
.voice-session-list > div:last-of-type{border-bottom:none !important;}
|
|
173
|
+
`;
|
|
174
|
+
return {
|
|
175
|
+
element: container,
|
|
176
|
+
update(props) {
|
|
177
|
+
clearNode(container);
|
|
178
|
+
const hasGroups = props.groups && props.groups.length > 0;
|
|
179
|
+
const hasSessions = props.sessions.length > 0;
|
|
180
|
+
const headerRow = $("div");
|
|
181
|
+
headerRow.style.cssText = "display:flex;align-items:center;justify-content:space-between;padding:2px 2px 4px;border-bottom:1px solid var(--vscode-editorGroup-border);";
|
|
182
|
+
const headerLabel = $("span");
|
|
183
|
+
headerLabel.style.cssText = `font-size:${FONT_SIZE.micro};color:var(--vscode-disabledForeground);text-transform:uppercase;letter-spacing:0.5px;font-weight:500;`;
|
|
184
|
+
headerLabel.textContent = props.selectedTarget ? ( localize(4840, "Send to")) : ( localize(4841, "Send to (active)"));
|
|
185
|
+
const addBtn = hoverIcon("codicon-add", ( localize(4842, "New session")));
|
|
186
|
+
addBtn.title = ( localize(4842, "New session"));
|
|
187
|
+
addBtn.style.cssText += "padding:1px 2px;";
|
|
188
|
+
addBtn.addEventListener("click", e => {
|
|
189
|
+
e.preventDefault();
|
|
190
|
+
e.stopPropagation();
|
|
191
|
+
props.onNewSession();
|
|
192
|
+
});
|
|
193
|
+
headerRow.append(headerLabel, addBtn);
|
|
194
|
+
container.append(headerRow);
|
|
195
|
+
if (!hasGroups && !hasSessions) {
|
|
196
|
+
const empty = $("div");
|
|
197
|
+
empty.style.cssText = "display:flex;align-items:center;justify-content:center;height:60px;";
|
|
198
|
+
const emptyText = $("span");
|
|
199
|
+
emptyText.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-foreground);`;
|
|
200
|
+
emptyText.textContent = ( localize(4843, "No active sessions"));
|
|
201
|
+
empty.append(emptyText);
|
|
202
|
+
container.append(empty);
|
|
203
|
+
} else if (hasGroups) {
|
|
204
|
+
for (const group of props.groups) {
|
|
205
|
+
const groupHeader = $("div");
|
|
206
|
+
groupHeader.style.cssText = "padding:4px 2px 2px;";
|
|
207
|
+
const groupLabel = $("span");
|
|
208
|
+
groupLabel.style.cssText = `font-size:${FONT_SIZE.micro};color:var(--vscode-disabledForeground);text-transform:uppercase;letter-spacing:0.5px;font-weight:500;`;
|
|
209
|
+
groupLabel.textContent = group.label;
|
|
210
|
+
groupHeader.append(groupLabel);
|
|
211
|
+
container.append(groupHeader);
|
|
212
|
+
for (const session of group.sessions) {
|
|
213
|
+
container.append(createSessionRow(session, props));
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
} else {
|
|
217
|
+
for (const session of props.sessions) {
|
|
218
|
+
container.append(createSessionRow(session, props));
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
container.append(style);
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export { createSessionList };
|
package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { IPendingToolConfirmation } from "../../../chat/browser/voiceClient/voiceSessionController.js";
|
|
2
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
3
|
+
export interface StatusRowsProps {
|
|
4
|
+
readonly workingCount: number;
|
|
5
|
+
readonly needsInputCount: number;
|
|
6
|
+
readonly doneCount: number;
|
|
7
|
+
readonly speakingSessionLabel: string | undefined;
|
|
8
|
+
readonly speakingSessionResource: URI | undefined;
|
|
9
|
+
readonly pendingToolConfirmations: readonly IPendingToolConfirmation[];
|
|
10
|
+
readonly onOpenSession: (resource: URI) => void;
|
|
11
|
+
/** When false, hide the counter rows and the "No active sessions" placeholder. */
|
|
12
|
+
readonly showCounters?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface StatusRowsComponent {
|
|
15
|
+
readonly element: HTMLElement;
|
|
16
|
+
update(props: StatusRowsProps): void;
|
|
17
|
+
}
|
|
18
|
+
export declare function createStatusRows(): StatusRowsComponent;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
|
|
2
|
+
import { $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
3
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
|
+
import { createToolConfirmations } from './confirmationComponent.js';
|
|
5
|
+
import { FONT_SIZE } from './tokens.js';
|
|
6
|
+
|
|
7
|
+
function createStatusRow() {
|
|
8
|
+
const row = $("div");
|
|
9
|
+
row.style.cssText = "display:flex;align-items:center;gap:6px;height:20px;flex-shrink:0;padding-left:2px;";
|
|
10
|
+
const dot = $("span");
|
|
11
|
+
dot.style.cssText = "width:7px;height:7px;border-radius:50%;flex-shrink:0;";
|
|
12
|
+
const text = $("span");
|
|
13
|
+
text.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-descriptionForeground);`;
|
|
14
|
+
row.append(dot, text);
|
|
15
|
+
return {
|
|
16
|
+
element: row,
|
|
17
|
+
update(dotColor, count, label) {
|
|
18
|
+
if (count <= 0) {
|
|
19
|
+
row.style.display = "none";
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
row.style.display = "flex";
|
|
23
|
+
dot.style.background = dotColor;
|
|
24
|
+
text.textContent = `${count} session${count > 1 ? "s" : ""} ${label}`;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function createStatusRows() {
|
|
29
|
+
const container = $("div");
|
|
30
|
+
container.style.cssText = "display:flex;flex-direction:column;";
|
|
31
|
+
const inner = $("div");
|
|
32
|
+
inner.style.cssText = "display:flex;flex-direction:column;";
|
|
33
|
+
const speakingRow = $("div");
|
|
34
|
+
speakingRow.style.cssText = "display:flex;align-items:center;gap:6px;height:20px;flex-shrink:0;padding-left:2px;";
|
|
35
|
+
const speakingDot = $("span");
|
|
36
|
+
speakingDot.style.cssText = "width:7px;height:7px;border-radius:50%;background:var(--vscode-agentsVoice-speakingForeground);flex-shrink:0;animation:agents-voice-pulse 1.4s ease-in-out infinite;";
|
|
37
|
+
const speakingLabel = $("span");
|
|
38
|
+
speakingLabel.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-agentsVoice-speakingForeground);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;
|
|
39
|
+
speakingRow.append(speakingDot, speakingLabel);
|
|
40
|
+
let speakingClickHandler;
|
|
41
|
+
let speakingKeyHandler;
|
|
42
|
+
const workingRow = createStatusRow();
|
|
43
|
+
const needsInputRow = createStatusRow();
|
|
44
|
+
const doneRow = createStatusRow();
|
|
45
|
+
const noSessionsRow = $("div");
|
|
46
|
+
noSessionsRow.style.cssText = "display:flex;align-items:center;height:20px;flex-shrink:0;padding-left:2px;";
|
|
47
|
+
const noSessionsText = $("span");
|
|
48
|
+
noSessionsText.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-descriptionForeground);font-style:italic;`;
|
|
49
|
+
noSessionsText.textContent = ( localize(4844, "No active sessions"));
|
|
50
|
+
noSessionsRow.append(noSessionsText);
|
|
51
|
+
inner.append(
|
|
52
|
+
speakingRow,
|
|
53
|
+
workingRow.element,
|
|
54
|
+
needsInputRow.element,
|
|
55
|
+
doneRow.element,
|
|
56
|
+
noSessionsRow
|
|
57
|
+
);
|
|
58
|
+
const confirmations = createToolConfirmations();
|
|
59
|
+
const pulseStyle = $("style");
|
|
60
|
+
pulseStyle.textContent = "@keyframes agents-voice-pulse{0%,100%{opacity:1}50%{opacity:0.4}}";
|
|
61
|
+
container.append(inner, confirmations.element, pulseStyle);
|
|
62
|
+
return {
|
|
63
|
+
element: container,
|
|
64
|
+
update(props) {
|
|
65
|
+
const showCounters = props.showCounters ?? true;
|
|
66
|
+
const hasAny = props.workingCount > 0 || props.needsInputCount > 0 || props.doneCount > 0 || !!props.speakingSessionLabel;
|
|
67
|
+
if (props.speakingSessionLabel) {
|
|
68
|
+
speakingRow.style.display = "flex";
|
|
69
|
+
speakingLabel.textContent = props.speakingSessionLabel;
|
|
70
|
+
if (speakingClickHandler) {
|
|
71
|
+
speakingRow.removeEventListener("click", speakingClickHandler);
|
|
72
|
+
speakingClickHandler = undefined;
|
|
73
|
+
}
|
|
74
|
+
if (speakingKeyHandler) {
|
|
75
|
+
speakingRow.removeEventListener("keydown", speakingKeyHandler);
|
|
76
|
+
speakingKeyHandler = undefined;
|
|
77
|
+
}
|
|
78
|
+
if (props.speakingSessionResource) {
|
|
79
|
+
const resource = props.speakingSessionResource;
|
|
80
|
+
speakingClickHandler = () => props.onOpenSession(resource);
|
|
81
|
+
speakingKeyHandler = e => {
|
|
82
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
83
|
+
e.preventDefault();
|
|
84
|
+
props.onOpenSession(resource);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
speakingRow.addEventListener("click", speakingClickHandler);
|
|
88
|
+
speakingRow.addEventListener("keydown", speakingKeyHandler);
|
|
89
|
+
speakingRow.style.cursor = "pointer";
|
|
90
|
+
speakingRow.tabIndex = 0;
|
|
91
|
+
speakingRow.setAttribute("role", "button");
|
|
92
|
+
speakingRow.title = ( localize(4845, "Jump to session"));
|
|
93
|
+
} else {
|
|
94
|
+
speakingRow.style.cursor = "";
|
|
95
|
+
speakingRow.removeAttribute("tabIndex");
|
|
96
|
+
speakingRow.removeAttribute("role");
|
|
97
|
+
speakingRow.title = "";
|
|
98
|
+
}
|
|
99
|
+
} else {
|
|
100
|
+
speakingRow.style.display = "none";
|
|
101
|
+
if (speakingClickHandler) {
|
|
102
|
+
speakingRow.removeEventListener("click", speakingClickHandler);
|
|
103
|
+
speakingClickHandler = undefined;
|
|
104
|
+
}
|
|
105
|
+
if (speakingKeyHandler) {
|
|
106
|
+
speakingRow.removeEventListener("keydown", speakingKeyHandler);
|
|
107
|
+
speakingKeyHandler = undefined;
|
|
108
|
+
}
|
|
109
|
+
speakingRow.style.cursor = "";
|
|
110
|
+
speakingRow.removeAttribute("tabIndex");
|
|
111
|
+
speakingRow.removeAttribute("role");
|
|
112
|
+
speakingRow.title = "";
|
|
113
|
+
}
|
|
114
|
+
if (showCounters) {
|
|
115
|
+
workingRow.update("var(--vscode-charts-green)", props.workingCount, ( localize(4846, "working")));
|
|
116
|
+
needsInputRow.update(
|
|
117
|
+
"var(--vscode-editorWarning-foreground)",
|
|
118
|
+
props.needsInputCount,
|
|
119
|
+
( localize(4847, "needs input"))
|
|
120
|
+
);
|
|
121
|
+
doneRow.update("var(--vscode-disabledForeground)", props.doneCount, ( localize(4848, "done")));
|
|
122
|
+
noSessionsRow.style.display = !hasAny ? "flex" : "none";
|
|
123
|
+
} else {
|
|
124
|
+
workingRow.element.style.display = "none";
|
|
125
|
+
needsInputRow.element.style.display = "none";
|
|
126
|
+
doneRow.element.style.display = "none";
|
|
127
|
+
noSessionsRow.style.display = "none";
|
|
128
|
+
}
|
|
129
|
+
confirmations.update({
|
|
130
|
+
confirmations: props.pendingToolConfirmations,
|
|
131
|
+
onOpenSession: props.onOpenSession
|
|
132
|
+
});
|
|
133
|
+
pulseStyle.style.display = props.speakingSessionLabel ? "" : "none";
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export { createStatusRows };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Visual design tokens for the agentsVoice floating pane.
|
|
3
|
+
* Centralize sizes and colors so every component pulls from the same palette.
|
|
4
|
+
*/
|
|
5
|
+
export declare const FONT_SIZE: {
|
|
6
|
+
readonly micro: "10px";
|
|
7
|
+
readonly body: "12px";
|
|
8
|
+
readonly base: "13px";
|
|
9
|
+
readonly iconSm: "14px";
|
|
10
|
+
readonly iconMd: "16px";
|
|
11
|
+
};
|
|
12
|
+
export declare const FONT_WEIGHT: {
|
|
13
|
+
readonly normal: "400";
|
|
14
|
+
readonly medium: "500";
|
|
15
|
+
readonly semibold: "600";
|
|
16
|
+
readonly bold: "700";
|
|
17
|
+
};
|
|
18
|
+
export declare const COLOR: {
|
|
19
|
+
readonly userTranscript: "rgb(88,166,255)";
|
|
20
|
+
readonly assistantTranscript: "rgb(163,113,247)";
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Add Enter/Space keyboard activation to a non-native button element.
|
|
24
|
+
* Required for elements with role="button" + tabindex="0".
|
|
25
|
+
*/
|
|
26
|
+
export declare function addKeyboardActivation(el: HTMLElement): void;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
const FONT_SIZE = {
|
|
4
|
+
micro: '10px',
|
|
5
|
+
body: '12px',
|
|
6
|
+
base: '13px',
|
|
7
|
+
iconSm: '14px',
|
|
8
|
+
iconMd: '16px',
|
|
9
|
+
};
|
|
10
|
+
const FONT_WEIGHT = {
|
|
11
|
+
medium: '500'};
|
|
12
|
+
const COLOR = {
|
|
13
|
+
userTranscript: 'rgb(88,166,255)',
|
|
14
|
+
assistantTranscript: 'rgb(163,113,247)',
|
|
15
|
+
};
|
|
16
|
+
function addKeyboardActivation(el) {
|
|
17
|
+
el.addEventListener('keydown', (e) => {
|
|
18
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
19
|
+
e.preventDefault();
|
|
20
|
+
el.click();
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { COLOR, FONT_SIZE, FONT_WEIGHT, addKeyboardActivation };
|
package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import type { ITranscriptTurn } from "../../../chat/browser/voiceClient/voiceSessionController.js";
|
|
3
|
+
export interface TranscriptProps {
|
|
4
|
+
readonly turns: readonly ITranscriptTurn[];
|
|
5
|
+
readonly chatStyle?: boolean;
|
|
6
|
+
/** When true, keep the scroll anchored to the top instead of the bottom. */
|
|
7
|
+
readonly scrollToTop?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface TranscriptComponent {
|
|
10
|
+
readonly element: HTMLElement;
|
|
11
|
+
update(props: TranscriptProps): void;
|
|
12
|
+
}
|
|
13
|
+
export declare function createTranscript(): TranscriptComponent & IDisposable;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
|
|
2
|
+
import { $, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
3
|
+
import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
|
|
4
|
+
import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
|
|
5
|
+
import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
|
+
import { COLOR, FONT_SIZE } from './tokens.js';
|
|
7
|
+
|
|
8
|
+
const MAX_LINES = 10;
|
|
9
|
+
const LINE_HEIGHT = 1.4;
|
|
10
|
+
const MAX_HEIGHT = `${MAX_LINES * LINE_HEIGHT}em`;
|
|
11
|
+
const USER_CONTAINER_STYLE = ["overflow-x:hidden"].join(";");
|
|
12
|
+
const ASSISTANT_STYLE = [
|
|
13
|
+
"overflow-x:hidden",
|
|
14
|
+
"white-space:pre-wrap",
|
|
15
|
+
`color:${COLOR.assistantTranscript}`
|
|
16
|
+
].join(";");
|
|
17
|
+
const TRANSCRIPT_CSS = `
|
|
18
|
+
@keyframes textPulse { 0%,100%{opacity:0.9} 50%{opacity:0.4} }
|
|
19
|
+
`;
|
|
20
|
+
function createUserTurn(turn, chatStyle) {
|
|
21
|
+
const wrapper = $("div.voice-user-transcript");
|
|
22
|
+
wrapper.style.cssText = USER_CONTAINER_STYLE;
|
|
23
|
+
const userColor = chatStyle ? "var(--vscode-foreground)" : COLOR.userTranscript;
|
|
24
|
+
const inner = $("div");
|
|
25
|
+
if (!turn.isPartial) {
|
|
26
|
+
const span = $("span");
|
|
27
|
+
span.style.color = userColor;
|
|
28
|
+
span.textContent = turn.text;
|
|
29
|
+
inner.append(span);
|
|
30
|
+
} else {
|
|
31
|
+
const unsure = turn.committed ? turn.text.slice(turn.committed.length) : turn.text;
|
|
32
|
+
if (turn.committed) {
|
|
33
|
+
const committedSpan = $("span");
|
|
34
|
+
committedSpan.style.color = userColor;
|
|
35
|
+
committedSpan.textContent = turn.committed;
|
|
36
|
+
inner.append(committedSpan);
|
|
37
|
+
}
|
|
38
|
+
const unsureSpan = $("span");
|
|
39
|
+
unsureSpan.style.cssText = `color:${userColor};opacity:0.6;font-style:italic;animation:textPulse 1.5s ease-in-out infinite;`;
|
|
40
|
+
unsureSpan.textContent = unsure;
|
|
41
|
+
const cursor = $("span");
|
|
42
|
+
cursor.style.fontStyle = "normal";
|
|
43
|
+
cursor.textContent = "▉";
|
|
44
|
+
unsureSpan.append(cursor);
|
|
45
|
+
inner.append(unsureSpan);
|
|
46
|
+
}
|
|
47
|
+
wrapper.append(inner);
|
|
48
|
+
return wrapper;
|
|
49
|
+
}
|
|
50
|
+
function createAssistantTurn(turn, chatStyle) {
|
|
51
|
+
const el = $("div");
|
|
52
|
+
if (chatStyle) {
|
|
53
|
+
el.style.cssText = ASSISTANT_STYLE.replace(
|
|
54
|
+
`color:${COLOR.assistantTranscript}`,
|
|
55
|
+
"color:var(--vscode-descriptionForeground)"
|
|
56
|
+
);
|
|
57
|
+
} else {
|
|
58
|
+
el.style.cssText = ASSISTANT_STYLE;
|
|
59
|
+
}
|
|
60
|
+
el.textContent = turn.text;
|
|
61
|
+
return el;
|
|
62
|
+
}
|
|
63
|
+
function createTranscript() {
|
|
64
|
+
const store = ( new DisposableStore());
|
|
65
|
+
const container = $("div");
|
|
66
|
+
container.style.cssText = `display:flex;flex-direction:column;gap:2px;padding:2px 2px 4px;font-size:${FONT_SIZE.body};line-height:${LINE_HEIGHT};word-break:break-word;max-height:${MAX_HEIGHT};overflow:hidden;box-sizing:border-box;`;
|
|
67
|
+
const scrollable = store.add(( new DomScrollableElement(container, {
|
|
68
|
+
horizontal: ScrollbarVisibility.Hidden,
|
|
69
|
+
vertical: ScrollbarVisibility.Auto
|
|
70
|
+
})));
|
|
71
|
+
const wrapper = scrollable.getDomNode();
|
|
72
|
+
wrapper.style.maxHeight = MAX_HEIGHT;
|
|
73
|
+
const style = $("style");
|
|
74
|
+
style.textContent = TRANSCRIPT_CSS;
|
|
75
|
+
wrapper.prepend(style);
|
|
76
|
+
return {
|
|
77
|
+
element: wrapper,
|
|
78
|
+
update(props) {
|
|
79
|
+
let visible = props.turns.filter(t => t.text.length > 0 || (t.speaker === "user" && t.isPartial));
|
|
80
|
+
if (visible.length >= 2 && visible[visible.length - 1].speaker === "assistant" && visible[visible.length - 2].speaker === "assistant") {
|
|
81
|
+
visible = [visible[visible.length - 1]];
|
|
82
|
+
}
|
|
83
|
+
if (props.chatStyle && visible.length > 0) {
|
|
84
|
+
visible = [visible[visible.length - 1]];
|
|
85
|
+
}
|
|
86
|
+
clearNode(container);
|
|
87
|
+
if (visible.length === 0) {
|
|
88
|
+
container.style.display = "none";
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
container.style.display = "flex";
|
|
92
|
+
for (const turn of visible) {
|
|
93
|
+
container.append(
|
|
94
|
+
turn.speaker === "user" ? createUserTurn(turn, props.chatStyle) : createAssistantTurn(turn, props.chatStyle)
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
scrollable.scanDomNode();
|
|
98
|
+
scrollable.setScrollPosition({
|
|
99
|
+
scrollTop: props.scrollToTop ? 0 : container.scrollHeight
|
|
100
|
+
});
|
|
101
|
+
},
|
|
102
|
+
dispose() {
|
|
103
|
+
store.dispose();
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export { createTranscript };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { VoiceState } from "../../../chat/browser/voiceClient/voiceSessionController.js";
|
|
2
|
+
import type { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
3
|
+
export interface VoiceBarProps {
|
|
4
|
+
readonly voiceState: VoiceState;
|
|
5
|
+
readonly speakingSessionLabel: string | undefined;
|
|
6
|
+
readonly speakingSession: URI | undefined;
|
|
7
|
+
readonly onStopSpeech: () => void;
|
|
8
|
+
}
|
|
9
|
+
export interface VoiceBarComponent {
|
|
10
|
+
readonly element: HTMLElement;
|
|
11
|
+
update(props: VoiceBarProps): void;
|
|
12
|
+
}
|
|
13
|
+
export declare function createVoiceBar(): VoiceBarComponent;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
|
|
2
|
+
import { $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
3
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
|
+
import { FONT_SIZE, addKeyboardActivation } from './tokens.js';
|
|
5
|
+
|
|
6
|
+
function createVoiceBar() {
|
|
7
|
+
const container = $("div");
|
|
8
|
+
container.style.cssText = "display:flex;align-items:center;gap:6px;height:24px;padding:4px 2px;border-bottom:1px solid var(--vscode-panel-border);flex-shrink:0;";
|
|
9
|
+
const dot = $("span");
|
|
10
|
+
dot.style.cssText = "width:7px;height:7px;border-radius:50%;flex-shrink:0;";
|
|
11
|
+
const label = $("span");
|
|
12
|
+
label.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-foreground);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;
|
|
13
|
+
const waveform = $("div");
|
|
14
|
+
waveform.style.cssText = "display:flex;align-items:center;gap:2px;height:16px;flex:0 0 auto;";
|
|
15
|
+
for (let i = 0; i < 6; i++) {
|
|
16
|
+
const bar = $("div");
|
|
17
|
+
bar.style.cssText = "width:2px;height:3px;border-radius:1px;background:var(--vscode-editorWidget-background);transition:height 0.05s ease;";
|
|
18
|
+
waveform.append(bar);
|
|
19
|
+
}
|
|
20
|
+
const stopBtn = $("span.codicon.codicon-debug-stop");
|
|
21
|
+
stopBtn.role = "button";
|
|
22
|
+
stopBtn.tabIndex = 0;
|
|
23
|
+
stopBtn.ariaLabel = ( localize(4849, "Stop speech"));
|
|
24
|
+
stopBtn.style.cssText = `font-size:${FONT_SIZE.body};color:var(--vscode-editorError-foreground);cursor:pointer;-webkit-app-region:no-drag;padding:2px;`;
|
|
25
|
+
addKeyboardActivation(stopBtn);
|
|
26
|
+
container.append(dot, label, waveform, stopBtn);
|
|
27
|
+
let currentStopHandler;
|
|
28
|
+
return {
|
|
29
|
+
element: container,
|
|
30
|
+
update(props) {
|
|
31
|
+
const isSpeaking = props.voiceState === "speaking";
|
|
32
|
+
const isListening = props.voiceState === "listening";
|
|
33
|
+
if ((isSpeaking && props.speakingSession) || (!isSpeaking && !isListening)) {
|
|
34
|
+
container.style.display = "none";
|
|
35
|
+
if (currentStopHandler) {
|
|
36
|
+
stopBtn.removeEventListener("click", currentStopHandler);
|
|
37
|
+
currentStopHandler = undefined;
|
|
38
|
+
}
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
container.style.display = "flex";
|
|
42
|
+
dot.style.background = isSpeaking ? "var(--vscode-charts-green)" : "var(--vscode-editorInfo-foreground)";
|
|
43
|
+
label.textContent = isSpeaking ? (props.speakingSessionLabel || ( localize(4850, "Speaking..."))) : ( localize(4851, "Listening"));
|
|
44
|
+
stopBtn.style.display = isSpeaking ? "" : "none";
|
|
45
|
+
if (isSpeaking) {
|
|
46
|
+
if (currentStopHandler) {
|
|
47
|
+
stopBtn.removeEventListener("click", currentStopHandler);
|
|
48
|
+
}
|
|
49
|
+
currentStopHandler = e => {
|
|
50
|
+
e.preventDefault();
|
|
51
|
+
e.stopPropagation();
|
|
52
|
+
props.onStopSpeech();
|
|
53
|
+
};
|
|
54
|
+
stopBtn.addEventListener("click", currentStopHandler);
|
|
55
|
+
} else if (currentStopHandler) {
|
|
56
|
+
stopBtn.removeEventListener("click", currentStopHandler);
|
|
57
|
+
currentStopHandler = undefined;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { createVoiceBar };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|