@codingame/monaco-vscode-chat-service-override 36.2.7 → 37.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +1 -0
- package/index.js +92 -10
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +10 -3
- package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +54 -17
- package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.d.ts +14 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.js +46 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +7 -2
- package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +34 -2
- package/vscode/src/vs/platform/agentHost/browser/{remoteAgentHostProtocolClient.d.ts → agentHostProtocolClient.d.ts} +240 -60
- package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.js +1911 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +30 -33
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +381 -315
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +3 -1
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +2 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.d.ts +9 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.js +20 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.d.ts +144 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.js +20 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +14 -6
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +14 -10
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +1 -1
- package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.d.ts +47 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.js +75 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.d.ts +68 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.js +161 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +288 -45
- package/vscode/src/vs/platform/agentHost/common/agentMerge.d.ts +261 -0
- package/vscode/src/vs/platform/agentHost/common/agentMerge.js +67 -0
- package/vscode/src/vs/platform/agentHost/common/agentSdkSetup.d.ts +53 -0
- package/vscode/src/vs/platform/agentHost/common/agentSdkSetup.js +45 -0
- package/vscode/src/vs/platform/agentHost/common/changesetUri.d.ts +130 -0
- package/vscode/src/vs/platform/agentHost/common/changesetUri.js +27 -0
- package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +8 -2
- package/vscode/src/vs/platform/agentHost/common/customAgents.js +7 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.d.ts +39 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.js +25 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.d.ts +110 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.js +38 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentHostArtifactRemovalMeta.d.ts +4 -0
- package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.d.ts +7 -0
- package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.js +14 -0
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +3 -3
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +16 -24
- package/vscode/src/vs/platform/agentHost/common/semanticSearchConstants.d.ts +8 -0
- package/vscode/src/vs/platform/agentHost/common/semanticSearchConstants.js +8 -0
- package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.d.ts +75 -0
- package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.js +84 -0
- package/vscode/src/vs/platform/agentHost/common/shellInitScript.d.ts +24 -0
- package/vscode/src/vs/platform/agentHost/common/shellInitScript.js +63 -0
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +71 -20
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +187 -26
- package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.d.ts +30 -0
- package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.js +87 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +2 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.d.ts +4 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.js +37 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.d.ts +4 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.js +45 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +5 -4
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +100 -35
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +193 -49
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +161 -40
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +5 -1
- 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/common/timestamps.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.js +7 -0
- 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 +114 -3
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +28 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +4 -2
- package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.d.ts +34 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.js +28 -0
- package/vscode/src/vs/platform/agentHost/common/worktreePaths.d.ts +24 -0
- package/vscode/src/vs/platform/agentHost/common/worktreePaths.js +15 -0
- package/vscode/src/vs/platform/browserView/common/browserChatToolReferenceNames.d.ts +1 -1
- package/vscode/src/vs/platform/chat/common/aiAgentEnv.d.ts +18 -0
- package/vscode/src/vs/platform/chat/common/aiAgentEnv.js +6 -0
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +5 -1
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +77 -5
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +1 -1
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +9 -5
- package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +1 -5
- package/vscode/src/vs/platform/networkFilter/common/settings.js +0 -4
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +19 -7
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +49 -37
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +2 -1
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +12 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +1 -2
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +1 -0
- package/vscode/src/vs/platform/terminal/common/autoApprove/autoApproveParseSafety.d.ts +5 -0
- package/vscode/src/vs/platform/terminal/common/autoApprove/autoApproveParseSafety.js +7 -0
- package/vscode/src/vs/platform/terminal/common/autoApprove/cmdDelayedExpansion.d.ts +5 -0
- package/vscode/src/vs/platform/terminal/common/autoApprove/cmdDelayedExpansion.js +8 -0
- package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers → platform/terminal/common/autoApprove}/sedFileWriteParser.d.ts +1 -2
- package/vscode/src/vs/workbench/browser/chatChangesPill.d.ts +29 -0
- package/vscode/src/vs/workbench/browser/chatChangesPill.js +84 -0
- package/vscode/src/vs/workbench/common/chatPullRequest.d.ts +19 -0
- package/vscode/src/vs/workbench/common/chatPullRequest.js +53 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +342 -155
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +2 -2
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +25 -2
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +150 -67
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +5 -3
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +39 -9
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +3 -3
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +6 -6
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +54 -17
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +11 -11
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +9 -9
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +5 -5
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +5 -1
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +2 -2
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/media/voiceModeOnboarding.css +252 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +7 -7
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.d.ts +146 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.js +889 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +2 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +3 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +32 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +214 -161
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +10 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +256 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +11 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +19 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +30 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +19 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.js +237 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +68 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +17 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +17 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +68 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +222 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +530 -305
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.js +63 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.js +95 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +10 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +86 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +61 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +43 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +326 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +112 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +33 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +28 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +110 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.d.ts +131 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.js +638 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupportScope.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupportScope.js +202 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +24 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +26 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +10 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.d.ts +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.js +624 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.d.ts +90 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.js +207 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.js +140 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +74 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +511 -171
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.js +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +55 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +210 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +43 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +46 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +216 -110
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +9 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +26 -17
- 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 +30 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +6 -6
- 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/externalSessionsFilterMenu.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/sessionSummaryHover.css +104 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.d.ts +115 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.js +168 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.js +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessionsConfiguration.js +56 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +0 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +16 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +7 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +48 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +913 -220
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +148 -84
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +161 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +2367 -247
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +21 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.js +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.js +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +10 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +143 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +10 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.js +302 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +49 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.js +240 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.js +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.d.ts +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.js +762 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.d.ts +80 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.js +279 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.js +437 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +85 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +697 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +40 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +164 -42
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +6 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +260 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +2097 -589
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.js +860 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2229 -1338
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +79 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/customizationMigrationDashboard.css +354 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +85 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +1550 -357
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +13 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +38 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +637 -319
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +28 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatPasteTargetService.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatPasteTargetService.js +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.js +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.js +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +1675 -633
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +93 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +823 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.d.ts +132 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.js +446 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.d.ts +183 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.js +218 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +45 -42
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +163 -136
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +72 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +22 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +105 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.js +49 -0
- 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 +27 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +22 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -25
- 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.d.ts +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +76 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.d.ts +145 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.js +839 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +277 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +8 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +35 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +16 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.d.ts +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.d.ts +86 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.js +282 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +14 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +37 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +7 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +135 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutlineCreator.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutlineCreator.js +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.js +114 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.js +326 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.js +99 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.js +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.js +301 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +103 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +9 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +103 -196
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +36 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +51 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +31 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +65 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +291 -138
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/microsoft-dark.svg +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/microsoft-light.svg +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSideChat.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSideChat.js +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +59 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +221 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +15 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +21 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSubmitRequestHandlerService.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSubmitRequestHandlerService.js +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +23 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +62 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +97 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +11 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +24 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.js +232 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.js +127 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyPromptContribution.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyPromptContribution.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatPetAchievements.css +236 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.js +260 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +39 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +155 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +10 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +29 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +76 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +53 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +8 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +29 -71
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +36 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +2 -2
- 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 +9 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +5 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/media/promptTimeline.css +820 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.js +100 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.js +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.js +113 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.d.ts +146 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.js +440 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineLayout.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineLayout.js +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.d.ts +194 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.js +525 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRail.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.d.ts +128 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.js +460 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.js +120 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.js +160 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +25 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.js +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.js +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.d.ts +63 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.js +361 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.js +90 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +25 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +77 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +60 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +60 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +13 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +44 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +52 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +446 -79
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.js +297 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.d.ts +137 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.js +714 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentOpenChat.css +379 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.js +78 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.js +172 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.js +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +41 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +133 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +11 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.js +96 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +36 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +67 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +23 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +72 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputPlaceholderDecoration.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/{agentsVoice/common/agentsVoiceColors.js → chat/browser/widget/input/editor/chatInputPlaceholderDecoration.js} +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.js +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +6 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +21 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +48 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +457 -142
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +22 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +6 -22
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.js +163 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +27 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +79 -32
- package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.js +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +44 -11
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +404 -51
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +64 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +33 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.d.ts +68 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.js +70 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +18 -5
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +43 -14
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +4 -9
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +164 -71
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +12 -12
- 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/promptLinkProvider.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +19 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +172 -159
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.d.ts +115 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.js +69 -0
- package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.d.ts +60 -0
- package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.js +139 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +21 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +25 -2
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +55 -18
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +1 -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/inlineChatEditReviewSession.d.ts +59 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.js +323 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.js +79 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +118 -13
- 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 +8 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.d.ts +81 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +85 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +23 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +17 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +81 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatSessionResolver.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatSessionResolver.js +86 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +10 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +97 -18
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +2 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +10 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +42 -36
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +10 -0
- 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 +25 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +4 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.d.ts +70 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.js +4316 -0
- 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 +3 -3
- 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.d.ts +4 -4
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +188 -148
- 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/browser/treeSitterCommandParser.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -42
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalOutput.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalOutput.js +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +27 -8
- package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +205 -0
- package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +1580 -0
- package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.d.ts +30 -0
- package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.js +175 -0
- package/vscode/src/vs/workbench/services/agentEditorComments/browser/media/agentEditorCommentsOverlayWidget.css +65 -0
- package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.d.ts +47 -0
- package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.js +129 -0
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +26 -8
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +89 -27
- package/vscode/src/vs/workbench/services/agentHost/browser/webAgentHostEnablementService.d.ts +8 -0
- package/vscode/src/vs/workbench/services/agentHost/browser/webAgentHostEnablementService.js +28 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +5 -1
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +18 -18
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.js +159 -60
- package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.d.ts +47 -0
- package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.js +362 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +0 -1
- package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +0 -40
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +0 -1110
- package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +0 -76
- package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.d.ts +0 -63
- package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.js +0 -25
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +0 -254
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +0 -451
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +0 -1294
- package/vscode/src/vs/platform/agentHost/common/agentService.js +0 -92
- package/vscode/src/vs/platform/agentHost/common/state/protocol/common/errors.d.ts +0 -186
- package/vscode/src/vs/platform/agentHost/common/state/protocol/common/errors.js +0 -10
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +0 -42
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +0 -7
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +0 -15
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +0 -15
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +0 -243
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +0 -77
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +0 -92
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +0 -224
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +0 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +0 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +0 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +0 -96
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +0 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +0 -152
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +0 -87
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +0 -772
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +0 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +0 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +0 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +0 -160
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +0 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +0 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +0 -572
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +0 -125
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +0 -399
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +0 -321
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +0 -2117
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +0 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +0 -367
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +0 -78
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +0 -11
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +0 -6
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +0 -16
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +0 -6
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +0 -46
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +0 -36
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +0 -6
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +0 -6
- package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +0 -6
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +0 -15
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +0 -177
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +0 -67
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +0 -195
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +0 -65
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +0 -264
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +0 -190
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +0 -865
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +0 -31
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +0 -122
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
- /package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers → platform/terminal/common/autoApprove}/sedFileWriteParser.js +0 -0
- /package/vscode/src/vs/{platform/agentHost/common/agentHost.config.contribution.d.ts → workbench/contrib/chat/browser/agentSessionsConfiguration.d.ts} +0 -0
|
@@ -13,7 +13,7 @@ import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/w
|
|
|
13
13
|
import { SpecedToolAliases } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
|
|
14
14
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
|
|
15
15
|
import { PromptsType, Target } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
16
|
-
import { PromptHeaderAttributes, parseCommaSeparatedList } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser';
|
|
16
|
+
import { PromptHeaderAttributes, isPromptFileTildePath, parseCommaSeparatedList } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser';
|
|
17
17
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
18
18
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
19
19
|
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
@@ -26,6 +26,7 @@ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
|
26
26
|
import { HOOKS_BY_TARGET } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
|
|
27
27
|
import { GithubPromptHeaderAttributes } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes';
|
|
28
28
|
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
29
|
+
import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
|
|
29
30
|
|
|
30
31
|
const MARKERS_OWNER_ID = "prompts-diagnostics-provider";
|
|
31
32
|
var PromptValidatorMarkerCode;
|
|
@@ -45,7 +46,8 @@ let PromptValidator = class PromptValidator {
|
|
|
45
46
|
labelService,
|
|
46
47
|
promptsService,
|
|
47
48
|
logger,
|
|
48
|
-
configurationService
|
|
49
|
+
configurationService,
|
|
50
|
+
pathService
|
|
49
51
|
) {
|
|
50
52
|
this.languageModelsService = languageModelsService;
|
|
51
53
|
this.languageModelToolsService = languageModelToolsService;
|
|
@@ -55,6 +57,7 @@ let PromptValidator = class PromptValidator {
|
|
|
55
57
|
this.promptsService = promptsService;
|
|
56
58
|
this.logger = logger;
|
|
57
59
|
this.configurationService = configurationService;
|
|
60
|
+
this.pathService = pathService;
|
|
58
61
|
}
|
|
59
62
|
async validate(promptAST, promptType, report) {
|
|
60
63
|
promptAST.header?.errors.forEach(
|
|
@@ -71,13 +74,13 @@ let PromptValidator = class PromptValidator {
|
|
|
71
74
|
const location = this.promptsService.getAgentFileURIFromModeFile(promptAST.uri);
|
|
72
75
|
if (location && (await this.fileService.canCreateFile(location))) {
|
|
73
76
|
report(toMarker(( localize(
|
|
74
|
-
|
|
77
|
+
10497,
|
|
75
78
|
"Chat modes have been renamed to agents. Please move this file to {0}",
|
|
76
79
|
(location.toString())
|
|
77
80
|
)), ( new Range(1, 1, 1, 4)), MarkerSeverity.Warning));
|
|
78
81
|
} else {
|
|
79
82
|
report(toMarker(( localize(
|
|
80
|
-
|
|
83
|
+
10498,
|
|
81
84
|
"Chat modes have been renamed to agents. Please move the file to {0}",
|
|
82
85
|
AGENTS_SOURCE_FOLDER
|
|
83
86
|
)), ( new Range(1, 1, 1, 4)), MarkerSeverity.Warning));
|
|
@@ -90,13 +93,13 @@ let PromptValidator = class PromptValidator {
|
|
|
90
93
|
}
|
|
91
94
|
const nameAttribute = promptAST.header.getAttribute(PromptHeaderAttributes.name);
|
|
92
95
|
if (!nameAttribute) {
|
|
93
|
-
report(toMarker(( localize(
|
|
96
|
+
report(toMarker(( localize(10499, "Skill should provide a name.")), ( new Range(1, 1, 1, 4)), MarkerSeverity.Warning));
|
|
94
97
|
} else if (nameAttribute.value.type === "scalar") {
|
|
95
98
|
const skillName = nameAttribute.value.value.trim();
|
|
96
99
|
if (skillName.length > 0) {
|
|
97
100
|
if (!VALID_SKILL_NAME_REGEX.test(skillName)) {
|
|
98
101
|
report(toMarker(( localize(
|
|
99
|
-
|
|
102
|
+
10500,
|
|
100
103
|
"Skill name may only contain lowercase letters, numbers, and hyphens."
|
|
101
104
|
)), nameAttribute.value.range, MarkerSeverity.Error));
|
|
102
105
|
}
|
|
@@ -106,7 +109,7 @@ let PromptValidator = class PromptValidator {
|
|
|
106
109
|
const folderName = pathParts[skillIndex - 1];
|
|
107
110
|
if (folderName && skillName !== folderName) {
|
|
108
111
|
report(toMarker(( localize(
|
|
109
|
-
|
|
112
|
+
10501,
|
|
110
113
|
"The skill name '{0}' should match the folder name '{1}'.",
|
|
111
114
|
skillName,
|
|
112
115
|
folderName
|
|
@@ -117,12 +120,12 @@ let PromptValidator = class PromptValidator {
|
|
|
117
120
|
}
|
|
118
121
|
const descriptionAttribute = promptAST.header.getAttribute(PromptHeaderAttributes.description);
|
|
119
122
|
if (!descriptionAttribute) {
|
|
120
|
-
report(toMarker(( localize(
|
|
123
|
+
report(toMarker(( localize(10502, "Skill should provide a description.")), ( new Range(1, 1, 1, 4)), MarkerSeverity.Warning));
|
|
121
124
|
if (promptAST.header.userInvocable === false) {
|
|
122
125
|
const userInvocableAttr = promptAST.header.getAttribute(PromptHeaderAttributes.userInvocable);
|
|
123
126
|
if (userInvocableAttr) {
|
|
124
127
|
report(toMarker(( localize(
|
|
125
|
-
|
|
128
|
+
10503,
|
|
126
129
|
"A description is required when user-invocable is false, because the model needs a description to decide when to load the skill."
|
|
127
130
|
)), userInvocableAttr.value.range, MarkerSeverity.Error));
|
|
128
131
|
}
|
|
@@ -131,7 +134,7 @@ let PromptValidator = class PromptValidator {
|
|
|
131
134
|
const disableModelInvocationAttr = promptAST.header.getAttribute(PromptHeaderAttributes.disableModelInvocation);
|
|
132
135
|
if (disableModelInvocationAttr) {
|
|
133
136
|
report(toMarker(( localize(
|
|
134
|
-
|
|
137
|
+
10504,
|
|
135
138
|
"A description is required when model invocation is enabled, because the model needs a description to decide when to load the skill."
|
|
136
139
|
)), disableModelInvocationAttr.value.range, MarkerSeverity.Error));
|
|
137
140
|
}
|
|
@@ -142,7 +145,7 @@ let PromptValidator = class PromptValidator {
|
|
|
142
145
|
const skillToolEnabled = this.configurationService.getValue("github.copilot.chat.skillTool.enabled");
|
|
143
146
|
if (!skillToolEnabled) {
|
|
144
147
|
report(toMarker(( localize(
|
|
145
|
-
|
|
148
|
+
10505,
|
|
146
149
|
"The 'context: fork' attribute requires the skill tool to be enabled (github.copilot.chat.skillTool.enabled)."
|
|
147
150
|
)), contextAttribute.value.range, MarkerSeverity.Warning));
|
|
148
151
|
}
|
|
@@ -154,10 +157,14 @@ let PromptValidator = class PromptValidator {
|
|
|
154
157
|
return;
|
|
155
158
|
}
|
|
156
159
|
const fileReferenceChecks = [];
|
|
160
|
+
let userHome;
|
|
157
161
|
for (const ref of body.fileReferences) {
|
|
158
|
-
|
|
162
|
+
if (isPromptFileTildePath(ref.content)) {
|
|
163
|
+
userHome ??= await this.pathService.userHome();
|
|
164
|
+
}
|
|
165
|
+
const resolved = body.resolveFilePath(ref.content, userHome);
|
|
159
166
|
if (!resolved) {
|
|
160
|
-
report(toMarker(( localize(
|
|
167
|
+
report(toMarker(( localize(10506, "Invalid file reference '{0}'.", ref.content)), ref.range, MarkerSeverity.Warning));
|
|
161
168
|
continue;
|
|
162
169
|
}
|
|
163
170
|
if (promptAST.uri.scheme === resolved.scheme) {
|
|
@@ -166,7 +173,7 @@ let PromptValidator = class PromptValidator {
|
|
|
166
173
|
const exists = await this.fileService.exists(resolved);
|
|
167
174
|
if (!exists) {
|
|
168
175
|
const loc = this.labelService.getUriLabel(resolved);
|
|
169
|
-
report(toMarker(( localize(
|
|
176
|
+
report(toMarker(( localize(10507, "File '{0}' not found at '{1}'.", ref.content, loc)), ref.range, MarkerSeverity.Warning));
|
|
170
177
|
}
|
|
171
178
|
} catch (e) {
|
|
172
179
|
this.logger.warn(
|
|
@@ -189,7 +196,7 @@ let PromptValidator = class PromptValidator {
|
|
|
189
196
|
if (currentNames.size === 1) {
|
|
190
197
|
const newName = Array.from(currentNames)[0];
|
|
191
198
|
report(toMarker(( localize(
|
|
192
|
-
|
|
199
|
+
10508,
|
|
193
200
|
"Tool or toolset '{0}' has been renamed, use '{1}' instead.",
|
|
194
201
|
variable.name,
|
|
195
202
|
newName
|
|
@@ -197,7 +204,7 @@ let PromptValidator = class PromptValidator {
|
|
|
197
204
|
} else {
|
|
198
205
|
const newNames = Array.from(currentNames).sort((a, b) => a.localeCompare(b)).join(", ");
|
|
199
206
|
report(toMarker(( localize(
|
|
200
|
-
|
|
207
|
+
10509,
|
|
201
208
|
"Tool or toolset '{0}' has been renamed, use the following tools instead: {1}",
|
|
202
209
|
variable.name,
|
|
203
210
|
newNames
|
|
@@ -221,7 +228,7 @@ let PromptValidator = class PromptValidator {
|
|
|
221
228
|
const tool = this.languageModelToolsService.getToolByFullReferenceName(variable.name);
|
|
222
229
|
if (tool && headerToolsMap.get(tool) === false) {
|
|
223
230
|
report(toMarker(( localize(
|
|
224
|
-
|
|
231
|
+
10510,
|
|
225
232
|
"Tool or toolset '{0}' also needs to be enabled in the header.",
|
|
226
233
|
variable.name
|
|
227
234
|
)), variable.range, MarkerSeverity.Warning));
|
|
@@ -295,7 +302,7 @@ let PromptValidator = class PromptValidator {
|
|
|
295
302
|
switch (promptType) {
|
|
296
303
|
case PromptsType.prompt:
|
|
297
304
|
report(toMarker(( localize(
|
|
298
|
-
|
|
305
|
+
10511,
|
|
299
306
|
"Attribute '{0}' is not supported in prompt files. Supported: {1}.",
|
|
300
307
|
attribute.key,
|
|
301
308
|
supportedNames.value
|
|
@@ -304,7 +311,7 @@ let PromptValidator = class PromptValidator {
|
|
|
304
311
|
case PromptsType.agent:
|
|
305
312
|
if (target === Target.GitHubCopilot) {
|
|
306
313
|
report(toMarker(( localize(
|
|
307
|
-
|
|
314
|
+
10512,
|
|
308
315
|
"Attribute '{0}' is not supported in custom GitHub Copilot agent files. Supported: {1}.",
|
|
309
316
|
attribute.key,
|
|
310
317
|
supportedNames.value
|
|
@@ -313,13 +320,13 @@ let PromptValidator = class PromptValidator {
|
|
|
313
320
|
; else {
|
|
314
321
|
if (( validGithubCopilotAttributeNames.value.has(attribute.key))) {
|
|
315
322
|
report(toMarker(( localize(
|
|
316
|
-
|
|
323
|
+
10513,
|
|
317
324
|
"Attribute '{0}' is ignored when running locally in VS Code.",
|
|
318
325
|
attribute.key
|
|
319
326
|
)), attribute.range, MarkerSeverity.Hint, [MarkerTag.Unnecessary]));
|
|
320
327
|
} else {
|
|
321
328
|
report(toMarker(( localize(
|
|
322
|
-
|
|
329
|
+
10514,
|
|
323
330
|
"Attribute '{0}' is not supported in VS Code agent files. Supported: {1}.",
|
|
324
331
|
attribute.key,
|
|
325
332
|
supportedNames.value
|
|
@@ -330,14 +337,14 @@ let PromptValidator = class PromptValidator {
|
|
|
330
337
|
case PromptsType.instructions:
|
|
331
338
|
if (target === Target.Claude) {
|
|
332
339
|
report(toMarker(( localize(
|
|
333
|
-
|
|
340
|
+
10515,
|
|
334
341
|
"Attribute '{0}' is not supported in rules files by VS Code agents. Supported: {1}.",
|
|
335
342
|
attribute.key,
|
|
336
343
|
supportedNames.value
|
|
337
344
|
)), attribute.range, MarkerSeverity.Hint, [MarkerTag.Unnecessary]));
|
|
338
345
|
} else {
|
|
339
346
|
report(toMarker(( localize(
|
|
340
|
-
|
|
347
|
+
10516,
|
|
341
348
|
"Attribute '{0}' is not supported in instructions files. Supported: {1}.",
|
|
342
349
|
attribute.key,
|
|
343
350
|
supportedNames.value
|
|
@@ -346,8 +353,8 @@ let PromptValidator = class PromptValidator {
|
|
|
346
353
|
break;
|
|
347
354
|
case PromptsType.skill:
|
|
348
355
|
report(toMarker(( localize(
|
|
349
|
-
|
|
350
|
-
"Attribute '{0}' is not supported by VS Code
|
|
356
|
+
10517,
|
|
357
|
+
"Attribute '{0}' is not supported by VS Code skills. Supported: {1}.",
|
|
351
358
|
attribute.key,
|
|
352
359
|
supportedNames.value
|
|
353
360
|
)), attribute.range, MarkerSeverity.Hint, [MarkerTag.Unnecessary]));
|
|
@@ -362,11 +369,11 @@ let PromptValidator = class PromptValidator {
|
|
|
362
369
|
return;
|
|
363
370
|
}
|
|
364
371
|
if (nameAttribute.value.type !== "scalar") {
|
|
365
|
-
report(toMarker(( localize(
|
|
372
|
+
report(toMarker(( localize(10518, "The 'name' attribute must be a string.")), nameAttribute.range, MarkerSeverity.Error));
|
|
366
373
|
return;
|
|
367
374
|
}
|
|
368
375
|
if (nameAttribute.value.value.trim().length === 0) {
|
|
369
|
-
report(toMarker(( localize(
|
|
376
|
+
report(toMarker(( localize(10519, "The 'name' attribute must not be empty.")), nameAttribute.value.range, MarkerSeverity.Error));
|
|
370
377
|
return;
|
|
371
378
|
}
|
|
372
379
|
}
|
|
@@ -376,11 +383,11 @@ let PromptValidator = class PromptValidator {
|
|
|
376
383
|
return;
|
|
377
384
|
}
|
|
378
385
|
if (descriptionAttribute.value.type !== "scalar") {
|
|
379
|
-
report(toMarker(( localize(
|
|
386
|
+
report(toMarker(( localize(10520, "The 'description' attribute must be a string.")), descriptionAttribute.range, MarkerSeverity.Error));
|
|
380
387
|
return;
|
|
381
388
|
}
|
|
382
389
|
if (descriptionAttribute.value.value.trim().length === 0) {
|
|
383
|
-
report(toMarker(( localize(
|
|
390
|
+
report(toMarker(( localize(10521, "The 'description' attribute should not be empty.")), descriptionAttribute.value.range, MarkerSeverity.Error));
|
|
384
391
|
return;
|
|
385
392
|
}
|
|
386
393
|
}
|
|
@@ -390,11 +397,11 @@ let PromptValidator = class PromptValidator {
|
|
|
390
397
|
return;
|
|
391
398
|
}
|
|
392
399
|
if (argumentHintAttribute.value.type !== "scalar") {
|
|
393
|
-
report(toMarker(( localize(
|
|
400
|
+
report(toMarker(( localize(10522, "The 'argument-hint' attribute must be a string.")), argumentHintAttribute.range, MarkerSeverity.Error));
|
|
394
401
|
return;
|
|
395
402
|
}
|
|
396
403
|
if (argumentHintAttribute.value.value.trim().length === 0) {
|
|
397
|
-
report(toMarker(( localize(
|
|
404
|
+
report(toMarker(( localize(10523, "The 'argument-hint' attribute should not be empty.")), argumentHintAttribute.value.range, MarkerSeverity.Warning));
|
|
398
405
|
return;
|
|
399
406
|
}
|
|
400
407
|
}
|
|
@@ -404,30 +411,30 @@ let PromptValidator = class PromptValidator {
|
|
|
404
411
|
return;
|
|
405
412
|
}
|
|
406
413
|
if (attribute.value.type !== "scalar" && attribute.value.type !== "sequence") {
|
|
407
|
-
report(toMarker(( localize(
|
|
414
|
+
report(toMarker(( localize(10524, "The 'model' attribute must be a string or an array of strings.")), attribute.value.range, MarkerSeverity.Error));
|
|
408
415
|
return;
|
|
409
416
|
}
|
|
410
417
|
const modelNames = [];
|
|
411
418
|
if (attribute.value.type === "scalar") {
|
|
412
419
|
const modelName = attribute.value.value.trim();
|
|
413
420
|
if (modelName.length === 0) {
|
|
414
|
-
report(toMarker(( localize(
|
|
421
|
+
report(toMarker(( localize(10525, "The 'model' attribute must be a non-empty string.")), attribute.value.range, MarkerSeverity.Error));
|
|
415
422
|
return;
|
|
416
423
|
}
|
|
417
424
|
modelNames.push([modelName, attribute.value.range]);
|
|
418
425
|
} else if (attribute.value.type === "sequence") {
|
|
419
426
|
if (attribute.value.items.length === 0) {
|
|
420
|
-
report(toMarker(( localize(
|
|
427
|
+
report(toMarker(( localize(10526, "The 'model' array must not be empty.")), attribute.value.range, MarkerSeverity.Error));
|
|
421
428
|
return;
|
|
422
429
|
}
|
|
423
430
|
for (const item of attribute.value.items) {
|
|
424
431
|
if (item.type !== "scalar") {
|
|
425
|
-
report(toMarker(( localize(
|
|
432
|
+
report(toMarker(( localize(10527, "The 'model' array must contain only strings.")), item.range, MarkerSeverity.Error));
|
|
426
433
|
return;
|
|
427
434
|
}
|
|
428
435
|
const modelName = item.value.trim();
|
|
429
436
|
if (modelName.length === 0) {
|
|
430
|
-
report(toMarker(( localize(
|
|
437
|
+
report(toMarker(( localize(10528, "Model names in the array must be non-empty strings.")), item.range, MarkerSeverity.Error));
|
|
431
438
|
return;
|
|
432
439
|
}
|
|
433
440
|
modelNames.push([modelName, item.range]);
|
|
@@ -440,9 +447,9 @@ let PromptValidator = class PromptValidator {
|
|
|
440
447
|
for (const [modelName, range] of modelNames) {
|
|
441
448
|
const modelMetadata = this.findModelByName(modelName);
|
|
442
449
|
if (!modelMetadata) {
|
|
443
|
-
report(toMarker(( localize(
|
|
450
|
+
report(toMarker(( localize(10529, "Unknown model '{0}' will be ignored.", modelName)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary]));
|
|
444
451
|
} else if (agentKind === ChatModeKind.Agent && !ILanguageModelChatMetadata.suitableForAgentMode(modelMetadata)) {
|
|
445
|
-
report(toMarker(( localize(
|
|
452
|
+
report(toMarker(( localize(10530, "Model '{0}' is not suited for agent mode.", modelName)), range, MarkerSeverity.Warning));
|
|
446
453
|
}
|
|
447
454
|
}
|
|
448
455
|
}
|
|
@@ -456,13 +463,13 @@ let PromptValidator = class PromptValidator {
|
|
|
456
463
|
continue;
|
|
457
464
|
}
|
|
458
465
|
if (attribute.value.type !== "scalar") {
|
|
459
|
-
report(toMarker(( localize(
|
|
466
|
+
report(toMarker(( localize(10531, "The '{0}' attribute must be a string.", claudeAttributeName)), attribute.value.range, MarkerSeverity.Error));
|
|
460
467
|
continue;
|
|
461
468
|
} else {
|
|
462
469
|
const modelName = attribute.value.value.trim();
|
|
463
470
|
if (enumValues.every(model => model.name !== modelName)) {
|
|
464
471
|
const validValues = ( enumValues.map(model => model.name)).join(", ");
|
|
465
|
-
report(toMarker(( localize(
|
|
472
|
+
report(toMarker(( localize(10532, "Unknown value '{0}', valid: {1}.", modelName, validValues)), attribute.value.range, MarkerSeverity.Warning));
|
|
466
473
|
}
|
|
467
474
|
}
|
|
468
475
|
}
|
|
@@ -481,12 +488,12 @@ let PromptValidator = class PromptValidator {
|
|
|
481
488
|
if (modeAttribute) {
|
|
482
489
|
if (agentAttribute) {
|
|
483
490
|
report(toMarker(( localize(
|
|
484
|
-
|
|
491
|
+
10533,
|
|
485
492
|
"The 'mode' attribute has been deprecated. The 'agent' attribute is used instead."
|
|
486
493
|
)), modeAttribute.range, MarkerSeverity.Warning, [MarkerTag.Deprecated]));
|
|
487
494
|
} else {
|
|
488
495
|
report(toMarker(( localize(
|
|
489
|
-
|
|
496
|
+
10534,
|
|
490
497
|
"The 'mode' attribute has been deprecated. Please rename it to 'agent'."
|
|
491
498
|
)), modeAttribute.range, MarkerSeverity.Warning, [MarkerTag.Deprecated]));
|
|
492
499
|
}
|
|
@@ -496,12 +503,12 @@ let PromptValidator = class PromptValidator {
|
|
|
496
503
|
return undefined;
|
|
497
504
|
}
|
|
498
505
|
if (attribute.value.type !== "scalar") {
|
|
499
|
-
report(toMarker(( localize(
|
|
506
|
+
report(toMarker(( localize(10535, "The '{0}' attribute must be a string.", attribute.key)), attribute.value.range, MarkerSeverity.Error));
|
|
500
507
|
return undefined;
|
|
501
508
|
}
|
|
502
509
|
const agentValue = attribute.value.value;
|
|
503
510
|
if (agentValue.trim().length === 0) {
|
|
504
|
-
report(toMarker(( localize(
|
|
511
|
+
report(toMarker(( localize(10536, "The '{0}' attribute must be a non-empty string.", attribute.key)), attribute.value.range, MarkerSeverity.Error));
|
|
505
512
|
return undefined;
|
|
506
513
|
}
|
|
507
514
|
return await this.validateAgentValue(attribute.value, report);
|
|
@@ -516,7 +523,7 @@ let PromptValidator = class PromptValidator {
|
|
|
516
523
|
availableAgents.push(agent.name.get());
|
|
517
524
|
}
|
|
518
525
|
const errorMessage = ( localize(
|
|
519
|
-
|
|
526
|
+
10537,
|
|
520
527
|
"Unknown agent '{0}'. Available agents: {1}.",
|
|
521
528
|
value.value,
|
|
522
529
|
availableAgents.join(", ")
|
|
@@ -531,7 +538,7 @@ let PromptValidator = class PromptValidator {
|
|
|
531
538
|
}
|
|
532
539
|
if (agentKind !== ChatModeKind.Agent) {
|
|
533
540
|
report(toMarker(( localize(
|
|
534
|
-
|
|
541
|
+
10538,
|
|
535
542
|
"The 'tools' attribute is only supported when using agents. Attribute will be ignored."
|
|
536
543
|
)), attribute.range, MarkerSeverity.Warning));
|
|
537
544
|
}
|
|
@@ -541,7 +548,7 @@ let PromptValidator = class PromptValidator {
|
|
|
541
548
|
}
|
|
542
549
|
if (value.type !== "sequence") {
|
|
543
550
|
report(toMarker(( localize(
|
|
544
|
-
|
|
551
|
+
10539,
|
|
545
552
|
"The 'tools' attribute must be an array or a comma separated string."
|
|
546
553
|
)), attribute.value.range, MarkerSeverity.Error));
|
|
547
554
|
return;
|
|
@@ -557,7 +564,7 @@ let PromptValidator = class PromptValidator {
|
|
|
557
564
|
const deprecatedNames = this.languageModelToolsService.getDeprecatedFullReferenceNames();
|
|
558
565
|
for (const item of valueItem.items) {
|
|
559
566
|
if (item.type !== "scalar") {
|
|
560
|
-
report(toMarker(( localize(
|
|
567
|
+
report(toMarker(( localize(10540, "Each tool name in the 'tools' attribute must be a string.")), item.range, MarkerSeverity.Error));
|
|
561
568
|
} else if (item.value) {
|
|
562
569
|
if (!( available.has(item.value))) {
|
|
563
570
|
const currentNames = deprecatedNames.get(item.value);
|
|
@@ -565,7 +572,7 @@ let PromptValidator = class PromptValidator {
|
|
|
565
572
|
if (currentNames?.size === 1) {
|
|
566
573
|
const newName = Array.from(currentNames)[0];
|
|
567
574
|
report(toMarker(( localize(
|
|
568
|
-
|
|
575
|
+
10541,
|
|
569
576
|
"Tool or toolset '{0}' has been renamed, use '{1}' instead.",
|
|
570
577
|
item.value,
|
|
571
578
|
newName
|
|
@@ -573,7 +580,7 @@ let PromptValidator = class PromptValidator {
|
|
|
573
580
|
} else {
|
|
574
581
|
const newNames = Array.from(currentNames).sort((a, b) => a.localeCompare(b)).join(", ");
|
|
575
582
|
report(toMarker(( localize(
|
|
576
|
-
|
|
583
|
+
10542,
|
|
577
584
|
"Tool or toolset '{0}' has been renamed, use the following tools instead: {1}",
|
|
578
585
|
item.value,
|
|
579
586
|
newNames
|
|
@@ -603,22 +610,22 @@ let PromptValidator = class PromptValidator {
|
|
|
603
610
|
const hasExtensionLikeName = splitBySlash[0].includes(".");
|
|
604
611
|
if (slashCount >= 2) {
|
|
605
612
|
return toMarker(( localize(
|
|
606
|
-
|
|
613
|
+
10543,
|
|
607
614
|
"Unknown tool '{0}'. It is likely to be a missing MCP server, please ensure it is installed and enabled.",
|
|
608
615
|
toolReferenceName
|
|
609
616
|
)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.UnknownMcpServerReference);
|
|
610
617
|
}
|
|
611
618
|
if (hasExtensionLikeName) {
|
|
612
619
|
return toMarker(( localize(
|
|
613
|
-
|
|
620
|
+
10544,
|
|
614
621
|
"Unknown extension tool '{0}'. It is likely to be a missing extension, please ensure it is installed and enabled.",
|
|
615
622
|
toolReferenceName
|
|
616
623
|
)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.UnknownExtensionReference);
|
|
617
624
|
}
|
|
618
625
|
if (isVariableReference) {
|
|
619
|
-
return toMarker(( localize(
|
|
626
|
+
return toMarker(( localize(10545, "Unknown tool or toolset '{0}'.", toolReferenceName)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.UnknownExtensionOrMcpServerReference);
|
|
620
627
|
} else {
|
|
621
|
-
return toMarker(( localize(
|
|
628
|
+
return toMarker(( localize(10546, "Unknown tool '{0}' will be ignored.", toolReferenceName)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.UnknownExtensionOrMcpServerReference);
|
|
622
629
|
}
|
|
623
630
|
}
|
|
624
631
|
getMissingGithubMcpServerMarker(toolReferenceName, range) {
|
|
@@ -626,7 +633,7 @@ let PromptValidator = class PromptValidator {
|
|
|
626
633
|
return undefined;
|
|
627
634
|
}
|
|
628
635
|
return toMarker(( localize(
|
|
629
|
-
|
|
636
|
+
10547,
|
|
630
637
|
"Tool alias '{0}' requires the GitHub MCP server. Enable the built-in server with setting 'github.copilot.chat.githubMcpServer.enabled' or install extension 'io.github.github/github-mcp-server' from Extensions (`@mcp github`).",
|
|
631
638
|
toolReferenceName
|
|
632
639
|
)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.MissingGithubMcpServer);
|
|
@@ -636,7 +643,7 @@ let PromptValidator = class PromptValidator {
|
|
|
636
643
|
return undefined;
|
|
637
644
|
}
|
|
638
645
|
return toMarker(( localize(
|
|
639
|
-
|
|
646
|
+
10548,
|
|
640
647
|
"Tool alias '{0}' requires the Playwright MCP server. Install it from Extensions (`@mcp playwright`).",
|
|
641
648
|
toolReferenceName
|
|
642
649
|
)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.MissingPlaywrightMcpServer);
|
|
@@ -647,25 +654,25 @@ let PromptValidator = class PromptValidator {
|
|
|
647
654
|
return;
|
|
648
655
|
}
|
|
649
656
|
if (attribute.value.type !== "scalar") {
|
|
650
|
-
report(toMarker(( localize(
|
|
657
|
+
report(toMarker(( localize(10549, "The 'applyTo' attribute must be a string.")), attribute.value.range, MarkerSeverity.Error));
|
|
651
658
|
return;
|
|
652
659
|
}
|
|
653
660
|
const pattern = attribute.value.value;
|
|
654
661
|
try {
|
|
655
662
|
const patterns = splitGlobAware(pattern, ",");
|
|
656
663
|
if (patterns.length === 0) {
|
|
657
|
-
report(toMarker(( localize(
|
|
664
|
+
report(toMarker(( localize(10550, "The 'applyTo' attribute must be a valid glob pattern.")), attribute.value.range, MarkerSeverity.Error));
|
|
658
665
|
return;
|
|
659
666
|
}
|
|
660
667
|
for (const pattern of patterns) {
|
|
661
668
|
const globPattern = parse(pattern);
|
|
662
669
|
if (isEmptyPattern(globPattern)) {
|
|
663
|
-
report(toMarker(( localize(
|
|
670
|
+
report(toMarker(( localize(10550, "The 'applyTo' attribute must be a valid glob pattern.")), attribute.value.range, MarkerSeverity.Error));
|
|
664
671
|
return;
|
|
665
672
|
}
|
|
666
673
|
}
|
|
667
674
|
} catch (_error) {
|
|
668
|
-
report(toMarker(( localize(
|
|
675
|
+
report(toMarker(( localize(10550, "The 'applyTo' attribute must be a valid glob pattern.")), attribute.value.range, MarkerSeverity.Error));
|
|
669
676
|
}
|
|
670
677
|
}
|
|
671
678
|
validatePaths(attributes, report) {
|
|
@@ -674,26 +681,26 @@ let PromptValidator = class PromptValidator {
|
|
|
674
681
|
return;
|
|
675
682
|
}
|
|
676
683
|
if (attribute.value.type !== "sequence") {
|
|
677
|
-
report(toMarker(( localize(
|
|
684
|
+
report(toMarker(( localize(10551, "The 'paths' attribute must be an array of glob patterns.")), attribute.value.range, MarkerSeverity.Error));
|
|
678
685
|
return;
|
|
679
686
|
}
|
|
680
687
|
for (const item of attribute.value.items) {
|
|
681
688
|
if (item.type !== "scalar") {
|
|
682
|
-
report(toMarker(( localize(
|
|
689
|
+
report(toMarker(( localize(10552, "Each entry in the 'paths' attribute must be a string.")), item.range, MarkerSeverity.Error));
|
|
683
690
|
continue;
|
|
684
691
|
}
|
|
685
692
|
const pattern = item.value.trim();
|
|
686
693
|
if (pattern.length === 0) {
|
|
687
|
-
report(toMarker(( localize(
|
|
694
|
+
report(toMarker(( localize(10553, "Path entries must be non-empty glob patterns.")), item.range, MarkerSeverity.Error));
|
|
688
695
|
continue;
|
|
689
696
|
}
|
|
690
697
|
try {
|
|
691
698
|
const globPattern = parse(pattern);
|
|
692
699
|
if (isEmptyPattern(globPattern)) {
|
|
693
|
-
report(toMarker(( localize(
|
|
700
|
+
report(toMarker(( localize(10554, "'{0}' is not a valid glob pattern.", pattern)), item.range, MarkerSeverity.Error));
|
|
694
701
|
}
|
|
695
702
|
} catch (_error) {
|
|
696
|
-
report(toMarker(( localize(
|
|
703
|
+
report(toMarker(( localize(10554, "'{0}' is not a valid glob pattern.", pattern)), item.range, MarkerSeverity.Error));
|
|
697
704
|
}
|
|
698
705
|
}
|
|
699
706
|
}
|
|
@@ -703,7 +710,7 @@ let PromptValidator = class PromptValidator {
|
|
|
703
710
|
return;
|
|
704
711
|
}
|
|
705
712
|
if (attribute.value.type !== "sequence" && attribute.value.type !== "scalar") {
|
|
706
|
-
report(toMarker(( localize(
|
|
713
|
+
report(toMarker(( localize(10555, "The 'excludeAgent' attribute must be an string or array.")), attribute.value.range, MarkerSeverity.Error));
|
|
707
714
|
return;
|
|
708
715
|
}
|
|
709
716
|
}
|
|
@@ -714,7 +721,7 @@ let PromptValidator = class PromptValidator {
|
|
|
714
721
|
}
|
|
715
722
|
if (attribute.value.type !== "map") {
|
|
716
723
|
report(toMarker(( localize(
|
|
717
|
-
|
|
724
|
+
10556,
|
|
718
725
|
"The 'hooks' attribute must be a map of hook event types to command arrays."
|
|
719
726
|
)), attribute.value.range, MarkerSeverity.Error));
|
|
720
727
|
return;
|
|
@@ -723,7 +730,7 @@ let PromptValidator = class PromptValidator {
|
|
|
723
730
|
for (const prop of attribute.value.properties) {
|
|
724
731
|
if (!( validHookNames.has(prop.key.value))) {
|
|
725
732
|
report(toMarker(( localize(
|
|
726
|
-
|
|
733
|
+
10557,
|
|
727
734
|
"Unknown hook event type '{0}'. Supported: {1}.",
|
|
728
735
|
prop.key.value,
|
|
729
736
|
Array.from(validHookNames).join(", ")
|
|
@@ -731,7 +738,7 @@ let PromptValidator = class PromptValidator {
|
|
|
731
738
|
}
|
|
732
739
|
if (prop.value.type !== "sequence") {
|
|
733
740
|
report(toMarker(( localize(
|
|
734
|
-
|
|
741
|
+
10558,
|
|
735
742
|
"Hook event '{0}' must have an array of command objects as its value.",
|
|
736
743
|
prop.key.value
|
|
737
744
|
)), prop.value.range, MarkerSeverity.Error));
|
|
@@ -744,19 +751,19 @@ let PromptValidator = class PromptValidator {
|
|
|
744
751
|
}
|
|
745
752
|
validateHookCommand(item, target, report) {
|
|
746
753
|
if (item.type !== "map") {
|
|
747
|
-
report(toMarker(( localize(
|
|
754
|
+
report(toMarker(( localize(10559, "Each hook command must be an object.")), item.range, MarkerSeverity.Error));
|
|
748
755
|
return;
|
|
749
756
|
}
|
|
750
757
|
const hooksProperty = item.properties.find(p => p.key.value === "hooks");
|
|
751
758
|
if (hooksProperty) {
|
|
752
759
|
for (const prop of item.properties) {
|
|
753
760
|
if (prop.key.value !== "hooks" && prop.key.value !== "matcher") {
|
|
754
|
-
report(toMarker(( localize(
|
|
761
|
+
report(toMarker(( localize(10560, "Unknown property '{0}' in hook matcher.", prop.key.value)), prop.key.range, MarkerSeverity.Warning));
|
|
755
762
|
}
|
|
756
763
|
}
|
|
757
764
|
if (hooksProperty.value.type !== "sequence") {
|
|
758
765
|
report(toMarker(( localize(
|
|
759
|
-
|
|
766
|
+
10561,
|
|
760
767
|
"The 'hooks' property in a matcher must be an array of command objects."
|
|
761
768
|
)), hooksProperty.value.range, MarkerSeverity.Error));
|
|
762
769
|
return;
|
|
@@ -785,37 +792,37 @@ let PromptValidator = class PromptValidator {
|
|
|
785
792
|
for (const prop of item.properties) {
|
|
786
793
|
const key = prop.key.value;
|
|
787
794
|
if (!( validProperties.has(key))) {
|
|
788
|
-
report(toMarker(( localize(
|
|
795
|
+
report(toMarker(( localize(10562, "Unknown property '{0}' in hook command.", key)), prop.key.range, MarkerSeverity.Warning));
|
|
789
796
|
}
|
|
790
797
|
if (key === "type") {
|
|
791
798
|
hasType = true;
|
|
792
799
|
if (prop.value.type !== "scalar" || prop.value.value !== "command") {
|
|
793
|
-
report(toMarker(( localize(
|
|
800
|
+
report(toMarker(( localize(10563, "The 'type' property in a hook command must be 'command'.")), prop.value.range, MarkerSeverity.Error));
|
|
794
801
|
}
|
|
795
802
|
} else if (( validCommandFields.has(key))) {
|
|
796
803
|
hasCommandField = true;
|
|
797
804
|
if (prop.value.type !== "scalar" || prop.value.value.trim().length === 0) {
|
|
798
805
|
report(toMarker(( localize(
|
|
799
|
-
|
|
806
|
+
10564,
|
|
800
807
|
"The '{0}' property in a hook command must be a non-empty string.",
|
|
801
808
|
key
|
|
802
809
|
)), prop.value.range, MarkerSeverity.Error));
|
|
803
810
|
}
|
|
804
811
|
} else if (key === "cwd") {
|
|
805
812
|
if (prop.value.type !== "scalar") {
|
|
806
|
-
report(toMarker(( localize(
|
|
813
|
+
report(toMarker(( localize(10565, "The 'cwd' property in a hook command must be a string.")), prop.value.range, MarkerSeverity.Error));
|
|
807
814
|
}
|
|
808
815
|
} else if (key === "env") {
|
|
809
816
|
if (prop.value.type !== "map") {
|
|
810
817
|
report(toMarker(( localize(
|
|
811
|
-
|
|
818
|
+
10566,
|
|
812
819
|
"The 'env' property in a hook command must be a map of string values."
|
|
813
820
|
)), prop.value.range, MarkerSeverity.Error));
|
|
814
821
|
} else {
|
|
815
822
|
for (const envProp of prop.value.properties) {
|
|
816
823
|
if (envProp.value.type !== "scalar") {
|
|
817
824
|
report(toMarker(( localize(
|
|
818
|
-
|
|
825
|
+
10567,
|
|
819
826
|
"Environment variable '{0}' must have a string value.",
|
|
820
827
|
envProp.key.value
|
|
821
828
|
)), envProp.value.range, MarkerSeverity.Error));
|
|
@@ -824,19 +831,19 @@ let PromptValidator = class PromptValidator {
|
|
|
824
831
|
}
|
|
825
832
|
} else if (key === "timeout" || key === "timeoutSec") {
|
|
826
833
|
if (prop.value.type !== "scalar" || isNaN(Number(prop.value.value))) {
|
|
827
|
-
report(toMarker(( localize(
|
|
834
|
+
report(toMarker(( localize(10568, "The '{0}' property in a hook command must be a number.", key)), prop.value.range, MarkerSeverity.Error));
|
|
828
835
|
}
|
|
829
836
|
}
|
|
830
837
|
}
|
|
831
838
|
if (!hasType) {
|
|
832
|
-
report(toMarker(( localize(
|
|
839
|
+
report(toMarker(( localize(10569, "Hook command is missing required property 'type'.")), item.range, MarkerSeverity.Error));
|
|
833
840
|
}
|
|
834
841
|
if (!hasCommandField) {
|
|
835
842
|
if (isCopilotCli) {
|
|
836
|
-
report(toMarker(( localize(
|
|
843
|
+
report(toMarker(( localize(10570, "Hook command must specify at least one of 'bash' or 'powershell'.")), item.range, MarkerSeverity.Error));
|
|
837
844
|
} else {
|
|
838
845
|
report(toMarker(( localize(
|
|
839
|
-
|
|
846
|
+
10571,
|
|
840
847
|
"Hook command must specify at least one of 'command', 'windows', 'linux', or 'osx'."
|
|
841
848
|
)), item.range, MarkerSeverity.Error));
|
|
842
849
|
}
|
|
@@ -848,14 +855,14 @@ let PromptValidator = class PromptValidator {
|
|
|
848
855
|
return;
|
|
849
856
|
}
|
|
850
857
|
if (attribute.value.type !== "sequence") {
|
|
851
|
-
report(toMarker(( localize(
|
|
858
|
+
report(toMarker(( localize(10572, "The 'handoffs' attribute must be an array.")), attribute.value.range, MarkerSeverity.Error));
|
|
852
859
|
return;
|
|
853
860
|
}
|
|
854
861
|
const seenLabels = ( new Map());
|
|
855
862
|
for (const item of attribute.value.items) {
|
|
856
863
|
if (item.type !== "map") {
|
|
857
864
|
report(toMarker(( localize(
|
|
858
|
-
|
|
865
|
+
10573,
|
|
859
866
|
"Each handoff in the 'handoffs' attribute must be an object with 'label', 'agent', 'prompt' and optional 'send'."
|
|
860
867
|
)), item.range, MarkerSeverity.Error));
|
|
861
868
|
continue;
|
|
@@ -865,44 +872,44 @@ let PromptValidator = class PromptValidator {
|
|
|
865
872
|
switch (prop.key.value) {
|
|
866
873
|
case "label":
|
|
867
874
|
if (prop.value.type !== "scalar" || prop.value.value.trim().length === 0) {
|
|
868
|
-
report(toMarker(( localize(
|
|
875
|
+
report(toMarker(( localize(10574, "The 'label' property in a handoff must be a non-empty string.")), prop.value.range, MarkerSeverity.Error));
|
|
869
876
|
} else if (!/[a-zA-Z0-9]/.test(prop.value.value)) {
|
|
870
877
|
report(toMarker(( localize(
|
|
871
|
-
|
|
878
|
+
10575,
|
|
872
879
|
"The 'label' property in a handoff must contain at least one alphanumeric character."
|
|
873
880
|
)), prop.value.range, MarkerSeverity.Error));
|
|
874
881
|
}
|
|
875
882
|
break;
|
|
876
883
|
case "agent":
|
|
877
884
|
if (prop.value.type !== "scalar" || prop.value.value.trim().length === 0) {
|
|
878
|
-
report(toMarker(( localize(
|
|
885
|
+
report(toMarker(( localize(10576, "The 'agent' property in a handoff must be a non-empty string.")), prop.value.range, MarkerSeverity.Error));
|
|
879
886
|
} else {
|
|
880
887
|
this.validateAgentValue(prop.value, report);
|
|
881
888
|
}
|
|
882
889
|
break;
|
|
883
890
|
case "prompt":
|
|
884
891
|
if (prop.value.type !== "scalar") {
|
|
885
|
-
report(toMarker(( localize(
|
|
892
|
+
report(toMarker(( localize(10577, "The 'prompt' property in a handoff must be a string.")), prop.value.range, MarkerSeverity.Error));
|
|
886
893
|
}
|
|
887
894
|
break;
|
|
888
895
|
case "send":
|
|
889
896
|
if (!isTrueOrFalse(prop.value)) {
|
|
890
|
-
report(toMarker(( localize(
|
|
897
|
+
report(toMarker(( localize(10578, "The 'send' property in a handoff must be a boolean.")), prop.value.range, MarkerSeverity.Error));
|
|
891
898
|
}
|
|
892
899
|
break;
|
|
893
900
|
case "showContinueOn":
|
|
894
901
|
if (!isTrueOrFalse(prop.value)) {
|
|
895
|
-
report(toMarker(( localize(
|
|
902
|
+
report(toMarker(( localize(10579, "The 'showContinueOn' property in a handoff must be a boolean.")), prop.value.range, MarkerSeverity.Error));
|
|
896
903
|
}
|
|
897
904
|
break;
|
|
898
905
|
case "model":
|
|
899
906
|
if (prop.value.type !== "scalar") {
|
|
900
|
-
report(toMarker(( localize(
|
|
907
|
+
report(toMarker(( localize(10580, "The 'model' property in a handoff must be a string.")), prop.value.range, MarkerSeverity.Error));
|
|
901
908
|
}
|
|
902
909
|
break;
|
|
903
910
|
default:
|
|
904
911
|
report(toMarker(( localize(
|
|
905
|
-
|
|
912
|
+
10581,
|
|
906
913
|
"Unknown property '{0}' in handoff object. Supported properties are 'label', 'agent', 'prompt' and optional 'send', 'showContinueOn', 'model'.",
|
|
907
914
|
prop.key.value
|
|
908
915
|
)), prop.value.range, MarkerSeverity.Warning));
|
|
@@ -911,7 +918,7 @@ let PromptValidator = class PromptValidator {
|
|
|
911
918
|
}
|
|
912
919
|
if (required.size > 0) {
|
|
913
920
|
report(toMarker(( localize(
|
|
914
|
-
|
|
921
|
+
10582,
|
|
915
922
|
"Missing required properties {0} in handoff object.",
|
|
916
923
|
( Array.from(required).map(s => `'${s}'`)).join(", ")
|
|
917
924
|
)), item.range, MarkerSeverity.Error));
|
|
@@ -921,7 +928,7 @@ let PromptValidator = class PromptValidator {
|
|
|
921
928
|
const normalizedLabel = labelProp.value.value.toLowerCase();
|
|
922
929
|
if (normalizedLabel && ( seenLabels.has(normalizedLabel))) {
|
|
923
930
|
report(toMarker(( localize(
|
|
924
|
-
|
|
931
|
+
10583,
|
|
925
932
|
"Duplicate handoff label '{0}'. Each handoff must have a unique label.",
|
|
926
933
|
labelProp.value.value
|
|
927
934
|
)), labelProp.value.range, MarkerSeverity.Error));
|
|
@@ -937,7 +944,7 @@ let PromptValidator = class PromptValidator {
|
|
|
937
944
|
return;
|
|
938
945
|
}
|
|
939
946
|
report(toMarker(( localize(
|
|
940
|
-
|
|
947
|
+
10584,
|
|
941
948
|
"The 'infer' attribute is deprecated in favour of 'user-invocable' and 'disable-model-invocation'."
|
|
942
949
|
)), attribute.value.range, MarkerSeverity.Error));
|
|
943
950
|
}
|
|
@@ -947,18 +954,18 @@ let PromptValidator = class PromptValidator {
|
|
|
947
954
|
return;
|
|
948
955
|
}
|
|
949
956
|
if (attribute.value.type !== "scalar") {
|
|
950
|
-
report(toMarker(( localize(
|
|
957
|
+
report(toMarker(( localize(10585, "The 'target' attribute must be a string.")), attribute.value.range, MarkerSeverity.Error));
|
|
951
958
|
return;
|
|
952
959
|
}
|
|
953
960
|
const targetValue = attribute.value.value.trim();
|
|
954
961
|
if (targetValue.length === 0) {
|
|
955
|
-
report(toMarker(( localize(
|
|
962
|
+
report(toMarker(( localize(10586, "The 'target' attribute must be a non-empty string.")), attribute.value.range, MarkerSeverity.Error));
|
|
956
963
|
return;
|
|
957
964
|
}
|
|
958
965
|
const validTargets = ["github-copilot", "vscode"];
|
|
959
966
|
if (!validTargets.includes(targetValue)) {
|
|
960
967
|
report(toMarker(( localize(
|
|
961
|
-
|
|
968
|
+
10587,
|
|
962
969
|
"The 'target' attribute must be one of: {0}.",
|
|
963
970
|
validTargets.join(", ")
|
|
964
971
|
)), attribute.value.range, MarkerSeverity.Error));
|
|
@@ -970,7 +977,7 @@ let PromptValidator = class PromptValidator {
|
|
|
970
977
|
return;
|
|
971
978
|
}
|
|
972
979
|
if (!isTrueOrFalse(attribute.value)) {
|
|
973
|
-
report(toMarker(( localize(
|
|
980
|
+
report(toMarker(( localize(10588, "The 'user-invocable' attribute must be 'true' or 'false'.")), attribute.value.range, MarkerSeverity.Error));
|
|
974
981
|
return;
|
|
975
982
|
}
|
|
976
983
|
}
|
|
@@ -981,7 +988,7 @@ let PromptValidator = class PromptValidator {
|
|
|
981
988
|
}
|
|
982
989
|
if (!isTrueOrFalse(attribute.value)) {
|
|
983
990
|
report(toMarker(( localize(
|
|
984
|
-
|
|
991
|
+
10589,
|
|
985
992
|
"The 'disable-model-invocation' attribute must be 'true' or 'false'."
|
|
986
993
|
)), attribute.value.range, MarkerSeverity.Error));
|
|
987
994
|
return;
|
|
@@ -993,7 +1000,7 @@ let PromptValidator = class PromptValidator {
|
|
|
993
1000
|
return;
|
|
994
1001
|
}
|
|
995
1002
|
if (attribute.value.type !== "sequence") {
|
|
996
|
-
report(toMarker(( localize(
|
|
1003
|
+
report(toMarker(( localize(10590, "The 'agents' attribute must be an array.")), attribute.value.range, MarkerSeverity.Error));
|
|
997
1004
|
return;
|
|
998
1005
|
}
|
|
999
1006
|
const agents = (await this.promptsService.getCustomAgents(CancellationToken.None)).filter(a => a.enabled);
|
|
@@ -1002,12 +1009,12 @@ let PromptValidator = class PromptValidator {
|
|
|
1002
1009
|
const agentNames = [];
|
|
1003
1010
|
for (const item of attribute.value.items) {
|
|
1004
1011
|
if (item.type !== "scalar") {
|
|
1005
|
-
report(toMarker(( localize(
|
|
1012
|
+
report(toMarker(( localize(10591, "Each agent name in the 'agents' attribute must be a string.")), item.range, MarkerSeverity.Error));
|
|
1006
1013
|
} else if (item.value) {
|
|
1007
1014
|
agentNames.push(item.value);
|
|
1008
1015
|
if (item.value !== "*" && !( availableAgentNames.has(item.value))) {
|
|
1009
1016
|
report(toMarker(( localize(
|
|
1010
|
-
|
|
1017
|
+
10592,
|
|
1011
1018
|
"Unknown agent '{0}' will be ignored. Available agents: {1}.",
|
|
1012
1019
|
item.value,
|
|
1013
1020
|
Array.from(availableAgentNames).join(", ")
|
|
@@ -1019,7 +1026,7 @@ let PromptValidator = class PromptValidator {
|
|
|
1019
1026
|
const tools = header.tools;
|
|
1020
1027
|
if (tools && !tools.includes(SpecedToolAliases.agent)) {
|
|
1021
1028
|
report(toMarker(( localize(
|
|
1022
|
-
|
|
1029
|
+
10593,
|
|
1023
1030
|
"When 'agents' and 'tools' are specified, the 'agent' tool must be included in the 'tools' attribute."
|
|
1024
1031
|
)), attribute.value.range, MarkerSeverity.Warning));
|
|
1025
1032
|
}
|
|
@@ -1031,20 +1038,20 @@ let PromptValidator = class PromptValidator {
|
|
|
1031
1038
|
return;
|
|
1032
1039
|
}
|
|
1033
1040
|
if (attribute.value.type !== "map") {
|
|
1034
|
-
report(toMarker(( localize(
|
|
1041
|
+
report(toMarker(( localize(10594, "The 'github' attribute must be an object.")), attribute.value.range, MarkerSeverity.Error));
|
|
1035
1042
|
return;
|
|
1036
1043
|
}
|
|
1037
1044
|
for (const prop of attribute.value.properties) {
|
|
1038
1045
|
if (prop.key.value !== "permissions") {
|
|
1039
1046
|
report(toMarker(( localize(
|
|
1040
|
-
|
|
1047
|
+
10595,
|
|
1041
1048
|
"Unknown property '{0}' in 'github' object. Supported: 'permissions'.",
|
|
1042
1049
|
prop.key.value
|
|
1043
1050
|
)), prop.key.range, MarkerSeverity.Warning));
|
|
1044
1051
|
continue;
|
|
1045
1052
|
}
|
|
1046
1053
|
if (prop.value.type !== "map") {
|
|
1047
|
-
report(toMarker(( localize(
|
|
1054
|
+
report(toMarker(( localize(10596, "The 'permissions' property must be an object.")), prop.value.range, MarkerSeverity.Error));
|
|
1048
1055
|
continue;
|
|
1049
1056
|
}
|
|
1050
1057
|
for (const permProp of prop.value.properties) {
|
|
@@ -1053,7 +1060,7 @@ let PromptValidator = class PromptValidator {
|
|
|
1053
1060
|
if (!scopeInfo) {
|
|
1054
1061
|
const validScopes = ( Object.keys(githubPermissionScopes)).sort().join(", ");
|
|
1055
1062
|
report(toMarker(( localize(
|
|
1056
|
-
|
|
1063
|
+
10597,
|
|
1057
1064
|
"Unknown permission scope '{0}'. Valid scopes: {1}.",
|
|
1058
1065
|
scope,
|
|
1059
1066
|
validScopes
|
|
@@ -1061,13 +1068,13 @@ let PromptValidator = class PromptValidator {
|
|
|
1061
1068
|
continue;
|
|
1062
1069
|
}
|
|
1063
1070
|
if (permProp.value.type !== "scalar") {
|
|
1064
|
-
report(toMarker(( localize(
|
|
1071
|
+
report(toMarker(( localize(10598, "The permission value for '{0}' must be a string.", scope)), permProp.value.range, MarkerSeverity.Error));
|
|
1065
1072
|
continue;
|
|
1066
1073
|
}
|
|
1067
1074
|
const value = permProp.value.value;
|
|
1068
1075
|
if (!scopeInfo.allowedValues.includes(value)) {
|
|
1069
1076
|
report(toMarker(( localize(
|
|
1070
|
-
|
|
1077
|
+
10599,
|
|
1071
1078
|
"Invalid permission value '{0}' for scope '{1}'. Allowed values: {2}.",
|
|
1072
1079
|
value,
|
|
1073
1080
|
scope,
|
|
@@ -1078,43 +1085,43 @@ let PromptValidator = class PromptValidator {
|
|
|
1078
1085
|
}
|
|
1079
1086
|
}
|
|
1080
1087
|
};
|
|
1081
|
-
PromptValidator = ( __decorate([( __param(0, ILanguageModelsService)), ( __param(1, ILanguageModelToolsService)), ( __param(2, IChatModeService)), ( __param(3, IFileService)), ( __param(4, ILabelService)), ( __param(5, IPromptsService)), ( __param(6, ILogService)), ( __param(7, IConfigurationService))], PromptValidator));
|
|
1088
|
+
PromptValidator = ( __decorate([( __param(0, ILanguageModelsService)), ( __param(1, ILanguageModelToolsService)), ( __param(2, IChatModeService)), ( __param(3, IFileService)), ( __param(4, ILabelService)), ( __param(5, IPromptsService)), ( __param(6, ILogService)), ( __param(7, IConfigurationService)), ( __param(8, IPathService))], PromptValidator));
|
|
1082
1089
|
const githubPermissionScopes = {
|
|
1083
1090
|
"actions": {
|
|
1084
1091
|
allowedValues: ["read", "write", "none"],
|
|
1085
|
-
description: ( localize(
|
|
1092
|
+
description: ( localize(10600, "Access to GitHub Actions workflows and runs"))
|
|
1086
1093
|
},
|
|
1087
1094
|
"checks": {
|
|
1088
1095
|
allowedValues: ["read", "none"],
|
|
1089
|
-
description: ( localize(
|
|
1096
|
+
description: ( localize(10601, "Access to check runs and statuses"))
|
|
1090
1097
|
},
|
|
1091
1098
|
"contents": {
|
|
1092
1099
|
allowedValues: ["read", "write", "none"],
|
|
1093
|
-
description: ( localize(
|
|
1100
|
+
description: ( localize(10602, "Access to repository contents (files, commits, branches)"))
|
|
1094
1101
|
},
|
|
1095
1102
|
"discussions": {
|
|
1096
1103
|
allowedValues: ["read", "write", "none"],
|
|
1097
|
-
description: ( localize(
|
|
1104
|
+
description: ( localize(10603, "Access to discussions"))
|
|
1098
1105
|
},
|
|
1099
1106
|
"issues": {
|
|
1100
1107
|
allowedValues: ["read", "write", "none"],
|
|
1101
|
-
description: ( localize(
|
|
1108
|
+
description: ( localize(10604, "Access to issues (read, create, update, comment)"))
|
|
1102
1109
|
},
|
|
1103
1110
|
"metadata": {
|
|
1104
1111
|
allowedValues: ["read"],
|
|
1105
|
-
description: ( localize(
|
|
1112
|
+
description: ( localize(10605, "Repository metadata (always read-only)"))
|
|
1106
1113
|
},
|
|
1107
1114
|
"pull-requests": {
|
|
1108
1115
|
allowedValues: ["read", "write", "none"],
|
|
1109
|
-
description: ( localize(
|
|
1116
|
+
description: ( localize(10606, "Access to pull requests (read, create, update, review)"))
|
|
1110
1117
|
},
|
|
1111
1118
|
"security-events": {
|
|
1112
1119
|
allowedValues: ["read", "none"],
|
|
1113
|
-
description: ( localize(
|
|
1120
|
+
description: ( localize(10607, "Access to security-related events"))
|
|
1114
1121
|
},
|
|
1115
1122
|
"workflows": {
|
|
1116
1123
|
allowedValues: ["write", "none"],
|
|
1117
|
-
description: ( localize(
|
|
1124
|
+
description: ( localize(10608, "Access to modify workflow files"))
|
|
1118
1125
|
}
|
|
1119
1126
|
};
|
|
1120
1127
|
function isTrueOrFalse(value) {
|
|
@@ -1143,6 +1150,7 @@ const allAttributeNames = {
|
|
|
1143
1150
|
PromptHeaderAttributes.name,
|
|
1144
1151
|
PromptHeaderAttributes.description,
|
|
1145
1152
|
PromptHeaderAttributes.model,
|
|
1153
|
+
PromptHeaderAttributes.reasoningEffort,
|
|
1146
1154
|
PromptHeaderAttributes.tools,
|
|
1147
1155
|
PromptHeaderAttributes.advancedOptions,
|
|
1148
1156
|
PromptHeaderAttributes.handOffs,
|
|
@@ -1173,6 +1181,8 @@ const githubCopilotAgentAttributeNames = [
|
|
|
1173
1181
|
PromptHeaderAttributes.description,
|
|
1174
1182
|
PromptHeaderAttributes.tools,
|
|
1175
1183
|
PromptHeaderAttributes.target,
|
|
1184
|
+
PromptHeaderAttributes.model,
|
|
1185
|
+
PromptHeaderAttributes.reasoningEffort,
|
|
1176
1186
|
GithubPromptHeaderAttributes.mcpServers,
|
|
1177
1187
|
GithubPromptHeaderAttributes.github,
|
|
1178
1188
|
PromptHeaderAttributes.infer
|
|
@@ -1202,103 +1212,106 @@ function isNonRecommendedAttribute(attributeName) {
|
|
|
1202
1212
|
}
|
|
1203
1213
|
const knownClaudeTools = [{
|
|
1204
1214
|
name: "Bash",
|
|
1205
|
-
description: ( localize(
|
|
1215
|
+
description: ( localize(10609, "Execute shell commands")),
|
|
1206
1216
|
toolEquivalent: [SpecedToolAliases.execute]
|
|
1207
1217
|
}, {
|
|
1208
1218
|
name: "Edit",
|
|
1209
|
-
description: ( localize(
|
|
1219
|
+
description: ( localize(10610, "Make targeted file edits")),
|
|
1210
1220
|
toolEquivalent: ["edit/editNotebook", "edit/editFiles"]
|
|
1211
1221
|
}, {
|
|
1212
1222
|
name: "Glob",
|
|
1213
|
-
description: ( localize(
|
|
1223
|
+
description: ( localize(10611, "Find files by pattern")),
|
|
1214
1224
|
toolEquivalent: ["search/fileSearch"]
|
|
1215
1225
|
}, {
|
|
1216
1226
|
name: "Grep",
|
|
1217
|
-
description: ( localize(
|
|
1227
|
+
description: ( localize(10612, "Search file contents with regex")),
|
|
1218
1228
|
toolEquivalent: ["search/textSearch"]
|
|
1219
1229
|
}, {
|
|
1220
1230
|
name: "Read",
|
|
1221
|
-
description: ( localize(
|
|
1231
|
+
description: ( localize(10613, "Read file contents")),
|
|
1222
1232
|
toolEquivalent: ["read/readFile", "read/getNotebookSummary"]
|
|
1223
1233
|
}, {
|
|
1224
1234
|
name: "Write",
|
|
1225
|
-
description: ( localize(
|
|
1235
|
+
description: ( localize(10614, "Create/overwrite files")),
|
|
1226
1236
|
toolEquivalent: ["edit/createDirectory", "edit/createFile", "edit/createJupyterNotebook"]
|
|
1227
1237
|
}, {
|
|
1228
1238
|
name: "WebFetch",
|
|
1229
|
-
description: ( localize(
|
|
1239
|
+
description: ( localize(10615, "Fetch URL content")),
|
|
1230
1240
|
toolEquivalent: [SpecedToolAliases.web]
|
|
1231
1241
|
}, {
|
|
1232
1242
|
name: "WebSearch",
|
|
1233
|
-
description: ( localize(
|
|
1243
|
+
description: ( localize(10616, "Perform web searches")),
|
|
1234
1244
|
toolEquivalent: [SpecedToolAliases.web]
|
|
1235
1245
|
}, {
|
|
1236
1246
|
name: "Task",
|
|
1237
|
-
description: ( localize(
|
|
1247
|
+
description: ( localize(10617, "Run subagents for complex tasks")),
|
|
1238
1248
|
toolEquivalent: [SpecedToolAliases.agent]
|
|
1239
1249
|
}, {
|
|
1240
1250
|
name: "Skill",
|
|
1241
|
-
description: ( localize(
|
|
1251
|
+
description: ( localize(10618, "Execute skills")),
|
|
1242
1252
|
toolEquivalent: []
|
|
1243
1253
|
}, {
|
|
1244
1254
|
name: "LSP",
|
|
1245
|
-
description: ( localize(
|
|
1255
|
+
description: ( localize(10619, "Code intelligence (requires plugin)")),
|
|
1246
1256
|
toolEquivalent: []
|
|
1247
1257
|
}, {
|
|
1248
1258
|
name: "NotebookEdit",
|
|
1249
|
-
description: ( localize(
|
|
1259
|
+
description: ( localize(10620, "Modify Jupyter notebooks")),
|
|
1250
1260
|
toolEquivalent: ["edit/editNotebook"]
|
|
1251
1261
|
}, {
|
|
1252
1262
|
name: "AskUserQuestion",
|
|
1253
|
-
description: ( localize(
|
|
1263
|
+
description: ( localize(10621, "Ask multiple-choice questions")),
|
|
1254
1264
|
toolEquivalent: ["vscode/askQuestions"]
|
|
1255
1265
|
}, {
|
|
1256
1266
|
name: "MCPSearch",
|
|
1257
|
-
description: ( localize(
|
|
1267
|
+
description: ( localize(10622, "Searches for MCP tools when tool search is enabled")),
|
|
1258
1268
|
toolEquivalent: []
|
|
1259
1269
|
}];
|
|
1260
1270
|
const knownClaudeModels = [{
|
|
1261
1271
|
name: "sonnet",
|
|
1262
|
-
description: ( localize(
|
|
1272
|
+
description: ( localize(10623, "Latest Claude Sonnet")),
|
|
1263
1273
|
modelEquivalent: "Claude Sonnet 4.5 (copilot)"
|
|
1264
1274
|
}, {
|
|
1265
1275
|
name: "opus",
|
|
1266
|
-
description: ( localize(
|
|
1276
|
+
description: ( localize(10624, "Latest Claude Opus")),
|
|
1267
1277
|
modelEquivalent: "Claude Opus 4.6 (copilot)"
|
|
1268
1278
|
}, {
|
|
1269
1279
|
name: "haiku",
|
|
1270
|
-
description: ( localize(
|
|
1280
|
+
description: ( localize(10625, "Latest Claude Haiku, fast for simple tasks")),
|
|
1271
1281
|
modelEquivalent: "Claude Haiku 4.5 (copilot)"
|
|
1272
1282
|
}, {
|
|
1273
1283
|
name: "inherit",
|
|
1274
|
-
description: ( localize(
|
|
1284
|
+
description: ( localize(10626, "Inherit model from parent agent or prompt")),
|
|
1275
1285
|
modelEquivalent: undefined
|
|
1276
1286
|
}];
|
|
1277
1287
|
const claudeAgentAttributes = {
|
|
1278
1288
|
"name": {
|
|
1279
1289
|
type: "scalar",
|
|
1280
|
-
description: ( localize(
|
|
1290
|
+
description: ( localize(10627, "Unique identifier using lowercase letters and hyphens (required)"))
|
|
1281
1291
|
},
|
|
1282
1292
|
"description": {
|
|
1283
1293
|
type: "scalar",
|
|
1284
|
-
description: ( localize(
|
|
1294
|
+
description: ( localize(10628, "When to delegate to this subagent (required)"))
|
|
1285
1295
|
},
|
|
1286
1296
|
"tools": {
|
|
1287
1297
|
type: "sequence",
|
|
1288
|
-
description: ( localize(
|
|
1298
|
+
description: ( localize(
|
|
1299
|
+
10629,
|
|
1300
|
+
"Array of tools the subagent can use. Inherits all tools if omitted"
|
|
1301
|
+
)),
|
|
1289
1302
|
defaults: ["Read, Edit, Bash"],
|
|
1290
1303
|
items: knownClaudeTools
|
|
1291
1304
|
},
|
|
1292
1305
|
"disallowedTools": {
|
|
1293
1306
|
type: "sequence",
|
|
1294
|
-
description: ( localize(
|
|
1307
|
+
description: ( localize(10630, "Tools to deny, removed from inherited or specified list")),
|
|
1295
1308
|
defaults: ["Write, Edit, Bash"],
|
|
1296
1309
|
items: knownClaudeTools
|
|
1297
1310
|
},
|
|
1298
1311
|
"model": {
|
|
1299
1312
|
type: "scalar",
|
|
1300
1313
|
description: ( localize(
|
|
1301
|
-
|
|
1314
|
+
10631,
|
|
1302
1315
|
"Model to use: sonnet, opus, haiku, or inherit. Defaults to inherit."
|
|
1303
1316
|
)),
|
|
1304
1317
|
defaults: ["sonnet", "opus", "haiku", "inherit"],
|
|
@@ -1307,77 +1320,77 @@ const claudeAgentAttributes = {
|
|
|
1307
1320
|
"permissionMode": {
|
|
1308
1321
|
type: "scalar",
|
|
1309
1322
|
description: ( localize(
|
|
1310
|
-
|
|
1323
|
+
10632,
|
|
1311
1324
|
"Permission mode: default, acceptEdits, dontAsk, bypassPermissions, or plan."
|
|
1312
1325
|
)),
|
|
1313
1326
|
defaults: ["default", "acceptEdits", "dontAsk", "bypassPermissions", "plan"],
|
|
1314
1327
|
enums: [{
|
|
1315
1328
|
name: "default",
|
|
1316
1329
|
description: ( localize(
|
|
1317
|
-
|
|
1330
|
+
10633,
|
|
1318
1331
|
"Standard behavior: prompts for permission on first use of each tool."
|
|
1319
1332
|
))
|
|
1320
1333
|
}, {
|
|
1321
1334
|
name: "acceptEdits",
|
|
1322
|
-
description: ( localize(
|
|
1335
|
+
description: ( localize(10634, "Automatically accepts file edit permissions for the session."))
|
|
1323
1336
|
}, {
|
|
1324
1337
|
name: "plan",
|
|
1325
1338
|
description: ( localize(
|
|
1326
|
-
|
|
1339
|
+
10635,
|
|
1327
1340
|
"Plan Mode: Claude can analyze but not modify files or execute commands."
|
|
1328
1341
|
))
|
|
1329
1342
|
}, {
|
|
1330
1343
|
name: "delegate",
|
|
1331
1344
|
description: ( localize(
|
|
1332
|
-
|
|
1345
|
+
10636,
|
|
1333
1346
|
"Coordination-only mode for agent team leads. Only available when an agent team is active."
|
|
1334
1347
|
))
|
|
1335
1348
|
}, {
|
|
1336
1349
|
name: "dontAsk",
|
|
1337
1350
|
description: ( localize(
|
|
1338
|
-
|
|
1351
|
+
10637,
|
|
1339
1352
|
"Auto-denies tools unless pre-approved via /permissions or permissions.allow rules."
|
|
1340
1353
|
))
|
|
1341
1354
|
}, {
|
|
1342
1355
|
name: "bypassPermissions",
|
|
1343
1356
|
description: ( localize(
|
|
1344
|
-
|
|
1357
|
+
10638,
|
|
1345
1358
|
"Skips all permission prompts (requires safe environment like containers)."
|
|
1346
1359
|
))
|
|
1347
1360
|
}]
|
|
1348
1361
|
},
|
|
1349
1362
|
"skills": {
|
|
1350
1363
|
type: "sequence",
|
|
1351
|
-
description: ( localize(
|
|
1364
|
+
description: ( localize(10639, "Skills to load into the subagent's context at startup."))
|
|
1352
1365
|
},
|
|
1353
1366
|
"mcpServers": {
|
|
1354
1367
|
type: "sequence",
|
|
1355
|
-
description: ( localize(
|
|
1368
|
+
description: ( localize(10640, "MCP servers available to this subagent."))
|
|
1356
1369
|
},
|
|
1357
1370
|
"hooks": {
|
|
1358
1371
|
type: "object",
|
|
1359
|
-
description: ( localize(
|
|
1372
|
+
description: ( localize(10641, "Lifecycle hooks scoped to this subagent."))
|
|
1360
1373
|
},
|
|
1361
1374
|
"memory": {
|
|
1362
1375
|
type: "scalar",
|
|
1363
1376
|
description: ( localize(
|
|
1364
|
-
|
|
1377
|
+
10642,
|
|
1365
1378
|
"Persistent memory scope: user, project, or local. Enables cross-session learning."
|
|
1366
1379
|
)),
|
|
1367
1380
|
defaults: ["user", "project", "local"],
|
|
1368
1381
|
enums: [{
|
|
1369
1382
|
name: "user",
|
|
1370
|
-
description: ( localize(
|
|
1383
|
+
description: ( localize(10643, "Remember learnings across all projects."))
|
|
1371
1384
|
}, {
|
|
1372
1385
|
name: "project",
|
|
1373
1386
|
description: ( localize(
|
|
1374
|
-
|
|
1387
|
+
10644,
|
|
1375
1388
|
"The subagent's knowledge is project-specific and shareable via version control."
|
|
1376
1389
|
))
|
|
1377
1390
|
}, {
|
|
1378
1391
|
name: "local",
|
|
1379
1392
|
description: ( localize(
|
|
1380
|
-
|
|
1393
|
+
10645,
|
|
1381
1394
|
"The subagent's knowledge is project-specific but should not be checked into version control."
|
|
1382
1395
|
))
|
|
1383
1396
|
}]
|
|
@@ -1387,14 +1400,14 @@ const claudeRulesAttributes = {
|
|
|
1387
1400
|
"description": {
|
|
1388
1401
|
type: "scalar",
|
|
1389
1402
|
description: ( localize(
|
|
1390
|
-
|
|
1403
|
+
10646,
|
|
1391
1404
|
"A description of what this rule covers, used to provide context about when it applies."
|
|
1392
1405
|
))
|
|
1393
1406
|
},
|
|
1394
1407
|
"paths": {
|
|
1395
1408
|
type: "sequence",
|
|
1396
1409
|
description: ( localize(
|
|
1397
|
-
|
|
1410
|
+
10647,
|
|
1398
1411
|
"Array of glob patterns that describe for which files the rule applies. Based on these patterns, the file is automatically included in the prompt when the context contains a file that matches.\nExample: `['src/**/*.ts', 'test/**']`"
|
|
1399
1412
|
))
|
|
1400
1413
|
}
|