@codingame/monaco-vscode-api 16.1.1 → 17.1.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 +105 -0
- package/monaco.d.ts +2 -2
- package/package.json +10 -9
- package/services.d.ts +4 -4
- package/services.js +3 -3
- package/vscode/product.json.js +3 -0
- package/vscode/src/vs/base/browser/dom.d.ts +1 -0
- package/vscode/src/vs/base/browser/dom.js +6 -1
- package/vscode/src/vs/base/browser/mouseEvent.d.ts +2 -0
- package/vscode/src/vs/base/browser/mouseEvent.js +1 -0
- package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/vscode/src/vs/base/browser/ui/dropdown/dropdown.d.ts +2 -3
- package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
- package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +1 -0
- package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +6 -1
- package/vscode/src/vs/base/browser/ui/list/listPaging.d.ts +2 -1
- package/vscode/src/vs/base/browser/ui/severityIcon/media/severityIcon.css +1 -3
- package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +5 -1
- package/vscode/src/vs/base/browser/ui/toggle/toggle.js +17 -4
- package/vscode/src/vs/base/common/arrays.d.ts +1 -0
- package/vscode/src/vs/base/common/arrays.js +5 -2
- package/vscode/src/vs/base/common/async.js +9 -2
- package/vscode/src/vs/base/common/codicons.d.ts +5 -0
- package/vscode/src/vs/base/common/codiconsLibrary.d.ts +5 -0
- package/vscode/src/vs/base/common/codiconsLibrary.js +5 -0
- package/vscode/src/vs/base/common/color.d.ts +1 -0
- package/vscode/src/vs/base/common/color.js +10 -0
- package/vscode/src/vs/base/common/comparers.d.ts +2 -2
- package/vscode/src/vs/base/common/decorators.d.ts +1 -1
- package/vscode/src/vs/base/common/glob.d.ts +3 -0
- package/vscode/src/vs/base/common/glob.js +10 -1
- package/vscode/src/vs/base/common/marshallingIds.d.ts +2 -1
- package/vscode/src/vs/base/common/marshallingIds.js +1 -0
- package/vscode/src/vs/base/common/observableInternal/autorun.d.ts +6 -8
- package/vscode/src/vs/base/common/observableInternal/autorun.js +15 -11
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +0 -10
- package/vscode/src/vs/base/common/observableInternal/changeTracker.d.ts +23 -0
- package/vscode/src/vs/base/common/observableInternal/changeTracker.js +30 -0
- package/vscode/src/vs/base/common/observableInternal/derived.d.ts +18 -13
- package/vscode/src/vs/base/common/observableInternal/derived.js +47 -18
- package/vscode/src/vs/base/common/observableInternal/index.d.ts +6 -5
- package/vscode/src/vs/base/common/observableInternal/index.js +2 -2
- package/vscode/src/vs/base/common/observableInternal/logging/logging.d.ts +2 -2
- package/vscode/src/vs/base/common/observableInternal/promise.d.ts +28 -0
- package/vscode/src/vs/base/common/observableInternal/promise.js +65 -0
- package/vscode/src/vs/base/common/observableInternal/reducer.d.ts +16 -0
- package/vscode/src/vs/base/common/observableInternal/reducer.js +36 -0
- package/vscode/src/vs/base/common/observableInternal/utils.d.ts +2 -0
- package/vscode/src/vs/base/common/observableInternal/utils.js +19 -11
- package/vscode/src/vs/base/common/product.d.ts +5 -0
- package/vscode/src/vs/base/common/sseParser.d.ts +26 -0
- package/vscode/src/vs/base/common/sseParser.js +134 -0
- package/vscode/src/vs/base/common/stopwatch.js +2 -2
- package/vscode/src/vs/base/common/strings.d.ts +1 -0
- package/vscode/src/vs/base/common/strings.js +8 -19
- package/vscode/src/vs/base/common/ternarySearchTree.d.ts +1 -0
- package/vscode/src/vs/base/common/ternarySearchTree.js +55 -13
- package/vscode/src/vs/editor/browser/config/editorConfiguration.d.ts +1 -0
- package/vscode/src/vs/editor/browser/config/editorConfiguration.js +3 -1
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.css +1 -1
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +6 -3
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +86 -54
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.d.ts +0 -1
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +12 -8
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.d.ts +0 -1
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +9 -6
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +3 -3
- package/vscode/src/vs/editor/browser/controller/mouseTarget.js +2 -2
- package/vscode/src/vs/editor/browser/editorBrowser.d.ts +1 -1
- package/vscode/src/vs/editor/browser/gpu/objectCollectionBuffer.d.ts +1 -1
- package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +2 -0
- package/vscode/src/vs/editor/browser/services/hoverService/hover.css +8 -0
- package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.d.ts +1 -0
- package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +6 -1
- package/vscode/src/vs/editor/browser/view/renderingContext.d.ts +1 -0
- package/vscode/src/vs/editor/browser/view/renderingContext.js +3 -0
- package/vscode/src/vs/editor/browser/view/viewLayer.d.ts +3 -1
- package/vscode/src/vs/editor/browser/view/viewLayer.js +13 -6
- package/vscode/src/vs/editor/browser/view/viewOverlays.js +4 -1
- package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +4 -5
- package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +4 -2
- package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.d.ts +0 -1
- package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +6 -6
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +3 -0
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +2 -2
- package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +1 -1
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +5 -2
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +7 -5
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.d.ts +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +10 -8
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +19 -15
- package/vscode/src/vs/editor/common/codecs/frontMatterCodec/tokens/index.d.ts +5 -0
- package/vscode/src/vs/editor/common/codecs/simpleCodec/tokens/index.d.ts +20 -0
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +24 -23
- package/vscode/src/vs/editor/common/config/editorOptions.js +1 -2
- package/vscode/src/vs/editor/common/core/columnRange.d.ts +11 -0
- package/vscode/src/vs/editor/common/core/columnRange.js +32 -0
- package/vscode/src/vs/editor/common/core/offsetEdit.d.ts +1 -0
- package/vscode/src/vs/editor/common/core/offsetEdit.js +10 -0
- package/vscode/src/vs/editor/common/core/offsetRange.d.ts +1 -0
- package/vscode/src/vs/editor/common/core/offsetRange.js +3 -0
- package/vscode/src/vs/editor/common/core/positionToOffset.d.ts +15 -3
- package/vscode/src/vs/editor/common/core/positionToOffset.js +45 -11
- package/vscode/src/vs/editor/common/core/rangeSingleLine.d.ts +9 -0
- package/vscode/src/vs/editor/common/core/rangeSingleLine.js +27 -0
- package/vscode/src/vs/editor/common/core/textEdit.d.ts +1 -0
- package/vscode/src/vs/editor/common/core/textEdit.js +41 -0
- package/vscode/src/vs/editor/common/editorCommon.d.ts +1 -0
- package/vscode/src/vs/editor/common/languages/modesRegistry.d.ts +2 -2
- package/vscode/src/vs/editor/common/languages/modesRegistry.js +4 -2
- package/vscode/src/vs/editor/common/languages.d.ts +22 -1
- package/vscode/src/vs/editor/common/languages.js +7 -1
- package/vscode/src/vs/editor/common/model/textModel.d.ts +5 -1
- package/vscode/src/vs/editor/common/model/textModel.js +80 -18
- package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +1 -1
- package/vscode/src/vs/editor/common/model.d.ts +2 -1
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +5 -0
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +7 -1
- package/vscode/src/vs/editor/common/textModelEvents.d.ts +11 -0
- package/vscode/src/vs/editor/common/textModelEvents.js +14 -1
- package/vscode/src/vs/editor/common/tokens/common.d.ts +7 -0
- package/vscode/src/vs/editor/common/tokens/common.js +18 -0
- package/vscode/src/vs/editor/common/tokens/contiguousTokensEditing.d.ts +1 -1
- package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +1 -0
- package/vscode/src/vs/editor/common/tokens/lineTokens.js +3 -0
- package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.d.ts +2 -0
- package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +20 -0
- package/vscode/src/vs/editor/common/tokens/sparseTokensStore.d.ts +2 -1
- package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +9 -4
- package/vscode/src/vs/editor/common/tokens/tokenArray.d.ts +1 -0
- package/vscode/src/vs/editor/common/tokens/tokenArray.js +4 -0
- package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.d.ts +25 -0
- package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.js +73 -0
- package/vscode/src/vs/editor/common/viewLayout/lineHeights.d.ts +35 -0
- package/vscode/src/vs/editor/common/viewLayout/lineHeights.js +339 -0
- package/vscode/src/vs/editor/common/viewLayout/linesLayout.d.ts +8 -6
- package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +42 -49
- package/vscode/src/vs/editor/common/viewLayout/viewLayout.d.ts +6 -3
- package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +16 -5
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +1 -0
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +44 -7
- package/vscode/src/vs/editor/common/viewModel.d.ts +5 -0
- package/vscode/src/vs/editor/common/viewModelEventDispatcher.d.ts +11 -3
- package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +14 -1
- package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +20 -14
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +3 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +4 -3
- package/vscode/src/vs/editor/contrib/find/browser/findController.d.ts +1 -3
- package/vscode/src/vs/editor/contrib/find/browser/findController.js +5 -11
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.d.ts +1 -7
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -15
- package/vscode/src/vs/editor/contrib/folding/browser/folding.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/folding/browser/folding.js +24 -23
- 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/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/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 +5 -5
- package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
- 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 +14 -12
- 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 +21 -21
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.d.ts +0 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +29 -41
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +11 -11
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +11 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +6 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +1 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.d.ts +4 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +1 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.d.ts +10 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +31 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +16 -16
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +156 -202
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +21 -49
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +135 -431
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.d.ts +3 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +98 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +487 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +34 -32
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +141 -132
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.d.ts +26 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.d.ts +2 -7
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +21 -20
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +19 -7
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +17 -9
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.d.ts +5 -13
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +139 -188
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.d.ts +8 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +9 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.d.ts +4 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +6 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.d.ts +23 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +157 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.d.ts +2 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +37 -20
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.d.ts +3 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +3 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.d.ts +6 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +28 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.d.ts +21 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +215 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +0 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +0 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.d.ts +1 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +3 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +22 -21
- 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.js +30 -30
- package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
- package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
- package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
- 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 +17 -17
- 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 +23 -49
- 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.js +4 -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 +8 -0
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +1 -1
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +24 -14
- 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 +19 -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 +5 -10
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
- 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/contrib/zoneWidget/browser/zoneWidget.js +1 -1
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +2 -2
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +2 -2
- package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +3 -0
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +23 -14
- package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +2 -0
- package/vscode/src/vs/platform/actionWidget/browser/actionList.js +17 -3
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +6 -1
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.d.ts +2 -1
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.service.d.ts +2 -1
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
- package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
- package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -1
- 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/clipboard/browser/clipboardService.d.ts +1 -0
- package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +3 -0
- package/vscode/src/vs/platform/clipboard/common/clipboardService.service.d.ts +1 -0
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +15 -13
- package/vscode/src/vs/platform/configuration/common/configurations.js +1 -1
- package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
- package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
- package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
- package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
- package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
- package/vscode/src/vs/platform/dnd/browser/dnd.d.ts +5 -0
- package/vscode/src/vs/platform/dnd/browser/dnd.js +6 -2
- package/vscode/src/vs/platform/editor/common/editor.d.ts +1 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +8 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +94 -4
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.d.ts +3 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +10 -7
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.d.ts +0 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +10 -11
- package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -0
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +7 -6
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +9 -8
- 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/jsonschemas/common/jsonContributionRegistry.js +5 -4
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
- package/vscode/src/vs/platform/label/common/label.service.d.ts +1 -1
- package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
- package/vscode/src/vs/platform/list/browser/listService.d.ts +1 -1
- 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.d.ts +2 -7
- package/vscode/src/vs/platform/markers/common/markerService.js +5 -5
- package/vscode/src/vs/platform/markers/common/markers.d.ts +7 -0
- package/vscode/src/vs/platform/markers/common/markers.js +6 -6
- package/vscode/src/vs/platform/markers/common/markers.service.d.ts +2 -7
- package/vscode/src/vs/platform/native/common/native.d.ts +168 -0
- package/vscode/src/vs/platform/notification/common/notification.d.ts +6 -2
- package/vscode/src/vs/platform/notification/common/notification.js +3 -2
- package/vscode/src/vs/platform/notification/common/notification.service.d.ts +2 -3
- package/vscode/src/vs/platform/product/common/product.js +7 -90
- package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +4 -19
- package/vscode/src/vs/platform/quickinput/browser/quickInput.d.ts +6 -3
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +33 -10
- package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
- package/vscode/src/vs/platform/quickinput/browser/quickInputBox.d.ts +2 -0
- package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +6 -0
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +25 -18
- package/vscode/src/vs/platform/quickinput/browser/quickInputTree.d.ts +5 -5
- package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +58 -43
- package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
- package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +1 -1
- package/vscode/src/vs/platform/registry/common/platform.js +9 -1
- package/vscode/src/vs/platform/request/common/request.d.ts +1 -1
- package/vscode/src/vs/platform/request/common/request.js +18 -18
- package/vscode/src/vs/platform/request/common/request.service.d.ts +1 -1
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
- package/vscode/src/vs/platform/terminal/common/terminal.d.ts +14 -1
- package/vscode/src/vs/platform/terminal/common/terminal.js +14 -1
- package/vscode/src/vs/platform/theme/browser/defaultStyles.d.ts +1 -2
- package/vscode/src/vs/platform/theme/browser/defaultStyles.js +4 -2
- package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +7 -1
- package/vscode/src/vs/platform/theme/common/colorUtils.js +12 -4
- 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 +94 -94
- package/vscode/src/vs/platform/theme/common/colors/inputColors.d.ts +2 -0
- package/vscode/src/vs/platform/theme/common/colors/inputColors.js +49 -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 +10 -8
- package/vscode/src/vs/platform/theme/common/themeService.d.ts +0 -8
- package/vscode/src/vs/platform/theme/common/themeService.js +4 -3
- 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.d.ts +1 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +2 -2
- package/vscode/src/vs/platform/window/common/window.d.ts +4 -0
- package/vscode/src/vs/platform/window/common/window.js +2 -1
- package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
- package/vscode/src/vs/platform/workspaces/common/workspaces.service.d.ts +2 -2
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +27 -20
- package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +54 -19
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
- package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.d.ts +14 -0
- package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.js +38 -0
- package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +1 -0
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +2 -1
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +30 -17
- package/vscode/src/vs/workbench/api/common/extHostCodeMapper.js +2 -0
- package/vscode/src/vs/workbench/api/common/extHostCommands.d.ts +0 -1
- package/vscode/src/vs/workbench/api/common/extHostCommands.js +4 -2
- package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.d.ts +2 -0
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +15 -4
- package/vscode/src/vs/workbench/api/common/extHostLabelService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.d.ts +4 -0
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +31 -6
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.d.ts +2 -3
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +60 -14
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +15 -9
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +4 -3
- package/vscode/src/vs/workbench/api/common/extHostMcp.js +279 -82
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +3 -0
- package/vscode/src/vs/workbench/api/common/extHostQuickDiff.d.ts +2 -1
- package/vscode/src/vs/workbench/api/common/extHostQuickDiff.js +4 -2
- package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +1 -0
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +21 -0
- package/vscode/src/vs/workbench/api/common/extHostSearch.js +1 -1
- 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.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +27 -9
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +201 -29
- package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +67 -27
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +79 -28
- package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +7 -4
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +34 -9
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
- package/vscode/src/vs/workbench/api/worker/extHostExtensionService.d.ts +1 -0
- package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +3 -0
- package/vscode/src/vs/workbench/browser/actions/developerActions.js +31 -31
- package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.service.d.ts +1 -1
- package/vscode/src/vs/workbench/common/configuration.js +10 -16
- package/vscode/src/vs/workbench/common/contextkeys.d.ts +3 -0
- package/vscode/src/vs/workbench/common/contextkeys.js +73 -71
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
- package/vscode/src/vs/workbench/common/editor.d.ts +13 -9
- package/vscode/src/vs/workbench/common/editor.js +4 -4
- package/vscode/src/vs/workbench/common/theme.js +160 -160
- package/vscode/src/vs/workbench/common/views.js +4 -4
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +164 -147
- 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 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.d.ts +245 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +435 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +6 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +51 -49
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +19 -26
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +16 -23
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatEntitlementService.service.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.d.ts +585 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +1179 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.d.ts +116 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +211 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +19 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatTransferService.service.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.service.d.ts +2 -7
- package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/chat/common/constants.js +12 -4
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +33 -5
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +14 -3
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +18 -3
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/index.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +14 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.d.ts +28 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.service.d.ts +10 -4
- package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.d.ts +8 -25
- package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.js +11 -97
- package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.d.ts +0 -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.d.ts +1 -1
- 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 +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/commentService.service.d.ts +1 -1
- 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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +64 -64
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.d.ts +171 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +85 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +127 -0
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
- package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +3 -3
- 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/inlineChat/browser/inlineChatSessionService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +3 -1
- 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.service.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +19 -8
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +12 -10
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +8 -4
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +16 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.service.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.d.ts +11 -3
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +77 -16
- 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/taskDefinitionRegistry.js +5 -5
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
- package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +2 -2
- package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +1 -1
- package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.d.ts +17 -0
- package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.js +10 -0
- package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.d.ts +13 -0
- package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.js +6 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.d.ts +2 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.js +61 -12
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.d.ts +3 -2
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +25 -29
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +4 -1
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +1 -0
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +2 -2
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +3 -2
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +84 -84
- package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +4 -1
- package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +2 -4
- package/vscode/src/vs/workbench/services/localization/common/locale.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
- package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.d.ts +1 -0
- package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +2 -0
- package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/output/common/output.js +6 -4
- 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/search/common/search.d.ts +2 -1
- package/vscode/src/vs/workbench/services/search/common/searchExtTypes.d.ts +5 -0
- package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +6 -1
- package/vscode/src/vs/workbench/services/search/common/textSearchManager.d.ts +2 -2
- package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +31 -23
- package/vscode/src/vs/workbench/services/textfile/common/encoding.d.ts +64 -0
- package/vscode/src/vs/workbench/services/textfile/common/encoding.js +560 -0
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +165 -0
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +74 -0
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.service.d.ts +12 -2
- 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 +12 -12
- package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.service.d.ts +1 -1
- package/vscode-dts/vscode.d.ts +204 -9
- package/vscode-dts/vscode.proposed.aiSettingsSearch.d.ts +30 -0
- package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +18 -16
- package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +84 -5
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +18 -16
- package/vscode-dts/vscode.proposed.chatStatusItem.d.ts +1 -1
- package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +1 -1
- package/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts +1 -1
- package/vscode-dts/vscode.proposed.d.ts +2 -2
- package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +2 -2
- package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +46 -8
- package/vscode-dts/vscode.proposed.languageModelDataPart.d.ts +106 -16
- package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +2 -0
- package/vscode-dts/vscode.proposed.mcpConfigurationProvider.d.ts +115 -21
- package/vscode-dts/vscode.proposed.quickDiffProvider.d.ts +7 -3
- package/vscode-dts/vscode.proposed.textSearchProvider2.d.ts +23 -1
- package/vscode-dts/vscode.proposed.toolProgress.d.ts +25 -0
- package/vscode-dts/vscode.proposed.tunnelFactory.d.ts +1 -1
- package/workbench.d.ts +1 -1
- package/vscode-dts/vscode.proposed.languageModelToolsForAgent.d.ts +0 -8
- package/vscode-dts/vscode.proposed.textDocumentEncoding.d.ts +0 -170
|
@@ -18,7 +18,7 @@ import { ChatAgentLocation } from '../../contrib/chat/common/constants.js';
|
|
|
18
18
|
import { checkProposedApiEnabled, isProposedApiEnabled } from '../../services/extensions/common/extensions.js';
|
|
19
19
|
import { MainContext } from './extHost.protocol.js';
|
|
20
20
|
import { ChatResponseWarningPart, ChatResponseReferencePart, ChatTaskResult, ChatTask, ChatResponseProgressPart, ChatResponseAnchorPart as ChatResponseAnchorPart$1, ChatResponsePart, ChatResponseConfirmationPart as ChatResponseConfirmationPart$1, ChatResponseNotebookEditPart as ChatResponseNotebookEditPart$1, ChatResponseTextEditPart as ChatResponseTextEditPart$1, ChatResponseCodeCitationPart as ChatResponseCodeCitationPart$1, ChatResponseCommandButtonPart as ChatResponseCommandButtonPart$1, ChatResponseFilesPart, ChatResponseCodeblockUriPart as ChatResponseCodeblockUriPart$1, ChatResponseMarkdownWithVulnerabilitiesPart as ChatResponseMarkdownWithVulnerabilitiesPart$1, ChatResponseMarkdownPart as ChatResponseMarkdownPart$1, ChatRequestDraft, ChatAgentRequest, ChatLocation, Selection, Range, ChatAgentResult, ChatPromptReference, ChatLanguageModelToolReference, ChatFollowup, ChatAgentUserActionEvent, ChatAgentCompletionItem, MarkdownString as MarkdownString$1 } from './extHostTypeConverters.js';
|
|
21
|
-
import { MarkdownString, ChatResponseTextEditPart, ChatResponseNotebookEditPart, ChatResponseMarkdownWithVulnerabilitiesPart, ChatResponseWarningPart as ChatResponseWarningPart$1, ChatResponseConfirmationPart, ChatResponseCodeCitationPart, ChatResponseMovePart, ChatResponseProgressPart2, ChatResponseReferencePart as ChatResponseReferencePart$1, ChatResponseAnchorPart, ChatResponseCommandButtonPart, ChatResponseFileTreePart, ChatResponseCodeblockUriPart, ChatResponseMarkdownPart, ChatRequestEditorData, ChatRequestNotebookData, LanguageModelError, ChatRequestTurn, ChatResponseTurn, ChatResultFeedbackKind, ThemeIcon } from './extHostTypes.js';
|
|
21
|
+
import { MarkdownString, ChatResponseTextEditPart, ChatResponseNotebookEditPart, ChatResponseMarkdownWithVulnerabilitiesPart, ChatResponseWarningPart as ChatResponseWarningPart$1, ChatResponseConfirmationPart, ChatResponseCodeCitationPart, ChatResponseMovePart, ChatResponseExtensionsPart, ChatResponseProgressPart2, ChatResponseReferencePart as ChatResponseReferencePart$1, ChatResponseAnchorPart, ChatResponseCommandButtonPart, ChatResponseFileTreePart, ChatResponseCodeblockUriPart, ChatResponseMarkdownPart, ChatRequestEditorData, ChatRequestNotebookData, LanguageModelError, ChatRequestTurn, ChatResponseTurn, ChatResultFeedbackKind, ThemeIcon } from './extHostTypes.js';
|
|
22
22
|
|
|
23
23
|
class ChatAgentResponseStream {
|
|
24
24
|
constructor(_extension, _request, _proxy, _commandsConverter, _sessionDisposables) {
|
|
@@ -214,6 +214,7 @@ class ChatAgentResponseStream {
|
|
|
214
214
|
part instanceof ChatResponseConfirmationPart ||
|
|
215
215
|
part instanceof ChatResponseCodeCitationPart ||
|
|
216
216
|
part instanceof ChatResponseMovePart ||
|
|
217
|
+
part instanceof ChatResponseExtensionsPart ||
|
|
217
218
|
part instanceof ChatResponseProgressPart2) {
|
|
218
219
|
checkProposedApiEnabled(that._extension, 'chatParticipantAdditions');
|
|
219
220
|
}
|
|
@@ -331,8 +332,7 @@ class ExtHostChatAgents2 extends Disposable {
|
|
|
331
332
|
}
|
|
332
333
|
const { request, location, history } = await this._createRequest(requestDto, context, detector.extension);
|
|
333
334
|
const model = await this.getModelForRequest(request, detector.extension);
|
|
334
|
-
const
|
|
335
|
-
const extRequest = ChatAgentRequest.to(includeInteractionId ? request : { ...request, requestId: '' }, location, model, this.getDiagnosticsWhenEnabled(detector.extension), this.getToolsForRequest(detector.extension, request));
|
|
335
|
+
const extRequest = ChatAgentRequest.to(request, location, model, this.getDiagnosticsWhenEnabled(detector.extension), this.getToolsForRequest(detector.extension, request), this.getTools2ForRequest(detector.extension, request), detector.extension);
|
|
336
336
|
return detector.provider.provideParticipantDetection(extRequest, { history }, { participants: options.participants, location: ChatLocation.to(options.location) }, token);
|
|
337
337
|
}
|
|
338
338
|
async _createRequest(requestDto, context, extension) {
|
|
@@ -398,8 +398,7 @@ class ExtHostChatAgents2 extends Disposable {
|
|
|
398
398
|
sessionDisposables
|
|
399
399
|
));
|
|
400
400
|
const model = await this.getModelForRequest(request, agent.extension);
|
|
401
|
-
const
|
|
402
|
-
const extRequest = ChatAgentRequest.to(includeInteractionId ? request : { ...request, requestId: '' }, location, model, this.getDiagnosticsWhenEnabled(agent.extension), this.getToolsForRequest(agent.extension, request));
|
|
401
|
+
const extRequest = ChatAgentRequest.to(request, location, model, this.getDiagnosticsWhenEnabled(agent.extension), this.getToolsForRequest(agent.extension, request), this.getTools2ForRequest(agent.extension, request), agent.extension);
|
|
403
402
|
inFlightRequest = { requestId: requestDto.requestId, extRequest };
|
|
404
403
|
this._inFlightRequests.add(inFlightRequest);
|
|
405
404
|
const task = agent.invoke(extRequest, { history }, stream.apiObject, token);
|
|
@@ -448,12 +447,28 @@ class ExtHostChatAgents2 extends Disposable {
|
|
|
448
447
|
}
|
|
449
448
|
return this._diagnostics.getDiagnostics();
|
|
450
449
|
}
|
|
450
|
+
getTools2ForRequest(extension, request) {
|
|
451
|
+
if (!request.userSelectedTools2) {
|
|
452
|
+
return ( new Map());
|
|
453
|
+
}
|
|
454
|
+
const result = ( new Map());
|
|
455
|
+
for (const tool of this._tools.getTools(extension)) {
|
|
456
|
+
if (typeof request.userSelectedTools2[tool.name] === 'boolean') {
|
|
457
|
+
result.set(tool.name, request.userSelectedTools2[tool.name]);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
return result;
|
|
461
|
+
}
|
|
451
462
|
getToolsForRequest(extension, request) {
|
|
452
463
|
if (!isNonEmptyArray(request.userSelectedTools)) {
|
|
453
464
|
return undefined;
|
|
454
465
|
}
|
|
455
466
|
const selector = ( new Set(request.userSelectedTools));
|
|
456
|
-
|
|
467
|
+
const tools = this._tools.getTools(extension).filter(candidate => ( selector.has(candidate.name)));
|
|
468
|
+
return {
|
|
469
|
+
tools,
|
|
470
|
+
isExclusive: request.toolSelectionIsExclusive,
|
|
471
|
+
};
|
|
457
472
|
}
|
|
458
473
|
async prepareHistoryTurns(extension, agentId, context) {
|
|
459
474
|
const res = [];
|
|
@@ -463,14 +478,15 @@ class ExtHostChatAgents2 extends Disposable {
|
|
|
463
478
|
ehResult :
|
|
464
479
|
{ ...ehResult, metadata: undefined };
|
|
465
480
|
const varsWithoutTools = ( h.request.variables.variables
|
|
466
|
-
.filter(v =>
|
|
481
|
+
.filter(v => v.kind !== 'tool')
|
|
467
482
|
.map(
|
|
468
483
|
v => ChatPromptReference.to(v, this.getDiagnosticsWhenEnabled(extension))
|
|
469
484
|
));
|
|
470
485
|
const toolReferences = ( h.request.variables.variables
|
|
471
|
-
.filter(v => v.
|
|
486
|
+
.filter(v => v.kind === 'tool')
|
|
472
487
|
.map(ChatLanguageModelToolReference.to));
|
|
473
|
-
const
|
|
488
|
+
const editedFileEvents = isProposedApiEnabled(extension, 'chatParticipantPrivate') ? h.request.editedFileEvents : undefined;
|
|
489
|
+
const turn = new ChatRequestTurn(h.request.message, h.request.command, varsWithoutTools, h.request.agentId, toolReferences, editedFileEvents);
|
|
474
490
|
res.push(turn);
|
|
475
491
|
const parts = coalesce(( h.response.map(r => ChatResponsePart.toContent(r, this._commands.converter))));
|
|
476
492
|
res.push(new ChatResponseTurn(parts, result, h.request.agentId, h.request.command));
|
|
@@ -662,10 +678,7 @@ class ExtHostChatAgent {
|
|
|
662
678
|
helpTextPostfix: (!this._helpTextPostfix || typeof this._helpTextPostfix === 'string') ? this._helpTextPostfix : MarkdownString$1.from(this._helpTextPostfix),
|
|
663
679
|
supportIssueReporting: this._supportIssueReporting,
|
|
664
680
|
requester: this._requester,
|
|
665
|
-
|
|
666
|
-
...this._welcomeMessageContent,
|
|
667
|
-
message: MarkdownString$1.from(this._welcomeMessageContent.message),
|
|
668
|
-
}
|
|
681
|
+
additionalWelcomeMessage: (!this._additionalWelcomeMessage || typeof this._additionalWelcomeMessage === 'string') ? this._additionalWelcomeMessage : MarkdownString$1.from(this._additionalWelcomeMessage),
|
|
669
682
|
});
|
|
670
683
|
updateScheduled = false;
|
|
671
684
|
});
|
|
@@ -761,14 +774,14 @@ class ExtHostChatAgent {
|
|
|
761
774
|
checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
|
|
762
775
|
return that._welcomeMessageProvider;
|
|
763
776
|
},
|
|
764
|
-
set
|
|
777
|
+
set additionalWelcomeMessage(v) {
|
|
765
778
|
checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
|
|
766
|
-
that.
|
|
779
|
+
that._additionalWelcomeMessage = v;
|
|
767
780
|
updateMetadataSoon();
|
|
768
781
|
},
|
|
769
|
-
get
|
|
782
|
+
get additionalWelcomeMessage() {
|
|
770
783
|
checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
|
|
771
|
-
return that.
|
|
784
|
+
return that._additionalWelcomeMessage;
|
|
772
785
|
},
|
|
773
786
|
set titleProvider(v) {
|
|
774
787
|
checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
|
|
@@ -34,6 +34,8 @@ class ExtHostCodeMapper {
|
|
|
34
34
|
const request = {
|
|
35
35
|
location: internalRequest.location,
|
|
36
36
|
chatRequestId: internalRequest.chatRequestId,
|
|
37
|
+
chatRequestModel: internalRequest.chatRequestModel,
|
|
38
|
+
chatSessionId: internalRequest.chatSessionId,
|
|
37
39
|
codeBlocks: ( internalRequest.codeBlocks.map(block => {
|
|
38
40
|
return {
|
|
39
41
|
code: block.code,
|
|
@@ -66,7 +66,6 @@ export declare class ApiCommandArgument<V, O = V> {
|
|
|
66
66
|
static readonly Selection: ApiCommandArgument<extHostTypes.Selection, ISelection>;
|
|
67
67
|
static readonly Number: ApiCommandArgument<number, number>;
|
|
68
68
|
static readonly String: ApiCommandArgument<string, string>;
|
|
69
|
-
static readonly StringArray: ApiCommandArgument<string[], string[]>;
|
|
70
69
|
static Arr<T, K = T>(element: ApiCommandArgument<T, K>): ApiCommandArgument<T[], K[]>;
|
|
71
70
|
static readonly CallHierarchyItem: ApiCommandArgument<vscode.CallHierarchyItem, {
|
|
72
71
|
_sessionId: string;
|
|
@@ -22,6 +22,7 @@ import { StopWatch } from '../../../base/common/stopwatch.js';
|
|
|
22
22
|
import { TelemetryTrustedValue } from '../../../platform/telemetry/common/telemetryUtils.js';
|
|
23
23
|
import { IExtHostTelemetry } from './extHostTelemetry.js';
|
|
24
24
|
import { generateUuid } from '../../../base/common/uuid.js';
|
|
25
|
+
import { isCancellationError } from '../../../base/common/errors.js';
|
|
25
26
|
|
|
26
27
|
let ExtHostCommands = class ExtHostCommands {
|
|
27
28
|
#proxy;
|
|
@@ -197,7 +198,9 @@ let ExtHostCommands = class ExtHostCommands {
|
|
|
197
198
|
id = actual.command;
|
|
198
199
|
}
|
|
199
200
|
}
|
|
200
|
-
|
|
201
|
+
if (!isCancellationError(err)) {
|
|
202
|
+
this._logService.error(err, id, command.extension?.identifier);
|
|
203
|
+
}
|
|
201
204
|
if (!annotateError) {
|
|
202
205
|
throw err;
|
|
203
206
|
}
|
|
@@ -354,7 +357,6 @@ class ApiCommandArgument {
|
|
|
354
357
|
)); }
|
|
355
358
|
static { this.Number = ( new ApiCommandArgument('number', '', v => typeof v === 'number', v => v)); }
|
|
356
359
|
static { this.String = ( new ApiCommandArgument('string', '', v => typeof v === 'string', v => v)); }
|
|
357
|
-
static { this.StringArray = ApiCommandArgument.Arr(ApiCommandArgument.String); }
|
|
358
360
|
static Arr(element) {
|
|
359
361
|
return ( new ApiCommandArgument(
|
|
360
362
|
`${element.name}_array`,
|
|
@@ -6,7 +6,7 @@ import { ExtHostDocuments } from "./extHostDocuments.js";
|
|
|
6
6
|
import { IExtensionStoragePaths } from "./extHostStoragePaths.js";
|
|
7
7
|
import { ExtHostWebviews } from "./extHostWebview.js";
|
|
8
8
|
import { ExtHostWebviewPanels } from "./extHostWebviewPanels.js";
|
|
9
|
-
import { EditorGroupColumn } from "@codingame/monaco-vscode-
|
|
9
|
+
import { EditorGroupColumn } from "@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/services/editor/common/editorGroupColumn";
|
|
10
10
|
import type * as vscode from "vscode";
|
|
11
11
|
import * as extHostProtocol from "./extHost.protocol.js";
|
|
12
12
|
export declare class ExtHostCustomEditors implements extHostProtocol.ExtHostCustomEditorsShape {
|
|
@@ -116,9 +116,11 @@ export declare abstract class AbstractExtHostExtensionService extends Disposable
|
|
|
116
116
|
$test_up(b: VSBuffer): Promise<number>;
|
|
117
117
|
$test_down(size: number): Promise<VSBuffer>;
|
|
118
118
|
$updateRemoteConnectionData(connectionData: IRemoteConnectionData): Promise<void>;
|
|
119
|
+
protected _isESM(extensionDescription: IExtensionDescription | undefined, modulePath?: string): boolean;
|
|
119
120
|
protected abstract _beforeAlmostReadyToRunExtensions(): Promise<void>;
|
|
120
121
|
protected abstract _getEntryPoint(extensionDescription: IExtensionDescription): string | undefined;
|
|
121
122
|
protected abstract _loadCommonJSModule<T extends object | undefined>(extensionId: IExtensionDescription | null, module: URI, activationTimesBuilder: ExtensionActivationTimesBuilder): Promise<T>;
|
|
123
|
+
protected abstract _loadESMModule<T>(extension: IExtensionDescription | null, module: URI, activationTimesBuilder: ExtensionActivationTimesBuilder): Promise<T>;
|
|
122
124
|
abstract $setRemoteEnvironment(env: {
|
|
123
125
|
[key: string]: string | null;
|
|
124
126
|
}): Promise<void>;
|
|
@@ -304,10 +304,13 @@ let AbstractExtHostExtensionService = AbstractExtHostExtensionService_1 = class
|
|
|
304
304
|
}
|
|
305
305
|
this._logService.info(`ExtensionService#_doActivateExtension ${extensionDescription.identifier.value}, startup: ${reason.startup}, activationEvent: '${reason.activationEvent}'${extensionDescription.identifier.value !== reason.extensionId.value ? `, root cause: ${reason.extensionId.value}` : ``}`);
|
|
306
306
|
this._logService.flush();
|
|
307
|
+
const isESM = this._isESM(extensionDescription);
|
|
307
308
|
const extensionInternalStore = ( new DisposableStore());
|
|
308
309
|
const activationTimesBuilder = ( new ExtensionActivationTimesBuilder(reason.startup));
|
|
309
310
|
return Promise.all([
|
|
310
|
-
|
|
311
|
+
isESM
|
|
312
|
+
? this._loadESMModule(extensionDescription, joinPath(extensionDescription.extensionLocation, entryPoint), activationTimesBuilder)
|
|
313
|
+
: this._loadCommonJSModule(extensionDescription, joinPath(extensionDescription.extensionLocation, entryPoint), activationTimesBuilder),
|
|
311
314
|
this._loadExtensionContext(extensionDescription, extensionInternalStore)
|
|
312
315
|
]).then(values => {
|
|
313
316
|
mark(`code/extHost/willActivateExtension/${extensionDescription.identifier.value}`);
|
|
@@ -538,12 +541,16 @@ let AbstractExtHostExtensionService = AbstractExtHostExtensionService_1 = class
|
|
|
538
541
|
async _doHandleExtensionTests() {
|
|
539
542
|
const { extensionDevelopmentLocationURI, extensionTestsLocationURI } = this._initData.environment;
|
|
540
543
|
if (!extensionDevelopmentLocationURI || !extensionTestsLocationURI) {
|
|
541
|
-
throw ( new Error(( localize(
|
|
544
|
+
throw ( new Error(( localize(2556, "Cannot load test runner."))));
|
|
542
545
|
}
|
|
543
|
-
const
|
|
546
|
+
const extensionDescription = (await this.getExtensionPathIndex()).findSubstr(extensionTestsLocationURI);
|
|
547
|
+
const isESM = this._isESM(extensionDescription, extensionTestsLocationURI.path);
|
|
548
|
+
const testRunner = await (isESM
|
|
549
|
+
? this._loadESMModule(null, extensionTestsLocationURI, ( new ExtensionActivationTimesBuilder(false)))
|
|
550
|
+
: this._loadCommonJSModule(null, extensionTestsLocationURI, ( new ExtensionActivationTimesBuilder(false))));
|
|
544
551
|
if (!testRunner || typeof testRunner.run !== 'function') {
|
|
545
552
|
throw ( new Error(( localize(
|
|
546
|
-
|
|
553
|
+
2557,
|
|
547
554
|
"Path {0} does not point to a valid extension test runner.",
|
|
548
555
|
(extensionTestsLocationURI.toString())
|
|
549
556
|
))));
|
|
@@ -825,6 +832,10 @@ let AbstractExtHostExtensionService = AbstractExtHostExtensionService_1 = class
|
|
|
825
832
|
this._remoteConnectionData = connectionData;
|
|
826
833
|
this._onDidChangeRemoteConnectionData.fire();
|
|
827
834
|
}
|
|
835
|
+
_isESM(extensionDescription, modulePath) {
|
|
836
|
+
modulePath ??= extensionDescription?.main;
|
|
837
|
+
return modulePath?.endsWith('.mjs') || (extensionDescription?.type === 'module' && !modulePath?.endsWith('.cjs'));
|
|
838
|
+
}
|
|
828
839
|
};
|
|
829
840
|
AbstractExtHostExtensionService = AbstractExtHostExtensionService_1 = ( __decorate([
|
|
830
841
|
( __param(0, IInstantiationService)),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ResourceLabelFormatter } from "@codingame/monaco-vscode-
|
|
1
|
+
import { ResourceLabelFormatter } from "@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common/vscode/vs/platform/label/common/label";
|
|
2
2
|
import { IDisposable } from "../../../base/common/lifecycle.js";
|
|
3
3
|
import { ExtHostLabelServiceShape, IMainContext } from "./extHost.protocol.js";
|
|
4
4
|
export declare class ExtHostLabelService implements ExtHostLabelServiceShape {
|
|
@@ -107,6 +107,10 @@ export declare class ExtHostLanguageFeatures implements extHostProtocol.ExtHostL
|
|
|
107
107
|
$provideInlineEditsForRange(handle: number, resource: UriComponents, range: IRange, context: languages.InlineCompletionContext, token: CancellationToken): Promise<extHostProtocol.IdentifiableInlineCompletions | undefined>;
|
|
108
108
|
$handleInlineCompletionDidShow(handle: number, pid: number, idx: number, updatedInsertText: string): void;
|
|
109
109
|
$handleInlineCompletionPartialAccept(handle: number, pid: number, idx: number, acceptedCharacters: number, info: languages.PartialAcceptInfo): void;
|
|
110
|
+
$handleInlineCompletionEndOfLifetime(handle: number, pid: number, idx: number, reason: languages.InlineCompletionEndOfLifeReason<{
|
|
111
|
+
pid: number;
|
|
112
|
+
idx: number;
|
|
113
|
+
}>): void;
|
|
110
114
|
$handleInlineCompletionRejection(handle: number, pid: number, idx: number): void;
|
|
111
115
|
$freeInlineCompletionsList(handle: number, pid: number): void;
|
|
112
116
|
registerInlineEditProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.InlineEditProvider): vscode.Disposable;
|
|
@@ -20,7 +20,7 @@ import { ExtensionIdentifier } from '../../../platform/extensions/common/extensi
|
|
|
20
20
|
import { isProposedApiEnabled, checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
|
|
21
21
|
import { Cache } from './cache.js';
|
|
22
22
|
import { ISuggestResultDtoField, ISuggestDataDtoField, MainContext } from './extHost.protocol.js';
|
|
23
|
-
import { DocumentSymbol as DocumentSymbol$1, Range, SymbolTag, SymbolKind, DefinitionLink, Position, Hover, EvaluatableExpression, InlineValueContext, InlineValue, DocumentHighlight, MultiDocumentHighlight, location, Selection as Selection$1, CodeActionTriggerKind, WorkspaceEdit, Diagnostic, DataTransfer, DataTransferItem, TextEdit, WorkspaceSymbol, CompletionContext, MarkdownString, CompletionItemTag, CompletionItemKind, IconPath, PartialAcceptInfo, SignatureHelp, InlayHintKind, DocumentLink, Color, ColorPresentation, FoldingRange, SelectionRange, CallHierarchyItem, TypeHierarchyItem, DocumentSelector } from './extHostTypeConverters.js';
|
|
23
|
+
import { DocumentSymbol as DocumentSymbol$1, Range, SymbolTag, SymbolKind, DefinitionLink, Position, Hover, EvaluatableExpression, InlineValueContext, InlineValue, DocumentHighlight, MultiDocumentHighlight, location, Selection as Selection$1, CodeActionTriggerKind, WorkspaceEdit, Diagnostic, DataTransfer, DataTransferItem, TextEdit, WorkspaceSymbol, CompletionContext, MarkdownString, CompletionItemTag, CompletionItemKind, IconPath, PartialAcceptInfo, InlineCompletionEndOfLifeReason, SignatureHelp, InlayHintKind, DocumentLink, Color, ColorPresentation, FoldingRange, SelectionRange, CallHierarchyItem, TypeHierarchyItem, DocumentSelector } from './extHostTypeConverters.js';
|
|
24
24
|
import { DocumentSymbol, Range as Range$2, CodeActionKind, CodeAction, InternalDataTransferItem, DataTransfer as DataTransfer$1, DocumentDropOrPasteEditKind, NewSymbolNameTriggerKind, SemanticTokens, SemanticTokensEdits, SemanticTokensEdit, CompletionList, SnippetString, InlineCompletionTriggerKind, InlineEditTriggerKind, Location, Disposable, SyntaxTokenType } from './extHostTypes.js';
|
|
25
25
|
|
|
26
26
|
class DocumentSymbolAdapter {
|
|
@@ -541,7 +541,7 @@ class DocumentPasteEditProvider {
|
|
|
541
541
|
return (edits.map((edit, i) => ({
|
|
542
542
|
_cacheId: [cacheId, i],
|
|
543
543
|
title: edit.title ?? ( localize(
|
|
544
|
-
|
|
544
|
+
2558,
|
|
545
545
|
"Paste using '{0}' extension",
|
|
546
546
|
this._extension.displayName || this._extension.name
|
|
547
547
|
)),
|
|
@@ -1090,7 +1090,8 @@ class InlineCompletionAdapter {
|
|
|
1090
1090
|
return isProposedApiEnabled(this._extension, 'inlineCompletionsAdditions')
|
|
1091
1091
|
&& (typeof this._provider.handleDidShowCompletionItem === 'function'
|
|
1092
1092
|
|| typeof this._provider.handleDidPartiallyAcceptCompletionItem === 'function'
|
|
1093
|
-
|| typeof this._provider.handleDidRejectCompletionItem === 'function'
|
|
1093
|
+
|| typeof this._provider.handleDidRejectCompletionItem === 'function'
|
|
1094
|
+
|| typeof this._provider.handleEndOfLifetime === 'function');
|
|
1094
1095
|
}
|
|
1095
1096
|
async provideInlineCompletions(resource, position, context, token) {
|
|
1096
1097
|
const doc = this._documents.getDocument(resource);
|
|
@@ -1150,6 +1151,10 @@ class InlineCompletionAdapter {
|
|
|
1150
1151
|
completeBracketPairs: this._isAdditionsProposedApiEnabled ? item.completeBracketPairs : false,
|
|
1151
1152
|
isInlineEdit: this._isAdditionsProposedApiEnabled ? item.isInlineEdit : false,
|
|
1152
1153
|
showInlineEditMenu: this._isAdditionsProposedApiEnabled ? item.showInlineEditMenu : false,
|
|
1154
|
+
displayLocation: (item.displayLocation && this._isAdditionsProposedApiEnabled) ? {
|
|
1155
|
+
range: Range.from(item.displayLocation.range),
|
|
1156
|
+
label: item.displayLocation.label,
|
|
1157
|
+
} : undefined,
|
|
1153
1158
|
warning: (item.warning && this._isAdditionsProposedApiEnabled) ? {
|
|
1154
1159
|
message: MarkdownString.from(item.warning.message),
|
|
1155
1160
|
icon: item.warning.icon ? IconPath.fromThemeIcon(item.warning.icon) : undefined,
|
|
@@ -1259,6 +1264,15 @@ class InlineCompletionAdapter {
|
|
|
1259
1264
|
}
|
|
1260
1265
|
}
|
|
1261
1266
|
}
|
|
1267
|
+
handleEndOfLifetime(pid, idx, reason) {
|
|
1268
|
+
const completionItem = this._references.get(pid)?.items[idx];
|
|
1269
|
+
if (completionItem) {
|
|
1270
|
+
if (this._provider.handleEndOfLifetime && this._isAdditionsProposedApiEnabled) {
|
|
1271
|
+
const r = InlineCompletionEndOfLifeReason.to(reason, ref => this._references.get(ref.pid)?.items[ref.idx]);
|
|
1272
|
+
this._provider.handleEndOfLifetime(completionItem, r);
|
|
1273
|
+
}
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1262
1276
|
handleRejection(pid, idx) {
|
|
1263
1277
|
const completionItem = this._references.get(pid)?.items[idx];
|
|
1264
1278
|
if (completionItem) {
|
|
@@ -1804,7 +1818,7 @@ class DocumentDropEditAdapter {
|
|
|
1804
1818
|
return (editsArray.map((edit, i) => ({
|
|
1805
1819
|
_cacheId: [cacheId, i],
|
|
1806
1820
|
title: edit.title ?? ( localize(
|
|
1807
|
-
|
|
1821
|
+
2559,
|
|
1808
1822
|
"Drop using '{0}' extension",
|
|
1809
1823
|
this._extension.displayName || this._extension.name
|
|
1810
1824
|
)),
|
|
@@ -2179,10 +2193,16 @@ class ExtHostLanguageFeatures {
|
|
|
2179
2193
|
this._withAdapter(handle, CompletionsAdapter, adapter => adapter.releaseCompletionItems(id), undefined, undefined);
|
|
2180
2194
|
}
|
|
2181
2195
|
registerInlineCompletionsProvider(extension, selector, provider, metadata) {
|
|
2196
|
+
const eventHandle = typeof provider.onDidChange === 'function' && isProposedApiEnabled(extension, 'inlineCompletionsAdditions') ? this._nextHandle() : undefined;
|
|
2182
2197
|
const adapter = ( new InlineCompletionAdapter(extension, this._documents, provider, this._commands.converter));
|
|
2183
2198
|
const handle = this._addNewAdapter(adapter, extension);
|
|
2184
|
-
|
|
2185
|
-
|
|
2199
|
+
let result = this._createDisposable(handle);
|
|
2200
|
+
if (eventHandle !== undefined) {
|
|
2201
|
+
const subscription = provider.onDidChange(_ => this._proxy.$emitInlineCompletionsChange(eventHandle));
|
|
2202
|
+
result = Disposable.from(result, subscription);
|
|
2203
|
+
}
|
|
2204
|
+
this._proxy.$registerInlineCompletionsSupport(handle, this._transformDocumentSelector(selector, extension), adapter.supportsHandleEvents, ExtensionIdentifier.toKey(extension.identifier.value), metadata?.yieldTo?.map(extId => ExtensionIdentifier.toKey(extId)) || [], metadata?.displayName, metadata?.debounceDelayMs, eventHandle);
|
|
2205
|
+
return result;
|
|
2186
2206
|
}
|
|
2187
2207
|
$provideInlineCompletions(handle, resource, position, context, token) {
|
|
2188
2208
|
return this._withAdapter(handle, InlineCompletionAdapter, adapter => adapter.provideInlineCompletions(URI.revive(resource), position, context, token), undefined, token);
|
|
@@ -2200,6 +2220,11 @@ class ExtHostLanguageFeatures {
|
|
|
2200
2220
|
adapter.handlePartialAccept(pid, idx, acceptedCharacters, info);
|
|
2201
2221
|
}, undefined, undefined);
|
|
2202
2222
|
}
|
|
2223
|
+
$handleInlineCompletionEndOfLifetime(handle, pid, idx, reason) {
|
|
2224
|
+
this._withAdapter(handle, InlineCompletionAdapter, async (adapter) => {
|
|
2225
|
+
adapter.handleEndOfLifetime(pid, idx, reason);
|
|
2226
|
+
}, undefined, undefined);
|
|
2227
|
+
}
|
|
2203
2228
|
$handleInlineCompletionRejection(handle, pid, idx) {
|
|
2204
2229
|
this._withAdapter(handle, InlineCompletionAdapter, async (adapter) => {
|
|
2205
2230
|
adapter.handleRejection(pid, idx);
|
|
@@ -3,8 +3,8 @@ import { CancellationToken } from "../../../base/common/cancellation.js";
|
|
|
3
3
|
import { IDisposable } from "../../../base/common/lifecycle.js";
|
|
4
4
|
import { IExtensionDescription } from "../../../platform/extensions/common/extensions.js";
|
|
5
5
|
import { IPreparedToolInvocation, IToolInvocation, IToolResult } from "../../contrib/chat/common/languageModelToolsService.js";
|
|
6
|
+
import { Dto, SerializableObjectWithBuffers } from "../../services/extensions/common/proxyIdentifier.js";
|
|
6
7
|
import { ExtHostLanguageModelToolsShape, IMainContext, IToolDataDto } from "./extHost.protocol.js";
|
|
7
|
-
import { Dto } from "../../services/extensions/common/proxyIdentifier.js";
|
|
8
8
|
import { ExtHostLanguageModels } from "./extHostLanguageModels.js";
|
|
9
9
|
export declare class ExtHostLanguageModelTools implements ExtHostLanguageModelToolsShape {
|
|
10
10
|
private readonly _languageModels;
|
|
@@ -12,13 +12,12 @@ export declare class ExtHostLanguageModelTools implements ExtHostLanguageModelTo
|
|
|
12
12
|
private readonly _proxy;
|
|
13
13
|
private readonly _tokenCountFuncs;
|
|
14
14
|
private readonly _allTools;
|
|
15
|
-
private readonly _toolInputProcessors;
|
|
16
15
|
constructor(mainContext: IMainContext, _languageModels: ExtHostLanguageModels);
|
|
17
16
|
$countTokensForInvocation(callId: string, input: string, token: CancellationToken): Promise<number>;
|
|
18
17
|
invokeTool(extension: IExtensionDescription, toolId: string, options: vscode.LanguageModelToolInvocationOptions<any>, token?: CancellationToken): Promise<vscode.LanguageModelToolResult>;
|
|
19
18
|
$onDidChangeTools(tools: IToolDataDto[]): void;
|
|
20
19
|
getTools(extension: IExtensionDescription): vscode.LanguageModelToolInformation[];
|
|
21
|
-
$invokeTool(dto: IToolInvocation, token: CancellationToken): Promise<Dto<IToolResult
|
|
20
|
+
$invokeTool(dto: IToolInvocation, token: CancellationToken): Promise<Dto<IToolResult> | SerializableObjectWithBuffers<Dto<IToolResult>>>;
|
|
22
21
|
private getModel;
|
|
23
22
|
$prepareToolInvocation(toolId: string, input: any, token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
|
|
24
23
|
registerTool(extension: IExtensionDescription, id: string, tool: vscode.LanguageModelTool<any>): IDisposable;
|
|
@@ -6,26 +6,49 @@ import { toDisposable } from '../../../base/common/lifecycle.js';
|
|
|
6
6
|
import { revive } from '../../../base/common/marshalling.js';
|
|
7
7
|
import { generateUuid } from '../../../base/common/uuid.js';
|
|
8
8
|
import { isToolInvocationContext } from '../../contrib/chat/common/languageModelToolsService.js';
|
|
9
|
+
import { InternalEditToolId, ExtensionEditToolId } from '../../contrib/chat/common/tools/editFileTool.js';
|
|
10
|
+
import { InternalFetchWebPageToolId } from '../../contrib/chat/common/tools/tools.js';
|
|
9
11
|
import { isProposedApiEnabled, checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
|
|
12
|
+
import { SerializableObjectWithBuffers } from '../../services/extensions/common/proxyIdentifier.js';
|
|
10
13
|
import { MainContext } from './extHost.protocol.js';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { EditToolData, EditToolInputProcessor, InternalEditToolId, ExtensionEditToolId } from '../../contrib/chat/common/tools/editFileTool.js';
|
|
14
|
+
import { LanguageModelToolResult2, MarkdownString } from './extHostTypeConverters.js';
|
|
15
|
+
import { SearchExtensionsToolId } from '../../contrib/extensions/common/searchExtensionsTool.js';
|
|
14
16
|
|
|
17
|
+
class Tool {
|
|
18
|
+
constructor(data) {
|
|
19
|
+
this._data = data;
|
|
20
|
+
}
|
|
21
|
+
update(newData) {
|
|
22
|
+
this._data = newData;
|
|
23
|
+
}
|
|
24
|
+
get data() {
|
|
25
|
+
return this._data;
|
|
26
|
+
}
|
|
27
|
+
get apiObject() {
|
|
28
|
+
if (!this._apiObject) {
|
|
29
|
+
const that = this;
|
|
30
|
+
this._apiObject = ( Object.freeze({
|
|
31
|
+
get name() { return that._data.id; },
|
|
32
|
+
get description() { return that._data.modelDescription; },
|
|
33
|
+
get inputSchema() { return that._data.inputSchema; },
|
|
34
|
+
get tags() { return that._data.tags ?? []; },
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
return this._apiObject;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
15
40
|
class ExtHostLanguageModelTools {
|
|
16
41
|
constructor(mainContext, _languageModels) {
|
|
17
42
|
this._languageModels = _languageModels;
|
|
18
43
|
this._registeredTools = ( new Map());
|
|
19
44
|
this._tokenCountFuncs = ( new Map());
|
|
20
45
|
this._allTools = ( new Map());
|
|
21
|
-
this._toolInputProcessors = ( new Map());
|
|
22
46
|
this._proxy = ( mainContext.getProxy(MainContext.MainThreadLanguageModelTools));
|
|
23
47
|
this._proxy.$getTools().then(tools => {
|
|
24
48
|
for (const tool of tools) {
|
|
25
|
-
this._allTools.set(tool.id, revive(tool));
|
|
49
|
+
this._allTools.set(tool.id, ( new Tool(revive(tool))));
|
|
26
50
|
}
|
|
27
51
|
});
|
|
28
|
-
this._toolInputProcessors.set(EditToolData.id, ( new EditToolInputProcessor()));
|
|
29
52
|
}
|
|
30
53
|
async $countTokensForInvocation(callId, input, token) {
|
|
31
54
|
const fn = this._tokenCountFuncs.get(callId);
|
|
@@ -46,36 +69,47 @@ class ExtHostLanguageModelTools {
|
|
|
46
69
|
if ((toolId === InternalEditToolId || toolId === ExtensionEditToolId) && !isProposedApiEnabled(extension, 'chatParticipantPrivate')) {
|
|
47
70
|
throw ( new Error(`Invalid tool: ${toolId}`));
|
|
48
71
|
}
|
|
49
|
-
const processedInput = this._toolInputProcessors.get(toolId)?.processInput(options.input) ?? options.input;
|
|
50
72
|
const result = await this._proxy.$invokeTool({
|
|
51
73
|
toolId,
|
|
52
74
|
callId,
|
|
53
|
-
parameters:
|
|
75
|
+
parameters: options.input,
|
|
54
76
|
tokenBudget: options.tokenizationOptions?.tokenBudget,
|
|
55
77
|
context: options.toolInvocationToken,
|
|
56
78
|
chatRequestId: isProposedApiEnabled(extension, 'chatParticipantPrivate') ? options.chatRequestId : undefined,
|
|
57
79
|
chatInteractionId: isProposedApiEnabled(extension, 'chatParticipantPrivate') ? options.chatInteractionId : undefined,
|
|
58
80
|
}, token);
|
|
59
|
-
|
|
81
|
+
const dto = result instanceof SerializableObjectWithBuffers ? result.value : result;
|
|
82
|
+
return LanguageModelToolResult2.to(revive(dto));
|
|
60
83
|
}
|
|
61
84
|
finally {
|
|
62
85
|
this._tokenCountFuncs.delete(callId);
|
|
63
86
|
}
|
|
64
87
|
}
|
|
65
88
|
$onDidChangeTools(tools) {
|
|
66
|
-
this.
|
|
89
|
+
const oldTools = ( new Set(( this._registeredTools.keys())));
|
|
67
90
|
for (const tool of tools) {
|
|
68
|
-
|
|
91
|
+
oldTools.delete(tool.id);
|
|
92
|
+
const existing = this._allTools.get(tool.id);
|
|
93
|
+
if (existing) {
|
|
94
|
+
existing.update(tool);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
this._allTools.set(tool.id, ( new Tool(revive(tool))));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
for (const id of oldTools) {
|
|
101
|
+
this._allTools.delete(id);
|
|
69
102
|
}
|
|
70
103
|
}
|
|
71
104
|
getTools(extension) {
|
|
72
105
|
return ( Array.from(( this._allTools.values()))
|
|
73
|
-
.map(tool =>
|
|
106
|
+
.map(tool => tool.apiObject))
|
|
74
107
|
.filter(tool => {
|
|
75
108
|
switch (tool.name) {
|
|
76
109
|
case InternalEditToolId:
|
|
77
110
|
case ExtensionEditToolId:
|
|
78
111
|
case InternalFetchWebPageToolId:
|
|
112
|
+
case SearchExtensionsToolId:
|
|
79
113
|
return isProposedApiEnabled(extension, 'chatParticipantPrivate');
|
|
80
114
|
default:
|
|
81
115
|
return true;
|
|
@@ -108,11 +142,23 @@ class ExtHostLanguageModelTools {
|
|
|
108
142
|
countTokens: this._tokenCountFuncs.get(dto.callId) || ((value, token = CancellationToken.None) => this._proxy.$countTokensForInvocation(dto.callId, value, token))
|
|
109
143
|
};
|
|
110
144
|
}
|
|
111
|
-
|
|
145
|
+
let progress;
|
|
146
|
+
if (isProposedApiEnabled(item.extension, 'toolProgress')) {
|
|
147
|
+
progress = {
|
|
148
|
+
report: value => {
|
|
149
|
+
this._proxy.$acceptToolProgress(dto.callId, {
|
|
150
|
+
message: MarkdownString.fromStrict(value.message),
|
|
151
|
+
increment: value.increment,
|
|
152
|
+
total: 100,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
const extensionResult = await raceCancellation(Promise.resolve(item.tool.invoke(options, token, progress)), token);
|
|
112
158
|
if (!extensionResult) {
|
|
113
159
|
throw ( new CancellationError());
|
|
114
160
|
}
|
|
115
|
-
return
|
|
161
|
+
return LanguageModelToolResult2.from(extensionResult, item.extension);
|
|
116
162
|
}
|
|
117
163
|
async getModel(modelId, extension) {
|
|
118
164
|
let model;
|
|
@@ -58,7 +58,7 @@ export declare class ExtHostLanguageModels implements ExtHostLanguageModelsShape
|
|
|
58
58
|
}[]): void;
|
|
59
59
|
private readonly _languageAccessInformationExtensions;
|
|
60
60
|
createLanguageModelAccessInformation(from: Readonly<IExtensionDescription>): vscode.LanguageModelAccessInformation;
|
|
61
|
-
fileIsIgnored(extension: IExtensionDescription, uri: vscode.Uri, token
|
|
61
|
+
fileIsIgnored(extension: IExtensionDescription, uri: vscode.Uri, token?: vscode.CancellationToken): Promise<boolean>;
|
|
62
62
|
$isFileIgnored(handle: number, uri: UriComponents, token: CancellationToken): Promise<boolean>;
|
|
63
63
|
registerIgnoredFileProvider(extension: IExtensionDescription, provider: vscode.LanguageModelIgnoredFileProvider): vscode.Disposable;
|
|
64
64
|
}
|
|
@@ -18,8 +18,10 @@ import { MainContext } from './extHost.protocol.js';
|
|
|
18
18
|
import { IExtHostAuthentication } from './extHostAuthentication.js';
|
|
19
19
|
import { IExtHostRpcService } from './extHostRpcService.js';
|
|
20
20
|
import { LanguageModelChatMessage2 } from './extHostTypeConverters.js';
|
|
21
|
-
import { LanguageModelTextPart, LanguageModelToolCallPart, LanguageModelError, LanguageModelChatMessageRole } from './extHostTypes.js';
|
|
21
|
+
import { LanguageModelTextPart, LanguageModelToolCallPart, LanguageModelDataPart, LanguageModelError, LanguageModelChatMessageRole } from './extHostTypes.js';
|
|
22
22
|
import { SerializableObjectWithBuffers } from '../../services/extensions/common/proxyIdentifier.js';
|
|
23
|
+
import { VSBuffer } from '../../../base/common/buffer.js';
|
|
24
|
+
import { DEFAULT_MODEL_PICKER_CATEGORY } from '../../contrib/chat/common/modelPicker/modelPickerWidget.js';
|
|
23
25
|
|
|
24
26
|
var ExtHostLanguageModels_1;
|
|
25
27
|
const IExtHostLanguageModels = ( createDecorator('IExtHostLanguageModels'));
|
|
@@ -80,6 +82,9 @@ class LanguageModelResponse {
|
|
|
80
82
|
if (fragment.part.type === 'text') {
|
|
81
83
|
out = new LanguageModelTextPart(fragment.part.value);
|
|
82
84
|
}
|
|
85
|
+
else if (fragment.part.type === 'data') {
|
|
86
|
+
out = new LanguageModelTextPart('');
|
|
87
|
+
}
|
|
83
88
|
else {
|
|
84
89
|
out = new LanguageModelToolCallPart(fragment.part.toolCallId, fragment.part.name, fragment.part.parameters);
|
|
85
90
|
}
|
|
@@ -135,6 +140,8 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
|
|
|
135
140
|
vendor: metadata.vendor ?? ExtensionIdentifier.toKey(extension.identifier),
|
|
136
141
|
name: metadata.name ?? '',
|
|
137
142
|
family: metadata.family ?? '',
|
|
143
|
+
cost: metadata.cost,
|
|
144
|
+
description: metadata.description,
|
|
138
145
|
version: metadata.version,
|
|
139
146
|
maxInputTokens: metadata.maxInputTokens,
|
|
140
147
|
maxOutputTokens: metadata.maxOutputTokens,
|
|
@@ -142,6 +149,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
|
|
|
142
149
|
targetExtensions: metadata.extensions,
|
|
143
150
|
isDefault: metadata.isDefault,
|
|
144
151
|
isUserSelectable: metadata.isUserSelectable,
|
|
152
|
+
modelPickerCategory: metadata.category ?? DEFAULT_MODEL_PICKER_CATEGORY,
|
|
145
153
|
capabilities: metadata.capabilities,
|
|
146
154
|
});
|
|
147
155
|
const responseReceivedListener = provider.onDidReceiveLanguageModelResponse2?.(({ extensionId, participant, tokenCount }) => {
|
|
@@ -170,6 +178,9 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
|
|
|
170
178
|
else if (fragment.part instanceof LanguageModelTextPart) {
|
|
171
179
|
part = { type: 'text', value: fragment.part.value };
|
|
172
180
|
}
|
|
181
|
+
else if (fragment.part instanceof LanguageModelDataPart) {
|
|
182
|
+
part = { type: 'data', value: { mimeType: fragment.part.mimeType, data: VSBuffer.wrap(fragment.part.data) } };
|
|
183
|
+
}
|
|
173
184
|
if (!part) {
|
|
174
185
|
this._logService.warn(`[CHAT](${data.extension.value}) UNKNOWN part ${JSON.stringify(fragment)}`);
|
|
175
186
|
return;
|
|
@@ -178,12 +189,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
|
|
|
178
189
|
}));
|
|
179
190
|
let value;
|
|
180
191
|
try {
|
|
181
|
-
|
|
182
|
-
value = data.provider.provideLanguageModelResponse2(( messages.value.map(LanguageModelChatMessage2.to)), options, ExtensionIdentifier.toKey(from), progress, token);
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
value = data.provider.provideLanguageModelResponse(( messages.value.map(LanguageModelChatMessage2.to)), options, ExtensionIdentifier.toKey(from), progress, token);
|
|
186
|
-
}
|
|
192
|
+
value = data.provider.provideLanguageModelResponse(( messages.value.map(LanguageModelChatMessage2.to)), options, ExtensionIdentifier.toKey(from), progress, token);
|
|
187
193
|
}
|
|
188
194
|
catch (err) {
|
|
189
195
|
throw err;
|
|
@@ -344,7 +350,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
|
|
|
344
350
|
}
|
|
345
351
|
try {
|
|
346
352
|
const detail = justification
|
|
347
|
-
? ( localize(
|
|
353
|
+
? ( localize(2560, "Justification: {1}", to.displayName, justification))
|
|
348
354
|
: undefined;
|
|
349
355
|
await this._extHostAuthentication.getSession(from, providerId, [], { forceNewSession: { detail } });
|
|
350
356
|
this.$updateModelAccesslist([{ from: from.identifier, to: to.identifier, enabled: true }]);
|
|
@@ -435,7 +441,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
|
|
|
435
441
|
}
|
|
436
442
|
};
|
|
437
443
|
}
|
|
438
|
-
fileIsIgnored(extension, uri, token) {
|
|
444
|
+
fileIsIgnored(extension, uri, token = CancellationToken.None) {
|
|
439
445
|
checkProposedApiEnabled(extension, 'chatParticipantAdditions');
|
|
440
446
|
return this._proxy.$fileIsIgnored(uri, token);
|
|
441
447
|
}
|
|
@@ -8,7 +8,7 @@ import { IExtHostInitDataService } from './extHostInitDataService.js';
|
|
|
8
8
|
let ExtHostLogService = class ExtHostLogService extends LogService {
|
|
9
9
|
constructor(isWorker, loggerService, initData) {
|
|
10
10
|
const id = initData.remote.isRemote ? 'remoteexthost' : isWorker ? 'workerexthost' : 'exthost';
|
|
11
|
-
const name = initData.remote.isRemote ? ( localize(
|
|
11
|
+
const name = initData.remote.isRemote ? ( localize(2561, "Extension Host (Remote)")) : isWorker ? ( localize(2562, "Extension Host (Worker)")) : ( localize(2563, "Extension Host"));
|
|
12
12
|
super(loggerService.createLogger(id, { name }));
|
|
13
13
|
}
|
|
14
14
|
};
|