@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
|
@@ -9,22 +9,6 @@ var MarketplaceReferenceKind;
|
|
|
9
9
|
MarketplaceReferenceKind["LocalFileUri"] = "localFileUri";
|
|
10
10
|
})(MarketplaceReferenceKind || (MarketplaceReferenceKind = {}));
|
|
11
11
|
const _githubShorthandRe = /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#.+)?$/;
|
|
12
|
-
function extraKnownMarketplacesToConfigDict(entries) {
|
|
13
|
-
if (!entries?.length) {
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
16
|
-
const obj = {};
|
|
17
|
-
for (const entry of entries) {
|
|
18
|
-
if (typeof entry === "string") {
|
|
19
|
-
obj[entry] = entry;
|
|
20
|
-
} else {
|
|
21
|
-
const s = entry.source;
|
|
22
|
-
const base = s.source === "github" ? s.repo : s.url;
|
|
23
|
-
obj[entry.name] = s.ref ? `${base}#${s.ref}` : base;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return obj;
|
|
27
|
-
}
|
|
28
12
|
function readConfiguredMarketplaces(configurationService) {
|
|
29
13
|
const userValues = configurationService.getValue(ChatConfiguration.PluginMarketplaces) ?? [];
|
|
30
14
|
const extraObj = configurationService.getValue(ChatConfiguration.ExtraMarketplaces) ?? {};
|
|
@@ -277,4 +261,4 @@ function sanitizePathSegment(value) {
|
|
|
277
261
|
return value.replace(/[\\/:*?"<>|]/g, "_");
|
|
278
262
|
}
|
|
279
263
|
|
|
280
|
-
export { MarketplaceReferenceKind, deduplicateMarketplaceReferences,
|
|
264
|
+
export { MarketplaceReferenceKind, deduplicateMarketplaceReferences, parseMarketplaceObjectEntry, parseMarketplaceReference, parseMarketplaceReferences, readConfiguredMarketplaces };
|
|
@@ -130,6 +130,7 @@ export declare class PluginMarketplaceService extends Disposable implements IPlu
|
|
|
130
130
|
addInstalledPlugin(pluginUri: URI, plugin: IMarketplacePlugin): void;
|
|
131
131
|
removeInstalledPlugin(pluginUri: URI): void;
|
|
132
132
|
isMarketplaceTrusted(ref: IMarketplaceReference): boolean;
|
|
133
|
+
isStrictMarketplacePolicyActive(): boolean;
|
|
133
134
|
/**
|
|
134
135
|
* Hydrates installed entries from marketplace metadata. Entries written
|
|
135
136
|
* by current builds include the marketplace plugin name, which is enough
|
|
@@ -158,6 +159,7 @@ export declare class PluginMarketplaceService extends Disposable implements IPlu
|
|
|
158
159
|
private _fetchFromClonedRepo;
|
|
159
160
|
readPluginsFromDirectory(repoDir: URI, reference: IMarketplaceReference): Promise<IMarketplacePlugin[]>;
|
|
160
161
|
readSinglePluginManifest(repoDir: URI, reference: IMarketplaceReference): Promise<IMarketplacePlugin | undefined>;
|
|
162
|
+
isPluginDirectory(repoDir: URI): Promise<boolean>;
|
|
161
163
|
private _readPluginsFromDirectory;
|
|
162
164
|
/**
|
|
163
165
|
* Iterates over {@link MARKETPLACE_DEFINITIONS} paths, calling
|
|
@@ -27,7 +27,7 @@ import { FileBackedInstalledPluginsStore } from './fileBackedInstalledPluginsSto
|
|
|
27
27
|
import { IWorkspacePluginSettingsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.service';
|
|
28
28
|
import { IWorkspaceTrustManagementService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service';
|
|
29
29
|
import { readConfiguredMarketplaces, parseMarketplaceReferences, deduplicateMarketplaceReferences, parseMarketplaceReference, parseMarketplaceObjectEntry, MarketplaceReferenceKind } from './marketplaceReference.js';
|
|
30
|
-
|
|
30
|
+
import { getStrictKnownMarketplaces, isMarketplaceReferenceAllowed } from './strictKnownMarketplaces.js';
|
|
31
31
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
32
32
|
import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
33
33
|
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
@@ -400,12 +400,15 @@ let PluginMarketplaceService = class PluginMarketplaceService extends Disposable
|
|
|
400
400
|
this._installedPluginsStore.set(current.filter(e => !isEqual(e.pluginUri, pluginUri)), undefined);
|
|
401
401
|
}
|
|
402
402
|
isMarketplaceTrusted(ref) {
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
return (
|
|
403
|
+
const allowlist = getStrictKnownMarketplaces(this._configurationService.getValue(ChatConfiguration.StrictMarketplaces));
|
|
404
|
+
if (allowlist !== undefined) {
|
|
405
|
+
return isMarketplaceReferenceAllowed(allowlist, ref);
|
|
406
406
|
}
|
|
407
407
|
return this._trustedMarketplacesStore.get().includes(ref.canonicalId);
|
|
408
408
|
}
|
|
409
|
+
isStrictMarketplacePolicyActive() {
|
|
410
|
+
return getStrictKnownMarketplaces(this._configurationService.getValue(ChatConfiguration.StrictMarketplaces)) !== undefined;
|
|
411
|
+
}
|
|
409
412
|
async _hydratePluginMetadata(entries) {
|
|
410
413
|
let hydrated = 0;
|
|
411
414
|
for (const entry of entries) {
|
|
@@ -486,7 +489,7 @@ let PluginMarketplaceService = class PluginMarketplaceService extends Disposable
|
|
|
486
489
|
}
|
|
487
490
|
}
|
|
488
491
|
_isAutoUpdateEnabled() {
|
|
489
|
-
return this._extensionsWorkbenchService.getAutoUpdateValue()
|
|
492
|
+
return this._extensionsWorkbenchService.getAutoUpdateValue() !== "off";
|
|
490
493
|
}
|
|
491
494
|
_scheduleUpdateCheck() {
|
|
492
495
|
if (this._updateCheckTimer !== undefined) {
|
|
@@ -605,6 +608,14 @@ let PluginMarketplaceService = class PluginMarketplaceService extends Disposable
|
|
|
605
608
|
);
|
|
606
609
|
return undefined;
|
|
607
610
|
}
|
|
611
|
+
async isPluginDirectory(repoDir) {
|
|
612
|
+
for (const def of SINGLE_PLUGIN_MANIFEST_DEFINITIONS) {
|
|
613
|
+
if (await this._fileService.exists(joinPath(repoDir, def.path))) {
|
|
614
|
+
return true;
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
return false;
|
|
618
|
+
}
|
|
608
619
|
async _readPluginsFromDirectory(repoDir, reference, token) {
|
|
609
620
|
return this._readPluginsFromDefinitions(reference, async defPath => {
|
|
610
621
|
if (token?.isCancellationRequested) {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { IStrictMarketplaceSource } from "@codingame/monaco-vscode-api/vscode/vs/base/common/managedSettings";
|
|
2
|
+
import { IMarketplaceReference } from "./marketplaceReference.js";
|
|
3
|
+
/**
|
|
4
|
+
* The allowlist entry type for `chat.plugins.strictMarketplaces`. Re-exported
|
|
5
|
+
* from `base/common` so chat plugin code can import it alongside the matcher it
|
|
6
|
+
* operates with; the same type is consumed by the managed-settings adapter.
|
|
7
|
+
*/
|
|
8
|
+
export type { IStrictMarketplaceSource };
|
|
9
|
+
/**
|
|
10
|
+
* The value of the `chat.plugins.strictMarketplaces` allowlist.
|
|
11
|
+
* - `undefined`: no restrictions — all marketplaces are allowed.
|
|
12
|
+
* - `[]`: complete lockdown — no marketplace is allowed.
|
|
13
|
+
* - non-empty array: only marketplaces matching an entry are allowed.
|
|
14
|
+
*/
|
|
15
|
+
export type StrictKnownMarketplaces = readonly IStrictMarketplaceSource[];
|
|
16
|
+
/**
|
|
17
|
+
* Coerces a resolved configuration value into a {@link StrictKnownMarketplaces}
|
|
18
|
+
* allowlist. Returns `undefined` (meaning "no restrictions") when the value is
|
|
19
|
+
* not an array — which is also how an unset policy surfaces (the registered
|
|
20
|
+
* `null` default). Malformed entries (non-objects or entries without a string
|
|
21
|
+
* `source`) are dropped so a bad managed-settings payload degrades to "no match"
|
|
22
|
+
* rather than throwing during matching.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getStrictKnownMarketplaces(value: unknown): StrictKnownMarketplaces | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Checks whether a marketplace reference is allowed by the strict allowlist.
|
|
27
|
+
*
|
|
28
|
+
* @param allowlist `undefined` allows everything, `[]` blocks everything,
|
|
29
|
+
* otherwise the reference must match at least one entry.
|
|
30
|
+
*/
|
|
31
|
+
export declare function isMarketplaceReferenceAllowed(allowlist: StrictKnownMarketplaces | undefined, ref: IMarketplaceReference): boolean;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
|
|
2
|
+
import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
3
|
+
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
4
|
+
import { MarketplaceReferenceKind, parseMarketplaceReference } from './marketplaceReference.js';
|
|
5
|
+
|
|
6
|
+
function getStrictKnownMarketplaces(value) {
|
|
7
|
+
if (!Array.isArray(value)) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
return value.filter(
|
|
11
|
+
entry => typeof entry === "object" && entry !== null && typeof entry.source === "string"
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
function isMarketplaceReferenceAllowed(allowlist, ref) {
|
|
15
|
+
if (allowlist === undefined) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
if (allowlist.length === 0) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return ( allowlist.some(entry => matchesAllowlistEntry(entry, ref)));
|
|
22
|
+
}
|
|
23
|
+
function matchesAllowlistEntry(entry, ref) {
|
|
24
|
+
switch (entry.source) {
|
|
25
|
+
case "github":
|
|
26
|
+
{
|
|
27
|
+
if (typeof entry.repo !== "string" || entry.path !== undefined) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
const candidate = parseMarketplaceReference(appendRef(entry.repo, entry.ref));
|
|
31
|
+
return !!candidate && candidate.canonicalId === ref.canonicalId;
|
|
32
|
+
}
|
|
33
|
+
case "git":
|
|
34
|
+
{
|
|
35
|
+
if (typeof entry.url !== "string" || entry.path !== undefined) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
const candidate = parseMarketplaceReference(appendRef(entry.url, entry.ref));
|
|
39
|
+
return !!candidate && candidate.canonicalId === ref.canonicalId;
|
|
40
|
+
}
|
|
41
|
+
case "url":
|
|
42
|
+
{
|
|
43
|
+
if (typeof entry.url !== "string") {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
const candidate = parseMarketplaceReference(appendRef(entry.url, entry.ref));
|
|
47
|
+
return !!candidate && candidate.canonicalId === ref.canonicalId;
|
|
48
|
+
}
|
|
49
|
+
case "npm":
|
|
50
|
+
{
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
case "file":
|
|
54
|
+
case "directory":
|
|
55
|
+
{
|
|
56
|
+
if (ref.kind !== MarketplaceReferenceKind.LocalFileUri || !ref.localRepositoryUri || typeof entry.path !== "string") {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
return isEqual(ref.localRepositoryUri, URI.file(entry.path));
|
|
60
|
+
}
|
|
61
|
+
case "hostPattern":
|
|
62
|
+
{
|
|
63
|
+
if (typeof entry.hostPattern !== "string") {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
const host = extractHost(ref);
|
|
67
|
+
return !!host && testPattern(entry.hostPattern, host);
|
|
68
|
+
}
|
|
69
|
+
case "pathPattern":
|
|
70
|
+
{
|
|
71
|
+
if (typeof entry.pathPattern !== "string" || ref.kind !== MarketplaceReferenceKind.LocalFileUri || !ref.localRepositoryUri) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
return testPattern(entry.pathPattern, ref.localRepositoryUri.fsPath);
|
|
75
|
+
}
|
|
76
|
+
default:
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function appendRef(value, ref) {
|
|
81
|
+
if (!ref) {
|
|
82
|
+
return value;
|
|
83
|
+
}
|
|
84
|
+
const fragmentIndex = value.indexOf("#");
|
|
85
|
+
const base = fragmentIndex === -1 ? value : value.slice(0, fragmentIndex);
|
|
86
|
+
return `${base}#${ref}`;
|
|
87
|
+
}
|
|
88
|
+
function extractHost(ref) {
|
|
89
|
+
if (ref.kind === MarketplaceReferenceKind.GitHubShorthand) {
|
|
90
|
+
return "github.com";
|
|
91
|
+
}
|
|
92
|
+
if (ref.kind !== MarketplaceReferenceKind.GitUri) {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
const scpMatch = /^[\w._-]+@([\w.-]+):/.exec(ref.cloneUrl);
|
|
96
|
+
if (scpMatch) {
|
|
97
|
+
return scpMatch[1].toLowerCase();
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
let authority = ( URI.parse(ref.cloneUrl)).authority.toLowerCase();
|
|
101
|
+
const at = authority.lastIndexOf("@");
|
|
102
|
+
if (at !== -1) {
|
|
103
|
+
authority = authority.slice(at + 1);
|
|
104
|
+
}
|
|
105
|
+
const colon = authority.indexOf(":");
|
|
106
|
+
if (colon !== -1) {
|
|
107
|
+
authority = authority.slice(0, colon);
|
|
108
|
+
}
|
|
109
|
+
return authority || undefined;
|
|
110
|
+
} catch {
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function testPattern(pattern, value) {
|
|
115
|
+
try {
|
|
116
|
+
return ( new RegExp(pattern)).test(value);
|
|
117
|
+
} catch {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export { getStrictKnownMarketplaces, isMarketplaceReferenceAllowed };
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js
CHANGED
|
@@ -25,7 +25,7 @@ function registerChatFilesExtensionPoint(point) {
|
|
|
25
25
|
return ExtensionsRegistry.registerExtensionPoint({
|
|
26
26
|
extensionPoint: point,
|
|
27
27
|
jsonSchema: {
|
|
28
|
-
description: ( localize(
|
|
28
|
+
description: ( localize(8600, "Contributes {0} for chat prompts.", point)),
|
|
29
29
|
type: "array",
|
|
30
30
|
items: {
|
|
31
31
|
additionalProperties: false,
|
|
@@ -39,28 +39,28 @@ function registerChatFilesExtensionPoint(point) {
|
|
|
39
39
|
properties: {
|
|
40
40
|
path: {
|
|
41
41
|
description: point === ChatContributionPoint.chatSkills ? ( localize(
|
|
42
|
-
|
|
42
|
+
8601,
|
|
43
43
|
"Path to the SKILL.md file relative to the extension root. The folder name must match the \"name\" property in SKILL.md."
|
|
44
|
-
)) : ( localize(
|
|
44
|
+
)) : ( localize(8602, "Path to the file relative to the extension root.")),
|
|
45
45
|
type: "string"
|
|
46
46
|
},
|
|
47
47
|
name: {
|
|
48
|
-
description: ( localize(
|
|
49
|
-
deprecationMessage: ( localize(
|
|
48
|
+
description: ( localize(8603, "(Optional) Name for this entry.")),
|
|
49
|
+
deprecationMessage: ( localize(8604, "Specify \"name\" in the prompt file itself instead.")),
|
|
50
50
|
type: "string"
|
|
51
51
|
},
|
|
52
52
|
description: {
|
|
53
|
-
description: ( localize(
|
|
54
|
-
deprecationMessage: ( localize(
|
|
53
|
+
description: ( localize(8605, "(Optional) Description of the entry.")),
|
|
54
|
+
deprecationMessage: ( localize(8606, "Specify \"description\" in the prompt file itself instead.")),
|
|
55
55
|
type: "string"
|
|
56
56
|
},
|
|
57
57
|
when: {
|
|
58
|
-
description: ( localize(
|
|
58
|
+
description: ( localize(8607, "(Optional) A condition which must be true to enable this entry.")),
|
|
59
59
|
type: "string"
|
|
60
60
|
},
|
|
61
61
|
sessionTypes: {
|
|
62
62
|
description: ( localize(
|
|
63
|
-
|
|
63
|
+
8608,
|
|
64
64
|
"(Optional) The chat session types where this entry should be offered."
|
|
65
65
|
)),
|
|
66
66
|
type: "array",
|
|
@@ -116,7 +116,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
116
116
|
for (const raw of ext.value) {
|
|
117
117
|
if (!raw.path) {
|
|
118
118
|
ext.collector.error(( localize(
|
|
119
|
-
|
|
119
|
+
8609,
|
|
120
120
|
"Extension '{0}' cannot register {1} entry without path.",
|
|
121
121
|
ext.description.identifier.value,
|
|
122
122
|
contributionPoint
|
|
@@ -126,7 +126,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
126
126
|
const fileUri = joinPath(ext.description.extensionLocation, raw.path);
|
|
127
127
|
if (!isEqualOrParent(fileUri, ext.description.extensionLocation)) {
|
|
128
128
|
ext.collector.error(( localize(
|
|
129
|
-
|
|
129
|
+
8610,
|
|
130
130
|
"Extension '{0}' {1} entry '{2}' resolves outside the extension.",
|
|
131
131
|
ext.description.identifier.value,
|
|
132
132
|
contributionPoint,
|
|
@@ -136,7 +136,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
136
136
|
}
|
|
137
137
|
if (raw.when && !ContextKeyExpr.deserialize(raw.when)) {
|
|
138
138
|
ext.collector.error(( localize(
|
|
139
|
-
|
|
139
|
+
8611,
|
|
140
140
|
"Extension '{0}' {1} entry '{2}' has an invalid when clause: '{3}'.",
|
|
141
141
|
ext.description.identifier.value,
|
|
142
142
|
contributionPoint,
|
|
@@ -159,7 +159,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
159
159
|
} catch (e) {
|
|
160
160
|
const msg = e instanceof Error ? e.message : String(e);
|
|
161
161
|
ext.collector.error(( localize(
|
|
162
|
-
|
|
162
|
+
8612,
|
|
163
163
|
"Extension '{0}' {1}. Failed to register {2}: {3}",
|
|
164
164
|
ext.description.identifier.value,
|
|
165
165
|
contributionPoint,
|
|
@@ -196,6 +196,12 @@ CommandsRegistry.registerCommand("_listExtensionPromptFiles", async accessor =>
|
|
|
196
196
|
type: file.type,
|
|
197
197
|
extensionId: file.extension.identifier.value
|
|
198
198
|
});
|
|
199
|
+
} else if (file.storage === PromptsStorage.plugin) {
|
|
200
|
+
result.push({
|
|
201
|
+
uri: file.uri.toJSON(),
|
|
202
|
+
type: file.type,
|
|
203
|
+
extensionId: ( file.pluginUri.toString())
|
|
204
|
+
});
|
|
199
205
|
}
|
|
200
206
|
}
|
|
201
207
|
return result;
|
|
@@ -220,7 +226,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
220
226
|
dispose: () => {}
|
|
221
227
|
};
|
|
222
228
|
}
|
|
223
|
-
const headers = [( localize(
|
|
229
|
+
const headers = [( localize(8613, "Name")), ( localize(8614, "Description")), ( localize(8615, "Path"))];
|
|
224
230
|
const rows = ( contributions.map(d => {
|
|
225
231
|
return [d.name ?? "-", d.description ?? "-", d.path];
|
|
226
232
|
}));
|
|
@@ -235,7 +241,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
235
241
|
}
|
|
236
242
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
237
243
|
id: ChatContributionPoint.chatPromptFiles,
|
|
238
|
-
label: ( localize(
|
|
244
|
+
label: ( localize(8616, "Chat Prompt Files")),
|
|
239
245
|
access: {
|
|
240
246
|
canToggle: false
|
|
241
247
|
},
|
|
@@ -243,7 +249,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
243
249
|
});
|
|
244
250
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
245
251
|
id: ChatContributionPoint.chatInstructions,
|
|
246
|
-
label: ( localize(
|
|
252
|
+
label: ( localize(8617, "Chat Instructions")),
|
|
247
253
|
access: {
|
|
248
254
|
canToggle: false
|
|
249
255
|
},
|
|
@@ -251,7 +257,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
251
257
|
});
|
|
252
258
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
253
259
|
id: ChatContributionPoint.chatAgents,
|
|
254
|
-
label: ( localize(
|
|
260
|
+
label: ( localize(8618, "Chat Agents")),
|
|
255
261
|
access: {
|
|
256
262
|
canToggle: false
|
|
257
263
|
},
|
|
@@ -259,7 +265,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
259
265
|
});
|
|
260
266
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
261
267
|
id: ChatContributionPoint.chatSkills,
|
|
262
|
-
label: ( localize(
|
|
268
|
+
label: ( localize(8619, "Chat Skills")),
|
|
263
269
|
access: {
|
|
264
270
|
canToggle: false
|
|
265
271
|
},
|
|
@@ -20,6 +20,9 @@ export declare class PromptCodeActionProvider implements CodeActionProvider {
|
|
|
20
20
|
provideCodeActions(model: ITextModel, range: Range | Selection, context: CodeActionContext, token: CancellationToken): Promise<CodeActionList | undefined>;
|
|
21
21
|
private getMarkers;
|
|
22
22
|
private createCodeAction;
|
|
23
|
+
private getEnableMcpServerCodeActions;
|
|
24
|
+
private getMarkerCode;
|
|
25
|
+
private getMarkersInRange;
|
|
23
26
|
private getUpdateModeCodeActions;
|
|
24
27
|
private getMigrateModeFileCodeActions;
|
|
25
28
|
private getUpdateToolsCodeActions;
|
|
@@ -9,7 +9,7 @@ import { PromptHeaderAttributes, parseCommaSeparatedList } from '@codingame/mona
|
|
|
9
9
|
import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
|
|
10
10
|
import { LEGACY_MODE_FILE_EXTENSION } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
11
11
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
12
|
-
import { MARKERS_OWNER_ID } from './promptValidator.js';
|
|
12
|
+
import { MARKERS_OWNER_ID, PromptValidatorMarkerCode } from './promptValidator.js';
|
|
13
13
|
import { IMarkerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markers/common/markers.service';
|
|
14
14
|
import { CodeActionKind } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/codeAction/common/types';
|
|
15
15
|
import { getTarget, isVSCodeOrDefaultTarget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes';
|
|
@@ -32,11 +32,13 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
32
32
|
switch (promptType) {
|
|
33
33
|
case PromptsType.agent:
|
|
34
34
|
this.getUpdateToolsCodeActions(promptAST, promptType, model, range, result);
|
|
35
|
+
this.getEnableMcpServerCodeActions(model, range, result);
|
|
35
36
|
await this.getMigrateModeFileCodeActions(model, result);
|
|
36
37
|
break;
|
|
37
38
|
case PromptsType.prompt:
|
|
38
39
|
this.getUpdateModeCodeActions(promptAST, model, range, result);
|
|
39
40
|
this.getUpdateToolsCodeActions(promptAST, promptType, model, range, result);
|
|
41
|
+
this.getEnableMcpServerCodeActions(model, range, result);
|
|
40
42
|
break;
|
|
41
43
|
}
|
|
42
44
|
if (result.length === 0) {
|
|
@@ -54,17 +56,118 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
54
56
|
});
|
|
55
57
|
return markers.filter(marker => range.containsRange(marker));
|
|
56
58
|
}
|
|
57
|
-
createCodeAction(model, range, title, edits) {
|
|
59
|
+
createCodeAction(model, range, title, edits, command) {
|
|
58
60
|
return {
|
|
59
61
|
title,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
...(edits ? {
|
|
63
|
+
edit: {
|
|
64
|
+
edits
|
|
65
|
+
}
|
|
66
|
+
} : {}),
|
|
67
|
+
...(command ? {
|
|
68
|
+
command
|
|
69
|
+
} : {}),
|
|
63
70
|
ranges: [range],
|
|
64
71
|
diagnostics: this.getMarkers(model, range),
|
|
65
72
|
kind: CodeActionKind.QuickFix.value
|
|
66
73
|
};
|
|
67
74
|
}
|
|
75
|
+
getEnableMcpServerCodeActions(model, range, result) {
|
|
76
|
+
const markersInRange = this.getMarkersInRange(model, range);
|
|
77
|
+
for (const marker of markersInRange) {
|
|
78
|
+
const markerCode = this.getMarkerCode(marker);
|
|
79
|
+
if (markerCode === PromptValidatorMarkerCode.MissingGithubMcpServer) {
|
|
80
|
+
result.push(this.createCodeAction(model, range, ( localize(8672, "Enable Built-in GitHub MCP Server")), undefined, {
|
|
81
|
+
id: "workbench.action.openSettings",
|
|
82
|
+
title: "",
|
|
83
|
+
arguments: ["@id:github.copilot.chat.githubMcpServer.enabled"]
|
|
84
|
+
}));
|
|
85
|
+
result.push(this.createCodeAction(model, range, ( localize(8673, "Install GitHub MCP Server from Marketplace")), undefined, {
|
|
86
|
+
id: "workbench.extensions.search",
|
|
87
|
+
title: "",
|
|
88
|
+
arguments: ["@mcp github"]
|
|
89
|
+
}));
|
|
90
|
+
} else if (markerCode === PromptValidatorMarkerCode.MissingPlaywrightMcpServer) {
|
|
91
|
+
result.push(this.createCodeAction(model, range, ( localize(8674, "Install Playwright MCP Server from Marketplace")), undefined, {
|
|
92
|
+
id: "workbench.extensions.search",
|
|
93
|
+
title: "",
|
|
94
|
+
arguments: ["@mcp playwright"]
|
|
95
|
+
}));
|
|
96
|
+
} else if (markerCode === PromptValidatorMarkerCode.UnknownExtensionReference) {
|
|
97
|
+
const reference = model.getValueInRange(( new Range(
|
|
98
|
+
marker.startLineNumber,
|
|
99
|
+
marker.startColumn,
|
|
100
|
+
marker.endLineNumber,
|
|
101
|
+
marker.endColumn
|
|
102
|
+
))).trim();
|
|
103
|
+
const extensionId = reference.split("/")[0].replace(/^['"]|['"]$/g, "");
|
|
104
|
+
if (extensionId) {
|
|
105
|
+
result.push(this.createCodeAction(model, range, ( localize(8675, "Search Marketplace for Extension '{0}'", extensionId)), undefined, {
|
|
106
|
+
id: "workbench.extensions.search",
|
|
107
|
+
title: "",
|
|
108
|
+
arguments: [`@id:${extensionId}`]
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
} else if (markerCode === PromptValidatorMarkerCode.UnknownMcpServerReference) {
|
|
112
|
+
const reference = model.getValueInRange(( new Range(
|
|
113
|
+
marker.startLineNumber,
|
|
114
|
+
marker.startColumn,
|
|
115
|
+
marker.endLineNumber,
|
|
116
|
+
marker.endColumn
|
|
117
|
+
))).trim();
|
|
118
|
+
const serverId = reference.replace(/^['"]|['"]$/g, "");
|
|
119
|
+
if (serverId) {
|
|
120
|
+
result.push(this.createCodeAction(model, range, ( localize(8676, "Search Marketplace for MCP Server '{0}'", serverId)), undefined, {
|
|
121
|
+
id: "workbench.extensions.search",
|
|
122
|
+
title: "",
|
|
123
|
+
arguments: [`@mcp ${serverId}`]
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
126
|
+
} else {
|
|
127
|
+
const reference = model.getValueInRange(( new Range(
|
|
128
|
+
marker.startLineNumber,
|
|
129
|
+
marker.startColumn,
|
|
130
|
+
marker.endLineNumber,
|
|
131
|
+
marker.endColumn
|
|
132
|
+
))).trim();
|
|
133
|
+
if (reference) {
|
|
134
|
+
const extensionId = reference.split("/")[0].replace(/^['"]|['"]$/g, "");
|
|
135
|
+
result.push(this.createCodeAction(model, range, ( localize(8677, "Search Marketplace for Extension '{0}'", extensionId)), undefined, {
|
|
136
|
+
id: "workbench.extensions.search",
|
|
137
|
+
title: "",
|
|
138
|
+
arguments: [`@id:${extensionId}`]
|
|
139
|
+
}));
|
|
140
|
+
const serverId = reference.replace(/^['"]|['"]$/g, "");
|
|
141
|
+
result.push(this.createCodeAction(model, range, ( localize(8678, "Search Marketplace for MCP Server '{0}'", serverId)), undefined, {
|
|
142
|
+
id: "workbench.extensions.search",
|
|
143
|
+
title: "",
|
|
144
|
+
arguments: [`@mcp ${serverId}`]
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
getMarkerCode(marker) {
|
|
151
|
+
if (!marker.code) {
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
return typeof marker.code === "string" ? marker.code : marker.code.value;
|
|
155
|
+
}
|
|
156
|
+
getMarkersInRange(model, range) {
|
|
157
|
+
const markers = this.markerService.read({
|
|
158
|
+
resource: model.uri,
|
|
159
|
+
owner: MARKERS_OWNER_ID
|
|
160
|
+
});
|
|
161
|
+
return markers.filter(marker => {
|
|
162
|
+
const markerRange = ( new Range(
|
|
163
|
+
marker.startLineNumber,
|
|
164
|
+
marker.startColumn,
|
|
165
|
+
marker.endLineNumber,
|
|
166
|
+
marker.endColumn
|
|
167
|
+
));
|
|
168
|
+
return markerRange.intersectRanges(range);
|
|
169
|
+
});
|
|
170
|
+
}
|
|
68
171
|
getUpdateModeCodeActions(promptFile, model, range, result) {
|
|
69
172
|
const modeAttr = promptFile.header?.getAttribute(PromptHeaderAttributes.mode);
|
|
70
173
|
if (!modeAttr?.range.containsRange(range)) {
|
|
@@ -76,7 +179,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
76
179
|
modeAttr.range.startLineNumber,
|
|
77
180
|
modeAttr.range.startColumn + modeAttr.key.length
|
|
78
181
|
));
|
|
79
|
-
result.push(this.createCodeAction(model, keyRange, ( localize(
|
|
182
|
+
result.push(this.createCodeAction(model, keyRange, ( localize(8679, "Rename to 'agent'")), [asWorkspaceTextEdit(model, {
|
|
80
183
|
range: keyRange,
|
|
81
184
|
text: "agent"
|
|
82
185
|
})]));
|
|
@@ -93,7 +196,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
93
196
|
copy: false
|
|
94
197
|
}
|
|
95
198
|
};
|
|
96
|
-
result.push(this.createCodeAction(model, ( new Range(1, 1, 1, 4)), ( localize(
|
|
199
|
+
result.push(this.createCodeAction(model, ( new Range(1, 1, 1, 4)), ( localize(8680, "Migrate to custom agent file")), [edit]));
|
|
97
200
|
}
|
|
98
201
|
}
|
|
99
202
|
}
|
|
@@ -140,7 +243,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
140
243
|
};
|
|
141
244
|
edits.push(edit);
|
|
142
245
|
if (item.range.containsRange(range)) {
|
|
143
|
-
result.push(this.createCodeAction(model, item.range, ( localize(
|
|
246
|
+
result.push(this.createCodeAction(model, item.range, ( localize(8681, "Update to '{0}'", newName)), [asWorkspaceTextEdit(model, edit)]));
|
|
144
247
|
}
|
|
145
248
|
} else {
|
|
146
249
|
const newNamesArray = Array.from(newNames).sort((a, b) => a.localeCompare(b));
|
|
@@ -159,13 +262,13 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
159
262
|
};
|
|
160
263
|
edits.push(edit);
|
|
161
264
|
if (item.range.containsRange(range)) {
|
|
162
|
-
result.push(this.createCodeAction(model, item.range, ( localize(
|
|
265
|
+
result.push(this.createCodeAction(model, item.range, ( localize(8682, "Expand to {0} tools", newNames.size)), [asWorkspaceTextEdit(model, edit)]));
|
|
163
266
|
}
|
|
164
267
|
}
|
|
165
268
|
}
|
|
166
269
|
}
|
|
167
270
|
if (edits.length && result.length === 0 || edits.length > 1) {
|
|
168
|
-
result.push(this.createCodeAction(model, value.range, ( localize(
|
|
271
|
+
result.push(this.createCodeAction(model, value.range, ( localize(8683, "Update all tool names")), ( edits.map(edit => asWorkspaceTextEdit(model, edit)))));
|
|
169
272
|
}
|
|
170
273
|
}
|
|
171
274
|
};
|
|
@@ -44,7 +44,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
44
44
|
if (/^\s*$/.test(model.getValue())) {
|
|
45
45
|
return {
|
|
46
46
|
suggestions: [{
|
|
47
|
-
label: ( localize(
|
|
47
|
+
label: ( localize(8762, "Add Prompt Header")),
|
|
48
48
|
kind: CompletionItemKind.Snippet,
|
|
49
49
|
insertText: [`---`, `description: $1`, `---`, `$0`].join("\n"),
|
|
50
50
|
insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
|
|
@@ -234,7 +234,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
234
234
|
" send: true"
|
|
235
235
|
].join("\n");
|
|
236
236
|
const item = {
|
|
237
|
-
label: ( localize(
|
|
237
|
+
label: ( localize(8763, "Handoff Example")),
|
|
238
238
|
kind: CompletionItemKind.Value,
|
|
239
239
|
insertText: whilespaceAfterColon === 0 ? ` ${value}` : value,
|
|
240
240
|
range: ( new Range(
|
|
@@ -249,7 +249,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
249
249
|
if (attribute.key === PromptHeaderAttributes.hooks && promptType === PromptsType.agent) {
|
|
250
250
|
const hookSnippet = ["", " ${1|" + ( Object.keys(HOOKS_BY_TARGET[target] ?? HOOKS_BY_TARGET[Target.Undefined])).join(",") + "|}:", " - type: command", " command: \"$2\""].join("\n");
|
|
251
251
|
const item = {
|
|
252
|
-
label: ( localize(
|
|
252
|
+
label: ( localize(8764, "New Hook")),
|
|
253
253
|
kind: CompletionItemKind.Snippet,
|
|
254
254
|
insertText: whilespaceAfterColon === 0 ? ` ${hookSnippet}` : hookSnippet,
|
|
255
255
|
insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
|
|
@@ -276,8 +276,8 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
276
276
|
const commandSnippet = ["", " - type: command", " command: \"$1\""].join("\n");
|
|
277
277
|
return {
|
|
278
278
|
suggestions: [{
|
|
279
|
-
label: ( localize(
|
|
280
|
-
documentation: ( localize(
|
|
279
|
+
label: ( localize(8765, "New Command")),
|
|
280
|
+
documentation: ( localize(8766, "Add a new command entry to this hook.")),
|
|
281
281
|
kind: CompletionItemKind.Snippet,
|
|
282
282
|
insertText: whilespaceAfterColon === 0 ? ` ${commandSnippet}` : commandSnippet,
|
|
283
283
|
insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
|