@codingame/monaco-vscode-api 21.6.0 → 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/missing-services.js +68 -78
- package/package.json +8 -8
- package/services.d.ts +4 -4
- package/services.js +5 -4
- package/vscode/product.json.js +1 -1
- package/vscode/src/vs/base/browser/dom.js +6 -3
- package/vscode/src/vs/base/browser/domSanitize.d.ts +8 -0
- package/vscode/src/vs/base/browser/domSanitize.js +49 -27
- package/vscode/src/vs/base/browser/domStylesheets.js +5 -1
- package/vscode/src/vs/base/browser/markdownRenderer.js +7 -5
- package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/vscode/src/vs/base/browser/ui/contextview/contextview.js +2 -2
- package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
- package/vscode/src/vs/base/browser/ui/menu/menu.js +1 -0
- package/vscode/src/vs/base/browser/ui/progressbar/progressbar.d.ts +1 -1
- package/vscode/src/vs/base/common/async.js +6 -0
- package/vscode/src/vs/base/common/cancellation.d.ts +21 -0
- package/vscode/src/vs/base/common/cancellation.js +42 -1
- package/vscode/src/vs/base/common/codicons.d.ts +3 -0
- package/vscode/src/vs/base/common/codiconsLibrary.d.ts +3 -0
- package/vscode/src/vs/base/common/codiconsLibrary.js +3 -0
- package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.d.ts +84 -0
- package/vscode/src/vs/base/common/decorators.d.ts +1 -1
- package/vscode/src/vs/base/common/htmlContent.d.ts +2 -0
- package/vscode/src/vs/base/common/htmlContent.js +9 -6
- package/vscode/src/vs/base/common/lifecycle.js +21 -7
- package/vscode/src/vs/base/common/numbers.d.ts +0 -45
- package/vscode/src/vs/base/common/oauth.d.ts +33 -0
- package/vscode/src/vs/base/common/oauth.js +79 -3
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +4 -0
- package/vscode/src/vs/base/common/observableInternal/index.js +3 -0
- package/vscode/src/vs/base/common/observableInternal/logging/debugGetDependencyGraph.d.ts +4 -0
- package/vscode/src/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js +98 -0
- package/vscode/src/vs/base/common/observableInternal/observables/baseObservable.d.ts +4 -0
- package/vscode/src/vs/base/common/observableInternal/observables/baseObservable.js +8 -1
- package/vscode/src/vs/base/common/observableInternal/observables/derivedImpl.d.ts +1 -0
- package/vscode/src/vs/base/common/observableInternal/observables/derivedImpl.js +10 -0
- package/vscode/src/vs/base/common/observableInternal/observables/observableFromEvent.d.ts +4 -0
- package/vscode/src/vs/base/common/observableInternal/observables/observableFromEvent.js +3 -0
- package/vscode/src/vs/base/common/observableInternal/reactions/autorunImpl.d.ts +1 -0
- package/vscode/src/vs/base/common/observableInternal/reactions/autorunImpl.js +9 -0
- package/vscode/src/vs/base/common/product.d.ts +7 -1
- package/vscode/src/vs/base/common/strings.d.ts +0 -1
- package/vscode/src/vs/base/common/strings.js +9 -4
- package/vscode/src/vs/base/common/uriIpc.js +24 -1
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentRich.js +26 -16
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentSimple.js +3 -3
- package/vscode/src/vs/editor/browser/services/hoverService/hover.css +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/commands.d.ts +3 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +12 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +8 -8
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +4 -4
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.d.ts +1 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +26 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +1 -1
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +93 -85
- package/vscode/src/vs/editor/common/config/editorOptions.js +386 -351
- package/vscode/src/vs/editor/common/core/editorColorRegistry.js +71 -71
- package/vscode/src/vs/editor/common/core/ranges/lineRange.d.ts +3 -3
- package/vscode/src/vs/editor/common/editorContextKeys.js +46 -46
- package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
- package/vscode/src/vs/editor/common/languages.d.ts +5 -1
- package/vscode/src/vs/editor/common/languages.js +56 -56
- package/vscode/src/vs/editor/common/model/editStack.js +1 -1
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +86 -85
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +86 -85
- package/vscode/src/vs/editor/common/standaloneStrings.js +47 -47
- package/vscode/src/vs/editor/common/textModelEditSource.d.ts +1 -0
- package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
- package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +9 -7
- package/vscode/src/vs/editor/common/viewModel/screenReaderSimpleModel.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
- package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
- package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
- package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
- package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
- package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
- package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
- package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
- package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
- package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
- package/vscode/src/vs/editor/contrib/find/browser/findController.js +16 -16
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +26 -26
- package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.contribution.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.contribution.js +8 -0
- package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +44 -0
- package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.d.ts +10 -0
- package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.js +81 -0
- package/vscode/src/vs/editor/contrib/folding/browser/folding.js +21 -20
- package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
- package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
- package/vscode/src/vs/editor/contrib/format/browser/format.js +3 -0
- package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.d.ts +4 -1
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +20 -11
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
- package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +2 -1
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
- package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
- package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
- package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -20
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHints.js +2 -7
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +19 -19
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -12
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +18 -13
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +3 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +14 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +7 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +154 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +3 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +7 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +18 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/telemetry.d.ts +45 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/telemetry.js +7 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +16 -15
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +5 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +24 -21
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.css +13 -4
- package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
- package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
- package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.d.ts +2 -1
- package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +36 -35
- package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
- package/vscode/src/vs/editor/contrib/links/browser/links.js +11 -11
- package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
- package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScrollController.js +3 -3
- package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +18 -18
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
- package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
- package/vscode/src/vs/editor/contrib/rename/browser/rename.js +11 -11
- package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
- package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.d.ts +3 -0
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +13 -4
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +12 -19
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +10 -1
- package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +18 -18
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
- package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
- package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
- package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +26 -26
- package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
- package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
- package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +1 -1
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +0 -1
- package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +1 -0
- package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
- package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
- package/vscode/src/vs/platform/actionWidget/browser/actionList.js +9 -6
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +13 -14
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +7 -7
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
- package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +1 -1
- package/vscode/src/vs/platform/actions/browser/toolbar.js +5 -5
- package/vscode/src/vs/platform/actions/common/actions.d.ts +2 -0
- package/vscode/src/vs/platform/actions/common/actions.js +2 -0
- package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
- package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
- package/vscode/src/vs/platform/assignment/common/assignment.d.ts +6 -1
- package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +2 -2
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +10 -10
- package/vscode/src/vs/platform/contextkey/browser/contextKeyService.d.ts +2 -0
- package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +32 -3
- package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
- package/vscode/src/vs/platform/contextkey/common/contextkeys.d.ts +0 -1
- package/vscode/src/vs/platform/contextkey/common/contextkeys.js +10 -11
- package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
- package/vscode/src/vs/platform/dataChannel/browser/forwardingTelemetryService.d.ts +32 -0
- package/vscode/src/vs/platform/dataChannel/browser/forwardingTelemetryService.js +86 -0
- package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
- package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
- package/vscode/src/vs/platform/environment/common/argv.d.ts +1 -0
- package/vscode/src/vs/platform/environment/common/environment.service.d.ts +0 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +19 -19
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
- package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.d.ts +1 -3
- package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +1 -1
- package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +2 -1
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +4 -3
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +4 -3
- package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
- package/vscode/src/vs/platform/files/common/files.js +6 -6
- package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
- package/vscode/src/vs/platform/list/browser/listService.js +27 -27
- package/vscode/src/vs/platform/log/common/log.js +6 -6
- package/vscode/src/vs/platform/markers/common/markerService.js +2 -2
- package/vscode/src/vs/platform/markers/common/markers.js +6 -6
- package/vscode/src/vs/platform/mcp/common/mcpGalleryManifest.d.ts +10 -2
- package/vscode/src/vs/platform/mcp/common/mcpGalleryManifest.js +10 -2
- package/vscode/src/vs/platform/mcp/common/mcpManagement.service.d.ts +3 -3
- package/vscode/src/vs/platform/notification/common/notification.js +3 -3
- package/vscode/src/vs/platform/product/common/product.js +3 -3
- package/vscode/src/vs/platform/quickinput/browser/quickInput.d.ts +1 -0
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +23 -15
- package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +47 -13
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +10 -61
- package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.d.ts +6 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.js +10 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +10 -5
- package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +4 -1
- package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +10 -1
- package/vscode/src/vs/platform/request/common/request.js +34 -18
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
- package/vscode/src/vs/platform/terminal/common/terminal.d.ts +2 -3
- package/vscode/src/vs/platform/terminal/common/terminal.js +6 -7
- package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
- package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
- package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
- package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -95
- package/vscode/src/vs/platform/theme/common/colors/inputColors.js +47 -47
- package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
- package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
- package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
- package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
- package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
- package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
- package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
- package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
- package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +11 -10
- package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +25 -24
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.d.ts +4 -4
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +10 -18
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +5 -0
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +16 -4
- package/vscode/src/vs/workbench/api/common/extHostChatSessions.d.ts +1 -3
- package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +9 -5
- package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostDebugService.js +0 -3
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +9 -4
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +7 -2
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +97 -9
- package/vscode/src/vs/workbench/api/common/extHostMcp.js +66 -62
- package/vscode/src/vs/workbench/api/common/extHostNotebook.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +2 -0
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +22 -0
- package/vscode/src/vs/workbench/api/common/extHostSecrets.d.ts +0 -1
- package/vscode/src/vs/workbench/api/common/extHostSecrets.js +0 -3
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +8 -8
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +53 -3
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.d.ts +2 -0
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +5 -2
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +6 -2
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +60 -9
- package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +18 -14
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +7 -7
- package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
- package/vscode/src/vs/workbench/browser/actions/developerActions.js +262 -31
- package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
- package/vscode/src/vs/workbench/browser/contextkeys.d.ts +5 -7
- package/vscode/src/vs/workbench/browser/contextkeys.js +15 -43
- package/vscode/src/vs/workbench/common/configuration.js +9 -9
- package/vscode/src/vs/workbench/common/contextkeys.js +73 -73
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
- package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
- package/vscode/src/vs/workbench/common/editor.js +4 -4
- package/vscode/src/vs/workbench/common/theme.js +167 -167
- package/vscode/src/vs/workbench/common/views.js +4 -4
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +175 -158
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContextPickService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +15 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +61 -66
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatLayoutService.service.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +24 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.d.ts +28 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.js +35 -6
- package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +16 -6
- package/vscode/src/vs/workbench/contrib/chat/common/constants.js +11 -8
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +9 -2
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.d.ts +10 -3
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +8 -4
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +50 -42
- package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +23 -8
- package/vscode/src/vs/workbench/contrib/chat/common/tools/manageTodoListTool.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/tools/manageTodoListTool.js +29 -29
- package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.js +4 -3
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
- 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/largeFileOptimizations.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +7 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
- 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/comments/browser/commentsAccessibility.js +12 -12
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
- 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/dropOrPasteInto/browser/commands.js +2 -2
- package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
- 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/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/common/mcpRegistryTypes.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +16 -5
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.d.ts +217 -60
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/scm/common/history.d.ts +2 -0
- 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 +7 -7
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.d.ts +16 -3
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +18 -6
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +42 -8
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.js +2 -1
- package/vscode/src/vs/workbench/contrib/testing/common/constants.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/testing/common/constants.js +12 -11
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
- package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +2 -2
- package/vscode/src/vs/workbench/services/activity/common/activity.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +4 -4
- package/vscode/src/vs/workbench/services/authentication/common/authentication.js +2 -2
- package/vscode/src/vs/workbench/services/authentication/common/authentication.service.d.ts +6 -6
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.d.ts +286 -0
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +861 -0
- package/vscode/src/vs/workbench/{contrib → services}/chat/common/chatEntitlementService.service.d.ts +8 -2
- 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/extensions/common/extensionsRegistry.js +87 -87
- package/vscode/src/vs/workbench/services/language/common/languageService.js +30 -30
- package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
- package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +1 -1
- 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/textfile/common/encoding.js +1 -1
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
- package/vscode-dts/vscode.d.ts +92 -47
- package/vscode-dts/vscode.proposed.authenticationChallenges.d.ts +7 -80
- package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +14 -1
- package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +12 -0
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +19 -0
- package/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts +19 -11
- package/vscode-dts/vscode.proposed.d.ts +1 -1
- package/vscode-dts/{vscode.proposed.secretStorageKeys.d.ts → vscode.proposed.devDeviceId.d.ts} +3 -4
- package/vscode-dts/vscode.proposed.languageModelCapabilities.d.ts +5 -0
- package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +2 -0
- package/vscode-dts/vscode.proposed.terminalCompletionProvider.d.ts +70 -16
- package/vscode/src/vs/workbench/contrib/chat/common/chatLayoutService.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tokens.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +0 -55
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +0 -91
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +0 -125
- /package/vscode/src/vs/workbench/{contrib → services}/chat/common/chatEntitlementService.service.js +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
3
|
+
import { SequencerByKey } from '../../../../base/common/async.js';
|
|
3
4
|
import { CancellationToken } from '../../../../base/common/cancellation.js';
|
|
4
5
|
import { Emitter } from '../../../../base/common/event.js';
|
|
5
6
|
import { Iterable } from '../../../../base/common/iterator.js';
|
|
@@ -10,6 +11,8 @@ import { IContextKeyService } from '../../../../platform/contextkey/common/conte
|
|
|
10
11
|
import { ILogService } from '../../../../platform/log/common/log.service.js';
|
|
11
12
|
import { StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js';
|
|
12
13
|
import { IStorageService } from '../../../../platform/storage/common/storage.service.js';
|
|
14
|
+
import { ChatEntitlement } from '../../../services/chat/common/chatEntitlementService.js';
|
|
15
|
+
import { IChatEntitlementService } from '../../../services/chat/common/chatEntitlementService.service.js';
|
|
13
16
|
import { IExtensionService } from '../../../services/extensions/common/extensions.service.js';
|
|
14
17
|
import { ExtensionsRegistry } from '../../../services/extensions/common/extensionsRegistry.js';
|
|
15
18
|
import { ChatContextKeys } from './chatContextKeys.js';
|
|
@@ -63,16 +66,16 @@ const languageModelChatProviderType = {
|
|
|
63
66
|
properties: {
|
|
64
67
|
vendor: {
|
|
65
68
|
type: 'string',
|
|
66
|
-
description: ( localize(
|
|
69
|
+
description: ( localize(5612, "A globally unique vendor of language model chat provider."))
|
|
67
70
|
},
|
|
68
71
|
displayName: {
|
|
69
72
|
type: 'string',
|
|
70
|
-
description: ( localize(
|
|
73
|
+
description: ( localize(5613, "The display name of the language model chat provider."))
|
|
71
74
|
},
|
|
72
75
|
managementCommand: {
|
|
73
76
|
type: 'string',
|
|
74
77
|
description: ( localize(
|
|
75
|
-
|
|
78
|
+
5614,
|
|
76
79
|
"A command to manage the language model chat provider, e.g. 'Manage Copilot models'. This is used in the chat model picker. If not provided, a gear icon is not rendered during vendor selection."
|
|
77
80
|
))
|
|
78
81
|
}
|
|
@@ -81,7 +84,7 @@ const languageModelChatProviderType = {
|
|
|
81
84
|
const languageModelChatProviderExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
82
85
|
extensionPoint: 'languageModelChatProviders',
|
|
83
86
|
jsonSchema: {
|
|
84
|
-
description: ( localize(
|
|
87
|
+
description: ( localize(5615, "Contribute language model chat providers of a specific vendor.")),
|
|
85
88
|
oneOf: [
|
|
86
89
|
languageModelChatProviderType,
|
|
87
90
|
{
|
|
@@ -90,26 +93,39 @@ const languageModelChatProviderExtensionPoint = ExtensionsRegistry.registerExten
|
|
|
90
93
|
}
|
|
91
94
|
]
|
|
92
95
|
},
|
|
93
|
-
activationEventsGenerator: (contribs
|
|
96
|
+
activationEventsGenerator: function* (contribs) {
|
|
94
97
|
for (const contrib of contribs) {
|
|
95
|
-
|
|
98
|
+
yield `onLanguageModelChatProvider:${contrib.vendor}`;
|
|
96
99
|
}
|
|
97
100
|
}
|
|
98
101
|
});
|
|
99
102
|
let LanguageModelsService = class LanguageModelsService {
|
|
100
|
-
constructor(_extensionService, _logService, _storageService, _contextKeyService) {
|
|
103
|
+
constructor(_extensionService, _logService, _storageService, _contextKeyService, _chatEntitlementService) {
|
|
101
104
|
this._extensionService = _extensionService;
|
|
102
105
|
this._logService = _logService;
|
|
103
106
|
this._storageService = _storageService;
|
|
107
|
+
this._chatEntitlementService = _chatEntitlementService;
|
|
104
108
|
this._store = ( new DisposableStore());
|
|
105
109
|
this._providers = ( new Map());
|
|
106
110
|
this._modelCache = ( new Map());
|
|
107
111
|
this._vendors = ( new Map());
|
|
112
|
+
this._resolveLMSequencer = ( new SequencerByKey());
|
|
108
113
|
this._modelPickerUserPreferences = {};
|
|
109
114
|
this._onLanguageModelChange = this._store.add(( new Emitter()));
|
|
110
115
|
this.onDidChangeLanguageModels = this._onLanguageModelChange.event;
|
|
111
116
|
this._hasUserSelectableModels = ChatContextKeys.languageModelsAreUserSelectable.bindTo(_contextKeyService);
|
|
112
117
|
this._modelPickerUserPreferences = this._storageService.getObject('chatModelPickerPreferences', StorageScope.PROFILE, this._modelPickerUserPreferences);
|
|
118
|
+
const entitlementChangeHandler = () => {
|
|
119
|
+
if ((this._chatEntitlementService.entitlement === ChatEntitlement.Business || this._chatEntitlementService.entitlement === ChatEntitlement.Enterprise) && !this._chatEntitlementService.isInternal) {
|
|
120
|
+
this._modelPickerUserPreferences = {};
|
|
121
|
+
this._storageService.store('chatModelPickerPreferences', this._modelPickerUserPreferences, StorageScope.PROFILE, StorageTarget.USER);
|
|
122
|
+
}
|
|
123
|
+
else if (this._chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
|
|
124
|
+
this._modelPickerUserPreferences = {};
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
entitlementChangeHandler();
|
|
128
|
+
this._store.add(this._chatEntitlementService.onDidChangeEntitlement(entitlementChangeHandler));
|
|
113
129
|
this._store.add(this.onDidChangeLanguageModels(() => {
|
|
114
130
|
this._hasUserSelectableModels.set(this._modelCache.size > 0 && ( Array.from(( this._modelCache.values())).some(model => model.isUserSelectable)));
|
|
115
131
|
}));
|
|
@@ -119,22 +135,22 @@ let LanguageModelsService = class LanguageModelsService {
|
|
|
119
135
|
for (const item of Iterable.wrap(extension.value)) {
|
|
120
136
|
if (( this._vendors.has(item.vendor))) {
|
|
121
137
|
extension.collector.error(( localize(
|
|
122
|
-
|
|
138
|
+
5616,
|
|
123
139
|
"The vendor '{0}' is already registered and cannot be registered twice",
|
|
124
140
|
item.vendor
|
|
125
141
|
)));
|
|
126
142
|
continue;
|
|
127
143
|
}
|
|
128
144
|
if (isFalsyOrWhitespace(item.vendor)) {
|
|
129
|
-
extension.collector.error(( localize(
|
|
145
|
+
extension.collector.error(( localize(5617, "The vendor field cannot be empty.")));
|
|
130
146
|
continue;
|
|
131
147
|
}
|
|
132
148
|
if (item.vendor.trim() !== item.vendor) {
|
|
133
|
-
extension.collector.error(( localize(
|
|
149
|
+
extension.collector.error(( localize(5618, "The vendor field cannot start or end with whitespace.")));
|
|
134
150
|
continue;
|
|
135
151
|
}
|
|
136
152
|
this._vendors.set(item.vendor, item);
|
|
137
|
-
if (this.
|
|
153
|
+
if (this._hasStoredModelForVendor(item.vendor)) {
|
|
138
154
|
this._extensionService.activateByEvent(`onLanguageModelChatProvider:${item.vendor}`);
|
|
139
155
|
}
|
|
140
156
|
}
|
|
@@ -146,7 +162,7 @@ let LanguageModelsService = class LanguageModelsService {
|
|
|
146
162
|
}
|
|
147
163
|
}));
|
|
148
164
|
}
|
|
149
|
-
|
|
165
|
+
_hasStoredModelForVendor(vendor) {
|
|
150
166
|
return ( ( Object.keys(this._modelPickerUserPreferences)).some(modelId => {
|
|
151
167
|
return modelId.startsWith(vendor);
|
|
152
168
|
}));
|
|
@@ -185,38 +201,27 @@ let LanguageModelsService = class LanguageModelsService {
|
|
|
185
201
|
}
|
|
186
202
|
return model;
|
|
187
203
|
}
|
|
188
|
-
_clearModelCache(
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
for (const vendor of vendors) {
|
|
193
|
-
for (const [id, model] of this._modelCache.entries()) {
|
|
194
|
-
if (model.vendor === vendor) {
|
|
195
|
-
this._modelCache.delete(id);
|
|
196
|
-
}
|
|
204
|
+
_clearModelCache(vendor) {
|
|
205
|
+
for (const [id, model] of this._modelCache.entries()) {
|
|
206
|
+
if (model.vendor === vendor) {
|
|
207
|
+
this._modelCache.delete(id);
|
|
197
208
|
}
|
|
198
209
|
}
|
|
199
210
|
}
|
|
200
|
-
async
|
|
201
|
-
|
|
202
|
-
|
|
211
|
+
async _resolveLanguageModels(vendor, silent) {
|
|
212
|
+
await this._extensionService.activateByEvent(`onLanguageModelChatProvider:${vendor}`);
|
|
213
|
+
const provider = this._providers.get(vendor);
|
|
214
|
+
if (!provider) {
|
|
215
|
+
this._logService.warn(`[LM] No provider registered for vendor ${vendor}`);
|
|
216
|
+
return;
|
|
203
217
|
}
|
|
204
|
-
|
|
205
|
-
vendor => this._extensionService.activateByEvent(`onLanguageModelChatProvider:${vendor}`)
|
|
206
|
-
));
|
|
207
|
-
await Promise.all(all);
|
|
208
|
-
this._clearModelCache(vendors);
|
|
209
|
-
for (const vendor of vendors) {
|
|
210
|
-
const provider = this._providers.get(vendor);
|
|
211
|
-
if (!provider) {
|
|
212
|
-
this._logService.warn(`[LM] No provider registered for vendor ${vendor}`);
|
|
213
|
-
continue;
|
|
214
|
-
}
|
|
218
|
+
return this._resolveLMSequencer.queue(vendor, async () => {
|
|
215
219
|
try {
|
|
216
220
|
let modelsAndIdentifiers = await provider.provideLanguageModelChatInfo({ silent }, CancellationToken.None);
|
|
217
221
|
if (!silent && ( modelsAndIdentifiers.some(m => m.metadata.isUserSelectable))) {
|
|
218
222
|
modelsAndIdentifiers = modelsAndIdentifiers.filter(m => m.metadata.isUserSelectable || this._modelPickerUserPreferences[m.identifier] === true);
|
|
219
223
|
}
|
|
224
|
+
this._clearModelCache(vendor);
|
|
220
225
|
for (const modelAndIdentifier of modelsAndIdentifiers) {
|
|
221
226
|
if (( this._modelCache.has(modelAndIdentifier.identifier))) {
|
|
222
227
|
this._logService.warn(`[LM] Model ${modelAndIdentifier.identifier} is already registered. Skipping.`);
|
|
@@ -229,16 +234,16 @@ let LanguageModelsService = class LanguageModelsService {
|
|
|
229
234
|
catch (error) {
|
|
230
235
|
this._logService.error(`[LM] Error resolving language models for vendor ${vendor}:`, error);
|
|
231
236
|
}
|
|
232
|
-
|
|
233
|
-
|
|
237
|
+
this._onLanguageModelChange.fire();
|
|
238
|
+
});
|
|
234
239
|
}
|
|
235
240
|
async selectLanguageModels(selector, allowPromptingUser) {
|
|
236
241
|
if (selector.vendor) {
|
|
237
|
-
await this.
|
|
242
|
+
await this._resolveLanguageModels(selector.vendor, !allowPromptingUser);
|
|
238
243
|
}
|
|
239
244
|
else {
|
|
240
245
|
const allVendors = Array.from(( this._vendors.keys()));
|
|
241
|
-
await this.
|
|
246
|
+
await Promise.all(( allVendors.map(vendor => this._resolveLanguageModels(vendor, !allowPromptingUser))));
|
|
242
247
|
}
|
|
243
248
|
const result = [];
|
|
244
249
|
for (const [internalModelIdentifier, model] of this._modelCache) {
|
|
@@ -261,13 +266,15 @@ let LanguageModelsService = class LanguageModelsService {
|
|
|
261
266
|
throw ( new Error(`Chat model provider for vendor ${vendor} is already registered.`));
|
|
262
267
|
}
|
|
263
268
|
this._providers.set(vendor, provider);
|
|
264
|
-
this.
|
|
265
|
-
|
|
269
|
+
this._resolveLanguageModels(vendor, true);
|
|
270
|
+
const modelChangeListener = provider.onDidChange(async () => {
|
|
271
|
+
await this._resolveLanguageModels(vendor, true);
|
|
266
272
|
});
|
|
267
273
|
return toDisposable(() => {
|
|
268
274
|
this._logService.trace('[LM] UNregistered language model provider', vendor);
|
|
269
275
|
this._clearModelCache(vendor);
|
|
270
276
|
this._providers.delete(vendor);
|
|
277
|
+
modelChangeListener.dispose();
|
|
271
278
|
});
|
|
272
279
|
}
|
|
273
280
|
async sendChatRequest(modelId, from, messages, options, token) {
|
|
@@ -293,7 +300,8 @@ LanguageModelsService = ( __decorate([
|
|
|
293
300
|
( __param(0, IExtensionService)),
|
|
294
301
|
( __param(1, ILogService)),
|
|
295
302
|
( __param(2, IStorageService)),
|
|
296
|
-
( __param(3, IContextKeyService))
|
|
303
|
+
( __param(3, IContextKeyService)),
|
|
304
|
+
( __param(4, IChatEntitlementService))
|
|
297
305
|
], LanguageModelsService));
|
|
298
306
|
|
|
299
307
|
export { ChatImageMimeType, ChatMessageRole, ILanguageModelChatMetadata, ImageDetailLevel, LanguageModelPartAudience, LanguageModelsService, languageModelChatProviderExtensionPoint };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { localize } from '../../../../../nls.js';
|
|
3
3
|
|
|
4
|
-
const DEFAULT_MODEL_PICKER_CATEGORY = { label: ( localize(
|
|
4
|
+
const DEFAULT_MODEL_PICKER_CATEGORY = { label: ( localize(5619, "Other Models")), order: Number.MAX_SAFE_INTEGER };
|
|
5
5
|
|
|
6
6
|
export { DEFAULT_MODEL_PICKER_CATEGORY };
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts
CHANGED
|
@@ -3,8 +3,10 @@ import { Event } from "../../../../../../base/common/event.js";
|
|
|
3
3
|
import { IDisposable } from "../../../../../../base/common/lifecycle.js";
|
|
4
4
|
import { URI } from "../../../../../../base/common/uri.js";
|
|
5
5
|
import { ITextModel } from "../../../../../../editor/common/model.js";
|
|
6
|
+
import { IExtensionDescription } from "../../../../../../platform/extensions/common/extensions.js";
|
|
6
7
|
import { PromptsType } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
|
|
7
|
-
import {
|
|
8
|
+
import { ParsedPromptFile } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser";
|
|
9
|
+
import { IPromptPath, PromptsStorage, IChatPromptSlashCommand, ICustomChatMode } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
|
|
8
10
|
/**
|
|
9
11
|
* Provides prompt services.
|
|
10
12
|
*/
|
|
@@ -15,17 +17,19 @@ export declare const IPromptsService: import("../../../../../../platform/instant
|
|
|
15
17
|
export interface IPromptsService extends IDisposable {
|
|
16
18
|
readonly _serviceBrand: undefined;
|
|
17
19
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
+
* The parsed prompt file for the provided text model.
|
|
21
|
+
* @param textModel Returns the parsed prompt file.
|
|
20
22
|
*/
|
|
21
|
-
|
|
22
|
-
isDisposed: false;
|
|
23
|
-
};
|
|
23
|
+
getParsedPromptFile(textModel: ITextModel): ParsedPromptFile;
|
|
24
24
|
/**
|
|
25
25
|
* List all available prompt files.
|
|
26
26
|
*/
|
|
27
27
|
listPromptFiles(type: PromptsType, token: CancellationToken): Promise<readonly IPromptPath[]>;
|
|
28
28
|
/**
|
|
29
|
+
* List all available prompt files.
|
|
30
|
+
*/
|
|
31
|
+
listPromptFilesForStorage(type: PromptsType, storage: PromptsStorage, token: CancellationToken): Promise<readonly IPromptPath[]>;
|
|
32
|
+
/**
|
|
29
33
|
* Get a list of prompt source folders based on the provided prompt type.
|
|
30
34
|
*/
|
|
31
35
|
getSourceFolders(type: PromptsType): readonly IPromptPath[];
|
|
@@ -37,12 +41,16 @@ export interface IPromptsService extends IDisposable {
|
|
|
37
41
|
/**
|
|
38
42
|
* Gets the prompt file for a slash command.
|
|
39
43
|
*/
|
|
40
|
-
resolvePromptSlashCommand(data: IChatPromptSlashCommand, _token: CancellationToken): Promise<
|
|
44
|
+
resolvePromptSlashCommand(data: IChatPromptSlashCommand, _token: CancellationToken): Promise<ParsedPromptFile | undefined>;
|
|
41
45
|
/**
|
|
42
46
|
* Returns a prompt command if the command name is valid.
|
|
43
47
|
*/
|
|
44
48
|
findPromptSlashCommands(): Promise<IChatPromptSlashCommand[]>;
|
|
45
49
|
/**
|
|
50
|
+
* Returns the prompt command name for the given URI.
|
|
51
|
+
*/
|
|
52
|
+
getPromptCommandName(uri: URI): Promise<string>;
|
|
53
|
+
/**
|
|
46
54
|
* Event that is triggered when the list of custom chat modes changes.
|
|
47
55
|
*/
|
|
48
56
|
readonly onDidChangeCustomChatModes: Event<void>;
|
|
@@ -54,10 +62,17 @@ export interface IPromptsService extends IDisposable {
|
|
|
54
62
|
* Parses the provided URI
|
|
55
63
|
* @param uris
|
|
56
64
|
*/
|
|
57
|
-
|
|
65
|
+
parseNew(uri: URI, token: CancellationToken): Promise<ParsedPromptFile>;
|
|
58
66
|
/**
|
|
59
67
|
* Returns the prompt file type for the given URI.
|
|
60
68
|
* @param resource the URI of the resource
|
|
61
69
|
*/
|
|
62
70
|
getPromptFileType(resource: URI): PromptsType | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Internal: register a contributed file. Returns a disposable that removes the contribution.
|
|
73
|
+
* Not intended for extension authors; used by contribution point handler.
|
|
74
|
+
*/
|
|
75
|
+
registerContributedFile(type: PromptsType, name: string, description: string, uri: URI, extension: IExtensionDescription): IDisposable;
|
|
76
|
+
getPromptLocationLabel(promptPath: IPromptPath): string;
|
|
77
|
+
findAgentMDsInWorkspace(token: CancellationToken): Promise<URI[]>;
|
|
63
78
|
}
|
|
@@ -4,17 +4,18 @@ import { IToolData, IToolImpl, IToolInvocation, IToolResult, IToolInvocationPrep
|
|
|
4
4
|
import { ILogService } from "../../../../../platform/log/common/log.service.js";
|
|
5
5
|
import { ITelemetryService } from "../../../../../platform/telemetry/common/telemetry.service.js";
|
|
6
6
|
import { IChatTodoListService } from "../chatTodoListService.service.js";
|
|
7
|
-
export declare const TodoListToolSettingId = "chat.todoListTool.enabled";
|
|
8
7
|
export declare const TodoListToolWriteOnlySettingId = "chat.todoListTool.writeOnly";
|
|
8
|
+
export declare const TodoListToolDescriptionFieldSettingId = "chat.todoListTool.descriptionField";
|
|
9
9
|
export declare const ManageTodoListToolToolId = "manage_todo_list";
|
|
10
|
-
export declare function createManageTodoListToolData(writeOnly: boolean): IToolData;
|
|
10
|
+
export declare function createManageTodoListToolData(writeOnly: boolean, includeDescription?: boolean): IToolData;
|
|
11
11
|
export declare const ManageTodoListToolData: IToolData;
|
|
12
12
|
export declare class ManageTodoListTool extends Disposable implements IToolImpl {
|
|
13
13
|
private readonly writeOnly;
|
|
14
|
+
private readonly includeDescription;
|
|
14
15
|
private readonly chatTodoListService;
|
|
15
16
|
private readonly logService;
|
|
16
17
|
private readonly telemetryService;
|
|
17
|
-
constructor(writeOnly: boolean, chatTodoListService: IChatTodoListService, logService: ILogService, telemetryService: ITelemetryService);
|
|
18
|
+
constructor(writeOnly: boolean, includeDescription: boolean, chatTodoListService: IChatTodoListService, logService: ILogService, telemetryService: ITelemetryService);
|
|
18
19
|
invoke(invocation: IToolInvocation, _countTokens: any, _progress: any, _token: CancellationToken): Promise<IToolResult>;
|
|
19
20
|
prepareToolInvocation(context: IToolInvocationPreparationContext, _token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
|
|
20
21
|
private generatePastTenseMessage;
|
|
@@ -7,15 +7,13 @@ import { ToolDataSource } from '../languageModelToolsService.js';
|
|
|
7
7
|
import { ILogService } from '../../../../../platform/log/common/log.service.js';
|
|
8
8
|
import { ITelemetryService } from '../../../../../platform/telemetry/common/telemetry.service.js';
|
|
9
9
|
import { IChatTodoListService } from '../chatTodoListService.service.js';
|
|
10
|
-
import { ContextKeyExpr } from '../../../../../platform/contextkey/common/contextkey.js';
|
|
11
|
-
import { IsSimulationContext } from '../../../../../platform/contextkey/common/contextkeys.js';
|
|
12
10
|
import { localize } from '../../../../../nls.js';
|
|
13
11
|
import { MarkdownString } from '../../../../../base/common/htmlContent.js';
|
|
14
12
|
|
|
15
|
-
const TodoListToolSettingId = 'chat.todoListTool.enabled';
|
|
16
13
|
const TodoListToolWriteOnlySettingId = 'chat.todoListTool.writeOnly';
|
|
14
|
+
const TodoListToolDescriptionFieldSettingId = 'chat.todoListTool.descriptionField';
|
|
17
15
|
const ManageTodoListToolToolId = 'manage_todo_list';
|
|
18
|
-
function createManageTodoListToolData(writeOnly) {
|
|
16
|
+
function createManageTodoListToolData(writeOnly, includeDescription = true) {
|
|
19
17
|
const baseProperties = {
|
|
20
18
|
todoList: {
|
|
21
19
|
type: 'array',
|
|
@@ -33,17 +31,19 @@ function createManageTodoListToolData(writeOnly) {
|
|
|
33
31
|
type: 'string',
|
|
34
32
|
description: 'Concise action-oriented todo label (3-7 words). Displayed in UI.'
|
|
35
33
|
},
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
...(includeDescription && {
|
|
35
|
+
description: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
description: 'Detailed context, requirements, or implementation notes. Include file paths, specific methods, or acceptance criteria.'
|
|
38
|
+
}
|
|
39
|
+
}),
|
|
40
40
|
status: {
|
|
41
41
|
type: 'string',
|
|
42
42
|
enum: ['not-started', 'in-progress', 'completed'],
|
|
43
43
|
description: 'not-started: Not begun | in-progress: Currently working (max 1) | completed: Fully finished with no blockers'
|
|
44
44
|
},
|
|
45
45
|
},
|
|
46
|
-
required: ['id', 'title', 'description', 'status']
|
|
46
|
+
required: includeDescription ? ['id', 'title', 'description', 'status'] : ['id', 'title', 'status']
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
};
|
|
@@ -59,11 +59,10 @@ function createManageTodoListToolData(writeOnly) {
|
|
|
59
59
|
return {
|
|
60
60
|
id: ManageTodoListToolToolId,
|
|
61
61
|
toolReferenceName: 'todos',
|
|
62
|
-
when: ( ContextKeyExpr.or(( ContextKeyExpr.equals(`config.${TodoListToolSettingId}`, true)), IsSimulationContext)),
|
|
63
62
|
canBeReferencedInPrompt: true,
|
|
64
63
|
icon: ThemeIcon.fromId(Codicon.checklist.id),
|
|
65
|
-
displayName: ( localize(
|
|
66
|
-
userDescription: ( localize(
|
|
64
|
+
displayName: ( localize(5711, 'Manage and track todo items for task planning')),
|
|
65
|
+
userDescription: ( localize(5712, 'Tool for managing and tracking todo items for task planning')),
|
|
67
66
|
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.',
|
|
68
67
|
source: ToolDataSource.Internal,
|
|
69
68
|
inputSchema: {
|
|
@@ -75,9 +74,10 @@ function createManageTodoListToolData(writeOnly) {
|
|
|
75
74
|
}
|
|
76
75
|
createManageTodoListToolData(false);
|
|
77
76
|
let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
78
|
-
constructor(writeOnly, chatTodoListService, logService, telemetryService) {
|
|
77
|
+
constructor(writeOnly, includeDescription, chatTodoListService, logService, telemetryService) {
|
|
79
78
|
super();
|
|
80
79
|
this.writeOnly = writeOnly;
|
|
80
|
+
this.includeDescription = includeDescription;
|
|
81
81
|
this.chatTodoListService = chatTodoListService;
|
|
82
82
|
this.logService = logService;
|
|
83
83
|
this.telemetryService = telemetryService;
|
|
@@ -137,7 +137,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
137
137
|
break;
|
|
138
138
|
}
|
|
139
139
|
case 'read': {
|
|
140
|
-
message = ( localize(
|
|
140
|
+
message = ( localize(5713, "Read todo list"));
|
|
141
141
|
break;
|
|
142
142
|
}
|
|
143
143
|
}
|
|
@@ -145,11 +145,11 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
145
145
|
const todoList = ( items.map(todo => ({
|
|
146
146
|
id: ( todo.id.toString()),
|
|
147
147
|
title: todo.title,
|
|
148
|
-
description: todo.description,
|
|
148
|
+
description: todo.description || '',
|
|
149
149
|
status: todo.status
|
|
150
150
|
})));
|
|
151
151
|
return {
|
|
152
|
-
pastTenseMessage: ( new MarkdownString(message ?? ( localize(
|
|
152
|
+
pastTenseMessage: ( new MarkdownString(message ?? ( localize(5714, "Updated todo list")))),
|
|
153
153
|
toolSpecificData: {
|
|
154
154
|
kind: 'todoList',
|
|
155
155
|
sessionId: chatSessionId,
|
|
@@ -160,8 +160,8 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
160
160
|
generatePastTenseMessage(currentTodos, newTodos) {
|
|
161
161
|
if (currentTodos.length === 0) {
|
|
162
162
|
return newTodos.length === 1
|
|
163
|
-
? ( localize(
|
|
164
|
-
: ( localize(
|
|
163
|
+
? ( localize(5715, "Created 1 todo"))
|
|
164
|
+
: ( localize(5716, "Created {0} todos", newTodos.length));
|
|
165
165
|
}
|
|
166
166
|
const currentTodoMap = ( new Map(( currentTodos.map(todo => [todo.id, todo]))));
|
|
167
167
|
const startedTodos = newTodos.filter(newTodo => {
|
|
@@ -173,7 +173,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
173
173
|
const totalTodos = newTodos.length;
|
|
174
174
|
const currentPosition = newTodos.findIndex(todo => todo.id === startedTodo.id) + 1;
|
|
175
175
|
return localize(
|
|
176
|
-
|
|
176
|
+
5717,
|
|
177
177
|
"Starting ({0}/{1}) *{2}*",
|
|
178
178
|
currentPosition,
|
|
179
179
|
totalTodos,
|
|
@@ -189,7 +189,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
189
189
|
const totalTodos = newTodos.length;
|
|
190
190
|
const currentPosition = newTodos.findIndex(todo => todo.id === completedTodo.id) + 1;
|
|
191
191
|
return localize(
|
|
192
|
-
|
|
192
|
+
5718,
|
|
193
193
|
"Completed ({0}/{1}) *{2}*",
|
|
194
194
|
currentPosition,
|
|
195
195
|
totalTodos,
|
|
@@ -199,10 +199,10 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
199
199
|
const addedTodos = newTodos.filter(newTodo => !( currentTodoMap.has(newTodo.id)));
|
|
200
200
|
if (addedTodos.length > 0) {
|
|
201
201
|
return addedTodos.length === 1
|
|
202
|
-
? ( localize(
|
|
203
|
-
: ( localize(
|
|
202
|
+
? ( localize(5719, "Added 1 todo"))
|
|
203
|
+
: ( localize(5720, "Added {0} todos", addedTodos.length));
|
|
204
204
|
}
|
|
205
|
-
return localize(
|
|
205
|
+
return localize(5721, "Updated todo list");
|
|
206
206
|
}
|
|
207
207
|
handleRead(todoItems, sessionId) {
|
|
208
208
|
if (todoItems.length === 0) {
|
|
@@ -241,7 +241,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
241
241
|
const todoList = ( args.todoList.map((parsedTodo) => ({
|
|
242
242
|
id: parsedTodo.id,
|
|
243
243
|
title: parsedTodo.title,
|
|
244
|
-
description: parsedTodo.description,
|
|
244
|
+
description: parsedTodo.description || '',
|
|
245
245
|
status: parsedTodo.status
|
|
246
246
|
})));
|
|
247
247
|
const existingTodos = this.chatTodoListService.getTodos(chatSessionId);
|
|
@@ -297,7 +297,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
297
297
|
break;
|
|
298
298
|
}
|
|
299
299
|
const lines = [`- ${checkbox} ${todo.title}`];
|
|
300
|
-
if (todo.description && todo.description.trim()) {
|
|
300
|
+
if (this.includeDescription && todo.description && todo.description.trim()) {
|
|
301
301
|
lines.push(` - ${todo.description.trim()}`);
|
|
302
302
|
}
|
|
303
303
|
return lines.join('\n');
|
|
@@ -320,9 +320,9 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
320
320
|
}
|
|
321
321
|
};
|
|
322
322
|
ManageTodoListTool = ( __decorate([
|
|
323
|
-
( __param(
|
|
324
|
-
( __param(
|
|
325
|
-
( __param(
|
|
323
|
+
( __param(2, IChatTodoListService)),
|
|
324
|
+
( __param(3, ILogService)),
|
|
325
|
+
( __param(4, ITelemetryService))
|
|
326
326
|
], ManageTodoListTool));
|
|
327
327
|
|
|
328
|
-
export { ManageTodoListTool, ManageTodoListToolToolId,
|
|
328
|
+
export { ManageTodoListTool, ManageTodoListToolToolId, TodoListToolDescriptionFieldSettingId, TodoListToolWriteOnlySettingId, createManageTodoListToolData };
|
|
@@ -6,7 +6,7 @@ import { IInstantiationService } from '../../../../../platform/instantiation/com
|
|
|
6
6
|
import { ILanguageModelToolsService } from '../languageModelToolsService.service.js';
|
|
7
7
|
import { ConfirmationTool, ConfirmationToolData } from './confirmationTool.js';
|
|
8
8
|
import { EditTool, EditToolData } from './editFileTool.js';
|
|
9
|
-
import { TodoListToolWriteOnlySettingId, createManageTodoListToolData, ManageTodoListTool } from './manageTodoListTool.js';
|
|
9
|
+
import { TodoListToolWriteOnlySettingId, TodoListToolDescriptionFieldSettingId, createManageTodoListToolData, ManageTodoListTool } from './manageTodoListTool.js';
|
|
10
10
|
|
|
11
11
|
let BuiltinToolsContribution = class BuiltinToolsContribution extends Disposable {
|
|
12
12
|
static { this.ID = 'chat.builtinTools'; }
|
|
@@ -16,8 +16,9 @@ let BuiltinToolsContribution = class BuiltinToolsContribution extends Disposable
|
|
|
16
16
|
const editTool = instantiationService.createInstance(EditTool);
|
|
17
17
|
this._register(toolsService.registerTool(EditToolData, editTool));
|
|
18
18
|
const writeOnlyMode = this.configurationService.getValue(TodoListToolWriteOnlySettingId) === true;
|
|
19
|
-
const
|
|
20
|
-
const
|
|
19
|
+
const includeDescription = this.configurationService.getValue(TodoListToolDescriptionFieldSettingId) !== false;
|
|
20
|
+
const todoToolData = createManageTodoListToolData(writeOnlyMode, includeDescription);
|
|
21
|
+
const manageTodoListTool = this._register(instantiationService.createInstance(ManageTodoListTool, writeOnlyMode, includeDescription));
|
|
21
22
|
this._register(toolsService.registerTool(todoToolData, manageTodoListTool));
|
|
22
23
|
const confirmationTool = instantiationService.createInstance(ConfirmationTool);
|
|
23
24
|
this._register(toolsService.registerTool(ConfirmationToolData, confirmationTool));
|
|
@@ -18,17 +18,17 @@ const createCodeActionsAutoSave = (description) => {
|
|
|
18
18
|
enum: ['always', 'explicit', 'never', true, false],
|
|
19
19
|
enumDescriptions: [
|
|
20
20
|
( localize(
|
|
21
|
-
|
|
21
|
+
5723,
|
|
22
22
|
'Triggers Code Actions on explicit saves and auto saves triggered by window or focus changes.'
|
|
23
23
|
)),
|
|
24
|
-
( localize(
|
|
25
|
-
( localize(
|
|
24
|
+
( localize(5724, 'Triggers Code Actions only when explicitly saved')),
|
|
25
|
+
( localize(5725, 'Never triggers Code Actions on save')),
|
|
26
26
|
( localize(
|
|
27
|
-
|
|
27
|
+
5726,
|
|
28
28
|
'Triggers Code Actions only when explicitly saved. This value will be deprecated in favor of "explicit".'
|
|
29
29
|
)),
|
|
30
30
|
( localize(
|
|
31
|
-
|
|
31
|
+
5727,
|
|
32
32
|
'Never triggers Code Actions on save. This value will be deprecated in favor of "never".'
|
|
33
33
|
))
|
|
34
34
|
],
|
|
@@ -41,14 +41,14 @@ const createNotebookCodeActionsAutoSave = (description) => {
|
|
|
41
41
|
type: ['string', 'boolean'],
|
|
42
42
|
enum: ['explicit', 'never', true, false],
|
|
43
43
|
enumDescriptions: [
|
|
44
|
-
( localize(
|
|
45
|
-
( localize(
|
|
44
|
+
( localize(5728, 'Triggers Code Actions only when explicitly saved.')),
|
|
45
|
+
( localize(5729, 'Never triggers Code Actions on save.')),
|
|
46
46
|
( localize(
|
|
47
|
-
|
|
47
|
+
5730,
|
|
48
48
|
'Triggers Code Actions only when explicitly saved. This value will be deprecated in favor of "explicit".'
|
|
49
49
|
)),
|
|
50
50
|
( localize(
|
|
51
|
-
|
|
51
|
+
5731,
|
|
52
52
|
'Triggers Code Actions only when explicitly saved. This value will be deprecated in favor of "never".'
|
|
53
53
|
))
|
|
54
54
|
],
|
|
@@ -70,7 +70,7 @@ const codeActionsOnSaveSchema = {
|
|
|
70
70
|
}
|
|
71
71
|
],
|
|
72
72
|
markdownDescription: ( localize(
|
|
73
|
-
|
|
73
|
+
5732,
|
|
74
74
|
'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" `',
|
|
75
75
|
'`#files.autoSave#`'
|
|
76
76
|
)),
|
|
@@ -102,7 +102,7 @@ const notebookCodeActionsOnSaveSchema = {
|
|
|
102
102
|
}
|
|
103
103
|
],
|
|
104
104
|
markdownDescription: ( localize(
|
|
105
|
-
|
|
105
|
+
5733,
|
|
106
106
|
'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"`',
|
|
107
107
|
'`#files.autoSave#`'
|
|
108
108
|
)),
|
|
@@ -150,12 +150,12 @@ let CodeActionsContribution = class CodeActionsContribution extends Disposable {
|
|
|
150
150
|
for (const codeActionKind of allProvidedKinds) {
|
|
151
151
|
if (CodeActionKind.Source.contains(codeActionKind) && !properties[codeActionKind.value]) {
|
|
152
152
|
properties[codeActionKind.value] = createCodeActionsAutoSave(( localize(
|
|
153
|
-
|
|
153
|
+
5734,
|
|
154
154
|
"Controls whether '{0}' actions should be run on file save.",
|
|
155
155
|
codeActionKind.value
|
|
156
156
|
)));
|
|
157
157
|
notebookProperties[codeActionKind.value] = createNotebookCodeActionsAutoSave(( localize(
|
|
158
|
-
|
|
158
|
+
5734,
|
|
159
159
|
"Controls whether '{0}' actions should be run on file save.",
|
|
160
160
|
codeActionKind.value
|
|
161
161
|
)));
|
|
@@ -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(5737, "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(5738, "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(5739, "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(5740, "Stop Dictation ({0})", stopActionKeybinding)) : ( localize(5741, "Stop Dictation")),
|
|
103
103
|
class: ThemeIcon.asClassName(Codicon.micFilled),
|
|
104
104
|
run: () => EditorDictation.get(editor)?.stop()
|
|
105
105
|
}), { icon: true, label: false, keybinding: stopActionKeybinding });
|