@codingame/monaco-vscode-api 26.1.1 → 26.1.2
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/missing-services.js +26 -5
- package/package.json +8 -8
- package/services.js +3 -3
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css +9 -0
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.d.ts +2 -0
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +12 -5
- package/vscode/src/vs/platform/actions/common/actions.d.ts +1 -0
- package/vscode/src/vs/platform/actions/common/actions.js +3 -0
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +4 -0
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +5 -1
- package/vscode/src/vs/platform/product/common/product.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +2 -1
- package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +1 -0
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +1 -0
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +31 -8
- package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +2 -1
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +7 -2
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +12 -1
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +67 -3
- package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +12 -0
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +1 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +15 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +8 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter.js +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +80 -62
- package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +8 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +70 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.js +27 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.d.ts +27 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/constants.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +84 -5
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +176 -70
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.d.ts +18 -5
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.js +46 -4
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.js +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.service.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +68 -54
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.d.ts +48 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.js +64 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.d.ts +159 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +387 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.d.ts +21 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.js +82 -26
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +51 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +14 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +11 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptEditHelper.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptEditHelper.js +22 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +14 -2
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +98 -25
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +9 -9
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +65 -65
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +2 -2
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +9 -9
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +14 -14
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +16 -16
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +12 -12
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +29 -29
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +14 -14
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -75
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +6 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +38 -38
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +18 -18
- package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +9 -9
- package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +6 -6
- package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
- package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
- package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +18 -18
- package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +41 -41
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +15 -15
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +14 -14
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +147 -147
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +170 -170
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +5 -5
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +24 -24
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +7 -7
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +48 -48
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +5 -5
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +29 -29
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +74 -74
- package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -3
- package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +18 -18
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +39 -39
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +84 -84
- package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +27 -27
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +50 -50
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +17 -17
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
- package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/common/files.js +16 -16
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +11 -0
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +150 -0
- package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
- package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +66 -66
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +31 -31
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +9 -9
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +4 -4
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +23 -23
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +338 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +58 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +17 -17
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +75 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +364 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +8 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +24 -24
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +10 -10
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +50 -50
- package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +3 -3
- package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +59 -59
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +21 -0
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +36 -0
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +110 -0
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +692 -0
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +158 -0
- package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +11 -11
- package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +6 -6
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +14 -14
- package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +9 -9
- package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +12 -12
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
- package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +5 -5
- package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
- package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
- package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +14 -14
- package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +55 -55
- package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +8 -8
- package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +5 -5
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
- package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +6 -6
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +40 -40
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +9 -9
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +17 -17
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +54 -54
- package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +30 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
- package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
- package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
- package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +11 -11
- package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +5 -5
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +14 -14
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +88 -88
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +5 -5
- package/vscode/src/vs/workbench/services/language/common/languageService.js +24 -24
- package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
- package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
- package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +18 -18
- package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +8 -8
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
- package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +24 -24
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +3 -3
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
- package/vscode/src/vs/workbench/services/views/browser/viewsService.js +9 -9
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
- package/vscode-dts/vscode.proposed.chatHooks.d.ts +126 -0
- package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +25 -1
- package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +35 -1
- package/vscode-dts/vscode.proposed.d.ts +1 -0
|
@@ -4,26 +4,37 @@ import { CancellationToken } from '../../../../../../base/common/cancellation.js
|
|
|
4
4
|
import { Codicon } from '../../../../../../base/common/codicons.js';
|
|
5
5
|
import { Event } from '../../../../../../base/common/event.js';
|
|
6
6
|
import { MarkdownString } from '../../../../../../base/common/htmlContent.js';
|
|
7
|
-
import { generateUuid } from '../../../../../../base/common/uuid.js';
|
|
8
7
|
import { Disposable, DisposableStore } from '../../../../../../base/common/lifecycle.js';
|
|
9
8
|
import { ThemeIcon } from '../../../../../../base/common/themables.js';
|
|
9
|
+
import { generateUuid } from '../../../../../../base/common/uuid.js';
|
|
10
10
|
import { localize } from '../../../../../../nls.js';
|
|
11
11
|
import { IConfigurationService } from '../../../../../../platform/configuration/common/configuration.service.js';
|
|
12
12
|
import { IInstantiationService } from '../../../../../../platform/instantiation/common/instantiation.js';
|
|
13
13
|
import { ILogService } from '../../../../../../platform/log/common/log.service.js';
|
|
14
|
-
import { IChatAgentService } from '../../participants/chatAgents.service.js';
|
|
15
|
-
import { IChatService } from '../../chatService/chatService.service.js';
|
|
16
14
|
import { ChatRequestVariableSet } from '../../attachments/chatVariableEntries.js';
|
|
15
|
+
import { IChatService } from '../../chatService/chatService.service.js';
|
|
17
16
|
import { ChatConfiguration, ChatAgentLocation, ChatModeKind } from '../../constants.js';
|
|
18
17
|
import { ILanguageModelsService } from '../../languageModels.service.js';
|
|
18
|
+
import { IChatAgentService } from '../../participants/chatAgents.service.js';
|
|
19
|
+
import { ComputeAutomaticInstructions } from '../../promptSyntax/computeAutomaticInstructions.js';
|
|
20
|
+
import { IPromptsService } from '../../promptSyntax/service/promptsService.service.js';
|
|
19
21
|
import { ToolDataSource, VSCodeToolReference, isToolSet } from '../languageModelToolsService.js';
|
|
20
22
|
import { ILanguageModelToolsService } from '../languageModelToolsService.service.js';
|
|
21
|
-
import { ComputeAutomaticInstructions } from '../../promptSyntax/computeAutomaticInstructions.js';
|
|
22
23
|
import { ManageTodoListToolToolId } from './manageTodoListTool.js';
|
|
23
24
|
import { createToolSimpleTextResult } from './toolHelpers.js';
|
|
24
|
-
import { IPromptsService } from '../../promptSyntax/service/promptsService.service.js';
|
|
25
25
|
|
|
26
26
|
var RunSubagentTool_1;
|
|
27
|
+
function parseMultiplier(multiplier) {
|
|
28
|
+
if (!multiplier) {
|
|
29
|
+
return 1000;
|
|
30
|
+
}
|
|
31
|
+
const match = /^([\d.]+)\s*[xX]$/i.exec(multiplier.trim());
|
|
32
|
+
if (!match) {
|
|
33
|
+
return 1;
|
|
34
|
+
}
|
|
35
|
+
const value = parseFloat(match[1]);
|
|
36
|
+
return isNaN(value) ? 1 : value;
|
|
37
|
+
}
|
|
27
38
|
const BaseModelDescription = `Launch a new agent to handle complex, multi-step tasks autonomously. This tool is good at researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries, use this agent to perform the search for you.
|
|
28
39
|
|
|
29
40
|
- Agents do not run async or in the background, you will wait for the agent\'s result.
|
|
@@ -59,6 +70,7 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
|
|
|
59
70
|
this.configurationService = configurationService;
|
|
60
71
|
this.promptsService = promptsService;
|
|
61
72
|
this.instantiationService = instantiationService;
|
|
73
|
+
this._resolvedModels = ( new Map());
|
|
62
74
|
this.onDidUpdateToolData = Event.filter(
|
|
63
75
|
this.configurationService.onDidChangeConfiguration,
|
|
64
76
|
e => e.affectsConfiguration(ChatConfiguration.SubagentToolCustomAgents)
|
|
@@ -91,9 +103,9 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
|
|
|
91
103
|
id: RunSubagentTool_1.Id,
|
|
92
104
|
toolReferenceName: VSCodeToolReference.runSubagent,
|
|
93
105
|
icon: ThemeIcon.fromId(Codicon.organization.id),
|
|
94
|
-
displayName: ( localize(
|
|
106
|
+
displayName: ( localize(6583, "Run Subagent")),
|
|
95
107
|
userDescription: ( localize(
|
|
96
|
-
|
|
108
|
+
6584,
|
|
97
109
|
"Run a task within an isolated subagent context to enable efficient organization of tasks and context window management."
|
|
98
110
|
)),
|
|
99
111
|
modelDescription: modelDescription,
|
|
@@ -125,27 +137,24 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
|
|
|
125
137
|
let modeTools = invocation.userSelectedTools;
|
|
126
138
|
let modeInstructions;
|
|
127
139
|
let subagent;
|
|
140
|
+
let resolvedModelName;
|
|
128
141
|
const subAgentName = args.agentName;
|
|
129
142
|
if (subAgentName) {
|
|
130
143
|
subagent = await this.getSubAgentByName(subAgentName);
|
|
131
144
|
if (subagent) {
|
|
132
|
-
const
|
|
133
|
-
if (
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
break outer;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
+
const cached = this._resolvedModels.get(invocation.callId);
|
|
146
|
+
if (cached) {
|
|
147
|
+
this._resolvedModels.delete(invocation.callId);
|
|
148
|
+
modeModelId = cached.modeModelId;
|
|
149
|
+
resolvedModelName = cached.resolvedModelName;
|
|
150
|
+
} else {
|
|
151
|
+
const resolved = this.resolveSubagentModel(subagent, invocation.modelId);
|
|
152
|
+
modeModelId = resolved.modeModelId;
|
|
153
|
+
resolvedModelName = resolved.resolvedModelName;
|
|
145
154
|
}
|
|
146
155
|
const modeCustomTools = subagent.tools;
|
|
147
156
|
if (modeCustomTools) {
|
|
148
|
-
const enablementMap = this.languageModelToolsService.toToolAndToolSetEnablementMap(modeCustomTools,
|
|
157
|
+
const enablementMap = this.languageModelToolsService.toToolAndToolSetEnablementMap(modeCustomTools, undefined);
|
|
149
158
|
modeTools = {};
|
|
150
159
|
for (const [tool, enabled] of enablementMap) {
|
|
151
160
|
if (!isToolSet(tool)) {
|
|
@@ -165,6 +174,15 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
|
|
|
165
174
|
`Requested agent '${subAgentName}' not found. Try again with the correct agent name, or omit the agentName to use the current agent.`
|
|
166
175
|
));
|
|
167
176
|
}
|
|
177
|
+
} else {
|
|
178
|
+
const cached = this._resolvedModels.get(invocation.callId);
|
|
179
|
+
if (cached) {
|
|
180
|
+
this._resolvedModels.delete(invocation.callId);
|
|
181
|
+
resolvedModelName = cached.resolvedModelName;
|
|
182
|
+
} else {
|
|
183
|
+
const resolvedModelMetadata = modeModelId ? this.languageModelsService.lookupLanguageModel(modeModelId) : undefined;
|
|
184
|
+
resolvedModelName = resolvedModelMetadata?.name;
|
|
185
|
+
}
|
|
168
186
|
}
|
|
169
187
|
const markdownParts = [];
|
|
170
188
|
const subAgentInvocationId = invocation.callId ?? `subagent-${generateUuid()}`;
|
|
@@ -187,6 +205,11 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
|
|
|
187
205
|
} else {
|
|
188
206
|
model.acceptResponseProgress(request, part);
|
|
189
207
|
}
|
|
208
|
+
} else if (part.kind === "hook") {
|
|
209
|
+
model.acceptResponseProgress(request, {
|
|
210
|
+
...part,
|
|
211
|
+
subAgentInvocationId
|
|
212
|
+
});
|
|
190
213
|
} else if (part.kind === "markdownContent") {
|
|
191
214
|
if (inEdit) {
|
|
192
215
|
model.acceptResponseProgress(request, {
|
|
@@ -207,6 +230,13 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
|
|
|
207
230
|
const variableSet = ( new ChatRequestVariableSet());
|
|
208
231
|
const computer = this.instantiationService.createInstance(ComputeAutomaticInstructions, ChatModeKind.Agent, modeTools, undefined);
|
|
209
232
|
await computer.collect(variableSet, token);
|
|
233
|
+
let collectedHooks;
|
|
234
|
+
try {
|
|
235
|
+
const info = await this.promptsService.getHooks(token);
|
|
236
|
+
collectedHooks = info?.hooks;
|
|
237
|
+
} catch (error) {
|
|
238
|
+
this.logService.warn("[ChatService] Failed to collect hooks:", error);
|
|
239
|
+
}
|
|
210
240
|
const agentRequest = {
|
|
211
241
|
sessionResource: invocation.context.sessionResource,
|
|
212
242
|
requestId: invocation.callId ?? `subagent-${Date.now()}`,
|
|
@@ -220,7 +250,9 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
|
|
|
220
250
|
subAgentName: subAgentName,
|
|
221
251
|
userSelectedModelId: modeModelId,
|
|
222
252
|
userSelectedTools: modeTools,
|
|
223
|
-
modeInstructions
|
|
253
|
+
modeInstructions,
|
|
254
|
+
hooks: collectedHooks,
|
|
255
|
+
hasHooksEnabled: !!collectedHooks && ( ( Object.values(collectedHooks)).some(arr => arr.length > 0))
|
|
224
256
|
};
|
|
225
257
|
store.add(this.languageModelToolsService.onDidInvokeTool(e => {
|
|
226
258
|
if (e.subagentInvocationId === subAgentInvocationId) {
|
|
@@ -234,6 +266,7 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
|
|
|
234
266
|
const resultText = markdownParts.join("").replace(/^\n*```\n+```\n*/g, "").trim() || "Agent completed with no output";
|
|
235
267
|
if (invocation.toolSpecificData?.kind === "subagent") {
|
|
236
268
|
invocation.toolSpecificData.result = resultText;
|
|
269
|
+
invocation.toolSpecificData.modelName = resolvedModelName;
|
|
237
270
|
}
|
|
238
271
|
return {
|
|
239
272
|
content: [{
|
|
@@ -243,7 +276,8 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
|
|
|
243
276
|
toolMetadata: {
|
|
244
277
|
subAgentInvocationId,
|
|
245
278
|
description: args.description,
|
|
246
|
-
agentName: agentRequest.subAgentName
|
|
279
|
+
agentName: agentRequest.subAgentName,
|
|
280
|
+
modelName: resolvedModelName
|
|
247
281
|
}
|
|
248
282
|
};
|
|
249
283
|
} catch (error) {
|
|
@@ -258,20 +292,59 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
|
|
|
258
292
|
const agents = await this.promptsService.getCustomAgents(CancellationToken.None);
|
|
259
293
|
return agents.find(agent => agent.name === name);
|
|
260
294
|
}
|
|
295
|
+
resolveSubagentModel(subagent, mainModelId) {
|
|
296
|
+
let modeModelId = mainModelId;
|
|
297
|
+
if (subagent) {
|
|
298
|
+
const modeModelQualifiedNames = subagent.model;
|
|
299
|
+
if (modeModelQualifiedNames) {
|
|
300
|
+
outer:
|
|
301
|
+
for (const qualifiedName of modeModelQualifiedNames) {
|
|
302
|
+
const lmByQualifiedName = this.languageModelsService.lookupLanguageModelByQualifiedName(qualifiedName);
|
|
303
|
+
for (const fullId of this.languageModelsService.getLanguageModelIds()) {
|
|
304
|
+
const lmById = this.languageModelsService.lookupLanguageModel(fullId);
|
|
305
|
+
if (lmById && lmById?.id === lmByQualifiedName?.id) {
|
|
306
|
+
modeModelId = fullId;
|
|
307
|
+
break outer;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
if (modeModelId && modeModelId !== mainModelId) {
|
|
313
|
+
const mainModelMetadata = mainModelId ? this.languageModelsService.lookupLanguageModel(mainModelId) : undefined;
|
|
314
|
+
const subagentModelMetadata = this.languageModelsService.lookupLanguageModel(modeModelId);
|
|
315
|
+
const mainMultiplier = parseMultiplier(mainModelMetadata?.multiplier);
|
|
316
|
+
const subagentMultiplier = parseMultiplier(subagentModelMetadata?.multiplier);
|
|
317
|
+
if (subagentMultiplier > mainMultiplier) {
|
|
318
|
+
this.logService.warn(
|
|
319
|
+
`[RunSubagentTool] Subagent '${subagent.name}' requested model '${subagentModelMetadata?.name}' (multiplier: ${subagentModelMetadata?.multiplier ?? "unknown"}) which has a larger multiplier than the main agent model '${mainModelMetadata?.name}' (multiplier: ${mainModelMetadata?.multiplier ?? "unknown"}). Falling back to the main agent model.`
|
|
320
|
+
);
|
|
321
|
+
modeModelId = mainModelId;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
const resolvedModelMetadata = modeModelId ? this.languageModelsService.lookupLanguageModel(modeModelId) : undefined;
|
|
326
|
+
return {
|
|
327
|
+
modeModelId,
|
|
328
|
+
resolvedModelName: resolvedModelMetadata?.name
|
|
329
|
+
};
|
|
330
|
+
}
|
|
261
331
|
async prepareToolInvocation(context, _token) {
|
|
262
332
|
const args = context.parameters;
|
|
263
333
|
const subagent = args.agentName ? await this.getSubAgentByName(args.agentName) : undefined;
|
|
334
|
+
const resolved = this.resolveSubagentModel(subagent, context.modelId);
|
|
335
|
+
this._resolvedModels.set(context.toolCallId, resolved);
|
|
264
336
|
return {
|
|
265
337
|
invocationMessage: args.description,
|
|
266
338
|
toolSpecificData: {
|
|
267
339
|
kind: "subagent",
|
|
268
340
|
description: args.description,
|
|
269
341
|
agentName: subagent?.name,
|
|
270
|
-
prompt: args.prompt
|
|
342
|
+
prompt: args.prompt,
|
|
343
|
+
modelName: resolved.resolvedModelName
|
|
271
344
|
}
|
|
272
345
|
};
|
|
273
346
|
}
|
|
274
347
|
};
|
|
275
348
|
RunSubagentTool = RunSubagentTool_1 = ( __decorate([( __param(0, IChatAgentService)), ( __param(1, IChatService)), ( __param(2, ILanguageModelToolsService)), ( __param(3, ILanguageModelsService)), ( __param(4, ILogService)), ( __param(5, ILanguageModelToolsService)), ( __param(6, IConfigurationService)), ( __param(7, IPromptsService)), ( __param(8, IInstantiationService))], RunSubagentTool));
|
|
276
349
|
|
|
277
|
-
export { RunSubagentTool };
|
|
350
|
+
export { RunSubagentTool, parseMultiplier };
|
|
@@ -30,7 +30,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
30
30
|
},
|
|
31
31
|
jsonSchema: {
|
|
32
32
|
description: ( localize(
|
|
33
|
-
|
|
33
|
+
6585,
|
|
34
34
|
"Contributes a tool that can be invoked by a language model in a chat session, or from a standalone command. Registered tools can be used by all extensions."
|
|
35
35
|
)),
|
|
36
36
|
type: "array",
|
|
@@ -56,7 +56,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
56
56
|
properties: {
|
|
57
57
|
name: {
|
|
58
58
|
description: ( localize(
|
|
59
|
-
|
|
59
|
+
6586,
|
|
60
60
|
"A unique name for this tool. This name must be a globally unique identifier, and is also used as a name when presenting this tool to a language model."
|
|
61
61
|
)),
|
|
62
62
|
type: "string",
|
|
@@ -64,7 +64,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
64
64
|
},
|
|
65
65
|
toolReferenceName: {
|
|
66
66
|
markdownDescription: ( localize(
|
|
67
|
-
|
|
67
|
+
6587,
|
|
68
68
|
"If {0} is enabled for this tool, the user may use '#' with this name to invoke the tool in a query. Otherwise, the name is not required. Name must not contain whitespace.",
|
|
69
69
|
"`canBeReferencedInPrompt`"
|
|
70
70
|
)),
|
|
@@ -73,32 +73,32 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
73
73
|
},
|
|
74
74
|
displayName: {
|
|
75
75
|
description: ( localize(
|
|
76
|
-
|
|
76
|
+
6588,
|
|
77
77
|
"A human-readable name for this tool that may be used to describe it in the UI."
|
|
78
78
|
)),
|
|
79
79
|
type: "string"
|
|
80
80
|
},
|
|
81
81
|
userDescription: {
|
|
82
|
-
description: ( localize(
|
|
82
|
+
description: ( localize(6589, "A description of this tool that may be shown to the user.")),
|
|
83
83
|
type: "string"
|
|
84
84
|
},
|
|
85
85
|
modelDescription: {
|
|
86
86
|
description: ( localize(
|
|
87
|
-
|
|
87
|
+
6590,
|
|
88
88
|
"A description of this tool that may be used by a language model to select it."
|
|
89
89
|
)),
|
|
90
90
|
type: "string"
|
|
91
91
|
},
|
|
92
92
|
inputSchema: {
|
|
93
93
|
description: ( localize(
|
|
94
|
-
|
|
94
|
+
6591,
|
|
95
95
|
"A JSON schema for the input this tool accepts. The input must be an object at the top level. A particular language model may not support all JSON schema features. See the documentation for the language model family you are using for more information."
|
|
96
96
|
)),
|
|
97
97
|
$ref: toolsParametersSchemaSchemaId
|
|
98
98
|
},
|
|
99
99
|
canBeReferencedInPrompt: {
|
|
100
100
|
markdownDescription: ( localize(
|
|
101
|
-
|
|
101
|
+
6592,
|
|
102
102
|
"If true, this tool shows up as an attachment that the user can add manually to their request. Chat participants will receive the tool in {0}.",
|
|
103
103
|
"`ChatRequest#toolReferences`"
|
|
104
104
|
)),
|
|
@@ -106,7 +106,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
106
106
|
},
|
|
107
107
|
icon: {
|
|
108
108
|
markdownDescription: ( localize(
|
|
109
|
-
|
|
109
|
+
6593,
|
|
110
110
|
"An icon that represents this tool. Either a file path, an object with file paths for dark and light themes, or a theme icon reference, like \"\\$(zap)\""
|
|
111
111
|
)),
|
|
112
112
|
anyOf: [{
|
|
@@ -115,11 +115,11 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
115
115
|
type: "object",
|
|
116
116
|
properties: {
|
|
117
117
|
light: {
|
|
118
|
-
description: ( localize(
|
|
118
|
+
description: ( localize(6594, "Icon path when a light theme is used")),
|
|
119
119
|
type: "string"
|
|
120
120
|
},
|
|
121
121
|
dark: {
|
|
122
|
-
description: ( localize(
|
|
122
|
+
description: ( localize(6595, "Icon path when a dark theme is used")),
|
|
123
123
|
type: "string"
|
|
124
124
|
}
|
|
125
125
|
}
|
|
@@ -127,14 +127,14 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
|
|
|
127
127
|
},
|
|
128
128
|
when: {
|
|
129
129
|
markdownDescription: ( localize(
|
|
130
|
-
|
|
130
|
+
6596,
|
|
131
131
|
"Condition which must be true for this tool to be enabled. Note that a tool may still be invoked by another extension even when its `when` condition is false."
|
|
132
132
|
)),
|
|
133
133
|
type: "string"
|
|
134
134
|
},
|
|
135
135
|
tags: {
|
|
136
136
|
description: ( localize(
|
|
137
|
-
|
|
137
|
+
6597,
|
|
138
138
|
"A set of tags that roughly describe the tool's capabilities. A tool user may use these to filter the set of tools to just ones that are relevant for the task at hand, or they may want to pick a tag that can be used to identify just the tools contributed by this extension."
|
|
139
139
|
)),
|
|
140
140
|
type: "array",
|
|
@@ -152,7 +152,7 @@ const languageModelToolSetsExtensionPoint = ExtensionsRegistry.registerExtension
|
|
|
152
152
|
deps: [languageModelToolsExtensionPoint],
|
|
153
153
|
jsonSchema: {
|
|
154
154
|
description: ( localize(
|
|
155
|
-
|
|
155
|
+
6598,
|
|
156
156
|
"Contributes a set of language model tools that can be used together."
|
|
157
157
|
)),
|
|
158
158
|
type: "array",
|
|
@@ -170,23 +170,23 @@ const languageModelToolSetsExtensionPoint = ExtensionsRegistry.registerExtension
|
|
|
170
170
|
properties: {
|
|
171
171
|
name: {
|
|
172
172
|
description: ( localize(
|
|
173
|
-
|
|
173
|
+
6599,
|
|
174
174
|
"A name for this tool set. Used as reference and should not contain whitespace."
|
|
175
175
|
)),
|
|
176
176
|
type: "string",
|
|
177
177
|
pattern: "^[\\w-]+$"
|
|
178
178
|
},
|
|
179
179
|
description: {
|
|
180
|
-
description: ( localize(
|
|
180
|
+
description: ( localize(6600, "A description of this tool set.")),
|
|
181
181
|
type: "string"
|
|
182
182
|
},
|
|
183
183
|
icon: {
|
|
184
|
-
markdownDescription: ( localize(
|
|
184
|
+
markdownDescription: ( localize(6601, "An icon that represents this tool set, like `$(zap)`")),
|
|
185
185
|
type: "string"
|
|
186
186
|
},
|
|
187
187
|
tools: {
|
|
188
188
|
markdownDescription: ( localize(
|
|
189
|
-
|
|
189
|
+
6602,
|
|
190
190
|
"A list of tools or tool sets to include in this tool set. Cannot be empty and must reference tools by their `toolReferenceName`."
|
|
191
191
|
)),
|
|
192
192
|
type: "array",
|
|
@@ -406,7 +406,7 @@ class LanguageModelToolDataRenderer extends Disposable {
|
|
|
406
406
|
dispose: () => {}
|
|
407
407
|
};
|
|
408
408
|
}
|
|
409
|
-
const headers = [( localize(
|
|
409
|
+
const headers = [( localize(6603, "Name")), ( localize(6604, "Display Name")), ( localize(6605, "Description"))];
|
|
410
410
|
const rows = ( contribs.map(t => {
|
|
411
411
|
return [( new MarkdownString(`\`${t.name}\``)), t.displayName, t.userDescription ?? t.modelDescription];
|
|
412
412
|
}));
|
|
@@ -421,7 +421,7 @@ class LanguageModelToolDataRenderer extends Disposable {
|
|
|
421
421
|
}
|
|
422
422
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
423
423
|
id: "languageModelTools",
|
|
424
|
-
label: ( localize(
|
|
424
|
+
label: ( localize(6606, "Language Model Tools")),
|
|
425
425
|
access: {
|
|
426
426
|
canToggle: false
|
|
427
427
|
},
|
|
@@ -446,7 +446,7 @@ class LanguageModelToolSetDataRenderer extends Disposable {
|
|
|
446
446
|
dispose: () => {}
|
|
447
447
|
};
|
|
448
448
|
}
|
|
449
|
-
const headers = [( localize(
|
|
449
|
+
const headers = [( localize(6607, "Name")), ( localize(6608, "Reference Name")), ( localize(6609, "Tools")), ( localize(6610, "Description"))];
|
|
450
450
|
const rows = ( contribs.map(t => {
|
|
451
451
|
return [( new MarkdownString(`\`${t.name}\``)), t.referenceName ? ( new MarkdownString(`\`#${t.referenceName}\``)) : "none", t.tools.join(", "), t.description];
|
|
452
452
|
}));
|
|
@@ -461,7 +461,7 @@ class LanguageModelToolSetDataRenderer extends Disposable {
|
|
|
461
461
|
}
|
|
462
462
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
463
463
|
id: "languageModelToolSets",
|
|
464
|
-
label: ( localize(
|
|
464
|
+
label: ( localize(6611, "Language Model Tool Sets")),
|
|
465
465
|
access: {
|
|
466
466
|
canToggle: false
|
|
467
467
|
},
|
|
@@ -102,6 +102,14 @@ export declare namespace ToolDataSource {
|
|
|
102
102
|
readonly label: string;
|
|
103
103
|
};
|
|
104
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Pre-tool-use hook result passed from the extension when the hook was executed externally.
|
|
107
|
+
*/
|
|
108
|
+
export interface IExternalPreToolUseHookResult {
|
|
109
|
+
permissionDecision?: "allow" | "deny" | "ask";
|
|
110
|
+
permissionDecisionReason?: string;
|
|
111
|
+
updatedInput?: Record<string, any>;
|
|
112
|
+
}
|
|
105
113
|
export interface IToolInvocation {
|
|
106
114
|
callId: string;
|
|
107
115
|
toolId: string;
|
|
@@ -121,6 +129,8 @@ export interface IToolInvocation {
|
|
|
121
129
|
toolSpecificData?: IChatTerminalToolInvocationData | IChatToolInputInvocationData | IChatExtensionsContent | IChatTodoListContent | IChatSubagentToolInvocationData;
|
|
122
130
|
modelId?: string;
|
|
123
131
|
userSelectedTools?: UserSelectedTools;
|
|
132
|
+
/** Pre-tool-use hook result passed from the extension, if the hook was already executed externally. */
|
|
133
|
+
preToolUseResult?: IExternalPreToolUseHookResult;
|
|
124
134
|
}
|
|
125
135
|
export interface IToolInvocationContext {
|
|
126
136
|
/** @deprecated Use {@link sessionResource} instead */
|
|
@@ -130,11 +140,15 @@ export interface IToolInvocationContext {
|
|
|
130
140
|
export declare function isToolInvocationContext(obj: any): obj is IToolInvocationContext;
|
|
131
141
|
export interface IToolInvocationPreparationContext {
|
|
132
142
|
parameters: any;
|
|
143
|
+
toolCallId: string;
|
|
133
144
|
chatRequestId?: string;
|
|
134
145
|
/** @deprecated Use {@link chatSessionResource} instead */
|
|
135
146
|
chatSessionId?: string;
|
|
136
147
|
chatSessionResource: URI | undefined;
|
|
137
148
|
chatInteractionId?: string;
|
|
149
|
+
modelId?: string;
|
|
150
|
+
/** If set, tells the tool that it should include confirmmation messages. */
|
|
151
|
+
forceConfirmationReason?: string;
|
|
138
152
|
}
|
|
139
153
|
export type ToolInputOutputBase = {
|
|
140
154
|
/** Mimetype of the value, optional */
|
|
@@ -54,7 +54,7 @@ var ToolDataSource;
|
|
|
54
54
|
if (source.type === "internal") {
|
|
55
55
|
return {
|
|
56
56
|
ordinal: 1,
|
|
57
|
-
label: ( localize(
|
|
57
|
+
label: ( localize(6612, "Built-In"))
|
|
58
58
|
};
|
|
59
59
|
} else if (source.type === "mcp") {
|
|
60
60
|
return {
|
|
@@ -64,7 +64,7 @@ var ToolDataSource;
|
|
|
64
64
|
} else if (source.type === "user") {
|
|
65
65
|
return {
|
|
66
66
|
ordinal: 0,
|
|
67
|
-
label: ( localize(
|
|
67
|
+
label: ( localize(6613, "User Defined"))
|
|
68
68
|
};
|
|
69
69
|
} else {
|
|
70
70
|
return {
|
|
@@ -93,7 +93,7 @@ function toolContentToA11yString(part) {
|
|
|
93
93
|
return p.value;
|
|
94
94
|
case "data":
|
|
95
95
|
return localize(
|
|
96
|
-
|
|
96
|
+
6614,
|
|
97
97
|
"{0} of {1} binary data",
|
|
98
98
|
ByteSize.formatSize(p.value.data.byteLength),
|
|
99
99
|
p.value.mimeType || "unknown"
|
package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service.d.ts
CHANGED
|
@@ -88,11 +88,10 @@ export interface ILanguageModelToolsService {
|
|
|
88
88
|
/**
|
|
89
89
|
* Gets the enablement maps based on the given set of references.
|
|
90
90
|
* @param fullReferenceNames The full reference names of the tools and tool sets to enable.
|
|
91
|
-
* @param target Optional target to filter tools by.
|
|
92
91
|
* @param model Optional language model metadata to filter tools by.
|
|
93
92
|
* If undefined is passed, all tools will be returned, even if normally disabled.
|
|
94
93
|
*/
|
|
95
|
-
toToolAndToolSetEnablementMap(fullReferenceNames: readonly string[],
|
|
94
|
+
toToolAndToolSetEnablementMap(fullReferenceNames: readonly string[], model: ILanguageModelChatMetadata | undefined): IToolAndToolSetEnablementMap;
|
|
96
95
|
toFullReferenceNames(map: IToolAndToolSetEnablementMap): string[];
|
|
97
96
|
toToolReferences(variableReferences: readonly IVariableReference[]): ChatRequestToolReferenceEntry[];
|
|
98
97
|
}
|
|
@@ -17,13 +17,13 @@ const createCodeActionsAutoSave = description => {
|
|
|
17
17
|
type: "string",
|
|
18
18
|
enum: ["always", "explicit", "never", true, false],
|
|
19
19
|
enumDescriptions: [( localize(
|
|
20
|
-
|
|
20
|
+
6631,
|
|
21
21
|
"Triggers Code Actions on explicit saves and auto saves triggered by window or focus changes."
|
|
22
|
-
)), ( localize(
|
|
23
|
-
|
|
22
|
+
)), ( localize(6632, "Triggers Code Actions only when explicitly saved")), ( localize(6633, "Never triggers Code Actions on save")), ( localize(
|
|
23
|
+
6634,
|
|
24
24
|
"Triggers Code Actions only when explicitly saved. This value will be deprecated in favor of \"explicit\"."
|
|
25
25
|
)), ( localize(
|
|
26
|
-
|
|
26
|
+
6635,
|
|
27
27
|
"Never triggers Code Actions on save. This value will be deprecated in favor of \"never\"."
|
|
28
28
|
))],
|
|
29
29
|
default: "explicit",
|
|
@@ -34,11 +34,11 @@ const createNotebookCodeActionsAutoSave = description => {
|
|
|
34
34
|
return {
|
|
35
35
|
type: ["string", "boolean"],
|
|
36
36
|
enum: ["explicit", "never", true, false],
|
|
37
|
-
enumDescriptions: [( localize(
|
|
38
|
-
|
|
37
|
+
enumDescriptions: [( localize(6636, "Triggers Code Actions only when explicitly saved.")), ( localize(6637, "Never triggers Code Actions on save.")), ( localize(
|
|
38
|
+
6638,
|
|
39
39
|
"Triggers Code Actions only when explicitly saved. This value will be deprecated in favor of \"explicit\"."
|
|
40
40
|
)), ( localize(
|
|
41
|
-
|
|
41
|
+
6639,
|
|
42
42
|
"Triggers Code Actions only when explicitly saved. This value will be deprecated in favor of \"never\"."
|
|
43
43
|
))],
|
|
44
44
|
default: "explicit",
|
|
@@ -58,7 +58,7 @@ const codeActionsOnSaveSchema = {
|
|
|
58
58
|
}
|
|
59
59
|
}],
|
|
60
60
|
markdownDescription: ( localize(
|
|
61
|
-
|
|
61
|
+
6640,
|
|
62
62
|
"Run Code Actions for the editor on save. Code Actions must be specified and the editor must not be shutting down. When {0} is set to `afterDelay`, Code Actions will only be run when the file is saved explicitly. Example: `\"source.organizeImports\": \"explicit\" `",
|
|
63
63
|
"`#files.autoSave#`"
|
|
64
64
|
)),
|
|
@@ -89,7 +89,7 @@ const notebookCodeActionsOnSaveSchema = {
|
|
|
89
89
|
}
|
|
90
90
|
}],
|
|
91
91
|
markdownDescription: ( localize(
|
|
92
|
-
|
|
92
|
+
6641,
|
|
93
93
|
"Run a series of Code Actions for a notebook on save. Code Actions must be specified and the editor must not be shutting down. When {0} is set to `afterDelay`, Code Actions will only be run when the file is saved explicitly. Example: `\"notebook.source.organizeImports\": \"explicit\"`",
|
|
94
94
|
"`#files.autoSave#`"
|
|
95
95
|
)),
|
|
@@ -144,12 +144,12 @@ let CodeActionsContribution = class CodeActionsContribution extends Disposable {
|
|
|
144
144
|
for (const codeActionKind of allProvidedKinds) {
|
|
145
145
|
if (CodeActionKind.Source.contains(codeActionKind) && !properties[codeActionKind.value]) {
|
|
146
146
|
properties[codeActionKind.value] = createCodeActionsAutoSave(( localize(
|
|
147
|
-
|
|
147
|
+
6642,
|
|
148
148
|
"Controls whether '{0}' actions should be run on file save.",
|
|
149
149
|
codeActionKind.value
|
|
150
150
|
)));
|
|
151
151
|
notebookProperties[codeActionKind.value] = createNotebookCodeActionsAutoSave(( localize(
|
|
152
|
-
|
|
152
|
+
6642,
|
|
153
153
|
"Controls whether '{0}' actions should be run on file save.",
|
|
154
154
|
codeActionKind.value
|
|
155
155
|
)));
|
|
@@ -32,12 +32,12 @@ import { isWindows } from '../../../../../base/common/platform.js';
|
|
|
32
32
|
var EditorDictation_1;
|
|
33
33
|
registerCss(editorDictation);
|
|
34
34
|
const EDITOR_DICTATION_IN_PROGRESS = ( new RawContextKey("editorDictation.inProgress", false));
|
|
35
|
-
const VOICE_CATEGORY = ( localize2(
|
|
35
|
+
const VOICE_CATEGORY = ( localize2(6648, "Voice"));
|
|
36
36
|
class EditorDictationStartAction extends EditorAction2 {
|
|
37
37
|
constructor() {
|
|
38
38
|
super({
|
|
39
39
|
id: "workbench.action.editorDictation.start",
|
|
40
|
-
title: ( localize2(
|
|
40
|
+
title: ( localize2(6649, "Start Dictation in Editor")),
|
|
41
41
|
category: VOICE_CATEGORY,
|
|
42
42
|
precondition: ( ContextKeyExpr.and(HasSpeechProvider, ( SpeechToTextInProgress.toNegated()), (
|
|
43
43
|
EditorContextKeys.readOnly.toNegated()))),
|
|
@@ -74,7 +74,7 @@ class EditorDictationStopAction extends EditorAction2 {
|
|
|
74
74
|
constructor() {
|
|
75
75
|
super({
|
|
76
76
|
id: EditorDictationStopAction.ID,
|
|
77
|
-
title: ( localize2(
|
|
77
|
+
title: ( localize2(6650, "Stop Dictation in Editor")),
|
|
78
78
|
category: VOICE_CATEGORY,
|
|
79
79
|
precondition: EDITOR_DICTATION_IN_PROGRESS,
|
|
80
80
|
f1: true,
|
|
@@ -99,7 +99,7 @@ class DictationWidget extends Disposable {
|
|
|
99
99
|
const stopActionKeybinding = keybindingService.lookupKeybinding(EditorDictationStopAction.ID)?.getLabel();
|
|
100
100
|
actionBar.push(toAction({
|
|
101
101
|
id: EditorDictationStopAction.ID,
|
|
102
|
-
label: stopActionKeybinding ? ( localize(
|
|
102
|
+
label: stopActionKeybinding ? ( localize(6651, "Stop Dictation ({0})", stopActionKeybinding)) : ( localize(6652, "Stop Dictation")),
|
|
103
103
|
class: ThemeIcon.asClassName(Codicon.micFilled),
|
|
104
104
|
run: () => EditorDictation.get(editor)?.stop()
|
|
105
105
|
}), {
|
|
@@ -31,12 +31,12 @@ class DiffEditorAccessibilityHelp {
|
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
33
|
const switchSides = ( localize(
|
|
34
|
-
|
|
34
|
+
6653,
|
|
35
35
|
"Run the command Diff Editor: Switch Side{0} to toggle between the original and modified editors.",
|
|
36
36
|
"<keybinding:diffEditor.switchSide>"
|
|
37
37
|
));
|
|
38
38
|
const diffEditorActiveAnnouncement = ( localize(
|
|
39
|
-
|
|
39
|
+
6654,
|
|
40
40
|
"The setting, accessibility.verbosity.diffEditorActive, controls if a diff editor announcement is made when it becomes the active editor."
|
|
41
41
|
));
|
|
42
42
|
const keys = [
|
|
@@ -44,13 +44,13 @@ class DiffEditorAccessibilityHelp {
|
|
|
44
44
|
"accessibility.signals.diffLineInserted",
|
|
45
45
|
"accessibility.signals.diffLineModified"
|
|
46
46
|
];
|
|
47
|
-
const content = [( localize(
|
|
48
|
-
|
|
47
|
+
const content = [( localize(6655, "You are in a diff editor.")), ( localize(
|
|
48
|
+
6656,
|
|
49
49
|
"View the next{0} or previous{1} diff in diff review mode, which is optimized for screen readers.",
|
|
50
50
|
"<keybinding:" + AccessibleDiffViewerNext.id + ">",
|
|
51
51
|
"<keybinding:" + AccessibleDiffViewerPrev.id + ">"
|
|
52
52
|
)), switchSides, diffEditorActiveAnnouncement, ( localize(
|
|
53
|
-
|
|
53
|
+
6657,
|
|
54
54
|
"To control which accessibility signals should be played, the following settings can be configured: {0}.",
|
|
55
55
|
keys.join(", ")
|
|
56
56
|
))];
|