@codingame/monaco-vscode-chat-service-override 25.1.2 → 26.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +24 -3
- package/package.json +5 -5
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +23 -3
- package/vscode/src/vs/platform/browserElements/common/browserElements.js +13 -6
- package/vscode/src/vs/platform/domWidget/browser/domWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +42 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +218 -74
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatTerminalOutputAccessibleView.js +6 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +165 -168
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +27 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +141 -140
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +189 -121
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +14 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +60 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +435 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +28 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +10 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +37 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +54 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +73 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +71 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +151 -89
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +12 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +39 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +90 -125
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +263 -143
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +188 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +37 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +21 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +392 -226
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +31 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +25 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +83 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +68 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +319 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +215 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +179 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +951 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agentsessionprojection.css +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +388 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +195 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +120 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +394 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +95 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +31 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +49 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +4 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +188 -151
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +1012 -639
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +256 -151
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +182 -101
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +79 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +193 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.d.ts +68 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +253 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +69 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +52 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +274 -155
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +2 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +130 -104
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +12 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +385 -160
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +53 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +112 -75
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +19 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +31 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +39 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.js +10 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +25 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +265 -203
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +29 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/helpers.js +114 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.js +16 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +44 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +119 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +152 -136
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +12 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +51 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +323 -217
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +653 -401
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +52 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +43 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +182 -136
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +548 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +222 -138
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +151 -113
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +6 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +453 -217
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +162 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +309 -233
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +55 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +109 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +35 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +9 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +73 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +333 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +39 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +9 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +23 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +20 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +65 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +48 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +20 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +155 -159
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +24 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +521 -246
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +107 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +28 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.js +10 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.js +57 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatLayoutService.js +4 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +56 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +37 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +5 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +1284 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +179 -125
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +9 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/editorHoverWrapper.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +96 -78
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +58 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +25 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +484 -292
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +65 -92
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +331 -189
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +81 -93
- package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.js +1 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +6 -7
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +36 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +169 -31
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +141 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +218 -144
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatTransferService.js +20 -10
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +109 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +349 -0
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +9 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +139 -36
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +3 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +64 -51
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +49 -34
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +21 -13
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +125 -97
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +91 -131
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +8 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +488 -222
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +32 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +58 -13
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +717 -200
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +79 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +371 -130
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +3 -7
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +79 -61
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +27 -21
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +7 -10
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +26 -32
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -60
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +115 -426
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +127 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -37
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +21 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +334 -0
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +424 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +58 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +195 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +368 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +7 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +23 -25
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +7 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +34 -38
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +8 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +103 -95
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +28 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +4 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +12 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +65 -54
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +86 -60
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +13 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +56 -46
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +63 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +35 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +44 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +3 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +70 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +26 -394
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +85 -49
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +68 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +67 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +106 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +177 -97
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +136 -49
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +128 -112
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +51 -49
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +25 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +21 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +5 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +2 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +29 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +30 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +19 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +58 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +31 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +325 -199
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +33 -38
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +45 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +746 -456
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +145 -98
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +88 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +120 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +25 -28
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +58 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +47 -28
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +171 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +0 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +0 -213
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +0 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +0 -243
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +0 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +0 -166
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +0 -607
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +0 -255
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -396
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -379
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -117
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +0 -141
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +0 -961
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +0 -36
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +0 -447
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +0 -6
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +0 -251
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.d.ts +0 -10
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +0 -42
|
@@ -16,7 +16,7 @@ import { Extensions, ConfigurationScope } from '@codingame/monaco-vscode-api/vsc
|
|
|
16
16
|
import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors';
|
|
17
17
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
18
18
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
19
|
-
import { mcpGalleryServiceUrlConfig, mcpGalleryServiceEnablementConfig, mcpAutoStartConfig, McpAutoStartValue, mcpAccessConfig, McpAccessValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpManagement';
|
|
19
|
+
import { mcpGalleryServiceUrlConfig, mcpGalleryServiceEnablementConfig, mcpAppsEnabledConfig, mcpAutoStartConfig, McpAutoStartValue, mcpAccessConfig, McpAccessValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpManagement';
|
|
20
20
|
import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
|
|
21
21
|
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
22
22
|
import { EditorPaneDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/editor';
|
|
@@ -43,26 +43,25 @@ import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs
|
|
|
43
43
|
import '../common/tools/chatTodoListService.js';
|
|
44
44
|
import '../common/model/chatTransferService.js';
|
|
45
45
|
import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService';
|
|
46
|
-
import { ChatConfiguration, ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
46
|
+
import { ChatConfiguration, AgentsControlClickBehavior, ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
47
47
|
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
|
|
48
48
|
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelStats';
|
|
49
49
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
|
|
50
50
|
import { ChatPromptFilesExtensionPointHandler } from '../common/promptSyntax/chatPromptFilesContribution.js';
|
|
51
51
|
import { PromptsConfig } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
|
|
52
|
-
import { LEGACY_MODE_DEFAULT_SOURCE_FOLDER, LEGACY_MODE_FILE_EXTENSION, PROMPT_DEFAULT_SOURCE_FOLDER, PROMPT_FILE_EXTENSION, INSTRUCTIONS_DEFAULT_SOURCE_FOLDER, INSTRUCTION_FILE_EXTENSION } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
52
|
+
import { DEFAULT_SKILL_SOURCE_FOLDERS, SKILL_FILENAME, AGENTS_SOURCE_FOLDER, AGENT_FILE_EXTENSION, LEGACY_MODE_DEFAULT_SOURCE_FOLDER, LEGACY_MODE_FILE_EXTENSION, PROMPT_DEFAULT_SOURCE_FOLDER, PROMPT_FILE_EXTENSION, INSTRUCTIONS_DEFAULT_SOURCE_FOLDER, INSTRUCTION_FILE_EXTENSION } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
53
53
|
import { PromptLanguageFeaturesProvider } from '../common/promptSyntax/promptFileContributions.js';
|
|
54
|
-
import { AGENT_DOCUMENTATION_URL, PROMPT_DOCUMENTATION_URL, INSTRUCTIONS_DOCUMENTATION_URL } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
54
|
+
import { SKILL_DOCUMENTATION_URL, AGENT_DOCUMENTATION_URL, PROMPT_DOCUMENTATION_URL, INSTRUCTIONS_DOCUMENTATION_URL } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
55
55
|
import '../common/promptSyntax/service/promptsServiceImpl.js';
|
|
56
|
-
import { LanguageModelToolsExtensionPointHandler } from '
|
|
56
|
+
import { LanguageModelToolsExtensionPointHandler } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution';
|
|
57
57
|
import { BuiltinToolsContribution } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/builtinTools/tools';
|
|
58
58
|
import '../common/voiceChatService.js';
|
|
59
59
|
import { registerChatAccessibilityActions } from './actions/chatAccessibilityActions.js';
|
|
60
60
|
import { PanelChatAccessibilityHelp, QuickChatAccessibilityHelp, EditsChatAccessibilityHelp, AgentChatAccessibilityHelp } from './actions/chatAccessibilityHelp.js';
|
|
61
|
-
import { ModeOpenChatGlobalAction, ACTION_ID_NEW_CHAT,
|
|
61
|
+
import { ModeOpenChatGlobalAction, ACTION_ID_NEW_CHAT, registerChatActions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
62
62
|
import { CodeBlockActionRendering, registerChatCodeBlockActions, registerChatCodeCompareBlockActions } from './actions/chatCodeblockActions.js';
|
|
63
63
|
import { ChatContextContributions } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/actions/chatContext';
|
|
64
64
|
import { registerChatContextActions } from './actions/chatContextActions.js';
|
|
65
|
-
import { ContinueChatInSessionActionRendering } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatContinueInAction';
|
|
66
65
|
import { registerChatCopyActions } from './actions/chatCopyActions.js';
|
|
67
66
|
import { registerChatDeveloperActions } from './actions/chatDeveloperActions.js';
|
|
68
67
|
import { ChatSubmitAction, registerChatExecuteActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatExecuteActions';
|
|
@@ -79,7 +78,9 @@ import { registerChatTitleActions } from '@codingame/monaco-vscode-katex-common/
|
|
|
79
78
|
import { registerChatElicitationActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatElicitationActions';
|
|
80
79
|
import { registerChatToolActions } from './actions/chatToolActions.js';
|
|
81
80
|
import { ChatTransferContribution } from './actions/chatTransfer.js';
|
|
81
|
+
import { registerChatCustomizationDiagnosticsAction } from './actions/chatCustomizationDiagnosticsAction.js';
|
|
82
82
|
import './agentSessions/agentSessions.contribution.js';
|
|
83
|
+
import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
|
|
83
84
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
84
85
|
import './accessibility/chatAccessibilityService.js';
|
|
85
86
|
import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel';
|
|
@@ -92,15 +93,16 @@ import '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
|
|
|
92
93
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
93
94
|
import { ChatInputBoxContentProvider } from './widget/input/editor/chatEditorInputContentProvider.js';
|
|
94
95
|
import { ChatEditingEditorAccessibility } from './chatEditing/chatEditingEditorAccessibility.js';
|
|
95
|
-
import { registerChatEditorActions } from '
|
|
96
|
+
import { registerChatEditorActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions';
|
|
96
97
|
import { ChatEditingEditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
|
|
97
|
-
import { ChatEditingEditorOverlay } from '
|
|
98
|
+
import { ChatEditingEditorOverlay } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay';
|
|
98
99
|
import './chatEditing/chatEditingServiceImpl.js';
|
|
99
100
|
import { ChatEditingNotebookFileSystemProviderContrib } from './chatEditing/notebook/chatEditingNotebookFileSystemProvider.js';
|
|
100
101
|
import { SimpleBrowserOverlay } from './attachments/simpleBrowserEditorOverlay.js';
|
|
101
102
|
import { ChatEditor } from './widgetHosts/editor/chatEditor.js';
|
|
102
103
|
import { ChatEditorInput, ChatEditorInputSerializer } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput';
|
|
103
104
|
import './widget/chatLayoutService.js';
|
|
105
|
+
import { ChatLanguageModelsDataContribution } from './languageModelsConfigurationService.js';
|
|
104
106
|
import './chatManagement/chatManagement.contribution.js';
|
|
105
107
|
import { agentToMarkdown, agentSlashCommandToMarkdown } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownDecorationsRenderer';
|
|
106
108
|
import './chatOutputItemRenderer.js';
|
|
@@ -113,12 +115,11 @@ import { ChatSetupContribution, ChatTeardownContribution } from './chatSetup/cha
|
|
|
113
115
|
import { ChatStatusBarEntry } from './chatStatus/chatStatusEntry.js';
|
|
114
116
|
import './attachments/chatVariables.js';
|
|
115
117
|
import { ChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatWidget';
|
|
116
|
-
import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-
|
|
118
|
+
import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
|
|
117
119
|
import { ChatImplicitContextContribution } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext';
|
|
118
|
-
import '
|
|
120
|
+
import './widget/input/editor/chatInputCompletions.js';
|
|
119
121
|
import './widget/input/editor/chatInputEditorContrib.js';
|
|
120
122
|
import './widget/input/editor/chatInputEditorHover.js';
|
|
121
|
-
import { ChatRelatedFilesContribution } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatInputRelatedFilesContrib';
|
|
122
123
|
import './tools/languageModelToolsConfirmationService.js';
|
|
123
124
|
import { globalAutoApproveDescription } from './tools/languageModelToolsService.js';
|
|
124
125
|
import './promptSyntax/promptCodingAgentActionContribution.js';
|
|
@@ -128,415 +129,475 @@ import { UserToolSetsContributions, ConfigureToolSets } from './tools/toolSetsCo
|
|
|
128
129
|
import { ChatViewsWelcomeHandler } from './viewsWelcome/chatViewsWelcomeHandler.js';
|
|
129
130
|
import './widget/chatWidgetService.js';
|
|
130
131
|
import { ChatWindowNotifier } from './chatWindowNotifier.js';
|
|
132
|
+
import { ChatRepoInfoContribution } from './chatRepoInfo.js';
|
|
133
|
+
import { VALID_PROMPT_FOLDER_PATTERN } from '../common/promptSyntax/utils/promptFilesLocator.js';
|
|
134
|
+
import './chatTipService.js';
|
|
135
|
+
import '../../notebook/browser/controller/chat/notebook.chat.contribution.js';
|
|
131
136
|
|
|
132
137
|
const toolReferenceNameEnumValues = [];
|
|
133
138
|
const toolReferenceNameEnumDescriptions = [];
|
|
134
139
|
const configurationRegistry = ( Registry.as(Extensions.Configuration));
|
|
135
140
|
configurationRegistry.registerConfiguration({
|
|
136
|
-
id:
|
|
137
|
-
title: ( localize(
|
|
138
|
-
type:
|
|
141
|
+
id: "chatSidebar",
|
|
142
|
+
title: ( localize(5122, "Chat")),
|
|
143
|
+
type: "object",
|
|
139
144
|
properties: {
|
|
140
|
-
|
|
141
|
-
type:
|
|
142
|
-
description: ( localize(
|
|
145
|
+
"chat.fontSize": {
|
|
146
|
+
type: "number",
|
|
147
|
+
description: ( localize(5123, "Controls the font size in pixels in chat messages.")),
|
|
143
148
|
default: 13,
|
|
144
149
|
minimum: 6,
|
|
145
150
|
maximum: 100
|
|
146
151
|
},
|
|
147
|
-
|
|
148
|
-
type:
|
|
149
|
-
description: ( localize(
|
|
150
|
-
default:
|
|
151
|
-
},
|
|
152
|
-
|
|
153
|
-
type:
|
|
154
|
-
description: ( localize(
|
|
155
|
-
default: isMacintosh ? 12 : 14
|
|
156
|
-
},
|
|
157
|
-
|
|
158
|
-
type:
|
|
159
|
-
description: ( localize(
|
|
160
|
-
default:
|
|
161
|
-
},
|
|
162
|
-
|
|
163
|
-
type:
|
|
164
|
-
description: ( localize(
|
|
165
|
-
default:
|
|
166
|
-
},
|
|
167
|
-
|
|
168
|
-
type:
|
|
169
|
-
description: ( localize(
|
|
170
|
-
default:
|
|
171
|
-
enum: [
|
|
172
|
-
},
|
|
173
|
-
|
|
174
|
-
type:
|
|
152
|
+
"chat.fontFamily": {
|
|
153
|
+
type: "string",
|
|
154
|
+
description: ( localize(5124, "Controls the font family in chat messages.")),
|
|
155
|
+
default: "default"
|
|
156
|
+
},
|
|
157
|
+
"chat.editor.fontSize": {
|
|
158
|
+
type: "number",
|
|
159
|
+
description: ( localize(5125, "Controls the font size in pixels in chat codeblocks.")),
|
|
160
|
+
default: isMacintosh ? 12 : 14
|
|
161
|
+
},
|
|
162
|
+
"chat.editor.fontFamily": {
|
|
163
|
+
type: "string",
|
|
164
|
+
description: ( localize(5126, "Controls the font family in chat codeblocks.")),
|
|
165
|
+
default: "default"
|
|
166
|
+
},
|
|
167
|
+
"chat.editor.fontWeight": {
|
|
168
|
+
type: "string",
|
|
169
|
+
description: ( localize(5127, "Controls the font weight in chat codeblocks.")),
|
|
170
|
+
default: "default"
|
|
171
|
+
},
|
|
172
|
+
"chat.editor.wordWrap": {
|
|
173
|
+
type: "string",
|
|
174
|
+
description: ( localize(5128, "Controls whether lines should wrap in chat codeblocks.")),
|
|
175
|
+
default: "off",
|
|
176
|
+
enum: ["on", "off"]
|
|
177
|
+
},
|
|
178
|
+
"chat.editor.lineHeight": {
|
|
179
|
+
type: "number",
|
|
175
180
|
description: ( localize(
|
|
176
|
-
|
|
181
|
+
5129,
|
|
177
182
|
"Controls the line height in pixels in chat codeblocks. Use 0 to compute the line height from the font size."
|
|
178
183
|
)),
|
|
179
184
|
default: 0
|
|
180
185
|
},
|
|
181
|
-
|
|
182
|
-
type:
|
|
186
|
+
[ChatConfiguration.AgentsControlClickBehavior]: {
|
|
187
|
+
type: "string",
|
|
188
|
+
enum: [
|
|
189
|
+
AgentsControlClickBehavior.Default,
|
|
190
|
+
AgentsControlClickBehavior.Cycle,
|
|
191
|
+
AgentsControlClickBehavior.Focus
|
|
192
|
+
],
|
|
193
|
+
enumDescriptions: [( localize(5130, "Clicking chat icon toggles chat visibility.")), ( localize(
|
|
194
|
+
5131,
|
|
195
|
+
"Clicking chat icon cycles through: show chat, maximize chat, hide chat. This requires chat to be contained in the secondary sidebar."
|
|
196
|
+
)), ( localize(
|
|
197
|
+
5132,
|
|
198
|
+
"Clicking chat icon focuses the chat view and maximizes it if located in the secondary sidebar."
|
|
199
|
+
))],
|
|
183
200
|
markdownDescription: ( localize(
|
|
184
|
-
|
|
185
|
-
"Controls
|
|
186
|
-
'`#window.commandCenter#`'
|
|
201
|
+
5133,
|
|
202
|
+
"Controls the behavior when clicking on the chat icon in the command center."
|
|
187
203
|
)),
|
|
188
|
-
default:
|
|
204
|
+
default: product.quality !== "stable" ? AgentsControlClickBehavior.Cycle : AgentsControlClickBehavior.Default,
|
|
205
|
+
tags: ["experimental"]
|
|
206
|
+
},
|
|
207
|
+
[ChatConfiguration.AgentStatusEnabled]: {
|
|
208
|
+
type: "boolean",
|
|
209
|
+
markdownDescription: ( localize(
|
|
210
|
+
5134,
|
|
211
|
+
"Controls whether the 'Agent Status' indicator is shown in the title bar command center. Enabling this setting will automatically enable {0}. The unread/in-progress session indicators require {1} to be enabled.",
|
|
212
|
+
"`#window.commandCenter#`",
|
|
213
|
+
"`#chat.viewSessions.enabled#`"
|
|
214
|
+
)),
|
|
215
|
+
default: true,
|
|
216
|
+
tags: ["experimental"]
|
|
217
|
+
},
|
|
218
|
+
[ChatConfiguration.UnifiedAgentsBar]: {
|
|
219
|
+
type: "boolean",
|
|
220
|
+
markdownDescription: ( localize(
|
|
221
|
+
5135,
|
|
222
|
+
"Replaces the command center search box with a unified chat and search widget."
|
|
223
|
+
)),
|
|
224
|
+
default: false,
|
|
225
|
+
tags: ["experimental"]
|
|
226
|
+
},
|
|
227
|
+
[ChatConfiguration.AgentSessionProjectionEnabled]: {
|
|
228
|
+
type: "boolean",
|
|
229
|
+
markdownDescription: ( localize(
|
|
230
|
+
5136,
|
|
231
|
+
"Controls whether Agent Session Projection mode is enabled for reviewing agent sessions in a focused workspace."
|
|
232
|
+
)),
|
|
233
|
+
default: false,
|
|
234
|
+
tags: ["experimental"]
|
|
189
235
|
},
|
|
190
|
-
|
|
191
|
-
type:
|
|
236
|
+
"chat.implicitContext.enabled": {
|
|
237
|
+
type: "object",
|
|
192
238
|
description: ( localize(
|
|
193
|
-
|
|
239
|
+
5137,
|
|
194
240
|
"Enables automatically using the active editor as chat context for specified chat locations."
|
|
195
241
|
)),
|
|
196
242
|
additionalProperties: {
|
|
197
|
-
type:
|
|
198
|
-
enum: [
|
|
199
|
-
description: ( localize(
|
|
200
|
-
enumDescriptions: [
|
|
201
|
-
( localize(5004, "Implicit context is never enabled.")),
|
|
202
|
-
( localize(5005, "Implicit context is enabled for the first interaction.")),
|
|
203
|
-
( localize(5006, "Implicit context is always enabled."))
|
|
204
|
-
]
|
|
243
|
+
type: "string",
|
|
244
|
+
enum: ["never", "first", "always"],
|
|
245
|
+
description: ( localize(5138, "The value for the implicit context.")),
|
|
246
|
+
enumDescriptions: [( localize(5139, "Implicit context is never enabled.")), ( localize(5140, "Implicit context is enabled for the first interaction.")), ( localize(5141, "Implicit context is always enabled."))]
|
|
205
247
|
},
|
|
206
248
|
default: {
|
|
207
|
-
|
|
249
|
+
"panel": "always"
|
|
208
250
|
}
|
|
209
251
|
},
|
|
210
|
-
|
|
211
|
-
type:
|
|
252
|
+
"chat.implicitContext.suggestedContext": {
|
|
253
|
+
type: "boolean",
|
|
212
254
|
markdownDescription: ( localize(
|
|
213
|
-
|
|
255
|
+
5142,
|
|
214
256
|
"Controls whether the new implicit context flow is shown. In Ask and Edit modes, the context will automatically be included. When using an agent, context will be suggested as an attachment. Selections are always included as context."
|
|
215
257
|
)),
|
|
216
|
-
default: true
|
|
258
|
+
default: true
|
|
217
259
|
},
|
|
218
|
-
|
|
219
|
-
type:
|
|
260
|
+
"chat.editing.autoAcceptDelay": {
|
|
261
|
+
type: "number",
|
|
220
262
|
markdownDescription: ( localize(
|
|
221
|
-
|
|
263
|
+
5143,
|
|
222
264
|
"Delay after which changes made by chat are automatically accepted. Values are in seconds, `0` means disabled and `100` seconds is the maximum."
|
|
223
265
|
)),
|
|
224
266
|
default: 0,
|
|
225
267
|
minimum: 0,
|
|
226
268
|
maximum: 100
|
|
227
269
|
},
|
|
228
|
-
|
|
229
|
-
type:
|
|
270
|
+
"chat.editing.confirmEditRequestRemoval": {
|
|
271
|
+
type: "boolean",
|
|
230
272
|
scope: ConfigurationScope.APPLICATION,
|
|
231
273
|
markdownDescription: ( localize(
|
|
232
|
-
|
|
274
|
+
5144,
|
|
233
275
|
"Whether to show a confirmation before removing a request and its associated edits."
|
|
234
276
|
)),
|
|
235
|
-
default: true
|
|
277
|
+
default: true
|
|
236
278
|
},
|
|
237
|
-
|
|
238
|
-
type:
|
|
279
|
+
"chat.editing.confirmEditRequestRetry": {
|
|
280
|
+
type: "boolean",
|
|
239
281
|
scope: ConfigurationScope.APPLICATION,
|
|
240
282
|
markdownDescription: ( localize(
|
|
241
|
-
|
|
283
|
+
5145,
|
|
242
284
|
"Whether to show a confirmation before retrying a request and its associated edits."
|
|
243
285
|
)),
|
|
244
|
-
default: true
|
|
286
|
+
default: true
|
|
287
|
+
},
|
|
288
|
+
"chat.editing.explainChanges.enabled": {
|
|
289
|
+
type: "boolean",
|
|
290
|
+
markdownDescription: ( localize(
|
|
291
|
+
5146,
|
|
292
|
+
"Controls whether the Explain button in the Chat panel and the Explain Changes context menu in the SCM view are shown. This is an experimental feature."
|
|
293
|
+
)),
|
|
294
|
+
default: false,
|
|
295
|
+
tags: ["experimental"],
|
|
296
|
+
experiment: {
|
|
297
|
+
mode: "auto"
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
"chat.tips.enabled": {
|
|
301
|
+
type: "boolean",
|
|
302
|
+
description: ( localize(
|
|
303
|
+
5147,
|
|
304
|
+
"Controls whether tips are shown above user messages in chat. This is an experimental feature."
|
|
305
|
+
)),
|
|
306
|
+
default: false,
|
|
307
|
+
tags: ["experimental"],
|
|
308
|
+
experiment: {
|
|
309
|
+
mode: "auto"
|
|
310
|
+
}
|
|
245
311
|
},
|
|
246
|
-
|
|
247
|
-
type:
|
|
312
|
+
"chat.experimental.detectParticipant.enabled": {
|
|
313
|
+
type: "boolean",
|
|
248
314
|
deprecationMessage: ( localize(
|
|
249
|
-
|
|
315
|
+
5148,
|
|
250
316
|
"This setting is deprecated. Please use `chat.detectParticipant.enabled` instead."
|
|
251
317
|
)),
|
|
252
|
-
description: ( localize(
|
|
318
|
+
description: ( localize(5149, "Enables chat participant autodetection for panel chat.")),
|
|
253
319
|
default: null
|
|
254
320
|
},
|
|
255
|
-
|
|
256
|
-
type:
|
|
257
|
-
description: ( localize(
|
|
321
|
+
"chat.detectParticipant.enabled": {
|
|
322
|
+
type: "boolean",
|
|
323
|
+
description: ( localize(5150, "Enables chat participant autodetection for panel chat.")),
|
|
258
324
|
default: true
|
|
259
325
|
},
|
|
260
|
-
|
|
261
|
-
type:
|
|
326
|
+
[ChatConfiguration.InlineReferencesStyle]: {
|
|
327
|
+
type: "string",
|
|
328
|
+
enum: ["box", "link"],
|
|
329
|
+
enumDescriptions: [( localize(5151, "Display file and symbol references as boxed widgets with icons.")), ( localize(
|
|
330
|
+
5152,
|
|
331
|
+
"Display file and symbol references as simple blue links without icons."
|
|
332
|
+
))],
|
|
262
333
|
description: ( localize(
|
|
263
|
-
|
|
264
|
-
"Controls
|
|
334
|
+
5153,
|
|
335
|
+
"Controls how file and symbol references are displayed in chat messages."
|
|
265
336
|
)),
|
|
266
|
-
default:
|
|
337
|
+
default: "box"
|
|
338
|
+
},
|
|
339
|
+
[ChatConfiguration.EditorAssociations]: {
|
|
340
|
+
type: "object",
|
|
341
|
+
markdownDescription: ( localize(
|
|
342
|
+
5154,
|
|
343
|
+
"Configure [glob patterns](https://aka.ms/vscode-glob-patterns) to editors for opening files from chat (for example `\"*.md\": \"vscode.markdown.preview.editor\"`)."
|
|
344
|
+
)),
|
|
345
|
+
additionalProperties: {
|
|
346
|
+
type: "string"
|
|
347
|
+
},
|
|
348
|
+
default: {}
|
|
267
349
|
},
|
|
268
|
-
|
|
269
|
-
type:
|
|
350
|
+
"chat.notifyWindowOnConfirmation": {
|
|
351
|
+
type: "boolean",
|
|
270
352
|
description: ( localize(
|
|
271
|
-
|
|
353
|
+
5155,
|
|
272
354
|
"Controls whether a chat session should present the user with an OS notification when a confirmation is needed while the window is not in focus. This includes a window badge as well as notification toast."
|
|
273
355
|
)),
|
|
274
|
-
default: true
|
|
356
|
+
default: true
|
|
275
357
|
},
|
|
276
358
|
[ChatConfiguration.GlobalAutoApprove]: {
|
|
277
359
|
default: false,
|
|
278
360
|
markdownDescription: globalAutoApproveDescription.value,
|
|
279
|
-
type:
|
|
361
|
+
type: "boolean",
|
|
280
362
|
scope: ConfigurationScope.APPLICATION_MACHINE,
|
|
281
|
-
tags: [
|
|
363
|
+
tags: ["experimental"],
|
|
282
364
|
policy: {
|
|
283
|
-
name:
|
|
365
|
+
name: "ChatToolsAutoApprove",
|
|
284
366
|
category: PolicyCategory.InteractiveSession,
|
|
285
|
-
minimumVersion:
|
|
286
|
-
value:
|
|
367
|
+
minimumVersion: "1.99",
|
|
368
|
+
value: policyData => policyData.chat_preview_features_enabled === false ? false : undefined,
|
|
287
369
|
localization: {
|
|
288
370
|
description: {
|
|
289
|
-
key:
|
|
371
|
+
key: "autoApprove2.description",
|
|
290
372
|
value: ( localize(
|
|
291
|
-
|
|
292
|
-
|
|
373
|
+
5156,
|
|
374
|
+
"Global auto approve also known as \"YOLO mode\" disables manual approval completely for all tools in all workspaces, allowing the agent to act fully autonomously. This is extremely dangerous and is *never* recommended, even containerized environments like Codespaces and Dev Containers have user keys forwarded into the container that could be compromised.\n\nThis feature disables critical security protections and makes it much easier for an attacker to compromise the machine."
|
|
293
375
|
))
|
|
294
376
|
}
|
|
295
|
-
}
|
|
377
|
+
}
|
|
296
378
|
}
|
|
297
379
|
},
|
|
298
380
|
[ChatConfiguration.AutoApproveEdits]: {
|
|
299
381
|
default: {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
382
|
+
"**/*": true,
|
|
383
|
+
"**/.vscode/*.json": false,
|
|
384
|
+
"**/.git/**": false,
|
|
385
|
+
"**/{package.json,server.xml,build.rs,web.config,.gitattributes,.env}": false,
|
|
386
|
+
"**/*.{code-workspace,csproj,fsproj,vbproj,vcxproj,proj,targets,props}": false,
|
|
387
|
+
"**/*.lock": false,
|
|
388
|
+
"**/*-lock.{yaml,json}": false
|
|
305
389
|
},
|
|
306
390
|
markdownDescription: ( localize(
|
|
307
|
-
|
|
391
|
+
5157,
|
|
308
392
|
"Controls whether edits made by chat are automatically approved. The default is to approve all edits except those made to certain files which have the potential to cause immediate unintended side-effects, such as `**/.vscode/*.json`.\n\nSet to `true` to automatically approve edits to matching files, `false` to always require explicit approval. The last pattern matching a given file will determine whether the edit is automatically approved."
|
|
309
393
|
)),
|
|
310
|
-
type:
|
|
394
|
+
type: "object",
|
|
311
395
|
additionalProperties: {
|
|
312
|
-
type:
|
|
396
|
+
type: "boolean"
|
|
313
397
|
}
|
|
314
398
|
},
|
|
315
399
|
[ChatConfiguration.AutoApprovedUrls]: {
|
|
316
400
|
default: {},
|
|
317
401
|
markdownDescription: ( localize(
|
|
318
|
-
|
|
402
|
+
5158,
|
|
319
403
|
"Controls which URLs are automatically approved when requested by chat tools. Keys are URL patterns and values can be `true` to approve both requests and responses, `false` to deny, or an object with `approveRequest` and `approveResponse` properties for granular control.\n\nExamples:\n- `\"https://example.com\": true` - Approve all requests to example.com\n- `\"https://*.example.com\": true` - Approve all requests to any subdomain of example.com\n- `\"https://example.com/api/*\": { \"approveRequest\": true, \"approveResponse\": false }` - Approve requests but not responses for example.com/api paths"
|
|
320
404
|
)),
|
|
321
|
-
type:
|
|
405
|
+
type: "object",
|
|
322
406
|
additionalProperties: {
|
|
323
|
-
oneOf: [
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
407
|
+
oneOf: [{
|
|
408
|
+
type: "boolean"
|
|
409
|
+
}, {
|
|
410
|
+
type: "object",
|
|
411
|
+
properties: {
|
|
412
|
+
approveRequest: {
|
|
413
|
+
type: "boolean"
|
|
414
|
+
},
|
|
415
|
+
approveResponse: {
|
|
416
|
+
type: "boolean"
|
|
330
417
|
}
|
|
331
418
|
}
|
|
332
|
-
]
|
|
419
|
+
}]
|
|
333
420
|
}
|
|
334
421
|
},
|
|
335
422
|
[ChatConfiguration.EligibleForAutoApproval]: {
|
|
336
423
|
default: {},
|
|
337
424
|
markdownDescription: ( localize(
|
|
338
|
-
|
|
339
|
-
|
|
425
|
+
5159,
|
|
426
|
+
"Controls which tools are eligible for automatic approval. Tools set to 'false' will always present a confirmation and will never offer the option to auto-approve. The default behavior (or setting a tool to 'true') may result in the tool offering auto-approval options."
|
|
340
427
|
)),
|
|
341
|
-
type:
|
|
428
|
+
type: "object",
|
|
342
429
|
propertyNames: {
|
|
343
430
|
enum: toolReferenceNameEnumValues,
|
|
344
|
-
enumDescriptions: toolReferenceNameEnumDescriptions
|
|
431
|
+
enumDescriptions: toolReferenceNameEnumDescriptions
|
|
345
432
|
},
|
|
346
433
|
additionalProperties: {
|
|
347
|
-
type:
|
|
434
|
+
type: "boolean"
|
|
348
435
|
},
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
'runTask': false
|
|
354
|
-
}
|
|
355
|
-
],
|
|
436
|
+
examples: [{
|
|
437
|
+
"fetch": false,
|
|
438
|
+
"runTask": false
|
|
439
|
+
}],
|
|
356
440
|
policy: {
|
|
357
|
-
name:
|
|
441
|
+
name: "ChatToolsEligibleForAutoApproval",
|
|
358
442
|
category: PolicyCategory.InteractiveSession,
|
|
359
|
-
minimumVersion:
|
|
443
|
+
minimumVersion: "1.107",
|
|
360
444
|
localization: {
|
|
361
445
|
description: {
|
|
362
|
-
key:
|
|
446
|
+
key: "chat.tools.eligibleForAutoApproval",
|
|
363
447
|
value: ( localize(
|
|
364
|
-
|
|
365
|
-
|
|
448
|
+
5159,
|
|
449
|
+
"Controls which tools are eligible for automatic approval. Tools set to 'false' will always present a confirmation and will never offer the option to auto-approve. The default behavior (or setting a tool to 'true') may result in the tool offering auto-approval options."
|
|
366
450
|
))
|
|
367
451
|
}
|
|
368
|
-
}
|
|
452
|
+
}
|
|
369
453
|
}
|
|
370
454
|
},
|
|
371
|
-
|
|
372
|
-
type: 'boolean',
|
|
373
|
-
description: ( localize(
|
|
374
|
-
5020,
|
|
375
|
-
"Controls whether background throttling is suspended when a chat request is in progress, allowing the chat session to continue even when the window is not in focus."
|
|
376
|
-
)),
|
|
377
|
-
default: true,
|
|
378
|
-
tags: ['preview']
|
|
379
|
-
},
|
|
380
|
-
'chat.sendElementsToChat.enabled': {
|
|
455
|
+
"chat.sendElementsToChat.enabled": {
|
|
381
456
|
default: true,
|
|
382
457
|
description: ( localize(
|
|
383
|
-
|
|
458
|
+
5160,
|
|
384
459
|
"Controls whether elements can be sent to chat from the Simple Browser."
|
|
385
460
|
)),
|
|
386
|
-
type:
|
|
387
|
-
tags: [
|
|
461
|
+
type: "boolean",
|
|
462
|
+
tags: ["preview"]
|
|
388
463
|
},
|
|
389
|
-
|
|
464
|
+
"chat.sendElementsToChat.attachCSS": {
|
|
390
465
|
default: true,
|
|
391
466
|
markdownDescription: ( localize(
|
|
392
|
-
|
|
467
|
+
5161,
|
|
393
468
|
"Controls whether CSS of the selected element will be added to the chat. {0} must be enabled.",
|
|
394
|
-
|
|
469
|
+
"`#chat.sendElementsToChat.enabled#`"
|
|
395
470
|
)),
|
|
396
|
-
type:
|
|
397
|
-
tags: [
|
|
471
|
+
type: "boolean",
|
|
472
|
+
tags: ["preview"]
|
|
398
473
|
},
|
|
399
|
-
|
|
474
|
+
"chat.sendElementsToChat.attachImages": {
|
|
400
475
|
default: true,
|
|
401
476
|
markdownDescription: ( localize(
|
|
402
|
-
|
|
477
|
+
5162,
|
|
403
478
|
"Controls whether a screenshot of the selected element will be added to the chat. {0} must be enabled.",
|
|
404
|
-
|
|
479
|
+
"`#chat.sendElementsToChat.enabled#`"
|
|
405
480
|
)),
|
|
406
|
-
type:
|
|
407
|
-
tags: [
|
|
481
|
+
type: "boolean",
|
|
482
|
+
tags: ["experimental"]
|
|
408
483
|
},
|
|
409
|
-
|
|
484
|
+
"chat.undoRequests.restoreInput": {
|
|
410
485
|
default: true,
|
|
411
486
|
markdownDescription: ( localize(
|
|
412
|
-
|
|
487
|
+
5163,
|
|
413
488
|
"Controls whether the input of the chat should be restored when an undo request is made. The input will be filled with the text of the request that was restored."
|
|
414
489
|
)),
|
|
415
|
-
type:
|
|
490
|
+
type: "boolean"
|
|
416
491
|
},
|
|
417
|
-
|
|
492
|
+
"chat.editRequests": {
|
|
418
493
|
markdownDescription: ( localize(
|
|
419
|
-
|
|
494
|
+
5164,
|
|
420
495
|
"Enables editing of requests in the chat. This allows you to change the request content and resubmit it to the model."
|
|
421
496
|
)),
|
|
422
|
-
type:
|
|
423
|
-
enum: [
|
|
424
|
-
default:
|
|
425
|
-
},
|
|
426
|
-
[ChatConfiguration.ChatViewWelcomeEnabled]: {
|
|
427
|
-
type: 'boolean',
|
|
428
|
-
default: true,
|
|
429
|
-
description: ( localize(5026, "Show welcome banner when chat is empty.")),
|
|
497
|
+
type: "string",
|
|
498
|
+
enum: ["inline", "hover", "input", "none"],
|
|
499
|
+
default: "inline"
|
|
430
500
|
},
|
|
431
501
|
[ChatConfiguration.ChatViewSessionsEnabled]: {
|
|
432
|
-
type:
|
|
502
|
+
type: "boolean",
|
|
433
503
|
default: true,
|
|
434
504
|
description: ( localize(
|
|
435
|
-
|
|
505
|
+
5165,
|
|
436
506
|
"Show chat agent sessions when chat is empty or to the side when chat view is wide enough."
|
|
437
|
-
))
|
|
507
|
+
))
|
|
438
508
|
},
|
|
439
509
|
[ChatConfiguration.ChatViewSessionsOrientation]: {
|
|
440
|
-
type:
|
|
441
|
-
enum: [
|
|
442
|
-
enumDescriptions: [
|
|
443
|
-
|
|
444
|
-
5028,
|
|
510
|
+
type: "string",
|
|
511
|
+
enum: ["stacked", "sideBySide"],
|
|
512
|
+
enumDescriptions: [( localize(
|
|
513
|
+
5166,
|
|
445
514
|
"Display chat sessions vertically stacked above the chat input unless a chat session is visible."
|
|
446
|
-
)),
|
|
447
|
-
|
|
448
|
-
5029,
|
|
515
|
+
)), ( localize(
|
|
516
|
+
5167,
|
|
449
517
|
"Display chat sessions side by side if space is sufficient, otherwise fallback to stacked above the chat input unless a chat session is visible."
|
|
450
|
-
))
|
|
451
|
-
|
|
452
|
-
default: 'sideBySide',
|
|
518
|
+
))],
|
|
519
|
+
default: "sideBySide",
|
|
453
520
|
description: ( localize(
|
|
454
|
-
|
|
521
|
+
5168,
|
|
455
522
|
"Controls the orientation of the chat agent sessions view when it is shown alongside the chat."
|
|
456
|
-
))
|
|
523
|
+
))
|
|
457
524
|
},
|
|
458
|
-
[ChatConfiguration.
|
|
459
|
-
type:
|
|
460
|
-
default:
|
|
461
|
-
description: ( localize(
|
|
525
|
+
[ChatConfiguration.ChatViewProgressBadgeEnabled]: {
|
|
526
|
+
type: "boolean",
|
|
527
|
+
default: false,
|
|
528
|
+
description: ( localize(
|
|
529
|
+
5169,
|
|
530
|
+
"Show a progress badge on the chat view when an agent session is in progress that is opened in that view."
|
|
531
|
+
))
|
|
462
532
|
},
|
|
463
533
|
[ChatConfiguration.NotifyWindowOnResponseReceived]: {
|
|
464
|
-
type:
|
|
534
|
+
type: "boolean",
|
|
465
535
|
default: true,
|
|
466
536
|
description: ( localize(
|
|
467
|
-
|
|
537
|
+
5170,
|
|
468
538
|
"Controls whether a chat session should present the user with an OS notification when a response is received while the window is not in focus. This includes a window badge as well as notification toast."
|
|
469
|
-
))
|
|
539
|
+
))
|
|
470
540
|
},
|
|
471
|
-
|
|
472
|
-
type:
|
|
541
|
+
"chat.checkpoints.enabled": {
|
|
542
|
+
type: "boolean",
|
|
473
543
|
default: true,
|
|
474
544
|
description: ( localize(
|
|
475
|
-
|
|
545
|
+
5171,
|
|
476
546
|
"Enables checkpoints in chat. Checkpoints allow you to restore the chat to a previous state."
|
|
477
|
-
))
|
|
547
|
+
))
|
|
478
548
|
},
|
|
479
|
-
|
|
480
|
-
type:
|
|
481
|
-
description: ( localize(
|
|
549
|
+
"chat.checkpoints.showFileChanges": {
|
|
550
|
+
type: "boolean",
|
|
551
|
+
description: ( localize(5172, "Controls whether to show chat checkpoint file changes.")),
|
|
482
552
|
default: false
|
|
483
553
|
},
|
|
484
554
|
[mcpAccessConfig]: {
|
|
485
|
-
type:
|
|
486
|
-
description: ( localize(
|
|
487
|
-
enum: [
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
McpAccessValue.All
|
|
491
|
-
],
|
|
492
|
-
enumDescriptions: [
|
|
493
|
-
( localize(5036, "No access to MCP servers.")),
|
|
494
|
-
( localize(
|
|
495
|
-
5037,
|
|
555
|
+
type: "string",
|
|
556
|
+
description: ( localize(5173, "Controls access to installed Model Context Protocol servers.")),
|
|
557
|
+
enum: [McpAccessValue.None, McpAccessValue.Registry, McpAccessValue.All],
|
|
558
|
+
enumDescriptions: [( localize(5174, "No access to MCP servers.")), ( localize(
|
|
559
|
+
5175,
|
|
496
560
|
"Allows access to MCP servers installed from the registry that VS Code is connected to."
|
|
497
|
-
)),
|
|
498
|
-
( localize(5038, "Allow access to any installed MCP server."))
|
|
499
|
-
],
|
|
561
|
+
)), ( localize(5176, "Allow access to any installed MCP server."))],
|
|
500
562
|
default: McpAccessValue.All,
|
|
501
563
|
policy: {
|
|
502
|
-
name:
|
|
564
|
+
name: "ChatMCP",
|
|
503
565
|
category: PolicyCategory.InteractiveSession,
|
|
504
|
-
minimumVersion:
|
|
505
|
-
value:
|
|
506
|
-
if (
|
|
566
|
+
minimumVersion: "1.99",
|
|
567
|
+
value: policyData => {
|
|
568
|
+
if (policyData.mcp === false) {
|
|
507
569
|
return McpAccessValue.None;
|
|
508
570
|
}
|
|
509
|
-
if (
|
|
571
|
+
if (policyData.mcpAccess === "registry_only") {
|
|
510
572
|
return McpAccessValue.Registry;
|
|
511
573
|
}
|
|
512
574
|
return undefined;
|
|
513
575
|
},
|
|
514
576
|
localization: {
|
|
515
577
|
description: {
|
|
516
|
-
key:
|
|
517
|
-
value: ( localize(
|
|
578
|
+
key: "chat.mcp.access",
|
|
579
|
+
value: ( localize(5173, "Controls access to installed Model Context Protocol servers."))
|
|
518
580
|
},
|
|
519
|
-
enumDescriptions: [
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
581
|
+
enumDescriptions: [{
|
|
582
|
+
key: "chat.mcp.access.none",
|
|
583
|
+
value: ( localize(5174, "No access to MCP servers."))
|
|
584
|
+
}, {
|
|
585
|
+
key: "chat.mcp.access.registry",
|
|
586
|
+
value: ( localize(
|
|
587
|
+
5175,
|
|
526
588
|
"Allows access to MCP servers installed from the registry that VS Code is connected to."
|
|
527
|
-
))
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
},
|
|
589
|
+
))
|
|
590
|
+
}, {
|
|
591
|
+
key: "chat.mcp.access.any",
|
|
592
|
+
value: ( localize(5176, "Allow access to any installed MCP server."))
|
|
593
|
+
}]
|
|
594
|
+
}
|
|
534
595
|
}
|
|
535
596
|
},
|
|
536
597
|
[mcpAutoStartConfig]: {
|
|
537
|
-
type:
|
|
598
|
+
type: "string",
|
|
538
599
|
description: ( localize(
|
|
539
|
-
|
|
600
|
+
5177,
|
|
540
601
|
"Controls whether MCP servers should be automatically started when the chat messages are submitted."
|
|
541
602
|
)),
|
|
542
603
|
default: McpAutoStartValue.NewAndOutdated,
|
|
@@ -545,500 +606,650 @@ configurationRegistry.registerConfiguration({
|
|
|
545
606
|
McpAutoStartValue.OnlyNew,
|
|
546
607
|
McpAutoStartValue.NewAndOutdated
|
|
547
608
|
],
|
|
548
|
-
enumDescriptions: [
|
|
549
|
-
|
|
550
|
-
( localize(5041, "Only automatically start new MCP servers that have never been run.")),
|
|
551
|
-
( localize(
|
|
552
|
-
5042,
|
|
609
|
+
enumDescriptions: [( localize(5178, "Never automatically start MCP servers.")), ( localize(5179, "Only automatically start new MCP servers that have never been run.")), ( localize(
|
|
610
|
+
5180,
|
|
553
611
|
"Automatically start new and outdated MCP servers that are not yet running."
|
|
554
|
-
))
|
|
555
|
-
]
|
|
556
|
-
|
|
612
|
+
))],
|
|
613
|
+
tags: ["experimental"]
|
|
614
|
+
},
|
|
615
|
+
[mcpAppsEnabledConfig]: {
|
|
616
|
+
type: "boolean",
|
|
617
|
+
description: ( localize(
|
|
618
|
+
5181,
|
|
619
|
+
"Controls whether MCP servers can provide custom UI for tool invocations."
|
|
620
|
+
)),
|
|
621
|
+
default: true,
|
|
622
|
+
tags: ["experimental"]
|
|
557
623
|
},
|
|
558
624
|
[mcpServerSamplingSection]: {
|
|
559
|
-
type:
|
|
625
|
+
type: "object",
|
|
560
626
|
description: ( localize(
|
|
561
|
-
|
|
627
|
+
5182,
|
|
562
628
|
"Configures which models are exposed to MCP servers for sampling (making model requests in the background). This setting can be edited in a graphical way under the `{0}` command.",
|
|
563
|
-
|
|
629
|
+
"MCP: " + ( localize(5183, "List Servers"))
|
|
564
630
|
)),
|
|
565
631
|
scope: ConfigurationScope.RESOURCE,
|
|
566
632
|
additionalProperties: {
|
|
567
|
-
type:
|
|
633
|
+
type: "object",
|
|
568
634
|
properties: {
|
|
569
635
|
allowedDuringChat: {
|
|
570
|
-
type:
|
|
636
|
+
type: "boolean",
|
|
571
637
|
description: ( localize(
|
|
572
|
-
|
|
638
|
+
5184,
|
|
573
639
|
"Whether this server is make sampling requests during its tool calls in a chat session."
|
|
574
640
|
)),
|
|
575
|
-
default: true
|
|
641
|
+
default: true
|
|
576
642
|
},
|
|
577
643
|
allowedOutsideChat: {
|
|
578
|
-
type:
|
|
644
|
+
type: "boolean",
|
|
579
645
|
description: ( localize(
|
|
580
|
-
|
|
646
|
+
5185,
|
|
581
647
|
"Whether this server is allowed to make sampling requests outside of a chat session."
|
|
582
648
|
)),
|
|
583
|
-
default: false
|
|
649
|
+
default: false
|
|
584
650
|
},
|
|
585
651
|
allowedModels: {
|
|
586
|
-
type:
|
|
652
|
+
type: "array",
|
|
587
653
|
items: {
|
|
588
|
-
type:
|
|
589
|
-
description: ( localize(
|
|
590
|
-
}
|
|
654
|
+
type: "string",
|
|
655
|
+
description: ( localize(5186, "A model the MCP server has access to."))
|
|
656
|
+
}
|
|
591
657
|
}
|
|
592
658
|
}
|
|
593
|
-
}
|
|
659
|
+
}
|
|
594
660
|
},
|
|
595
661
|
[AssistedTypes[AddConfigurationType.NuGetPackage].enabledConfigKey]: {
|
|
596
|
-
type:
|
|
662
|
+
type: "boolean",
|
|
597
663
|
description: ( localize(
|
|
598
|
-
|
|
664
|
+
5187,
|
|
599
665
|
"Enables NuGet packages for AI-assisted MCP server installation. Used to install MCP servers by name from the central registry for .NET packages (NuGet.org)."
|
|
600
666
|
)),
|
|
601
667
|
default: false,
|
|
602
|
-
tags: [
|
|
668
|
+
tags: ["experimental"],
|
|
603
669
|
experiment: {
|
|
604
|
-
mode:
|
|
670
|
+
mode: "startup"
|
|
605
671
|
}
|
|
606
672
|
},
|
|
607
673
|
[ChatConfiguration.Edits2Enabled]: {
|
|
608
|
-
type:
|
|
674
|
+
type: "boolean",
|
|
609
675
|
description: ( localize(
|
|
610
|
-
|
|
676
|
+
5188,
|
|
611
677
|
"Enable the new Edits mode that is based on tool-calling. When this is enabled, models that don't support tool-calling are unavailable for Edits mode."
|
|
612
678
|
)),
|
|
613
|
-
default: false
|
|
679
|
+
default: false
|
|
614
680
|
},
|
|
615
681
|
[ChatConfiguration.ExtensionToolsEnabled]: {
|
|
616
|
-
type:
|
|
617
|
-
description: ( localize(
|
|
682
|
+
type: "boolean",
|
|
683
|
+
description: ( localize(5189, "Enable using tools contributed by third-party extensions.")),
|
|
618
684
|
default: true,
|
|
619
685
|
policy: {
|
|
620
|
-
name:
|
|
686
|
+
name: "ChatAgentExtensionTools",
|
|
621
687
|
category: PolicyCategory.InteractiveSession,
|
|
622
|
-
minimumVersion:
|
|
688
|
+
minimumVersion: "1.99",
|
|
623
689
|
localization: {
|
|
624
690
|
description: {
|
|
625
|
-
key:
|
|
626
|
-
value: ( localize(
|
|
691
|
+
key: "chat.extensionToolsEnabled",
|
|
692
|
+
value: ( localize(5189, "Enable using tools contributed by third-party extensions."))
|
|
627
693
|
}
|
|
628
|
-
}
|
|
694
|
+
}
|
|
629
695
|
}
|
|
630
696
|
},
|
|
631
697
|
[ChatConfiguration.AgentEnabled]: {
|
|
632
|
-
type:
|
|
698
|
+
type: "boolean",
|
|
633
699
|
description: ( localize(
|
|
634
|
-
|
|
700
|
+
5190,
|
|
635
701
|
"When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
|
|
636
702
|
)),
|
|
637
703
|
default: true,
|
|
638
704
|
policy: {
|
|
639
|
-
name:
|
|
705
|
+
name: "ChatAgentMode",
|
|
640
706
|
category: PolicyCategory.InteractiveSession,
|
|
641
|
-
minimumVersion:
|
|
642
|
-
value:
|
|
707
|
+
minimumVersion: "1.99",
|
|
708
|
+
value: policyData => policyData.chat_agent_enabled === false ? false : undefined,
|
|
643
709
|
localization: {
|
|
644
710
|
description: {
|
|
645
|
-
key:
|
|
711
|
+
key: "chat.agent.enabled.description",
|
|
646
712
|
value: ( localize(
|
|
647
|
-
|
|
713
|
+
5190,
|
|
648
714
|
"When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
|
|
649
|
-
))
|
|
715
|
+
))
|
|
650
716
|
}
|
|
651
717
|
}
|
|
652
718
|
}
|
|
653
719
|
},
|
|
720
|
+
[ChatConfiguration.EditModeHidden]: {
|
|
721
|
+
type: "boolean",
|
|
722
|
+
description: ( localize(5191, "When enabled, hides the Edit mode from the chat mode picker.")),
|
|
723
|
+
default: false,
|
|
724
|
+
tags: ["experimental"],
|
|
725
|
+
experiment: {
|
|
726
|
+
mode: "auto"
|
|
727
|
+
}
|
|
728
|
+
},
|
|
729
|
+
[ChatConfiguration.AlternativeToolAction]: {
|
|
730
|
+
type: "boolean",
|
|
731
|
+
description: ( localize(
|
|
732
|
+
5192,
|
|
733
|
+
"When enabled, shows the Configure Tools action in the mode picker dropdown on hover instead of in the chat input."
|
|
734
|
+
)),
|
|
735
|
+
default: false,
|
|
736
|
+
tags: ["experimental"],
|
|
737
|
+
experiment: {
|
|
738
|
+
mode: "auto"
|
|
739
|
+
}
|
|
740
|
+
},
|
|
654
741
|
[ChatConfiguration.EnableMath]: {
|
|
655
|
-
type:
|
|
656
|
-
description: ( localize(
|
|
657
|
-
default: true
|
|
658
|
-
tags: ['preview'],
|
|
742
|
+
type: "boolean",
|
|
743
|
+
description: ( localize(5193, "Enable math rendering in chat responses using KaTeX.")),
|
|
744
|
+
default: true
|
|
659
745
|
},
|
|
660
746
|
[ChatConfiguration.ShowCodeBlockProgressAnimation]: {
|
|
661
|
-
type:
|
|
747
|
+
type: "boolean",
|
|
662
748
|
description: ( localize(
|
|
663
|
-
|
|
749
|
+
5194,
|
|
664
750
|
"When applying edits, show a progress animation in the code block pill. If disabled, shows the progress percentage instead."
|
|
665
751
|
)),
|
|
666
752
|
default: true,
|
|
667
|
-
tags: [
|
|
668
|
-
},
|
|
669
|
-
[
|
|
670
|
-
type:
|
|
671
|
-
enum: [
|
|
672
|
-
enumDescriptions: [
|
|
673
|
-
( localize(5054, "Show status widget for free tier users.")),
|
|
674
|
-
( localize(5055, "Show status widget for anonymous users."))
|
|
675
|
-
],
|
|
753
|
+
tags: ["experimental"]
|
|
754
|
+
},
|
|
755
|
+
["chat.statusWidget.sku"]: {
|
|
756
|
+
type: "string",
|
|
757
|
+
enum: ["free", "anonymous"],
|
|
758
|
+
enumDescriptions: [( localize(5195, "Show status widget for free tier users.")), ( localize(5196, "Show status widget for anonymous users."))],
|
|
676
759
|
description: ( localize(
|
|
677
|
-
|
|
760
|
+
5197,
|
|
678
761
|
"Controls which user type should see the status widget in new chat sessions when quota is exceeded."
|
|
679
762
|
)),
|
|
680
763
|
default: undefined,
|
|
681
|
-
tags: [
|
|
764
|
+
tags: ["experimental", "advanced"],
|
|
682
765
|
experiment: {
|
|
683
|
-
mode:
|
|
766
|
+
mode: "auto"
|
|
684
767
|
}
|
|
685
768
|
},
|
|
686
769
|
[mcpDiscoverySection]: {
|
|
687
|
-
type:
|
|
688
|
-
properties: Object.fromEntries(( allDiscoverySources.map(
|
|
689
|
-
|
|
690
|
-
|
|
770
|
+
type: "object",
|
|
771
|
+
properties: Object.fromEntries(( allDiscoverySources.map(k => [k, {
|
|
772
|
+
type: "boolean",
|
|
773
|
+
description: discoverySourceSettingsLabel[k]
|
|
774
|
+
}]))),
|
|
691
775
|
additionalProperties: false,
|
|
692
776
|
default: Object.fromEntries(( allDiscoverySources.map(k => [k, false]))),
|
|
693
777
|
markdownDescription: ( localize(
|
|
694
|
-
|
|
778
|
+
5198,
|
|
695
779
|
"Configures discovery of Model Context Protocol servers from configuration from various other applications."
|
|
696
|
-
))
|
|
780
|
+
))
|
|
697
781
|
},
|
|
698
782
|
[mcpGalleryServiceEnablementConfig]: {
|
|
699
|
-
type:
|
|
783
|
+
type: "boolean",
|
|
700
784
|
default: false,
|
|
701
|
-
tags: [
|
|
785
|
+
tags: ["preview"],
|
|
702
786
|
description: ( localize(
|
|
703
|
-
|
|
787
|
+
5199,
|
|
704
788
|
"Enables the default Marketplace for Model Context Protocol (MCP) servers."
|
|
705
789
|
)),
|
|
706
|
-
included: product.quality ===
|
|
790
|
+
included: product.quality === "stable"
|
|
707
791
|
},
|
|
708
792
|
[mcpGalleryServiceUrlConfig]: {
|
|
709
|
-
type:
|
|
710
|
-
description: ( localize(
|
|
711
|
-
default:
|
|
793
|
+
type: "string",
|
|
794
|
+
description: ( localize(5200, "Configure the MCP Gallery service URL to connect to")),
|
|
795
|
+
default: "",
|
|
712
796
|
scope: ConfigurationScope.APPLICATION,
|
|
713
|
-
tags: [
|
|
797
|
+
tags: ["usesOnlineServices", "advanced"],
|
|
714
798
|
included: false,
|
|
715
799
|
policy: {
|
|
716
|
-
name:
|
|
800
|
+
name: "McpGalleryServiceUrl",
|
|
717
801
|
category: PolicyCategory.InteractiveSession,
|
|
718
|
-
minimumVersion:
|
|
719
|
-
value:
|
|
802
|
+
minimumVersion: "1.101",
|
|
803
|
+
value: policyData => policyData.mcpRegistryUrl,
|
|
720
804
|
localization: {
|
|
721
805
|
description: {
|
|
722
|
-
key:
|
|
723
|
-
value: ( localize(
|
|
806
|
+
key: "mcp.gallery.serviceUrl",
|
|
807
|
+
value: ( localize(5200, "Configure the MCP Gallery service URL to connect to"))
|
|
724
808
|
}
|
|
725
809
|
}
|
|
726
|
-
}
|
|
810
|
+
}
|
|
727
811
|
},
|
|
728
812
|
[PromptsConfig.INSTRUCTIONS_LOCATION_KEY]: {
|
|
729
|
-
type:
|
|
730
|
-
title: ( localize(
|
|
813
|
+
type: "object",
|
|
814
|
+
title: ( localize(5201, "Instructions File Locations")),
|
|
731
815
|
markdownDescription: ( localize(
|
|
732
|
-
|
|
816
|
+
5202,
|
|
733
817
|
"Specify location(s) of instructions files (`*{0}`) that can be attached in Chat sessions. [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
|
|
734
818
|
INSTRUCTION_FILE_EXTENSION,
|
|
735
819
|
INSTRUCTIONS_DOCUMENTATION_URL
|
|
736
820
|
)),
|
|
737
821
|
default: {
|
|
738
|
-
[INSTRUCTIONS_DEFAULT_SOURCE_FOLDER]: true
|
|
822
|
+
[INSTRUCTIONS_DEFAULT_SOURCE_FOLDER]: true
|
|
823
|
+
},
|
|
824
|
+
additionalProperties: {
|
|
825
|
+
type: "boolean"
|
|
826
|
+
},
|
|
827
|
+
propertyNames: {
|
|
828
|
+
pattern: VALID_PROMPT_FOLDER_PATTERN,
|
|
829
|
+
patternErrorMessage: ( localize(
|
|
830
|
+
5203,
|
|
831
|
+
"Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported. Glob patterns are deprecated and will be removed in future versions."
|
|
832
|
+
))
|
|
739
833
|
},
|
|
740
|
-
additionalProperties: { type: 'boolean' },
|
|
741
834
|
restricted: true,
|
|
742
|
-
tags: [
|
|
743
|
-
examples: [
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
'/Users/vscode/repos/instructions': true,
|
|
750
|
-
},
|
|
751
|
-
],
|
|
835
|
+
tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"],
|
|
836
|
+
examples: [{
|
|
837
|
+
[INSTRUCTIONS_DEFAULT_SOURCE_FOLDER]: true
|
|
838
|
+
}, {
|
|
839
|
+
[INSTRUCTIONS_DEFAULT_SOURCE_FOLDER]: true,
|
|
840
|
+
"/Users/vscode/repos/instructions": true
|
|
841
|
+
}]
|
|
752
842
|
},
|
|
753
843
|
[PromptsConfig.PROMPT_LOCATIONS_KEY]: {
|
|
754
|
-
type:
|
|
755
|
-
title: ( localize(
|
|
844
|
+
type: "object",
|
|
845
|
+
title: ( localize(5204, "Prompt File Locations")),
|
|
756
846
|
markdownDescription: ( localize(
|
|
757
|
-
|
|
847
|
+
5205,
|
|
758
848
|
"Specify location(s) of reusable prompt files (`*{0}`) that can be run in Chat sessions. [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
|
|
759
849
|
PROMPT_FILE_EXTENSION,
|
|
760
850
|
PROMPT_DOCUMENTATION_URL
|
|
761
851
|
)),
|
|
762
852
|
default: {
|
|
763
|
-
[PROMPT_DEFAULT_SOURCE_FOLDER]: true
|
|
853
|
+
[PROMPT_DEFAULT_SOURCE_FOLDER]: true
|
|
854
|
+
},
|
|
855
|
+
additionalProperties: {
|
|
856
|
+
type: "boolean"
|
|
857
|
+
},
|
|
858
|
+
unevaluatedProperties: {
|
|
859
|
+
type: "boolean"
|
|
860
|
+
},
|
|
861
|
+
propertyNames: {
|
|
862
|
+
pattern: VALID_PROMPT_FOLDER_PATTERN,
|
|
863
|
+
patternErrorMessage: ( localize(
|
|
864
|
+
5206,
|
|
865
|
+
"Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported. Glob patterns are deprecated and will be removed in future versions."
|
|
866
|
+
))
|
|
764
867
|
},
|
|
765
|
-
additionalProperties: { type: 'boolean' },
|
|
766
|
-
unevaluatedProperties: { type: 'boolean' },
|
|
767
868
|
restricted: true,
|
|
768
|
-
tags: [
|
|
769
|
-
examples: [
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
'/Users/vscode/repos/prompts': true,
|
|
776
|
-
},
|
|
777
|
-
],
|
|
869
|
+
tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"],
|
|
870
|
+
examples: [{
|
|
871
|
+
[PROMPT_DEFAULT_SOURCE_FOLDER]: true
|
|
872
|
+
}, {
|
|
873
|
+
[PROMPT_DEFAULT_SOURCE_FOLDER]: true,
|
|
874
|
+
"/Users/vscode/repos/prompts": true
|
|
875
|
+
}]
|
|
778
876
|
},
|
|
779
877
|
[PromptsConfig.MODE_LOCATION_KEY]: {
|
|
780
|
-
type:
|
|
781
|
-
title: ( localize(
|
|
878
|
+
type: "object",
|
|
879
|
+
title: ( localize(5207, "Mode File Locations")),
|
|
782
880
|
markdownDescription: ( localize(
|
|
783
|
-
|
|
881
|
+
5208,
|
|
784
882
|
"Specify location(s) of custom chat mode files (`*{0}`). [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
|
|
785
883
|
LEGACY_MODE_FILE_EXTENSION,
|
|
786
884
|
AGENT_DOCUMENTATION_URL
|
|
787
885
|
)),
|
|
788
886
|
default: {
|
|
789
|
-
[LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true
|
|
887
|
+
[LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true
|
|
790
888
|
},
|
|
791
889
|
deprecationMessage: ( localize(
|
|
792
|
-
|
|
890
|
+
5209,
|
|
793
891
|
"This setting is deprecated and will be removed in future releases. Chat modes are now called custom agents and are located in `.github/agents`"
|
|
794
892
|
)),
|
|
795
|
-
additionalProperties: {
|
|
796
|
-
|
|
893
|
+
additionalProperties: {
|
|
894
|
+
type: "boolean"
|
|
895
|
+
},
|
|
896
|
+
unevaluatedProperties: {
|
|
897
|
+
type: "boolean"
|
|
898
|
+
},
|
|
797
899
|
restricted: true,
|
|
798
|
-
tags: [
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
[LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true,
|
|
805
|
-
'/Users/vscode/repos/chatmodes': true,
|
|
806
|
-
},
|
|
900
|
+
tags: [
|
|
901
|
+
"experimental",
|
|
902
|
+
"prompts",
|
|
903
|
+
"reusable prompts",
|
|
904
|
+
"prompt snippets",
|
|
905
|
+
"instructions"
|
|
807
906
|
],
|
|
907
|
+
examples: [{
|
|
908
|
+
[LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true
|
|
909
|
+
}, {
|
|
910
|
+
[LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true,
|
|
911
|
+
"/Users/vscode/repos/chatmodes": true
|
|
912
|
+
}]
|
|
913
|
+
},
|
|
914
|
+
[PromptsConfig.AGENTS_LOCATION_KEY]: {
|
|
915
|
+
type: "object",
|
|
916
|
+
title: ( localize(5210, "Agent File Locations")),
|
|
917
|
+
markdownDescription: ( localize(
|
|
918
|
+
5211,
|
|
919
|
+
"Specify location(s) of custom agent files (`*{0}`). [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
|
|
920
|
+
AGENT_FILE_EXTENSION,
|
|
921
|
+
AGENT_DOCUMENTATION_URL
|
|
922
|
+
)),
|
|
923
|
+
default: {
|
|
924
|
+
[AGENTS_SOURCE_FOLDER]: true
|
|
925
|
+
},
|
|
926
|
+
additionalProperties: {
|
|
927
|
+
type: "boolean"
|
|
928
|
+
},
|
|
929
|
+
propertyNames: {
|
|
930
|
+
pattern: VALID_PROMPT_FOLDER_PATTERN,
|
|
931
|
+
patternErrorMessage: ( localize(
|
|
932
|
+
5212,
|
|
933
|
+
"Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
|
|
934
|
+
))
|
|
935
|
+
},
|
|
936
|
+
restricted: true,
|
|
937
|
+
tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"],
|
|
938
|
+
examples: [{
|
|
939
|
+
[AGENTS_SOURCE_FOLDER]: true
|
|
940
|
+
}, {
|
|
941
|
+
[AGENTS_SOURCE_FOLDER]: true,
|
|
942
|
+
"my-agents": true,
|
|
943
|
+
"../shared-agents": true,
|
|
944
|
+
"~/.copilot/agents": true
|
|
945
|
+
}]
|
|
808
946
|
},
|
|
809
947
|
[PromptsConfig.USE_AGENT_MD]: {
|
|
810
|
-
type:
|
|
811
|
-
title: ( localize(
|
|
948
|
+
type: "boolean",
|
|
949
|
+
title: ( localize(5213, "Use AGENTS.md file")),
|
|
812
950
|
markdownDescription: ( localize(
|
|
813
|
-
|
|
951
|
+
5214,
|
|
814
952
|
"Controls whether instructions from `AGENTS.md` file found in a workspace roots are attached to all chat requests."
|
|
815
953
|
)),
|
|
816
954
|
default: true,
|
|
817
955
|
restricted: true,
|
|
818
956
|
disallowConfigurationDefault: true,
|
|
819
|
-
tags: [
|
|
957
|
+
tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"]
|
|
820
958
|
},
|
|
821
959
|
[PromptsConfig.USE_NESTED_AGENT_MD]: {
|
|
822
|
-
type:
|
|
823
|
-
title: ( localize(
|
|
960
|
+
type: "boolean",
|
|
961
|
+
title: ( localize(5215, "Use nested AGENTS.md files")),
|
|
824
962
|
markdownDescription: ( localize(
|
|
825
|
-
|
|
963
|
+
5216,
|
|
826
964
|
"Controls whether instructions from nested `AGENTS.md` files found in the workspace are listed in all chat requests. The language model can load these skills on-demand if the `read` tool is available."
|
|
827
965
|
)),
|
|
828
966
|
default: false,
|
|
829
967
|
restricted: true,
|
|
830
968
|
disallowConfigurationDefault: true,
|
|
831
|
-
tags: [
|
|
969
|
+
tags: [
|
|
970
|
+
"experimental",
|
|
971
|
+
"prompts",
|
|
972
|
+
"reusable prompts",
|
|
973
|
+
"prompt snippets",
|
|
974
|
+
"instructions"
|
|
975
|
+
]
|
|
832
976
|
},
|
|
833
977
|
[PromptsConfig.USE_AGENT_SKILLS]: {
|
|
834
|
-
type:
|
|
835
|
-
title: ( localize(
|
|
978
|
+
type: "boolean",
|
|
979
|
+
title: ( localize(5217, "Use Agent skills")),
|
|
980
|
+
markdownDescription: ( localize(
|
|
981
|
+
5218,
|
|
982
|
+
"Controls whether skills are provided as specialized capabilities to the chat requests. Skills are loaded from the folders configured in `#chat.agentSkillsLocations#`. The language model can load these skills on-demand if the `read` tool is available. Learn more about [Agent Skills](https://aka.ms/vscode-agent-skills)."
|
|
983
|
+
)),
|
|
984
|
+
default: true,
|
|
985
|
+
restricted: true,
|
|
986
|
+
disallowConfigurationDefault: true,
|
|
987
|
+
tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"]
|
|
988
|
+
},
|
|
989
|
+
[PromptsConfig.USE_SKILL_ADHERENCE_PROMPT]: {
|
|
990
|
+
type: "boolean",
|
|
991
|
+
title: ( localize(5219, "Use Skill Adherence Prompt")),
|
|
836
992
|
markdownDescription: ( localize(
|
|
837
|
-
|
|
838
|
-
"Controls whether
|
|
993
|
+
5220,
|
|
994
|
+
"Controls whether a stronger skill adherence prompt is used that encourages the model to immediately invoke skills when relevant rather than just announcing them."
|
|
839
995
|
)),
|
|
840
996
|
default: false,
|
|
841
997
|
restricted: true,
|
|
842
998
|
disallowConfigurationDefault: true,
|
|
843
|
-
tags: [
|
|
999
|
+
tags: [
|
|
1000
|
+
"experimental",
|
|
1001
|
+
"prompts",
|
|
1002
|
+
"reusable prompts",
|
|
1003
|
+
"prompt snippets",
|
|
1004
|
+
"instructions"
|
|
1005
|
+
],
|
|
1006
|
+
experiment: {
|
|
1007
|
+
mode: "auto"
|
|
1008
|
+
}
|
|
1009
|
+
},
|
|
1010
|
+
[PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS]: {
|
|
1011
|
+
type: "boolean",
|
|
1012
|
+
title: ( localize(5221, "Include Applying Instructions")),
|
|
1013
|
+
markdownDescription: ( localize(
|
|
1014
|
+
5222,
|
|
1015
|
+
"Controls whether instructions with a matching 'applyTo' attribute are automatically included in chat requests."
|
|
1016
|
+
)),
|
|
1017
|
+
default: true,
|
|
1018
|
+
restricted: true,
|
|
1019
|
+
disallowConfigurationDefault: true,
|
|
1020
|
+
tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"]
|
|
1021
|
+
},
|
|
1022
|
+
[PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS]: {
|
|
1023
|
+
type: "boolean",
|
|
1024
|
+
title: ( localize(5223, "Include Referenced Instructions")),
|
|
1025
|
+
markdownDescription: ( localize(
|
|
1026
|
+
5224,
|
|
1027
|
+
"Controls whether referenced instructions are automatically included in chat requests."
|
|
1028
|
+
)),
|
|
1029
|
+
default: false,
|
|
1030
|
+
restricted: true,
|
|
1031
|
+
disallowConfigurationDefault: true,
|
|
1032
|
+
tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"]
|
|
1033
|
+
},
|
|
1034
|
+
[PromptsConfig.SKILLS_LOCATION_KEY]: {
|
|
1035
|
+
type: "object",
|
|
1036
|
+
title: ( localize(5225, "Agent Skills Locations")),
|
|
1037
|
+
markdownDescription: ( localize(
|
|
1038
|
+
5226,
|
|
1039
|
+
"Specify location(s) of agent skills (`{0}`) that can be used in Chat Sessions. [Learn More]({1}).\n\nEach path should contain skill subfolders with SKILL.md files (e.g., add `my-skills` if you have `my-skills/skillA/SKILL.md`). Relative paths are resolved from the root folder(s) of your workspace.",
|
|
1040
|
+
SKILL_FILENAME,
|
|
1041
|
+
SKILL_DOCUMENTATION_URL
|
|
1042
|
+
)),
|
|
1043
|
+
default: {
|
|
1044
|
+
...( DEFAULT_SKILL_SOURCE_FOLDERS.map(folder => ({
|
|
1045
|
+
[folder.path]: true
|
|
1046
|
+
}))).reduce((acc, curr) => ({
|
|
1047
|
+
...acc,
|
|
1048
|
+
...curr
|
|
1049
|
+
}), {})
|
|
1050
|
+
},
|
|
1051
|
+
additionalProperties: {
|
|
1052
|
+
type: "boolean"
|
|
1053
|
+
},
|
|
1054
|
+
propertyNames: {
|
|
1055
|
+
pattern: VALID_PROMPT_FOLDER_PATTERN,
|
|
1056
|
+
patternErrorMessage: ( localize(
|
|
1057
|
+
5227,
|
|
1058
|
+
"Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
|
|
1059
|
+
))
|
|
1060
|
+
},
|
|
1061
|
+
restricted: true,
|
|
1062
|
+
tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"],
|
|
1063
|
+
examples: [{
|
|
1064
|
+
[DEFAULT_SKILL_SOURCE_FOLDERS[0].path]: true
|
|
1065
|
+
}, {
|
|
1066
|
+
[DEFAULT_SKILL_SOURCE_FOLDERS[0].path]: true,
|
|
1067
|
+
"my-skills": true,
|
|
1068
|
+
"../shared-skills": true,
|
|
1069
|
+
"~/.custom/skills": true
|
|
1070
|
+
}]
|
|
844
1071
|
},
|
|
845
1072
|
[PromptsConfig.PROMPT_FILES_SUGGEST_KEY]: {
|
|
846
|
-
type:
|
|
1073
|
+
type: "object",
|
|
847
1074
|
scope: ConfigurationScope.RESOURCE,
|
|
848
|
-
title: ( localize(
|
|
1075
|
+
title: ( localize(5228, "Prompt File Recommendations")),
|
|
849
1076
|
markdownDescription: ( localize(
|
|
850
|
-
|
|
1077
|
+
5229,
|
|
851
1078
|
"Configure which prompt files to recommend in the chat welcome view. Each key is a prompt file name, and the value can be `true` to always recommend, `false` to never recommend, or a [when clause](https://aka.ms/vscode-when-clause) expression like `resourceExtname == .js` or `resourceLangId == markdown`."
|
|
852
1079
|
)),
|
|
853
1080
|
default: {},
|
|
854
1081
|
additionalProperties: {
|
|
855
|
-
oneOf: [
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
1082
|
+
oneOf: [{
|
|
1083
|
+
type: "boolean"
|
|
1084
|
+
}, {
|
|
1085
|
+
type: "string"
|
|
1086
|
+
}]
|
|
859
1087
|
},
|
|
860
|
-
tags: [
|
|
861
|
-
examples: [
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
}
|
|
867
|
-
],
|
|
1088
|
+
tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"],
|
|
1089
|
+
examples: [{
|
|
1090
|
+
"plan": true,
|
|
1091
|
+
"a11y-audit": "resourceExtname == .html",
|
|
1092
|
+
"document": "resourceLangId == markdown"
|
|
1093
|
+
}]
|
|
868
1094
|
},
|
|
869
1095
|
[ChatConfiguration.TodosShowWidget]: {
|
|
870
|
-
type:
|
|
1096
|
+
type: "boolean",
|
|
871
1097
|
default: true,
|
|
872
1098
|
description: ( localize(
|
|
873
|
-
|
|
1099
|
+
5230,
|
|
874
1100
|
"Controls whether to show the todo list widget above the chat input. When enabled, the widget displays todo items created by the agent and updates as progress is made."
|
|
875
|
-
))
|
|
876
|
-
tags: ['experimental'],
|
|
877
|
-
experiment: {
|
|
878
|
-
mode: 'auto'
|
|
879
|
-
}
|
|
880
|
-
},
|
|
881
|
-
'chat.todoListTool.writeOnly': {
|
|
882
|
-
type: 'boolean',
|
|
883
|
-
default: false,
|
|
884
|
-
description: ( localize(
|
|
885
|
-
5076,
|
|
886
|
-
"When enabled, the todo tool operates in write-only mode, requiring the agent to remember todos in context."
|
|
887
|
-
)),
|
|
888
|
-
tags: ['experimental'],
|
|
889
|
-
experiment: {
|
|
890
|
-
mode: 'auto'
|
|
891
|
-
}
|
|
892
|
-
},
|
|
893
|
-
'chat.todoListTool.descriptionField': {
|
|
894
|
-
type: 'boolean',
|
|
895
|
-
default: true,
|
|
896
|
-
description: ( localize(
|
|
897
|
-
5077,
|
|
898
|
-
"When enabled, todo items include detailed descriptions for implementation context. This provides more information but uses additional tokens and may slow down responses."
|
|
899
|
-
)),
|
|
900
|
-
tags: ['experimental'],
|
|
901
|
-
experiment: {
|
|
902
|
-
mode: 'auto'
|
|
903
|
-
}
|
|
1101
|
+
))
|
|
904
1102
|
},
|
|
905
1103
|
[ChatConfiguration.ThinkingStyle]: {
|
|
906
|
-
type:
|
|
907
|
-
default:
|
|
908
|
-
enum: [
|
|
909
|
-
enumDescriptions: [
|
|
910
|
-
|
|
911
|
-
( localize(
|
|
912
|
-
5079,
|
|
1104
|
+
type: "string",
|
|
1105
|
+
default: "fixedScrolling",
|
|
1106
|
+
enum: ["collapsed", "collapsedPreview", "fixedScrolling"],
|
|
1107
|
+
enumDescriptions: [( localize(5231, "Thinking parts will be collapsed by default.")), ( localize(
|
|
1108
|
+
5232,
|
|
913
1109
|
"Thinking parts will be expanded first, then collapse once we reach a part that is not thinking."
|
|
914
|
-
)),
|
|
915
|
-
|
|
916
|
-
5080,
|
|
1110
|
+
)), ( localize(
|
|
1111
|
+
5233,
|
|
917
1112
|
"Show thinking in a fixed-height streaming panel that auto-scrolls; click header to expand to full height."
|
|
918
|
-
)),
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
tags: ['experimental'],
|
|
1113
|
+
))],
|
|
1114
|
+
description: ( localize(5234, "Controls how thinking is rendered.")),
|
|
1115
|
+
tags: ["experimental"]
|
|
922
1116
|
},
|
|
923
1117
|
[ChatConfiguration.ThinkingGenerateTitles]: {
|
|
924
|
-
type:
|
|
1118
|
+
type: "boolean",
|
|
925
1119
|
default: true,
|
|
926
1120
|
description: ( localize(
|
|
927
|
-
|
|
1121
|
+
5235,
|
|
928
1122
|
"Controls whether to use an LLM to generate summary titles for thinking sections."
|
|
929
1123
|
)),
|
|
930
|
-
tags: [
|
|
931
|
-
},
|
|
932
|
-
|
|
933
|
-
type:
|
|
934
|
-
default:
|
|
935
|
-
enum: [
|
|
936
|
-
enumDescriptions: [
|
|
937
|
-
|
|
938
|
-
( localize(
|
|
939
|
-
5084,
|
|
1124
|
+
tags: ["experimental"]
|
|
1125
|
+
},
|
|
1126
|
+
"chat.agent.thinking.collapsedTools": {
|
|
1127
|
+
type: "string",
|
|
1128
|
+
default: "always",
|
|
1129
|
+
enum: ["off", "withThinking", "always"],
|
|
1130
|
+
enumDescriptions: [( localize(5236, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
|
|
1131
|
+
5237,
|
|
940
1132
|
"Tool calls are collapsed into thinking sections when thinking is present."
|
|
941
|
-
)),
|
|
942
|
-
( localize(5085, "Tool calls are always collapsed, even without thinking.")),
|
|
943
|
-
],
|
|
1133
|
+
)), ( localize(5238, "Tool calls are always collapsed, even without thinking."))],
|
|
944
1134
|
markdownDescription: ( localize(
|
|
945
|
-
|
|
1135
|
+
5239,
|
|
946
1136
|
"Controls how tool calls are displayed in relation to thinking sections."
|
|
947
1137
|
)),
|
|
948
|
-
tags: [
|
|
1138
|
+
tags: ["experimental"]
|
|
1139
|
+
},
|
|
1140
|
+
[ChatConfiguration.TerminalToolsInThinking]: {
|
|
1141
|
+
type: "boolean",
|
|
1142
|
+
default: true,
|
|
1143
|
+
markdownDescription: ( localize(
|
|
1144
|
+
5240,
|
|
1145
|
+
"When enabled, terminal tool calls are displayed inside the thinking dropdown with a simplified view."
|
|
1146
|
+
)),
|
|
1147
|
+
tags: ["experimental"]
|
|
949
1148
|
},
|
|
950
|
-
|
|
951
|
-
type:
|
|
1149
|
+
[ChatConfiguration.AutoExpandToolFailures]: {
|
|
1150
|
+
type: "boolean",
|
|
1151
|
+
default: true,
|
|
1152
|
+
markdownDescription: ( localize(
|
|
1153
|
+
5241,
|
|
1154
|
+
"When enabled, tool failures are automatically expanded in the chat UI to show error details."
|
|
1155
|
+
))
|
|
1156
|
+
},
|
|
1157
|
+
[ChatConfiguration.AIDisabled]: {
|
|
1158
|
+
type: "boolean",
|
|
952
1159
|
description: ( localize(
|
|
953
|
-
|
|
1160
|
+
5242,
|
|
954
1161
|
"Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
|
|
955
1162
|
)),
|
|
956
1163
|
default: false,
|
|
957
1164
|
scope: ConfigurationScope.WINDOW
|
|
958
1165
|
},
|
|
959
|
-
|
|
960
|
-
type:
|
|
961
|
-
description: ( localize(
|
|
1166
|
+
"chat.allowAnonymousAccess": {
|
|
1167
|
+
type: "boolean",
|
|
1168
|
+
description: ( localize(5243, "Controls whether anonymous access is allowed in chat.")),
|
|
962
1169
|
default: false,
|
|
963
|
-
tags: [
|
|
1170
|
+
tags: ["experimental"],
|
|
964
1171
|
experiment: {
|
|
965
|
-
mode:
|
|
1172
|
+
mode: "auto"
|
|
966
1173
|
}
|
|
967
1174
|
},
|
|
968
1175
|
[ChatConfiguration.RestoreLastPanelSession]: {
|
|
969
|
-
type:
|
|
1176
|
+
type: "boolean",
|
|
970
1177
|
description: ( localize(
|
|
971
|
-
|
|
1178
|
+
5244,
|
|
972
1179
|
"Controls whether the last session is restored in panel after restart."
|
|
973
1180
|
)),
|
|
974
|
-
default: false
|
|
975
|
-
tags: ['experimental'],
|
|
976
|
-
experiment: {
|
|
977
|
-
mode: 'auto'
|
|
978
|
-
}
|
|
1181
|
+
default: false
|
|
979
1182
|
},
|
|
980
1183
|
[ChatConfiguration.ExitAfterDelegation]: {
|
|
981
|
-
type:
|
|
1184
|
+
type: "boolean",
|
|
982
1185
|
description: ( localize(
|
|
983
|
-
|
|
1186
|
+
5245,
|
|
984
1187
|
"Controls whether the chat panel automatically exits after delegating a request to another session."
|
|
985
1188
|
)),
|
|
986
1189
|
default: true,
|
|
987
|
-
tags: [
|
|
1190
|
+
tags: ["preview"]
|
|
988
1191
|
},
|
|
989
|
-
|
|
990
|
-
type:
|
|
1192
|
+
"chat.extensionUnification.enabled": {
|
|
1193
|
+
type: "boolean",
|
|
991
1194
|
description: ( localize(
|
|
992
|
-
|
|
1195
|
+
5246,
|
|
993
1196
|
"Enables the unification of GitHub Copilot extensions. When enabled, all GitHub Copilot functionality is served from the GitHub Copilot Chat extension. When disabled, the GitHub Copilot and GitHub Copilot Chat extensions operate independently."
|
|
994
1197
|
)),
|
|
995
1198
|
default: true,
|
|
996
|
-
tags: [
|
|
1199
|
+
tags: ["experimental"],
|
|
997
1200
|
experiment: {
|
|
998
|
-
mode:
|
|
1201
|
+
mode: "auto"
|
|
999
1202
|
}
|
|
1000
1203
|
},
|
|
1001
1204
|
[ChatConfiguration.SubagentToolCustomAgents]: {
|
|
1002
|
-
type:
|
|
1205
|
+
type: "boolean",
|
|
1003
1206
|
description: ( localize(
|
|
1004
|
-
|
|
1207
|
+
5247,
|
|
1005
1208
|
"Whether the runSubagent tool is able to use custom agents. When enabled, the tool can take the name of a custom agent, but it must be given the exact name of the agent."
|
|
1006
1209
|
)),
|
|
1007
1210
|
default: false,
|
|
1008
|
-
tags: [
|
|
1211
|
+
tags: ["experimental"],
|
|
1212
|
+
experiment: {
|
|
1213
|
+
mode: "auto"
|
|
1214
|
+
}
|
|
1009
1215
|
}
|
|
1010
1216
|
}
|
|
1011
1217
|
});
|
|
1012
|
-
( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
|
|
1013
|
-
(
|
|
1014
|
-
]
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
}
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
}
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1218
|
+
( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
|
|
1219
|
+
EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(5248, "Chat"))),
|
|
1220
|
+
[( new SyncDescriptor(ChatEditorInput))]
|
|
1221
|
+
);
|
|
1222
|
+
( Registry.as(Extensions$1.ConfigurationMigration)).registerConfigurationMigrations([{
|
|
1223
|
+
key: "chat.experimental.detectParticipant.enabled",
|
|
1224
|
+
migrateFn: (value, _accessor) => ([["chat.experimental.detectParticipant.enabled", {
|
|
1225
|
+
value: undefined
|
|
1226
|
+
}], ["chat.detectParticipant.enabled", {
|
|
1227
|
+
value: value !== false
|
|
1228
|
+
}]])
|
|
1229
|
+
}, {
|
|
1230
|
+
key: "chat.useClaudeSkills",
|
|
1231
|
+
migrateFn: (value, _accessor) => ([["chat.useClaudeSkills", {
|
|
1232
|
+
value: undefined
|
|
1233
|
+
}], ["chat.useAgentSkills", {
|
|
1234
|
+
value
|
|
1235
|
+
}]])
|
|
1236
|
+
}, {
|
|
1237
|
+
key: mcpDiscoverySection,
|
|
1238
|
+
migrateFn: value => {
|
|
1239
|
+
if (typeof value === "boolean") {
|
|
1240
|
+
return {
|
|
1241
|
+
value: Object.fromEntries(( allDiscoverySources.map(k => [k, value])))
|
|
1242
|
+
};
|
|
1037
1243
|
}
|
|
1038
|
-
|
|
1039
|
-
|
|
1244
|
+
return {
|
|
1245
|
+
value
|
|
1246
|
+
};
|
|
1247
|
+
}
|
|
1248
|
+
}]);
|
|
1040
1249
|
let ChatResolverContribution = class ChatResolverContribution extends Disposable {
|
|
1041
|
-
static {
|
|
1250
|
+
static {
|
|
1251
|
+
this.ID = "workbench.contrib.chatResolver";
|
|
1252
|
+
}
|
|
1042
1253
|
constructor(chatSessionsService, editorResolverService, instantiationService) {
|
|
1043
1254
|
super();
|
|
1044
1255
|
this.editorResolverService = editorResolverService;
|
|
@@ -1046,7 +1257,7 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
|
|
|
1046
1257
|
this._editorRegistrations = this._register(( new DisposableMap()));
|
|
1047
1258
|
this._registerEditor(Schemas.vscodeChatEditor);
|
|
1048
1259
|
this._registerEditor(Schemas.vscodeLocalChatSession);
|
|
1049
|
-
this._register(chatSessionsService.onDidChangeContentProviderSchemes(
|
|
1260
|
+
this._register(chatSessionsService.onDidChangeContentProviderSchemes(e => {
|
|
1050
1261
|
for (const scheme of e.added) {
|
|
1051
1262
|
this._registerEditor(scheme);
|
|
1052
1263
|
}
|
|
@@ -1061,13 +1272,18 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
|
|
|
1061
1272
|
_registerEditor(scheme) {
|
|
1062
1273
|
this._editorRegistrations.set(scheme, this.editorResolverService.registerEditor(`${scheme}:**/**`, {
|
|
1063
1274
|
id: ChatEditorInput.EditorID,
|
|
1064
|
-
label: ( localize(
|
|
1275
|
+
label: ( localize(5248, "Chat")),
|
|
1065
1276
|
priority: RegisteredEditorPriority.builtin
|
|
1066
1277
|
}, {
|
|
1067
1278
|
singlePerResource: true,
|
|
1068
|
-
canSupportResource: resource => resource.scheme === scheme
|
|
1279
|
+
canSupportResource: resource => resource.scheme === scheme
|
|
1069
1280
|
}, {
|
|
1070
|
-
createEditorInput: (
|
|
1281
|
+
createEditorInput: (
|
|
1282
|
+
{
|
|
1283
|
+
resource,
|
|
1284
|
+
options
|
|
1285
|
+
}
|
|
1286
|
+
) => {
|
|
1071
1287
|
return {
|
|
1072
1288
|
editor: this.instantiationService.createInstance(ChatEditorInput, resource, options),
|
|
1073
1289
|
options
|
|
@@ -1076,13 +1292,11 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
|
|
|
1076
1292
|
}));
|
|
1077
1293
|
}
|
|
1078
1294
|
};
|
|
1079
|
-
ChatResolverContribution = ( __decorate([
|
|
1080
|
-
( __param(0, IChatSessionsService)),
|
|
1081
|
-
( __param(1, IEditorResolverService)),
|
|
1082
|
-
( __param(2, IInstantiationService))
|
|
1083
|
-
], ChatResolverContribution));
|
|
1295
|
+
ChatResolverContribution = ( __decorate([( __param(0, IChatSessionsService)), ( __param(1, IEditorResolverService)), ( __param(2, IInstantiationService))], ChatResolverContribution));
|
|
1084
1296
|
let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Disposable {
|
|
1085
|
-
static {
|
|
1297
|
+
static {
|
|
1298
|
+
this.ID = "workbench.contrib.chatAgentSetting";
|
|
1299
|
+
}
|
|
1086
1300
|
constructor(experimentService, entitlementService) {
|
|
1087
1301
|
super();
|
|
1088
1302
|
this.experimentService = experimentService;
|
|
@@ -1092,60 +1306,81 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
|
|
|
1092
1306
|
registerMaxRequestsSetting() {
|
|
1093
1307
|
let lastNode;
|
|
1094
1308
|
const registerMaxRequestsSetting = () => {
|
|
1095
|
-
const treatmentId = this.entitlementService.entitlement === ChatEntitlement.Free ?
|
|
1096
|
-
|
|
1097
|
-
'chatAgentMaxRequestsPro';
|
|
1098
|
-
this.experimentService.getTreatment(treatmentId).then((value) => {
|
|
1309
|
+
const treatmentId = this.entitlementService.entitlement === ChatEntitlement.Free ? "chatAgentMaxRequestsFree" : "chatAgentMaxRequestsPro";
|
|
1310
|
+
this.experimentService.getTreatment(treatmentId).then(value => {
|
|
1099
1311
|
const defaultValue = value ?? (this.entitlementService.entitlement === ChatEntitlement.Free ? 25 : 25);
|
|
1100
1312
|
const node = {
|
|
1101
|
-
id:
|
|
1102
|
-
title: ( localize(
|
|
1103
|
-
type:
|
|
1313
|
+
id: "chatSidebar",
|
|
1314
|
+
title: ( localize(5122, "Chat")),
|
|
1315
|
+
type: "object",
|
|
1104
1316
|
properties: {
|
|
1105
|
-
|
|
1106
|
-
type:
|
|
1317
|
+
"chat.agent.maxRequests": {
|
|
1318
|
+
type: "number",
|
|
1107
1319
|
markdownDescription: ( localize(
|
|
1108
|
-
|
|
1320
|
+
5249,
|
|
1109
1321
|
"The maximum number of requests to allow per-turn when using an agent. When the limit is reached, will ask to confirm to continue."
|
|
1110
1322
|
)),
|
|
1111
|
-
default: defaultValue
|
|
1112
|
-
}
|
|
1323
|
+
default: defaultValue
|
|
1324
|
+
}
|
|
1113
1325
|
}
|
|
1114
1326
|
};
|
|
1115
|
-
configurationRegistry.updateConfigurations({
|
|
1327
|
+
configurationRegistry.updateConfigurations({
|
|
1328
|
+
remove: lastNode ? [lastNode] : [],
|
|
1329
|
+
add: [node]
|
|
1330
|
+
});
|
|
1116
1331
|
lastNode = node;
|
|
1117
1332
|
});
|
|
1118
1333
|
};
|
|
1119
|
-
this._register(Event.runAndSubscribe(
|
|
1334
|
+
this._register(Event.runAndSubscribe(
|
|
1335
|
+
Event.debounce(this.entitlementService.onDidChangeEntitlement, () => {}, 1000),
|
|
1336
|
+
() => registerMaxRequestsSetting()
|
|
1337
|
+
));
|
|
1120
1338
|
}
|
|
1121
1339
|
};
|
|
1122
|
-
ChatAgentSettingContribution = ( __decorate([
|
|
1123
|
-
|
|
1124
|
-
(
|
|
1125
|
-
|
|
1340
|
+
ChatAgentSettingContribution = ( __decorate([( __param(0, IWorkbenchAssignmentService)), ( __param(1, IChatEntitlementService))], ChatAgentSettingContribution));
|
|
1341
|
+
function getCustomModesWithUniqueNames(builtinModes, customModes) {
|
|
1342
|
+
const customModeIds = ( new Set());
|
|
1343
|
+
const builtinNames = ( new Set(( builtinModes.map(mode => mode.name.get()))));
|
|
1344
|
+
const customNameToId = ( new Map());
|
|
1345
|
+
for (const mode of customModes) {
|
|
1346
|
+
const modeName = mode.name.get();
|
|
1347
|
+
if (( builtinNames.has(modeName))) {
|
|
1348
|
+
continue;
|
|
1349
|
+
}
|
|
1350
|
+
const existingId = customNameToId.get(modeName);
|
|
1351
|
+
if (existingId) {
|
|
1352
|
+
customModeIds.delete(existingId);
|
|
1353
|
+
}
|
|
1354
|
+
customNameToId.set(modeName, mode.id);
|
|
1355
|
+
customModeIds.add(mode.id);
|
|
1356
|
+
}
|
|
1357
|
+
return customModeIds;
|
|
1358
|
+
}
|
|
1126
1359
|
let ChatAgentActionsContribution = class ChatAgentActionsContribution extends Disposable {
|
|
1127
|
-
static {
|
|
1360
|
+
static {
|
|
1361
|
+
this.ID = "workbench.contrib.chatAgentActions";
|
|
1362
|
+
}
|
|
1128
1363
|
constructor(chatModeService) {
|
|
1129
1364
|
super();
|
|
1130
1365
|
this.chatModeService = chatModeService;
|
|
1131
1366
|
this._modeActionDisposables = ( new DisposableMap());
|
|
1132
1367
|
this._store.add(this._modeActionDisposables);
|
|
1133
|
-
const {
|
|
1368
|
+
const {
|
|
1369
|
+
builtin,
|
|
1370
|
+
custom
|
|
1371
|
+
} = this.chatModeService.getModes();
|
|
1372
|
+
const currentModeIds = getCustomModesWithUniqueNames(builtin, custom);
|
|
1134
1373
|
for (const mode of custom) {
|
|
1135
|
-
|
|
1374
|
+
if (( currentModeIds.has(mode.id))) {
|
|
1375
|
+
this._registerModeAction(mode);
|
|
1376
|
+
}
|
|
1136
1377
|
}
|
|
1137
1378
|
this._register(this.chatModeService.onDidChangeChatModes(() => {
|
|
1138
|
-
const {
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
if (( currentModeNames.has(modeName))) {
|
|
1144
|
-
currentModeIds.delete(currentModeNames.get(modeName));
|
|
1145
|
-
}
|
|
1146
|
-
currentModeNames.set(modeName, mode.id);
|
|
1147
|
-
currentModeIds.add(mode.id);
|
|
1148
|
-
}
|
|
1379
|
+
const {
|
|
1380
|
+
builtin,
|
|
1381
|
+
custom
|
|
1382
|
+
} = this.chatModeService.getModes();
|
|
1383
|
+
const currentModeIds = getCustomModesWithUniqueNames(builtin, custom);
|
|
1149
1384
|
for (const modeId of ( this._modeActionDisposables.keys())) {
|
|
1150
1385
|
if (!( currentModeIds.has(modeId))) {
|
|
1151
1386
|
this._modeActionDisposables.deleteAndDispose(modeId);
|
|
@@ -1167,43 +1402,41 @@ let ChatAgentActionsContribution = class ChatAgentActionsContribution extends Di
|
|
|
1167
1402
|
this._modeActionDisposables.set(mode.id, registerAction2(actionClass));
|
|
1168
1403
|
}
|
|
1169
1404
|
};
|
|
1170
|
-
ChatAgentActionsContribution = ( __decorate([
|
|
1171
|
-
( __param(0, IChatModeService))
|
|
1172
|
-
], ChatAgentActionsContribution));
|
|
1405
|
+
ChatAgentActionsContribution = ( __decorate([( __param(0, IChatModeService))], ChatAgentActionsContribution));
|
|
1173
1406
|
let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extends Disposable {
|
|
1174
|
-
static {
|
|
1407
|
+
static {
|
|
1408
|
+
this.ID = "workbench.contrib.toolReferenceNames";
|
|
1409
|
+
}
|
|
1175
1410
|
constructor(_languageModelToolsService) {
|
|
1176
1411
|
super();
|
|
1177
1412
|
this._languageModelToolsService = _languageModelToolsService;
|
|
1178
1413
|
this._updateToolReferenceNames();
|
|
1179
|
-
this._register(
|
|
1414
|
+
this._register(
|
|
1415
|
+
this._languageModelToolsService.onDidChangeTools(() => this._updateToolReferenceNames())
|
|
1416
|
+
);
|
|
1180
1417
|
}
|
|
1181
1418
|
_updateToolReferenceNames() {
|
|
1182
|
-
const tools = Array.from(this._languageModelToolsService.
|
|
1183
|
-
.filter((tool) => typeof tool.toolReferenceName === 'string')
|
|
1184
|
-
.sort((a, b) => a.toolReferenceName.localeCompare(b.toolReferenceName));
|
|
1419
|
+
const tools = Array.from(this._languageModelToolsService.getAllToolsIncludingDisabled()).filter(tool => typeof tool.toolReferenceName === "string").sort((a, b) => a.toolReferenceName.localeCompare(b.toolReferenceName));
|
|
1185
1420
|
toolReferenceNameEnumValues.length = 0;
|
|
1186
1421
|
toolReferenceNameEnumDescriptions.length = 0;
|
|
1187
1422
|
for (const tool of tools) {
|
|
1188
1423
|
toolReferenceNameEnumValues.push(tool.toolReferenceName);
|
|
1189
1424
|
toolReferenceNameEnumDescriptions.push(( localize(
|
|
1190
|
-
|
|
1425
|
+
5250,
|
|
1191
1426
|
"{0} - {1}",
|
|
1192
1427
|
tool.toolReferenceName,
|
|
1193
1428
|
tool.userDescription || tool.displayName
|
|
1194
1429
|
)));
|
|
1195
1430
|
}
|
|
1196
1431
|
configurationRegistry.notifyConfigurationSchemaUpdated({
|
|
1197
|
-
id:
|
|
1432
|
+
id: "chatSidebar",
|
|
1198
1433
|
properties: {
|
|
1199
1434
|
[ChatConfiguration.EligibleForAutoApproval]: {}
|
|
1200
1435
|
}
|
|
1201
1436
|
});
|
|
1202
1437
|
}
|
|
1203
1438
|
};
|
|
1204
|
-
ToolReferenceNamesContribution = ( __decorate([
|
|
1205
|
-
( __param(0, ILanguageModelToolsService))
|
|
1206
|
-
], ToolReferenceNamesContribution));
|
|
1439
|
+
ToolReferenceNamesContribution = ( __decorate([( __param(0, ILanguageModelToolsService))], ToolReferenceNamesContribution));
|
|
1207
1440
|
AccessibleViewRegistry.register(( new ChatTerminalOutputAccessibleView()));
|
|
1208
1441
|
AccessibleViewRegistry.register(( new ChatResponseAccessibleView()));
|
|
1209
1442
|
AccessibleViewRegistry.register(( new PanelChatAccessibilityHelp()));
|
|
@@ -1212,22 +1445,32 @@ AccessibleViewRegistry.register(( new EditsChatAccessibilityHelp()));
|
|
|
1212
1445
|
AccessibleViewRegistry.register(( new AgentChatAccessibilityHelp()));
|
|
1213
1446
|
registerEditorFeature(ChatInputBoxContentProvider);
|
|
1214
1447
|
let ChatSlashStaticSlashCommandsContribution = class ChatSlashStaticSlashCommandsContribution extends Disposable {
|
|
1215
|
-
static {
|
|
1216
|
-
|
|
1448
|
+
static {
|
|
1449
|
+
this.ID = "workbench.contrib.chatSlashStaticSlashCommands";
|
|
1450
|
+
}
|
|
1451
|
+
constructor(
|
|
1452
|
+
slashCommandService,
|
|
1453
|
+
commandService,
|
|
1454
|
+
chatAgentService,
|
|
1455
|
+
chatWidgetService,
|
|
1456
|
+
instantiationService,
|
|
1457
|
+
agentSessionsService
|
|
1458
|
+
) {
|
|
1217
1459
|
super();
|
|
1218
1460
|
this._store.add(slashCommandService.registerSlashCommand({
|
|
1219
|
-
command:
|
|
1220
|
-
detail: ( localize(
|
|
1221
|
-
sortText:
|
|
1461
|
+
command: "clear",
|
|
1462
|
+
detail: ( localize(5251, "Start a new chat and archive the current one")),
|
|
1463
|
+
sortText: "z2_clear",
|
|
1222
1464
|
executeImmediately: true,
|
|
1223
1465
|
locations: [ChatAgentLocation.Chat]
|
|
1224
|
-
}, async () => {
|
|
1466
|
+
}, async (_prompt, _progress, _history, _location, sessionResource) => {
|
|
1467
|
+
agentSessionsService.getSession(sessionResource)?.setArchived(true);
|
|
1225
1468
|
commandService.executeCommand(ACTION_ID_NEW_CHAT);
|
|
1226
1469
|
}));
|
|
1227
1470
|
this._store.add(slashCommandService.registerSlashCommand({
|
|
1228
|
-
command:
|
|
1229
|
-
detail:
|
|
1230
|
-
sortText:
|
|
1471
|
+
command: "help",
|
|
1472
|
+
detail: "",
|
|
1473
|
+
sortText: "z1_help",
|
|
1231
1474
|
executeImmediately: true,
|
|
1232
1475
|
locations: [ChatAgentLocation.Chat],
|
|
1233
1476
|
modes: [ChatModeKind.Ask]
|
|
@@ -1236,84 +1479,214 @@ let ChatSlashStaticSlashCommandsContribution = class ChatSlashStaticSlashCommand
|
|
|
1236
1479
|
const agents = chatAgentService.getAgents();
|
|
1237
1480
|
if (defaultAgent?.metadata.helpTextPrefix) {
|
|
1238
1481
|
if (isMarkdownString(defaultAgent.metadata.helpTextPrefix)) {
|
|
1239
|
-
progress.report({
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1482
|
+
progress.report({
|
|
1483
|
+
content: defaultAgent.metadata.helpTextPrefix,
|
|
1484
|
+
kind: "markdownContent"
|
|
1485
|
+
});
|
|
1486
|
+
} else {
|
|
1487
|
+
progress.report({
|
|
1488
|
+
content: ( new MarkdownString(defaultAgent.metadata.helpTextPrefix)),
|
|
1489
|
+
kind: "markdownContent"
|
|
1490
|
+
});
|
|
1243
1491
|
}
|
|
1244
|
-
progress.report({
|
|
1492
|
+
progress.report({
|
|
1493
|
+
content: ( new MarkdownString("\n\n")),
|
|
1494
|
+
kind: "markdownContent"
|
|
1495
|
+
});
|
|
1245
1496
|
}
|
|
1246
|
-
const agentText = (await Promise.all(( agents
|
|
1247
|
-
|
|
1248
|
-
.filter(a => a.locations.includes(ChatAgentLocation.Chat))
|
|
1249
|
-
.map(async (a) => {
|
|
1250
|
-
const description = a.description ? `- ${a.description}` : '';
|
|
1497
|
+
const agentText = (await Promise.all(( agents.filter(a => !a.isDefault && !a.isCore).filter(a => a.locations.includes(ChatAgentLocation.Chat)).map(async a => {
|
|
1498
|
+
const description = a.description ? `- ${a.description}` : "";
|
|
1251
1499
|
const agentMarkdown = instantiationService.invokeFunction(accessor => agentToMarkdown(a, sessionResource, true, accessor));
|
|
1252
1500
|
const agentLine = `- ${agentMarkdown} ${description}`;
|
|
1253
1501
|
const commandText = ( a.slashCommands.map(c => {
|
|
1254
|
-
const description = c.description ? `- ${c.description}` :
|
|
1502
|
+
const description = c.description ? `- ${c.description}` : "";
|
|
1255
1503
|
return `\t* ${agentSlashCommandToMarkdown(a, c, sessionResource)} ${description}`;
|
|
1256
|
-
})).join(
|
|
1257
|
-
return (agentLine +
|
|
1258
|
-
})))).join(
|
|
1259
|
-
progress.report({
|
|
1504
|
+
})).join("\n");
|
|
1505
|
+
return (agentLine + "\n" + commandText).trim();
|
|
1506
|
+
})))).join("\n");
|
|
1507
|
+
progress.report({
|
|
1508
|
+
content: ( new MarkdownString(agentText, {
|
|
1509
|
+
isTrusted: {
|
|
1510
|
+
enabledCommands: [ChatSubmitAction.ID]
|
|
1511
|
+
}
|
|
1512
|
+
})),
|
|
1513
|
+
kind: "markdownContent"
|
|
1514
|
+
});
|
|
1260
1515
|
if (defaultAgent?.metadata.helpTextPostfix) {
|
|
1261
|
-
progress.report({
|
|
1516
|
+
progress.report({
|
|
1517
|
+
content: ( new MarkdownString("\n\n")),
|
|
1518
|
+
kind: "markdownContent"
|
|
1519
|
+
});
|
|
1262
1520
|
if (isMarkdownString(defaultAgent.metadata.helpTextPostfix)) {
|
|
1263
|
-
progress.report({
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1521
|
+
progress.report({
|
|
1522
|
+
content: defaultAgent.metadata.helpTextPostfix,
|
|
1523
|
+
kind: "markdownContent"
|
|
1524
|
+
});
|
|
1525
|
+
} else {
|
|
1526
|
+
progress.report({
|
|
1527
|
+
content: ( new MarkdownString(defaultAgent.metadata.helpTextPostfix)),
|
|
1528
|
+
kind: "markdownContent"
|
|
1529
|
+
});
|
|
1267
1530
|
}
|
|
1268
1531
|
}
|
|
1269
1532
|
await timeout(200);
|
|
1270
1533
|
}));
|
|
1271
1534
|
}
|
|
1272
1535
|
};
|
|
1273
|
-
ChatSlashStaticSlashCommandsContribution = ( __decorate([
|
|
1274
|
-
( __param(0, IChatSlashCommandService)),
|
|
1275
|
-
( __param(1, ICommandService)),
|
|
1276
|
-
( __param(2, IChatAgentService)),
|
|
1277
|
-
( __param(3, IChatWidgetService)),
|
|
1278
|
-
( __param(4, IInstantiationService))
|
|
1279
|
-
], ChatSlashStaticSlashCommandsContribution));
|
|
1536
|
+
ChatSlashStaticSlashCommandsContribution = ( __decorate([( __param(0, IChatSlashCommandService)), ( __param(1, ICommandService)), ( __param(2, IChatAgentService)), ( __param(3, IChatWidgetService)), ( __param(4, IInstantiationService)), ( __param(5, IAgentSessionsService))], ChatSlashStaticSlashCommandsContribution));
|
|
1280
1537
|
( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(ChatEditorInput.TypeID, ChatEditorInputSerializer);
|
|
1281
|
-
registerWorkbenchContribution2(
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
registerWorkbenchContribution2(
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
registerWorkbenchContribution2(
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1538
|
+
registerWorkbenchContribution2(
|
|
1539
|
+
ChatResolverContribution.ID,
|
|
1540
|
+
ChatResolverContribution,
|
|
1541
|
+
WorkbenchPhase.BlockStartup
|
|
1542
|
+
);
|
|
1543
|
+
registerWorkbenchContribution2(
|
|
1544
|
+
ChatLanguageModelsDataContribution.ID,
|
|
1545
|
+
ChatLanguageModelsDataContribution,
|
|
1546
|
+
WorkbenchPhase.BlockRestore
|
|
1547
|
+
);
|
|
1548
|
+
registerWorkbenchContribution2(
|
|
1549
|
+
ChatSlashStaticSlashCommandsContribution.ID,
|
|
1550
|
+
ChatSlashStaticSlashCommandsContribution,
|
|
1551
|
+
WorkbenchPhase.Eventually
|
|
1552
|
+
);
|
|
1553
|
+
registerWorkbenchContribution2(
|
|
1554
|
+
ChatExtensionPointHandler.ID,
|
|
1555
|
+
ChatExtensionPointHandler,
|
|
1556
|
+
WorkbenchPhase.BlockStartup
|
|
1557
|
+
);
|
|
1558
|
+
registerWorkbenchContribution2(
|
|
1559
|
+
LanguageModelToolsExtensionPointHandler.ID,
|
|
1560
|
+
LanguageModelToolsExtensionPointHandler,
|
|
1561
|
+
WorkbenchPhase.BlockRestore
|
|
1562
|
+
);
|
|
1563
|
+
registerWorkbenchContribution2(
|
|
1564
|
+
ChatPromptFilesExtensionPointHandler.ID,
|
|
1565
|
+
ChatPromptFilesExtensionPointHandler,
|
|
1566
|
+
WorkbenchPhase.BlockRestore
|
|
1567
|
+
);
|
|
1568
|
+
registerWorkbenchContribution2(
|
|
1569
|
+
ChatCompatibilityNotifier.ID,
|
|
1570
|
+
ChatCompatibilityNotifier,
|
|
1571
|
+
WorkbenchPhase.Eventually
|
|
1572
|
+
);
|
|
1573
|
+
registerWorkbenchContribution2(
|
|
1574
|
+
CodeBlockActionRendering.ID,
|
|
1575
|
+
CodeBlockActionRendering,
|
|
1576
|
+
WorkbenchPhase.BlockRestore
|
|
1577
|
+
);
|
|
1578
|
+
registerWorkbenchContribution2(
|
|
1579
|
+
ChatImplicitContextContribution.ID,
|
|
1580
|
+
ChatImplicitContextContribution,
|
|
1581
|
+
WorkbenchPhase.Eventually
|
|
1582
|
+
);
|
|
1583
|
+
registerWorkbenchContribution2(
|
|
1584
|
+
ChatViewsWelcomeHandler.ID,
|
|
1585
|
+
ChatViewsWelcomeHandler,
|
|
1586
|
+
WorkbenchPhase.BlockStartup
|
|
1587
|
+
);
|
|
1588
|
+
registerWorkbenchContribution2(
|
|
1589
|
+
ChatGettingStartedContribution.ID,
|
|
1590
|
+
ChatGettingStartedContribution,
|
|
1591
|
+
WorkbenchPhase.Eventually
|
|
1592
|
+
);
|
|
1593
|
+
registerWorkbenchContribution2(
|
|
1594
|
+
ChatSetupContribution.ID,
|
|
1595
|
+
ChatSetupContribution,
|
|
1596
|
+
WorkbenchPhase.BlockRestore
|
|
1597
|
+
);
|
|
1598
|
+
registerWorkbenchContribution2(
|
|
1599
|
+
ChatTeardownContribution.ID,
|
|
1600
|
+
ChatTeardownContribution,
|
|
1601
|
+
WorkbenchPhase.AfterRestored
|
|
1602
|
+
);
|
|
1296
1603
|
registerWorkbenchContribution2(ChatStatusBarEntry.ID, ChatStatusBarEntry, WorkbenchPhase.BlockRestore);
|
|
1297
|
-
registerWorkbenchContribution2(
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
registerWorkbenchContribution2(
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
registerWorkbenchContribution2(
|
|
1308
|
-
|
|
1604
|
+
registerWorkbenchContribution2(
|
|
1605
|
+
BuiltinToolsContribution.ID,
|
|
1606
|
+
BuiltinToolsContribution,
|
|
1607
|
+
WorkbenchPhase.Eventually
|
|
1608
|
+
);
|
|
1609
|
+
registerWorkbenchContribution2(
|
|
1610
|
+
ChatAgentSettingContribution.ID,
|
|
1611
|
+
ChatAgentSettingContribution,
|
|
1612
|
+
WorkbenchPhase.AfterRestored
|
|
1613
|
+
);
|
|
1614
|
+
registerWorkbenchContribution2(
|
|
1615
|
+
ChatAgentActionsContribution.ID,
|
|
1616
|
+
ChatAgentActionsContribution,
|
|
1617
|
+
WorkbenchPhase.Eventually
|
|
1618
|
+
);
|
|
1619
|
+
registerWorkbenchContribution2(
|
|
1620
|
+
ToolReferenceNamesContribution.ID,
|
|
1621
|
+
ToolReferenceNamesContribution,
|
|
1622
|
+
WorkbenchPhase.AfterRestored
|
|
1623
|
+
);
|
|
1624
|
+
registerWorkbenchContribution2(
|
|
1625
|
+
ChatAgentRecommendation.ID,
|
|
1626
|
+
ChatAgentRecommendation,
|
|
1627
|
+
WorkbenchPhase.Eventually
|
|
1628
|
+
);
|
|
1629
|
+
registerWorkbenchContribution2(
|
|
1630
|
+
ChatEditingEditorAccessibility.ID,
|
|
1631
|
+
ChatEditingEditorAccessibility,
|
|
1632
|
+
WorkbenchPhase.AfterRestored
|
|
1633
|
+
);
|
|
1634
|
+
registerWorkbenchContribution2(
|
|
1635
|
+
ChatEditingEditorOverlay.ID,
|
|
1636
|
+
ChatEditingEditorOverlay,
|
|
1637
|
+
WorkbenchPhase.AfterRestored
|
|
1638
|
+
);
|
|
1639
|
+
registerWorkbenchContribution2(
|
|
1640
|
+
SimpleBrowserOverlay.ID,
|
|
1641
|
+
SimpleBrowserOverlay,
|
|
1642
|
+
WorkbenchPhase.AfterRestored
|
|
1643
|
+
);
|
|
1644
|
+
registerWorkbenchContribution2(
|
|
1645
|
+
ChatEditingEditorContextKeys.ID,
|
|
1646
|
+
ChatEditingEditorContextKeys,
|
|
1647
|
+
WorkbenchPhase.AfterRestored
|
|
1648
|
+
);
|
|
1649
|
+
registerWorkbenchContribution2(
|
|
1650
|
+
ChatTransferContribution.ID,
|
|
1651
|
+
ChatTransferContribution,
|
|
1652
|
+
WorkbenchPhase.BlockRestore
|
|
1653
|
+
);
|
|
1654
|
+
registerWorkbenchContribution2(
|
|
1655
|
+
ChatContextContributions.ID,
|
|
1656
|
+
ChatContextContributions,
|
|
1657
|
+
WorkbenchPhase.AfterRestored
|
|
1658
|
+
);
|
|
1659
|
+
registerWorkbenchContribution2(
|
|
1660
|
+
ChatResponseResourceFileSystemProvider.ID,
|
|
1661
|
+
ChatResponseResourceFileSystemProvider,
|
|
1662
|
+
WorkbenchPhase.AfterRestored
|
|
1663
|
+
);
|
|
1309
1664
|
registerWorkbenchContribution2(PromptUrlHandler.ID, PromptUrlHandler, WorkbenchPhase.BlockRestore);
|
|
1310
|
-
registerWorkbenchContribution2(
|
|
1311
|
-
|
|
1312
|
-
|
|
1665
|
+
registerWorkbenchContribution2(
|
|
1666
|
+
ChatEditingNotebookFileSystemProviderContrib.ID,
|
|
1667
|
+
ChatEditingNotebookFileSystemProviderContrib,
|
|
1668
|
+
WorkbenchPhase.BlockStartup
|
|
1669
|
+
);
|
|
1670
|
+
registerWorkbenchContribution2(
|
|
1671
|
+
UserToolSetsContributions.ID,
|
|
1672
|
+
UserToolSetsContributions,
|
|
1673
|
+
WorkbenchPhase.Eventually
|
|
1674
|
+
);
|
|
1675
|
+
registerWorkbenchContribution2(
|
|
1676
|
+
PromptLanguageFeaturesProvider.ID,
|
|
1677
|
+
PromptLanguageFeaturesProvider,
|
|
1678
|
+
WorkbenchPhase.Eventually
|
|
1679
|
+
);
|
|
1313
1680
|
registerWorkbenchContribution2(ChatWindowNotifier.ID, ChatWindowNotifier, WorkbenchPhase.AfterRestored);
|
|
1681
|
+
registerWorkbenchContribution2(
|
|
1682
|
+
ChatRepoInfoContribution.ID,
|
|
1683
|
+
ChatRepoInfoContribution,
|
|
1684
|
+
WorkbenchPhase.Eventually
|
|
1685
|
+
);
|
|
1314
1686
|
registerChatActions();
|
|
1315
1687
|
registerChatAccessibilityActions();
|
|
1316
1688
|
registerChatCopyActions();
|
|
1689
|
+
registerChatCustomizationDiagnosticsAction();
|
|
1317
1690
|
registerChatCodeBlockActions();
|
|
1318
1691
|
registerChatCodeCompareBlockActions();
|
|
1319
1692
|
registerChatFileTreeActions();
|