@codingame/monaco-vscode-api 26.1.0 → 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 -8
- 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
|
@@ -5,6 +5,7 @@ import { splitLinesIncludeSeparators } from '../../../../../base/common/strings.
|
|
|
5
5
|
import { URI } from '../../../../../base/common/uri.js';
|
|
6
6
|
import { parse } from '../../../../../base/common/yaml.js';
|
|
7
7
|
import { Range } from '../../../../../editor/common/core/range.js';
|
|
8
|
+
import { Target } from './service/promptsService.js';
|
|
8
9
|
|
|
9
10
|
class PromptFileParser {
|
|
10
11
|
constructor() {}
|
|
@@ -25,7 +26,7 @@ class PromptFileParser {
|
|
|
25
26
|
bodyStartLine = headerEndLine + 1;
|
|
26
27
|
}
|
|
27
28
|
const range = ( new Range(2, 1, headerEndLine + 1, 1));
|
|
28
|
-
header = ( new PromptHeader(range, linesWithEOL));
|
|
29
|
+
header = ( new PromptHeader(range, uri, linesWithEOL));
|
|
29
30
|
}
|
|
30
31
|
if (bodyStartLine < linesWithEOL.length) {
|
|
31
32
|
const range = ( new Range(bodyStartLine + 1, 1, linesWithEOL.length + 1, 1));
|
|
@@ -49,6 +50,7 @@ var PromptHeaderAttributes;
|
|
|
49
50
|
PromptHeaderAttributes.mode = "mode";
|
|
50
51
|
PromptHeaderAttributes.model = "model";
|
|
51
52
|
PromptHeaderAttributes.applyTo = "applyTo";
|
|
53
|
+
PromptHeaderAttributes.paths = "paths";
|
|
52
54
|
PromptHeaderAttributes.tools = "tools";
|
|
53
55
|
PromptHeaderAttributes.handOffs = "handoffs";
|
|
54
56
|
PromptHeaderAttributes.advancedOptions = "advancedOptions";
|
|
@@ -67,14 +69,17 @@ var GithubPromptHeaderAttributes;
|
|
|
67
69
|
(function(GithubPromptHeaderAttributes) {
|
|
68
70
|
GithubPromptHeaderAttributes.mcpServers = "mcp-servers";
|
|
69
71
|
})(GithubPromptHeaderAttributes || (GithubPromptHeaderAttributes = {}));
|
|
70
|
-
var
|
|
71
|
-
(function(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
var ClaudeHeaderAttributes;
|
|
73
|
+
(function(ClaudeHeaderAttributes) {
|
|
74
|
+
ClaudeHeaderAttributes.disallowedTools = "disallowedTools";
|
|
75
|
+
})(ClaudeHeaderAttributes || (ClaudeHeaderAttributes = {}));
|
|
76
|
+
function isTarget(value) {
|
|
77
|
+
return value === Target.VSCode || value === Target.GitHubCopilot || value === Target.Claude || value === Target.Undefined;
|
|
78
|
+
}
|
|
75
79
|
class PromptHeader {
|
|
76
|
-
constructor(range, linesWithEOL) {
|
|
80
|
+
constructor(range, uri, linesWithEOL) {
|
|
77
81
|
this.range = range;
|
|
82
|
+
this.uri = uri;
|
|
78
83
|
this.linesWithEOL = linesWithEOL;
|
|
79
84
|
}
|
|
80
85
|
get _parsedHeader() {
|
|
@@ -206,6 +211,9 @@ class PromptHeader {
|
|
|
206
211
|
get applyTo() {
|
|
207
212
|
return this.getStringAttribute(PromptHeaderAttributes.applyTo);
|
|
208
213
|
}
|
|
214
|
+
get paths() {
|
|
215
|
+
return this.getStringOrStringArrayAttribute(PromptHeaderAttributes.paths);
|
|
216
|
+
}
|
|
209
217
|
get argumentHint() {
|
|
210
218
|
return this.getStringAttribute(PromptHeaderAttributes.argumentHint);
|
|
211
219
|
}
|
|
@@ -224,30 +232,18 @@ class PromptHeader {
|
|
|
224
232
|
if (!toolsAttribute) {
|
|
225
233
|
return undefined;
|
|
226
234
|
}
|
|
227
|
-
|
|
235
|
+
let value = toolsAttribute.value;
|
|
236
|
+
if (value.type === "string") {
|
|
237
|
+
value = parseCommaSeparatedList(value);
|
|
238
|
+
}
|
|
239
|
+
if (value.type === "array") {
|
|
228
240
|
const tools = [];
|
|
229
|
-
for (const item of
|
|
241
|
+
for (const item of value.items) {
|
|
230
242
|
if (item.type === "string" && item.value) {
|
|
231
243
|
tools.push(item.value);
|
|
232
244
|
}
|
|
233
245
|
}
|
|
234
246
|
return tools;
|
|
235
|
-
} else if (toolsAttribute.value.type === "object") {
|
|
236
|
-
const tools = [];
|
|
237
|
-
const collectLeafs = (
|
|
238
|
-
{
|
|
239
|
-
key,
|
|
240
|
-
value
|
|
241
|
-
}
|
|
242
|
-
) => {
|
|
243
|
-
if (value.type === "boolean") {
|
|
244
|
-
tools.push(key.value);
|
|
245
|
-
} else if (value.type === "object") {
|
|
246
|
-
value.properties.forEach(collectLeafs);
|
|
247
|
-
}
|
|
248
|
-
};
|
|
249
|
-
toolsAttribute.value.properties.forEach(collectLeafs);
|
|
250
|
-
return tools;
|
|
251
247
|
}
|
|
252
248
|
return undefined;
|
|
253
249
|
}
|
|
@@ -457,5 +453,65 @@ class PromptBody {
|
|
|
457
453
|
}
|
|
458
454
|
}
|
|
459
455
|
}
|
|
456
|
+
function parseCommaSeparatedList(stringValue) {
|
|
457
|
+
const result = [];
|
|
458
|
+
const input = stringValue.value;
|
|
459
|
+
const positionOffset = stringValue.range.getStartPosition();
|
|
460
|
+
let pos = 0;
|
|
461
|
+
const isWhitespace = char => char === " " || char === "\t";
|
|
462
|
+
while (pos < input.length) {
|
|
463
|
+
while (pos < input.length && isWhitespace(input[pos])) {
|
|
464
|
+
pos++;
|
|
465
|
+
}
|
|
466
|
+
if (pos >= input.length) {
|
|
467
|
+
break;
|
|
468
|
+
}
|
|
469
|
+
const startPos = pos;
|
|
470
|
+
let value = "";
|
|
471
|
+
let endPos;
|
|
472
|
+
const char = input[pos];
|
|
473
|
+
if (char === "\"" || char === `'`) {
|
|
474
|
+
const quote = char;
|
|
475
|
+
pos++;
|
|
476
|
+
while (pos < input.length && input[pos] !== quote) {
|
|
477
|
+
value += input[pos];
|
|
478
|
+
pos++;
|
|
479
|
+
}
|
|
480
|
+
endPos = pos + 1;
|
|
481
|
+
if (pos < input.length) {
|
|
482
|
+
pos++;
|
|
483
|
+
}
|
|
484
|
+
} else {
|
|
485
|
+
const startPos = pos;
|
|
486
|
+
while (pos < input.length && input[pos] !== ",") {
|
|
487
|
+
value += input[pos];
|
|
488
|
+
pos++;
|
|
489
|
+
}
|
|
490
|
+
value = value.trimEnd();
|
|
491
|
+
endPos = startPos + value.length;
|
|
492
|
+
}
|
|
493
|
+
result.push({
|
|
494
|
+
type: "string",
|
|
495
|
+
value: value,
|
|
496
|
+
range: ( new Range(
|
|
497
|
+
positionOffset.lineNumber,
|
|
498
|
+
positionOffset.column + startPos,
|
|
499
|
+
positionOffset.lineNumber,
|
|
500
|
+
positionOffset.column + endPos
|
|
501
|
+
))
|
|
502
|
+
});
|
|
503
|
+
while (pos < input.length && isWhitespace(input[pos])) {
|
|
504
|
+
pos++;
|
|
505
|
+
}
|
|
506
|
+
if (pos < input.length && input[pos] === ",") {
|
|
507
|
+
pos++;
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
return {
|
|
511
|
+
type: "array",
|
|
512
|
+
items: result,
|
|
513
|
+
range: stringValue.range
|
|
514
|
+
};
|
|
515
|
+
}
|
|
460
516
|
|
|
461
|
-
export { GithubPromptHeaderAttributes, ParsedPromptFile, PromptBody, PromptFileParser, PromptHeader, PromptHeaderAttributes,
|
|
517
|
+
export { ClaudeHeaderAttributes, GithubPromptHeaderAttributes, ParsedPromptFile, PromptBody, PromptFileParser, PromptHeader, PromptHeaderAttributes, isTarget, parseCommaSeparatedList };
|
|
@@ -6,6 +6,7 @@ export declare const PROMPT_DOCUMENTATION_URL = "https://aka.ms/vscode-ghcp-prom
|
|
|
6
6
|
export declare const INSTRUCTIONS_DOCUMENTATION_URL = "https://aka.ms/vscode-ghcp-custom-instructions";
|
|
7
7
|
export declare const AGENT_DOCUMENTATION_URL = "https://aka.ms/vscode-ghcp-custom-chat-modes";
|
|
8
8
|
export declare const SKILL_DOCUMENTATION_URL = "https://aka.ms/vscode-agent-skills";
|
|
9
|
+
export declare const HOOK_DOCUMENTATION_URL = "https://aka.ms/vscode-chat-hooks";
|
|
9
10
|
/**
|
|
10
11
|
* Language ID for the reusable prompt syntax.
|
|
11
12
|
*/
|
|
@@ -38,6 +39,7 @@ export declare enum PromptsType {
|
|
|
38
39
|
instructions = "instructions",
|
|
39
40
|
prompt = "prompt",
|
|
40
41
|
agent = "agent",
|
|
41
|
-
skill = "skill"
|
|
42
|
+
skill = "skill",
|
|
43
|
+
hook = "hook"
|
|
42
44
|
}
|
|
43
45
|
export declare function isValidPromptType(type: string): type is PromptsType;
|
|
@@ -4,6 +4,7 @@ const PROMPT_DOCUMENTATION_URL = "https://aka.ms/vscode-ghcp-prompt-snippets";
|
|
|
4
4
|
const INSTRUCTIONS_DOCUMENTATION_URL = "https://aka.ms/vscode-ghcp-custom-instructions";
|
|
5
5
|
const AGENT_DOCUMENTATION_URL = "https://aka.ms/vscode-ghcp-custom-chat-modes";
|
|
6
6
|
const SKILL_DOCUMENTATION_URL = "https://aka.ms/vscode-agent-skills";
|
|
7
|
+
const HOOK_DOCUMENTATION_URL = "https://aka.ms/vscode-chat-hooks";
|
|
7
8
|
const PROMPT_LANGUAGE_ID = "prompt";
|
|
8
9
|
const INSTRUCTIONS_LANGUAGE_ID = "instructions";
|
|
9
10
|
const AGENT_LANGUAGE_ID = "chatagent";
|
|
@@ -24,6 +25,8 @@ function getLanguageIdForPromptsType(type) {
|
|
|
24
25
|
return AGENT_LANGUAGE_ID;
|
|
25
26
|
case PromptsType.skill:
|
|
26
27
|
return SKILL_LANGUAGE_ID;
|
|
28
|
+
case PromptsType.hook:
|
|
29
|
+
return "jsonc";
|
|
27
30
|
default:
|
|
28
31
|
throw ( new Error(`Unknown prompt type: ${type}`));
|
|
29
32
|
}
|
|
@@ -48,9 +51,10 @@ var PromptsType;
|
|
|
48
51
|
PromptsType["prompt"] = "prompt";
|
|
49
52
|
PromptsType["agent"] = "agent";
|
|
50
53
|
PromptsType["skill"] = "skill";
|
|
54
|
+
PromptsType["hook"] = "hook";
|
|
51
55
|
})(PromptsType || (PromptsType = {}));
|
|
52
56
|
function isValidPromptType(type) {
|
|
53
57
|
return ( Object.values(PromptsType)).includes(type);
|
|
54
58
|
}
|
|
55
59
|
|
|
56
|
-
export { AGENT_DOCUMENTATION_URL, AGENT_LANGUAGE_ID, ALL_PROMPTS_LANGUAGE_SELECTOR, INSTRUCTIONS_DOCUMENTATION_URL, INSTRUCTIONS_LANGUAGE_ID, PROMPT_DOCUMENTATION_URL, PROMPT_LANGUAGE_ID, PromptsType, SKILL_DOCUMENTATION_URL, SKILL_LANGUAGE_ID, getLanguageIdForPromptsType, getPromptsTypeForLanguageId, isValidPromptType };
|
|
60
|
+
export { AGENT_DOCUMENTATION_URL, AGENT_LANGUAGE_ID, ALL_PROMPTS_LANGUAGE_SELECTOR, HOOK_DOCUMENTATION_URL, INSTRUCTIONS_DOCUMENTATION_URL, INSTRUCTIONS_LANGUAGE_ID, PROMPT_DOCUMENTATION_URL, PROMPT_LANGUAGE_ID, PromptsType, SKILL_DOCUMENTATION_URL, SKILL_LANGUAGE_ID, getLanguageIdForPromptsType, getPromptsTypeForLanguageId, isValidPromptType };
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { ExtensionIdentifier, IExtensionDescription } from "../../../../../../pl
|
|
|
3
3
|
import { IChatModeInstructions, IVariableReference } from "../../chatModes.js";
|
|
4
4
|
import { PromptsType } from "../promptTypes.js";
|
|
5
5
|
import { IHandOff, ParsedPromptFile } from "../promptFileParser.js";
|
|
6
|
+
import { IChatRequestHooks } from "../hookSchema.js";
|
|
6
7
|
/**
|
|
7
8
|
* Activation events for prompt file providers.
|
|
8
9
|
*/
|
|
@@ -96,6 +97,12 @@ export type ICustomAgentVisibility = {
|
|
|
96
97
|
readonly agentInvokable: boolean;
|
|
97
98
|
};
|
|
98
99
|
export declare function isCustomAgentVisibility(obj: unknown): obj is ICustomAgentVisibility;
|
|
100
|
+
export declare enum Target {
|
|
101
|
+
VSCode = "vscode",
|
|
102
|
+
GitHubCopilot = "github-copilot",
|
|
103
|
+
Claude = "claude",
|
|
104
|
+
Undefined = "undefined"
|
|
105
|
+
}
|
|
99
106
|
export interface ICustomAgent {
|
|
100
107
|
/**
|
|
101
108
|
* URI of a custom agent file.
|
|
@@ -122,9 +129,9 @@ export interface ICustomAgent {
|
|
|
122
129
|
*/
|
|
123
130
|
readonly argumentHint?: string;
|
|
124
131
|
/**
|
|
125
|
-
* Target
|
|
132
|
+
* Target of the agent: Copilot, VSCode, Claude, or undefined if not specified.
|
|
126
133
|
*/
|
|
127
|
-
readonly target
|
|
134
|
+
readonly target: Target;
|
|
128
135
|
/**
|
|
129
136
|
* What visibility the agent has (user invokable, subagent invokable).
|
|
130
137
|
*/
|
|
@@ -164,11 +171,44 @@ export interface IAgentSkill {
|
|
|
164
171
|
readonly storage: PromptsStorage;
|
|
165
172
|
readonly name: string;
|
|
166
173
|
readonly description: string | undefined;
|
|
174
|
+
/**
|
|
175
|
+
* If true, the skill should not be automatically loaded by the agent.
|
|
176
|
+
* Use for workflows you want to trigger manually with /name.
|
|
177
|
+
*/
|
|
178
|
+
readonly disableModelInvocation: boolean;
|
|
179
|
+
/**
|
|
180
|
+
* If false, the skill is hidden from the / menu.
|
|
181
|
+
* Use for background knowledge users shouldn't invoke directly.
|
|
182
|
+
*/
|
|
183
|
+
readonly userInvokable: boolean;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Type of agent instruction file.
|
|
187
|
+
*/
|
|
188
|
+
export declare enum AgentFileType {
|
|
189
|
+
agentsMd = "agentsMd",
|
|
190
|
+
claudeMd = "claudeMd",
|
|
191
|
+
copilotInstructionsMd = "copilotInstructionsMd"
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Represents a resolved agent instruction file with its real path for duplicate detection.
|
|
195
|
+
* Used by listAgentInstructions to filter out symlinks pointing to the same file.
|
|
196
|
+
*/
|
|
197
|
+
export interface IResolvedAgentFile {
|
|
198
|
+
readonly uri: URI;
|
|
199
|
+
/**
|
|
200
|
+
* The real path of the file, if it is a symlink.
|
|
201
|
+
*/
|
|
202
|
+
readonly realPath: URI | undefined;
|
|
203
|
+
readonly type: AgentFileType;
|
|
204
|
+
}
|
|
205
|
+
export interface Logger {
|
|
206
|
+
logInfo(message: string): void;
|
|
167
207
|
}
|
|
168
208
|
/**
|
|
169
209
|
* Reason why a prompt file was skipped during discovery.
|
|
170
210
|
*/
|
|
171
|
-
export type PromptFileSkipReason = "missing-name" | "missing-description" | "name-mismatch" | "duplicate-name" | "parse-error" | "disabled";
|
|
211
|
+
export type PromptFileSkipReason = "missing-name" | "missing-description" | "name-mismatch" | "duplicate-name" | "parse-error" | "disabled" | "all-hooks-disabled" | "claude-hooks-disabled";
|
|
172
212
|
/**
|
|
173
213
|
* Result of discovering a single prompt file.
|
|
174
214
|
*/
|
|
@@ -184,6 +224,10 @@ export interface IPromptFileDiscoveryResult {
|
|
|
184
224
|
readonly duplicateOf?: URI;
|
|
185
225
|
/** Extension ID if from extension */
|
|
186
226
|
readonly extensionId?: string;
|
|
227
|
+
/** If true, the skill is hidden from the / menu (user-invokable: false) */
|
|
228
|
+
readonly userInvokable?: boolean;
|
|
229
|
+
/** If true, the skill won't be automatically loaded by the agent (disable-model-invocation: true) */
|
|
230
|
+
readonly disableModelInvocation?: boolean;
|
|
187
231
|
}
|
|
188
232
|
/**
|
|
189
233
|
* Summary of prompt file discovery for a specific type.
|
|
@@ -192,3 +236,7 @@ export interface IPromptDiscoveryInfo {
|
|
|
192
236
|
readonly type: PromptsType;
|
|
193
237
|
readonly files: readonly IPromptFileDiscoveryResult[];
|
|
194
238
|
}
|
|
239
|
+
export interface IConfiguredHooksInfo {
|
|
240
|
+
readonly hooks: IChatRequestHooks;
|
|
241
|
+
readonly hasDisabledClaudeHooks: boolean;
|
|
242
|
+
}
|
|
@@ -22,5 +22,18 @@ function isCustomAgentVisibility(obj) {
|
|
|
22
22
|
const v = obj;
|
|
23
23
|
return typeof v.userInvokable === 'boolean' && typeof v.agentInvokable === 'boolean';
|
|
24
24
|
}
|
|
25
|
+
var Target;
|
|
26
|
+
(function (Target) {
|
|
27
|
+
Target["VSCode"] = "vscode";
|
|
28
|
+
Target["GitHubCopilot"] = "github-copilot";
|
|
29
|
+
Target["Claude"] = "claude";
|
|
30
|
+
Target["Undefined"] = "undefined";
|
|
31
|
+
})(Target || (Target = {}));
|
|
32
|
+
var AgentFileType;
|
|
33
|
+
(function (AgentFileType) {
|
|
34
|
+
AgentFileType["agentsMd"] = "agentsMd";
|
|
35
|
+
AgentFileType["claudeMd"] = "claudeMd";
|
|
36
|
+
AgentFileType["copilotInstructionsMd"] = "copilotInstructionsMd";
|
|
37
|
+
})(AgentFileType || (AgentFileType = {}));
|
|
25
38
|
|
|
26
|
-
export { CUSTOM_AGENT_PROVIDER_ACTIVATION_EVENT, ExtensionAgentSourceType, INSTRUCTIONS_PROVIDER_ACTIVATION_EVENT, PROMPT_FILE_PROVIDER_ACTIVATION_EVENT, PromptsStorage, SKILL_PROVIDER_ACTIVATION_EVENT, isCustomAgentVisibility };
|
|
39
|
+
export { AgentFileType, CUSTOM_AGENT_PROVIDER_ACTIVATION_EVENT, ExtensionAgentSourceType, INSTRUCTIONS_PROVIDER_ACTIVATION_EVENT, PROMPT_FILE_PROVIDER_ACTIVATION_EVENT, PromptsStorage, SKILL_PROVIDER_ACTIVATION_EVENT, Target, isCustomAgentVisibility };
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { IExtensionDescription } from "../../../../../../platform/extensions/com
|
|
|
8
8
|
import { IResolvedPromptSourceFolder } from "../config/promptFileLocations.js";
|
|
9
9
|
import { ParsedPromptFile } from "../promptFileParser.js";
|
|
10
10
|
import { PromptsType } from "../promptTypes.js";
|
|
11
|
-
import { IPromptPath, PromptsStorage, IChatPromptSlashCommand, ICustomAgent, IPromptFileContext, IPromptFileResource, IAgentSkill, IPromptDiscoveryInfo } from "./promptsService.js";
|
|
11
|
+
import { IPromptPath, PromptsStorage, IChatPromptSlashCommand, ICustomAgent, IResolvedAgentFile, Logger, IPromptFileContext, IPromptFileResource, IAgentSkill, IPromptDiscoveryInfo, IConfiguredHooksInfo } from "./promptsService.js";
|
|
12
12
|
/**
|
|
13
13
|
* Provides prompt services.
|
|
14
14
|
*/
|
|
@@ -82,18 +82,14 @@ export interface IPromptsService extends IDisposable {
|
|
|
82
82
|
registerContributedFile(type: PromptsType, uri: URI, extension: IExtensionDescription, name: string | undefined, description: string | undefined): IDisposable;
|
|
83
83
|
getPromptLocationLabel(promptPath: IPromptPath): string;
|
|
84
84
|
/**
|
|
85
|
-
* Gets list of
|
|
85
|
+
* Gets list of AGENTS.md files, including optionally nested ones from subfolders.
|
|
86
86
|
*/
|
|
87
|
-
|
|
87
|
+
listNestedAgentMDs(token: CancellationToken): Promise<IResolvedAgentFile[]>;
|
|
88
88
|
/**
|
|
89
|
-
* Gets list of AGENTS.md
|
|
90
|
-
*
|
|
89
|
+
* Gets combined list of agent instruction files (AGENTS.md, CLAUDE.md, copilot-instructions.md).
|
|
90
|
+
* Combines results from listAgentMDs (non-nested), listClaudeMDs, and listCopilotInstructionsMDs.
|
|
91
91
|
*/
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Gets list of .github/copilot-instructions.md files.
|
|
95
|
-
*/
|
|
96
|
-
listCopilotInstructionsMDs(token: CancellationToken): Promise<URI[]>;
|
|
92
|
+
listAgentInstructions(token: CancellationToken, logger?: Logger): Promise<IResolvedAgentFile[]>;
|
|
97
93
|
/**
|
|
98
94
|
* For a chat mode file URI, return the name of the agent file that it should use.
|
|
99
95
|
* @param oldURI
|
|
@@ -128,4 +124,9 @@ export interface IPromptsService extends IDisposable {
|
|
|
128
124
|
* Used for diagnostics and config-info displays.
|
|
129
125
|
*/
|
|
130
126
|
getPromptDiscoveryInfo(type: PromptsType, token: CancellationToken): Promise<IPromptDiscoveryInfo>;
|
|
127
|
+
/**
|
|
128
|
+
* Gets all hooks collected from hooks.json files.
|
|
129
|
+
* The result is cached and invalidated when hook files change.
|
|
130
|
+
*/
|
|
131
|
+
getHooks(token: CancellationToken): Promise<IConfiguredHooksInfo | undefined>;
|
|
131
132
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ITextModel } from "../../../../../../editor/common/model.js";
|
|
2
|
+
import { IArrayValue } from "../promptFileParser.js";
|
|
3
|
+
export declare function formatArrayValue(name: string, quotePreference?: QuotePreference): string;
|
|
4
|
+
export type QuotePreference = "'" | "\"" | "";
|
|
5
|
+
export declare function getQuotePreference(arrayValue: IArrayValue, model: ITextModel): QuotePreference;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
const isSimpleNameRegex = /^[\w\/\.-]+$/;
|
|
4
|
+
function formatArrayValue(name, quotePreference) {
|
|
5
|
+
switch (quotePreference) {
|
|
6
|
+
case '\'':
|
|
7
|
+
return `'${name}'`;
|
|
8
|
+
case '"':
|
|
9
|
+
return `"${name}"`;
|
|
10
|
+
}
|
|
11
|
+
return isSimpleNameRegex.test(name) ? name : `'${name}'`;
|
|
12
|
+
}
|
|
13
|
+
function getQuotePreference(arrayValue, model) {
|
|
14
|
+
const firstStringItem = arrayValue.items.find(item => item.type === 'string' && isSimpleNameRegex.test(item.value));
|
|
15
|
+
const firstChar = firstStringItem ? model.getValueInRange(firstStringItem.range).charAt(0) : undefined;
|
|
16
|
+
if (firstChar === `'` || firstChar === `"`) {
|
|
17
|
+
return firstChar;
|
|
18
|
+
}
|
|
19
|
+
return '';
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { formatArrayValue, getQuotePreference };
|
package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js
CHANGED
|
@@ -48,8 +48,8 @@ function createManageTodoListToolData() {
|
|
|
48
48
|
legacyToolReferenceFullNames: ["todos"],
|
|
49
49
|
canBeReferencedInPrompt: true,
|
|
50
50
|
icon: ThemeIcon.fromId(Codicon.checklist.id),
|
|
51
|
-
displayName: ( localize(
|
|
52
|
-
userDescription: ( localize(
|
|
51
|
+
displayName: ( localize(6572, "Manage and track todo items for task planning")),
|
|
52
|
+
userDescription: ( localize(6573, "Manage and track todo items for task planning")),
|
|
53
53
|
modelDescription: "Manage a structured todo list to track progress and plan tasks throughout your coding session. Use this tool VERY frequently to ensure task visibility and proper planning.\n\nWhen to use this tool:\n- Complex multi-step work requiring planning and tracking\n- When user provides multiple tasks or requests (numbered/comma-separated)\n- After receiving new instructions that require multiple steps\n- BEFORE starting work on any todo (mark as in-progress)\n- IMMEDIATELY after completing each todo (mark completed individually)\n- When breaking down larger tasks into smaller actionable steps\n- To give users visibility into your progress and planning\n\nWhen NOT to use:\n- Single, trivial tasks that can be completed in one step\n- Purely conversational/informational requests\n- When just reading files or performing simple searches\n\nCRITICAL workflow:\n1. Plan tasks by writing todo list with specific, actionable items\n2. Mark ONE todo as in-progress before starting work\n3. Complete the work for that specific todo\n4. Mark that todo as completed IMMEDIATELY\n5. Move to next todo and repeat\n\nTodo states:\n- not-started: Todo not yet begun\n- in-progress: Currently working (limit ONE at a time)\n- completed: Finished successfully\n\nIMPORTANT: Mark todos completed as soon as they are done. Do not batch completions.",
|
|
54
54
|
source: ToolDataSource.Internal,
|
|
55
55
|
inputSchema: inputSchema
|
|
@@ -107,7 +107,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
107
107
|
const currentTodoItems = this.chatTodoListService.getTodos(chatSessionResource);
|
|
108
108
|
let message;
|
|
109
109
|
if (args.operation === "read") {
|
|
110
|
-
message = ( localize(
|
|
110
|
+
message = ( localize(6574, "Read todo list"));
|
|
111
111
|
} else if (args.todoList) {
|
|
112
112
|
message = this.generatePastTenseMessage(currentTodoItems, args.todoList);
|
|
113
113
|
}
|
|
@@ -118,7 +118,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
118
118
|
status: todo.status
|
|
119
119
|
})));
|
|
120
120
|
return {
|
|
121
|
-
pastTenseMessage: ( new MarkdownString(message ?? ( localize(
|
|
121
|
+
pastTenseMessage: ( new MarkdownString(message ?? ( localize(6575, "Updated todo list")))),
|
|
122
122
|
toolSpecificData: {
|
|
123
123
|
kind: "todoList",
|
|
124
124
|
todoList: todoList
|
|
@@ -127,7 +127,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
127
127
|
}
|
|
128
128
|
generatePastTenseMessage(currentTodos, newTodos) {
|
|
129
129
|
if (currentTodos.length === 0) {
|
|
130
|
-
return newTodos.length === 1 ? ( localize(
|
|
130
|
+
return newTodos.length === 1 ? ( localize(6576, "Created 1 todo")) : ( localize(6577, "Created {0} todos", newTodos.length));
|
|
131
131
|
}
|
|
132
132
|
const currentTodoMap = ( new Map(( currentTodos.map(todo => [todo.id, todo]))));
|
|
133
133
|
const startedTodos = newTodos.filter(newTodo => {
|
|
@@ -139,7 +139,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
139
139
|
const totalTodos = newTodos.length;
|
|
140
140
|
const currentPosition = newTodos.findIndex(todo => todo.id === startedTodo.id) + 1;
|
|
141
141
|
return localize(
|
|
142
|
-
|
|
142
|
+
6578,
|
|
143
143
|
"Starting: *{0}* ({1}/{2})",
|
|
144
144
|
startedTodo.title,
|
|
145
145
|
currentPosition,
|
|
@@ -155,7 +155,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
155
155
|
const totalTodos = newTodos.length;
|
|
156
156
|
const currentPosition = newTodos.findIndex(todo => todo.id === completedTodo.id) + 1;
|
|
157
157
|
return localize(
|
|
158
|
-
|
|
158
|
+
6579,
|
|
159
159
|
"Completed: *{0}* ({1}/{2})",
|
|
160
160
|
completedTodo.title,
|
|
161
161
|
currentPosition,
|
|
@@ -164,9 +164,9 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
164
164
|
}
|
|
165
165
|
const addedTodos = newTodos.filter(newTodo => !( currentTodoMap.has(newTodo.id)));
|
|
166
166
|
if (addedTodos.length > 0) {
|
|
167
|
-
return addedTodos.length === 1 ? ( localize(
|
|
167
|
+
return addedTodos.length === 1 ? ( localize(6580, "Added 1 todo")) : ( localize(6581, "Added {0} todos", addedTodos.length));
|
|
168
168
|
}
|
|
169
|
-
return localize(
|
|
169
|
+
return localize(6582, "Updated todo list");
|
|
170
170
|
}
|
|
171
171
|
handleRead(todoItems, sessionResource) {
|
|
172
172
|
if (todoItems.length === 0) {
|
|
@@ -5,12 +5,17 @@ import { IConfigurationChangeEvent } from "../../../../../../platform/configurat
|
|
|
5
5
|
import { IConfigurationService } from "../../../../../../platform/configuration/common/configuration.service.js";
|
|
6
6
|
import { IInstantiationService } from "../../../../../../platform/instantiation/common/instantiation.js";
|
|
7
7
|
import { ILogService } from "../../../../../../platform/log/common/log.service.js";
|
|
8
|
-
import { IChatAgentService } from "../../participants/chatAgents.service.js";
|
|
9
8
|
import { IChatService } from "../../chatService/chatService.service.js";
|
|
10
9
|
import { ILanguageModelsService } from "../../languageModels.service.js";
|
|
10
|
+
import { IChatAgentService } from "../../participants/chatAgents.service.js";
|
|
11
|
+
import { IPromptsService } from "../../promptSyntax/service/promptsService.service.js";
|
|
11
12
|
import { CountTokensCallback, IPreparedToolInvocation, IToolData, IToolImpl, IToolInvocation, IToolInvocationPreparationContext, IToolResult, ToolProgress } from "../languageModelToolsService.js";
|
|
12
13
|
import { ILanguageModelToolsService } from "../languageModelToolsService.service.js";
|
|
13
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Parses a multiplier string like "2X" or "0.5X" to a number.
|
|
16
|
+
* Returns 1 if parsing fails.
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseMultiplier(multiplier: string | undefined): number;
|
|
14
19
|
export interface IRunSubagentToolInputParams {
|
|
15
20
|
prompt: string;
|
|
16
21
|
description: string;
|
|
@@ -28,9 +33,16 @@ export declare class RunSubagentTool extends Disposable implements IToolImpl {
|
|
|
28
33
|
private readonly instantiationService;
|
|
29
34
|
static readonly Id = "runSubagent";
|
|
30
35
|
readonly onDidUpdateToolData: Event<IConfigurationChangeEvent>;
|
|
36
|
+
/** Hack to port data between prepare/invoke */
|
|
37
|
+
private readonly _resolvedModels;
|
|
31
38
|
constructor(chatAgentService: IChatAgentService, chatService: IChatService, languageModelToolsService: ILanguageModelToolsService, languageModelsService: ILanguageModelsService, logService: ILogService, toolsService: ILanguageModelToolsService, configurationService: IConfigurationService, promptsService: IPromptsService, instantiationService: IInstantiationService);
|
|
32
39
|
getToolData(): IToolData;
|
|
33
40
|
invoke(invocation: IToolInvocation, _countTokens: CountTokensCallback, _progress: ToolProgress, token: CancellationToken): Promise<IToolResult>;
|
|
34
41
|
private getSubAgentByName;
|
|
42
|
+
/**
|
|
43
|
+
* Resolves the model to be used by a subagent, applying multiplier-based
|
|
44
|
+
* fallback to avoid using a more expensive model than the main agent.
|
|
45
|
+
*/
|
|
46
|
+
private resolveSubagentModel;
|
|
35
47
|
prepareToolInvocation(context: IToolInvocationPreparationContext, _token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
|
|
36
48
|
}
|