@codingame/monaco-vscode-chat-service-override 34.1.3 → 35.0.1
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 +1424 -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
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IAgentSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service";
|
|
3
|
+
import { IAgentTitleBarStatusService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.service";
|
|
4
|
+
import { IVoicePlaybackService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/voicePlaybackService.service";
|
|
5
|
+
import { IVoiceSessionController } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.service";
|
|
6
|
+
import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service";
|
|
7
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
8
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
9
|
+
import { AgentsVoiceWidget } from "./agentsVoiceWidget.js";
|
|
10
|
+
export interface IWidgetBindingServices {
|
|
11
|
+
readonly voiceSessionController: IVoiceSessionController;
|
|
12
|
+
readonly agentSessionsService: IAgentSessionsService;
|
|
13
|
+
readonly agentTitleBarStatusService: IAgentTitleBarStatusService;
|
|
14
|
+
readonly voicePlaybackService: IVoicePlaybackService;
|
|
15
|
+
readonly environmentService: IWorkbenchEnvironmentService;
|
|
16
|
+
readonly chatService?: IChatService;
|
|
17
|
+
readonly configurationService?: IConfigurationService;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Wire all controller observables and session/playback service events into the
|
|
21
|
+
* widget. Used by both the floating agentsVoice window and the in-pane voice
|
|
22
|
+
* bar so they stay in lock-step.
|
|
23
|
+
*/
|
|
24
|
+
export declare function bindWidgetToController(widget: AgentsVoiceWidget, services: IWidgetBindingServices): IDisposable;
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
|
|
2
|
+
import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
3
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
4
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
5
|
+
import { getAgentChangesSummary } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel';
|
|
6
|
+
import { getRepositoryName } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer';
|
|
7
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
8
|
+
import { ChatSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
9
|
+
|
|
10
|
+
function bindWidgetToController(widget, services) {
|
|
11
|
+
const store = ( new DisposableStore());
|
|
12
|
+
const {
|
|
13
|
+
voiceSessionController: controller,
|
|
14
|
+
agentSessionsService,
|
|
15
|
+
agentTitleBarStatusService,
|
|
16
|
+
voicePlaybackService,
|
|
17
|
+
configurationService
|
|
18
|
+
} = services;
|
|
19
|
+
store.add(autorun(reader => {
|
|
20
|
+
const state = controller.voiceState.read(reader);
|
|
21
|
+
const connected = controller.isConnected.read(reader);
|
|
22
|
+
const connecting = controller.isConnecting.read(reader);
|
|
23
|
+
const reconnecting = controller.isReconnecting.read(reader);
|
|
24
|
+
const toolConfirmations = controller.pendingToolConfirmations.read(reader);
|
|
25
|
+
const speakingSession = voicePlaybackService.speakingSession.read(reader);
|
|
26
|
+
const statusText = controller.statusText.read(reader);
|
|
27
|
+
const turns = controller.transcriptTurns.read(reader);
|
|
28
|
+
const targetSession = controller.targetSession.read(reader);
|
|
29
|
+
widget.setConnected(connected);
|
|
30
|
+
widget.setConnecting(connecting);
|
|
31
|
+
widget.setReconnecting(reconnecting);
|
|
32
|
+
widget.setVoiceState(state);
|
|
33
|
+
widget.setPendingToolConfirmations(toolConfirmations);
|
|
34
|
+
const showTranscript = configurationService?.getValue("agents.voice.showTranscript") !== false;
|
|
35
|
+
widget.setTranscriptTurns(showTranscript ? turns : []);
|
|
36
|
+
widget.setStatusText(statusText);
|
|
37
|
+
widget.setSelectedTargetSession(targetSession);
|
|
38
|
+
if (speakingSession) {
|
|
39
|
+
const sessions = agentSessionsService.model.sessions;
|
|
40
|
+
const match = sessions.find(s => ( s.resource.toString()) === ( speakingSession.toString()));
|
|
41
|
+
widget.setSpeakingSession(speakingSession, match?.label);
|
|
42
|
+
} else {
|
|
43
|
+
widget.setSpeakingSession(undefined, undefined);
|
|
44
|
+
}
|
|
45
|
+
_updateSessionData(widget, services);
|
|
46
|
+
}));
|
|
47
|
+
const updateAll = () => {
|
|
48
|
+
_updateStatusCounts(widget, services);
|
|
49
|
+
_updateSessionData(widget, services);
|
|
50
|
+
};
|
|
51
|
+
store.add(agentSessionsService.model.onDidChangeSessions(updateAll));
|
|
52
|
+
store.add(agentSessionsService.onDidChangeSessionArchivedState(updateAll));
|
|
53
|
+
store.add(agentTitleBarStatusService.onDidChangeSessionInfo(updateAll));
|
|
54
|
+
store.add(autorun(reader => {
|
|
55
|
+
voicePlaybackService.speakingSession.read(reader);
|
|
56
|
+
if (services.chatService) {
|
|
57
|
+
for (const model of services.chatService.chatModels.read(reader)) {
|
|
58
|
+
model.hasActiveRequest.read(reader);
|
|
59
|
+
model.requestNeedsInput.read(reader);
|
|
60
|
+
const lastReq = model.lastRequestObs.read(reader);
|
|
61
|
+
if (lastReq?.response) {
|
|
62
|
+
lastReq.response.isIncomplete.read(reader);
|
|
63
|
+
lastReq.response.isPendingConfirmation.read(reader);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
_updateSessionData(widget, services);
|
|
68
|
+
}));
|
|
69
|
+
_updateStatusCounts(widget, services);
|
|
70
|
+
_updateSessionData(widget, services);
|
|
71
|
+
return store;
|
|
72
|
+
}
|
|
73
|
+
function _updateStatusCounts(
|
|
74
|
+
widget,
|
|
75
|
+
{
|
|
76
|
+
agentSessionsService
|
|
77
|
+
}
|
|
78
|
+
) {
|
|
79
|
+
const sessions = agentSessionsService.model.sessions.filter(s => !s.isArchived());
|
|
80
|
+
const oneHourAgo = Date.now() - 60 * 60 * 1000;
|
|
81
|
+
let working = 0;
|
|
82
|
+
let needsInput = 0;
|
|
83
|
+
let done = 0;
|
|
84
|
+
for (const session of sessions) {
|
|
85
|
+
switch (session.status) {
|
|
86
|
+
case ChatSessionStatus.InProgress:
|
|
87
|
+
working++;
|
|
88
|
+
break;
|
|
89
|
+
case ChatSessionStatus.NeedsInput:
|
|
90
|
+
needsInput++;
|
|
91
|
+
break;
|
|
92
|
+
case ChatSessionStatus.Completed:
|
|
93
|
+
{
|
|
94
|
+
const endedAt = session.timing.lastRequestEnded ?? session.timing.created;
|
|
95
|
+
if (endedAt && endedAt > oneHourAgo) {
|
|
96
|
+
done++;
|
|
97
|
+
}
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
widget.setStatusCounts(working, needsInput, done);
|
|
103
|
+
}
|
|
104
|
+
function _updateSessionData(widget, services) {
|
|
105
|
+
const {
|
|
106
|
+
agentSessionsService,
|
|
107
|
+
voiceSessionController,
|
|
108
|
+
voicePlaybackService,
|
|
109
|
+
environmentService,
|
|
110
|
+
chatService
|
|
111
|
+
} = services;
|
|
112
|
+
const sessions = agentSessionsService.model.sessions.filter(s => !s.isArchived());
|
|
113
|
+
const toolConfirmations = voiceSessionController.pendingToolConfirmations.get();
|
|
114
|
+
const speakingSession = voicePlaybackService.speakingSession.get();
|
|
115
|
+
const statusOrder = s => s.status === ChatSessionStatus.NeedsInput ? 0 : s.status === ChatSessionStatus.InProgress ? 1 : 2;
|
|
116
|
+
const lastActivity = s => s.timing.lastRequestEnded ?? s.timing.lastRequestStarted ?? s.timing.created ?? 0;
|
|
117
|
+
const sorted = [...sessions].sort((a, b) => {
|
|
118
|
+
const statusDiff = statusOrder(a) - statusOrder(b);
|
|
119
|
+
if (statusDiff !== 0) {
|
|
120
|
+
return statusDiff;
|
|
121
|
+
}
|
|
122
|
+
return lastActivity(b) - lastActivity(a);
|
|
123
|
+
});
|
|
124
|
+
const sessionRows = ( sorted.map(session => {
|
|
125
|
+
const isSpeaking = speakingSession?.toString() === ( session.resource.toString());
|
|
126
|
+
const changes = getAgentChangesSummary(session.changes);
|
|
127
|
+
const tc = toolConfirmations.find(c => ( c.sessionResource.toString()) === ( session.resource.toString()));
|
|
128
|
+
return {
|
|
129
|
+
resource: session.resource,
|
|
130
|
+
label: session.label || ( localize(4802, "Untitled session")),
|
|
131
|
+
isActive: session.status === ChatSessionStatus.InProgress,
|
|
132
|
+
needsInput: session.status === ChatSessionStatus.NeedsInput,
|
|
133
|
+
isIdle: session.status === ChatSessionStatus.Completed,
|
|
134
|
+
isSpeaking,
|
|
135
|
+
insertions: changes?.insertions ?? 0,
|
|
136
|
+
deletions: changes?.deletions ?? 0,
|
|
137
|
+
toolConfirmation: tc
|
|
138
|
+
};
|
|
139
|
+
}));
|
|
140
|
+
if (chatService) {
|
|
141
|
+
const agentResources = ( new Set(( sessionRows.map(r => ( r.resource.toString())))));
|
|
142
|
+
const chatModels = chatService.chatModels.get();
|
|
143
|
+
for (const model of chatModels) {
|
|
144
|
+
if (( agentResources.has(( model.sessionResource.toString())))) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
const requests = model.getRequests();
|
|
148
|
+
if (requests.length === 0) {
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
const isActive = model.hasActiveRequest.get();
|
|
152
|
+
const needsInput = !!model.requestNeedsInput.get();
|
|
153
|
+
const tc = toolConfirmations.find(c => ( c.sessionResource.toString()) === ( model.sessionResource.toString()));
|
|
154
|
+
sessionRows.push({
|
|
155
|
+
resource: model.sessionResource,
|
|
156
|
+
label: model.title || ( localize(4803, "Chat")),
|
|
157
|
+
isActive: isActive && !needsInput,
|
|
158
|
+
needsInput,
|
|
159
|
+
isIdle: !isActive && !needsInput,
|
|
160
|
+
isSpeaking: speakingSession?.toString() === ( model.sessionResource.toString()),
|
|
161
|
+
insertions: 0,
|
|
162
|
+
deletions: 0,
|
|
163
|
+
toolConfirmation: tc
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
widget.setSessions(sessionRows);
|
|
168
|
+
if (environmentService.isSessionsWindow) {
|
|
169
|
+
const repoMap = ( new Map());
|
|
170
|
+
const otherRows = [];
|
|
171
|
+
for (let i = 0; i < sorted.length; i++) {
|
|
172
|
+
const repoName = getRepositoryName(sorted[i]);
|
|
173
|
+
const row = sessionRows[i];
|
|
174
|
+
if (repoName) {
|
|
175
|
+
let group = repoMap.get(repoName);
|
|
176
|
+
if (!group) {
|
|
177
|
+
group = [];
|
|
178
|
+
repoMap.set(repoName, group);
|
|
179
|
+
}
|
|
180
|
+
group.push(row);
|
|
181
|
+
} else {
|
|
182
|
+
otherRows.push(row);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
const groups = [];
|
|
186
|
+
for (const [label, rows] of repoMap) {
|
|
187
|
+
groups.push({
|
|
188
|
+
label,
|
|
189
|
+
sessions: rows
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
if (otherRows.length > 0) {
|
|
193
|
+
groups.push({
|
|
194
|
+
label: ( localize(4804, "Other")),
|
|
195
|
+
sessions: otherRows
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
widget.setSessionGroups(groups.length > 0 ? groups : undefined);
|
|
199
|
+
} else {
|
|
200
|
+
widget.setSessionGroups(undefined);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export { bindWidgetToController };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
3
|
+
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
4
|
+
import { IAuxiliaryWindowService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.service";
|
|
5
|
+
import { IAgentsVoiceWindowService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/agentsVoice/common/agentsVoice.service";
|
|
6
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
7
|
+
import { IHostService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service";
|
|
8
|
+
import { IAgentSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service";
|
|
9
|
+
import { IAgentTitleBarStatusService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.service";
|
|
10
|
+
import { IMicCaptureService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.service";
|
|
11
|
+
import { ITtsPlaybackService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.service";
|
|
12
|
+
import { IVoiceSessionController } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.service";
|
|
13
|
+
import { IVoicePlaybackService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/voicePlaybackService.service";
|
|
14
|
+
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
15
|
+
import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
|
|
16
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
17
|
+
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
18
|
+
import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service";
|
|
19
|
+
import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
|
|
20
|
+
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
21
|
+
export declare class AgentsVoiceWindowService extends Disposable implements IAgentsVoiceWindowService {
|
|
22
|
+
private readonly auxiliaryWindowService;
|
|
23
|
+
private readonly storageService;
|
|
24
|
+
private readonly configurationService;
|
|
25
|
+
private readonly hostService;
|
|
26
|
+
private readonly agentSessionsService;
|
|
27
|
+
private readonly agentTitleBarStatusService;
|
|
28
|
+
private readonly micCaptureService;
|
|
29
|
+
private readonly ttsPlaybackService;
|
|
30
|
+
private readonly voiceSessionController;
|
|
31
|
+
private readonly voicePlaybackService;
|
|
32
|
+
private readonly commandService;
|
|
33
|
+
private readonly chatService;
|
|
34
|
+
private readonly workspaceContextService;
|
|
35
|
+
private readonly environmentService;
|
|
36
|
+
private readonly themeService;
|
|
37
|
+
private readonly keybindingService;
|
|
38
|
+
private readonly instantiationService;
|
|
39
|
+
readonly _serviceBrand: undefined;
|
|
40
|
+
private readonly _onDidChangeOpen;
|
|
41
|
+
readonly onDidChangeOpen: Event<boolean>;
|
|
42
|
+
private readonly _auxiliaryWindowRef;
|
|
43
|
+
private _window;
|
|
44
|
+
private readonly _windowDisposables;
|
|
45
|
+
private readonly _ownershipChannel;
|
|
46
|
+
private _resizeTimeout;
|
|
47
|
+
get isOpen(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Calls setWindowAlwaysOnTop via a registered command (Electron only).
|
|
50
|
+
* Avoids importing INativeHostService in the browser layer.
|
|
51
|
+
*/
|
|
52
|
+
constructor(auxiliaryWindowService: IAuxiliaryWindowService, storageService: IStorageService, configurationService: IConfigurationService, hostService: IHostService, agentSessionsService: IAgentSessionsService, agentTitleBarStatusService: IAgentTitleBarStatusService, micCaptureService: IMicCaptureService, ttsPlaybackService: ITtsPlaybackService, voiceSessionController: IVoiceSessionController, voicePlaybackService: IVoicePlaybackService, commandService: ICommandService, chatService: IChatService, workspaceContextService: IWorkspaceContextService, environmentService: IWorkbenchEnvironmentService, themeService: IThemeService, keybindingService: IKeybindingService, instantiationService: IInstantiationService);
|
|
53
|
+
openWindow(): Promise<void>;
|
|
54
|
+
closeWindow(): void;
|
|
55
|
+
toggleWindow(): Promise<void>;
|
|
56
|
+
private _resizeWindow;
|
|
57
|
+
private _doResizeWindow;
|
|
58
|
+
private _defaultBounds;
|
|
59
|
+
private loadBounds;
|
|
60
|
+
private saveBounds;
|
|
61
|
+
}
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
|
+
import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
5
|
+
import { mainWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/window';
|
|
6
|
+
import { disposableWindowInterval } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
7
|
+
import { FileAccess } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
8
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
9
|
+
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
10
|
+
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
11
|
+
import { IAuxiliaryWindowService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.service';
|
|
12
|
+
import { AgentsVoiceStorageKeys, AGENTS_VOICE_WINDOW_DEFAULT_HEIGHT, AGENTS_VOICE_WINDOW_DEFAULT_WIDTH } from '../common/agentsVoice.js';
|
|
13
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
14
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
15
|
+
import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service';
|
|
16
|
+
import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
|
|
17
|
+
import { IAgentTitleBarStatusService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.service';
|
|
18
|
+
import { IMicCaptureService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.service';
|
|
19
|
+
import { ITtsPlaybackService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.service';
|
|
20
|
+
import { IVoiceSessionController } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.service';
|
|
21
|
+
import { IVoicePlaybackService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/voicePlaybackService.service';
|
|
22
|
+
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
23
|
+
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
24
|
+
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
25
|
+
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
26
|
+
import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
27
|
+
import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
|
|
28
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
|
|
29
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/baseColors';
|
|
30
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/chartsColors';
|
|
31
|
+
import { editorBackground } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/editorColors';
|
|
32
|
+
import { inputBackground, inputBorder } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/inputColors';
|
|
33
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/listColors';
|
|
34
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/menuColors';
|
|
35
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/minimapColors';
|
|
36
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/miscColors';
|
|
37
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
38
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
|
|
39
|
+
import { AgentsVoiceWidget } from './agentsVoiceWidget.js';
|
|
40
|
+
import { bindWidgetToController } from './agentsVoiceWidgetBinding.js';
|
|
41
|
+
import { AgentsVoiceSessionsPicker } from './agentsVoiceSessionsPicker.js';
|
|
42
|
+
|
|
43
|
+
let AgentsVoiceWindowService = class AgentsVoiceWindowService extends Disposable {
|
|
44
|
+
get isOpen() {
|
|
45
|
+
return !!this._window;
|
|
46
|
+
}
|
|
47
|
+
constructor(
|
|
48
|
+
auxiliaryWindowService,
|
|
49
|
+
storageService,
|
|
50
|
+
configurationService,
|
|
51
|
+
hostService,
|
|
52
|
+
agentSessionsService,
|
|
53
|
+
agentTitleBarStatusService,
|
|
54
|
+
micCaptureService,
|
|
55
|
+
ttsPlaybackService,
|
|
56
|
+
voiceSessionController,
|
|
57
|
+
voicePlaybackService,
|
|
58
|
+
commandService,
|
|
59
|
+
chatService,
|
|
60
|
+
workspaceContextService,
|
|
61
|
+
environmentService,
|
|
62
|
+
themeService,
|
|
63
|
+
keybindingService,
|
|
64
|
+
instantiationService
|
|
65
|
+
) {
|
|
66
|
+
super();
|
|
67
|
+
this.auxiliaryWindowService = auxiliaryWindowService;
|
|
68
|
+
this.storageService = storageService;
|
|
69
|
+
this.configurationService = configurationService;
|
|
70
|
+
this.hostService = hostService;
|
|
71
|
+
this.agentSessionsService = agentSessionsService;
|
|
72
|
+
this.agentTitleBarStatusService = agentTitleBarStatusService;
|
|
73
|
+
this.micCaptureService = micCaptureService;
|
|
74
|
+
this.ttsPlaybackService = ttsPlaybackService;
|
|
75
|
+
this.voiceSessionController = voiceSessionController;
|
|
76
|
+
this.voicePlaybackService = voicePlaybackService;
|
|
77
|
+
this.commandService = commandService;
|
|
78
|
+
this.chatService = chatService;
|
|
79
|
+
this.workspaceContextService = workspaceContextService;
|
|
80
|
+
this.environmentService = environmentService;
|
|
81
|
+
this.themeService = themeService;
|
|
82
|
+
this.keybindingService = keybindingService;
|
|
83
|
+
this.instantiationService = instantiationService;
|
|
84
|
+
this._onDidChangeOpen = this._register(( new Emitter()));
|
|
85
|
+
this.onDidChangeOpen = this._onDidChangeOpen.event;
|
|
86
|
+
this._auxiliaryWindowRef = this._register(( new MutableDisposable()));
|
|
87
|
+
this._windowDisposables = this._register(( new DisposableStore()));
|
|
88
|
+
const ownershipChannel = ( new BroadcastChannel("agents-voice-ownership"));
|
|
89
|
+
ownershipChannel.onmessage = e => {
|
|
90
|
+
if (e.data?.type === "claim" && this._window) {
|
|
91
|
+
this.closeWindow();
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
this._register({
|
|
95
|
+
dispose: () => ownershipChannel.close()
|
|
96
|
+
});
|
|
97
|
+
this._ownershipChannel = ownershipChannel;
|
|
98
|
+
const onBeforeUnload = () => {
|
|
99
|
+
if (this._window) {
|
|
100
|
+
this.closeWindow();
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
mainWindow.addEventListener("beforeunload", onBeforeUnload);
|
|
104
|
+
this._register({
|
|
105
|
+
dispose: () => mainWindow.removeEventListener("beforeunload", onBeforeUnload)
|
|
106
|
+
});
|
|
107
|
+
const wasOpen = this.storageService.getBoolean(AgentsVoiceStorageKeys.WindowOpen, StorageScope.WORKSPACE, false);
|
|
108
|
+
if (wasOpen) {
|
|
109
|
+
this.storageService.store(
|
|
110
|
+
AgentsVoiceStorageKeys.WindowOpen,
|
|
111
|
+
false,
|
|
112
|
+
StorageScope.WORKSPACE,
|
|
113
|
+
StorageTarget.MACHINE
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
async openWindow() {
|
|
118
|
+
if (this._window) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const bounds = this.loadBounds();
|
|
122
|
+
const auxiliaryWindow = await this.auxiliaryWindowService.open({
|
|
123
|
+
bounds,
|
|
124
|
+
alwaysOnTop: true,
|
|
125
|
+
frameless: true,
|
|
126
|
+
transparent: false,
|
|
127
|
+
disableFullscreen: true,
|
|
128
|
+
nativeTitlebar: false,
|
|
129
|
+
noBackgroundThrottling: true,
|
|
130
|
+
backgroundColor: this.themeService.getColorTheme().getColor(editorBackground)?.toString() ?? "#1e1e1e"
|
|
131
|
+
});
|
|
132
|
+
this._window = auxiliaryWindow;
|
|
133
|
+
this._auxiliaryWindowRef.value = auxiliaryWindow;
|
|
134
|
+
const workspace = this.workspaceContextService.getWorkspace();
|
|
135
|
+
const projectName = workspace.folders.length > 0 ? workspace.folders[0].name : "";
|
|
136
|
+
auxiliaryWindow.window.document.title = projectName ? `Agents Voice — ${projectName}` : "Agents Voice";
|
|
137
|
+
auxiliaryWindow.container.style.overflow = "hidden";
|
|
138
|
+
auxiliaryWindow.window.document.body.style.setProperty("margin", "0", "important");
|
|
139
|
+
const theme = this.themeService.getColorTheme();
|
|
140
|
+
const bgColor = theme.getColor(editorBackground)?.toString() ?? "#1e1e1e";
|
|
141
|
+
const inputBg = theme.getColor(inputBackground)?.toString() ?? "#3C3C3C";
|
|
142
|
+
const inputBd = theme.getColor(inputBorder)?.toString() ?? "transparent";
|
|
143
|
+
auxiliaryWindow.container.style.setProperty("--vscode-agents-background", bgColor);
|
|
144
|
+
auxiliaryWindow.container.style.backgroundColor = inputBg;
|
|
145
|
+
auxiliaryWindow.container.style.border = `1px solid ${inputBd}`;
|
|
146
|
+
auxiliaryWindow.container.style.boxSizing = "border-box";
|
|
147
|
+
auxiliaryWindow.window.document.body.style.setProperty("background-color", inputBg, "important");
|
|
148
|
+
this._windowDisposables.clear();
|
|
149
|
+
const widget = ( new AgentsVoiceWidget(auxiliaryWindow.container, {
|
|
150
|
+
copilotIconSrc: ( ( FileAccess.asBrowserUri("vs/sessions/browser/media/sessions-icon.svg")).toString(true)),
|
|
151
|
+
hideDisconnect: (this.configurationService.getValue("agents.voice.autoSendDelay") ?? 500) >= 0,
|
|
152
|
+
connect: () => {
|
|
153
|
+
this.storageService.store(
|
|
154
|
+
AgentsVoiceStorageKeys.OnboardingCompleted,
|
|
155
|
+
true,
|
|
156
|
+
StorageScope.PROFILE,
|
|
157
|
+
StorageTarget.USER
|
|
158
|
+
);
|
|
159
|
+
this.voiceSessionController.connect(mainWindow);
|
|
160
|
+
},
|
|
161
|
+
disconnect: () => this.voiceSessionController.disconnect(),
|
|
162
|
+
pttDown: () => {
|
|
163
|
+
if (!this.voiceSessionController.isConnected.get() && !this.voiceSessionController.isConnecting.get()) {
|
|
164
|
+
this.voiceSessionController.connect(mainWindow).then(() => {
|
|
165
|
+
if (this.voiceSessionController.isConnected.get()) {
|
|
166
|
+
this.voiceSessionController.pttDown();
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
this.voiceSessionController.pttDown();
|
|
172
|
+
},
|
|
173
|
+
pttUp: () => this.voiceSessionController.pttUp(),
|
|
174
|
+
closeWindow: () => this.closeWindow(),
|
|
175
|
+
stopPlayback: () => this.ttsPlaybackService.stopPlayback(),
|
|
176
|
+
openSession: resource => {
|
|
177
|
+
this.commandService.executeCommand("_chat.voice.switchToSession", ( resource.toString()));
|
|
178
|
+
this.hostService.focus(mainWindow);
|
|
179
|
+
},
|
|
180
|
+
stopSession: resource => {
|
|
181
|
+
const model = this.chatService.getSession(resource);
|
|
182
|
+
if (model) {
|
|
183
|
+
const lastReq = model.getRequests().at(-1);
|
|
184
|
+
if (lastReq) {
|
|
185
|
+
this.voiceSessionController.markUserCancelled(( resource.toString()));
|
|
186
|
+
this.chatService.cancelCurrentRequestForSession(resource);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
cancelSession: resource => {
|
|
191
|
+
this.voiceSessionController.markUserCancelled(( resource.toString()));
|
|
192
|
+
this.chatService.cancelCurrentRequestForSession(resource);
|
|
193
|
+
},
|
|
194
|
+
selectTargetSession: resource => {
|
|
195
|
+
this.voiceSessionController.setTargetSession(resource);
|
|
196
|
+
if (resource) {
|
|
197
|
+
this.commandService.executeCommand("_chat.voice.switchToSession", ( resource.toString())).catch(() => {});
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
newSessionAsTarget: () => {
|
|
201
|
+
this.voiceSessionController.newSessionAsTarget();
|
|
202
|
+
},
|
|
203
|
+
getAnalyserNode: () => {
|
|
204
|
+
const state = this.voiceSessionController.voiceState.get();
|
|
205
|
+
return this.ttsPlaybackService.analyserNode ?? (state === "listening" ? this.micCaptureService.analyserNode : null) ?? null;
|
|
206
|
+
},
|
|
207
|
+
onResize: () => this._resizeWindow(auxiliaryWindow),
|
|
208
|
+
openPttKeySettings: () => this.commandService.executeCommand("workbench.action.openGlobalKeybindings", "agentsVoice.pushToTalk"),
|
|
209
|
+
submitFeedback: text => this.voiceSessionController.submitFeedback(text),
|
|
210
|
+
showSessionsPicker: () => {
|
|
211
|
+
const picker = this.instantiationService.createInstance(
|
|
212
|
+
AgentsVoiceSessionsPicker,
|
|
213
|
+
resource => this.voiceSessionController.setTargetSession(resource)
|
|
214
|
+
);
|
|
215
|
+
picker.show();
|
|
216
|
+
}
|
|
217
|
+
}, {
|
|
218
|
+
defaultExpanded: false,
|
|
219
|
+
inputBoxLayout: true
|
|
220
|
+
}));
|
|
221
|
+
this._windowDisposables.add(widget);
|
|
222
|
+
const getPttLabel = () => this.keybindingService.lookupKeybinding("agentsVoice.pushToTalk")?.getLabel() ?? undefined;
|
|
223
|
+
widget.setPttKeyLabel(getPttLabel());
|
|
224
|
+
this._windowDisposables.add(this.keybindingService.onDidUpdateKeybindings(() => {
|
|
225
|
+
widget.setPttKeyLabel(getPttLabel());
|
|
226
|
+
}));
|
|
227
|
+
this._windowDisposables.add(bindWidgetToController(widget, {
|
|
228
|
+
voiceSessionController: this.voiceSessionController,
|
|
229
|
+
agentSessionsService: this.agentSessionsService,
|
|
230
|
+
agentTitleBarStatusService: this.agentTitleBarStatusService,
|
|
231
|
+
voicePlaybackService: this.voicePlaybackService,
|
|
232
|
+
environmentService: this.environmentService,
|
|
233
|
+
chatService: this.chatService,
|
|
234
|
+
configurationService: this.configurationService
|
|
235
|
+
}));
|
|
236
|
+
this.agentSessionsService.model.resolve(undefined);
|
|
237
|
+
this._windowDisposables.add(disposableWindowInterval(auxiliaryWindow.window, () => {
|
|
238
|
+
this.agentSessionsService.model.resolve(undefined);
|
|
239
|
+
}, 3000));
|
|
240
|
+
Event.once(auxiliaryWindow.onUnload)(() => {
|
|
241
|
+
this.voiceSessionController.setTargetSession(undefined);
|
|
242
|
+
this.voiceSessionController.disconnect();
|
|
243
|
+
this._window = undefined;
|
|
244
|
+
this._windowDisposables.clear();
|
|
245
|
+
this._auxiliaryWindowRef.value = undefined;
|
|
246
|
+
this.storageService.store(
|
|
247
|
+
AgentsVoiceStorageKeys.WindowOpen,
|
|
248
|
+
false,
|
|
249
|
+
StorageScope.WORKSPACE,
|
|
250
|
+
StorageTarget.MACHINE
|
|
251
|
+
);
|
|
252
|
+
this._onDidChangeOpen.fire(false);
|
|
253
|
+
});
|
|
254
|
+
this.storageService.store(
|
|
255
|
+
AgentsVoiceStorageKeys.WindowOpen,
|
|
256
|
+
true,
|
|
257
|
+
StorageScope.WORKSPACE,
|
|
258
|
+
StorageTarget.MACHINE
|
|
259
|
+
);
|
|
260
|
+
this._onDidChangeOpen.fire(true);
|
|
261
|
+
}
|
|
262
|
+
closeWindow() {
|
|
263
|
+
if (!this._window) {
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
this.saveBounds(this._window);
|
|
267
|
+
this.voiceSessionController.setTargetSession(undefined);
|
|
268
|
+
this.storageService.store(
|
|
269
|
+
AgentsVoiceStorageKeys.WindowOpen,
|
|
270
|
+
false,
|
|
271
|
+
StorageScope.WORKSPACE,
|
|
272
|
+
StorageTarget.MACHINE
|
|
273
|
+
);
|
|
274
|
+
this._window = undefined;
|
|
275
|
+
this._windowDisposables.clear();
|
|
276
|
+
this._auxiliaryWindowRef.value = undefined;
|
|
277
|
+
this._onDidChangeOpen.fire(false);
|
|
278
|
+
}
|
|
279
|
+
async toggleWindow() {
|
|
280
|
+
if (this.isOpen) {
|
|
281
|
+
this.closeWindow();
|
|
282
|
+
} else {
|
|
283
|
+
this._ownershipChannel.postMessage({
|
|
284
|
+
type: "claim"
|
|
285
|
+
});
|
|
286
|
+
await this.openWindow();
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
_resizeWindow(auxiliaryWindow) {
|
|
290
|
+
if (this._resizeTimeout) {
|
|
291
|
+
clearTimeout(this._resizeTimeout);
|
|
292
|
+
}
|
|
293
|
+
this._resizeTimeout = setTimeout(() => {
|
|
294
|
+
this._resizeTimeout = undefined;
|
|
295
|
+
this._doResizeWindow(auxiliaryWindow);
|
|
296
|
+
}, 100);
|
|
297
|
+
}
|
|
298
|
+
_doResizeWindow(auxiliaryWindow) {
|
|
299
|
+
const pill = auxiliaryWindow.container.querySelector("div");
|
|
300
|
+
if (!pill) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
const pillWidth = pill.offsetWidth;
|
|
304
|
+
const pillHeight = pill.offsetHeight;
|
|
305
|
+
if (pillWidth <= 0 || pillHeight <= 0) {
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
const currentWidth = auxiliaryWindow.window.outerWidth;
|
|
309
|
+
const currentHeight = auxiliaryWindow.window.outerHeight;
|
|
310
|
+
if (pillWidth !== currentWidth || pillHeight !== currentHeight) {
|
|
311
|
+
try {
|
|
312
|
+
const screenBottom = auxiliaryWindow.window.screen.availHeight;
|
|
313
|
+
const maxHeight = screenBottom - auxiliaryWindow.window.screenY;
|
|
314
|
+
const clampedHeight = Math.min(pillHeight, Math.max(maxHeight, AGENTS_VOICE_WINDOW_DEFAULT_HEIGHT));
|
|
315
|
+
auxiliaryWindow.window.resizeTo(pillWidth, clampedHeight);
|
|
316
|
+
} catch {}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
_defaultBounds() {
|
|
320
|
+
const x = Math.round(
|
|
321
|
+
mainWindow.screenX + (mainWindow.outerWidth - AGENTS_VOICE_WINDOW_DEFAULT_WIDTH) / 2
|
|
322
|
+
);
|
|
323
|
+
const y = mainWindow.screenY + mainWindow.outerHeight - AGENTS_VOICE_WINDOW_DEFAULT_HEIGHT - 100;
|
|
324
|
+
return {
|
|
325
|
+
x,
|
|
326
|
+
y,
|
|
327
|
+
width: AGENTS_VOICE_WINDOW_DEFAULT_WIDTH,
|
|
328
|
+
height: AGENTS_VOICE_WINDOW_DEFAULT_HEIGHT
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
loadBounds() {
|
|
332
|
+
return this._defaultBounds();
|
|
333
|
+
}
|
|
334
|
+
saveBounds(_window) {}
|
|
335
|
+
};
|
|
336
|
+
AgentsVoiceWindowService = ( __decorate([( __param(0, IAuxiliaryWindowService)), ( __param(1, IStorageService)), ( __param(2, IConfigurationService)), ( __param(3, IHostService)), ( __param(4, IAgentSessionsService)), ( __param(5, IAgentTitleBarStatusService)), ( __param(6, IMicCaptureService)), ( __param(7, ITtsPlaybackService)), ( __param(8, IVoiceSessionController)), ( __param(9, IVoicePlaybackService)), ( __param(10, ICommandService)), ( __param(11, IChatService)), ( __param(12, IWorkspaceContextService)), ( __param(13, IWorkbenchEnvironmentService)), ( __param(14, IThemeService)), ( __param(15, IKeybindingService)), ( __param(16, IInstantiationService))], AgentsVoiceWindowService));
|
|
337
|
+
|
|
338
|
+
export { AgentsVoiceWindowService };
|
package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IPendingToolConfirmation } from "../../../chat/browser/voiceClient/voiceSessionController.js";
|
|
2
|
+
export interface ToolConfirmationsProps {
|
|
3
|
+
readonly confirmations: readonly IPendingToolConfirmation[];
|
|
4
|
+
readonly onOpenSession: (resource: IPendingToolConfirmation["sessionResource"]) => void;
|
|
5
|
+
}
|
|
6
|
+
export interface ToolConfirmationsComponent {
|
|
7
|
+
readonly element: HTMLElement;
|
|
8
|
+
update(props: ToolConfirmationsProps): void;
|
|
9
|
+
}
|
|
10
|
+
export declare function createToolConfirmations(): ToolConfirmationsComponent;
|