@codingame/monaco-vscode-api 6.0.2 → 7.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/README.md +93 -73
- package/api.js +1 -1
- package/debugProtocol.d.ts +10 -1
- package/extensions.d.ts +2 -0
- package/missing-services.js +21 -2
- package/monaco.d.ts +1 -1
- package/monaco.js +1 -1
- package/package.json +9 -9
- package/service-override/extensions.d.ts +1 -2
- package/services.js +4 -2
- package/vscode/src/vs/base/browser/dnd.js +1 -1
- package/vscode/src/vs/base/browser/dom.js +116 -5
- package/vscode/src/vs/base/browser/domObservable.js +16 -0
- package/vscode/src/vs/base/browser/markdownRenderer.js +5 -3
- package/vscode/src/vs/base/browser/trustedTypes.js +1 -2
- package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
- package/vscode/src/vs/base/browser/ui/button/button.js +2 -2
- package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -4
- package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
- package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
- package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +1 -1
- package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +32 -16
- package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +2 -2
- package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +2 -2
- package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +2 -0
- package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +1 -1
- package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +1 -1
- package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +1 -1
- package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
- package/vscode/src/vs/base/browser/ui/list/listView.js +3 -5
- package/vscode/src/vs/base/browser/ui/list/rowCache.js +1 -8
- package/vscode/src/vs/base/browser/ui/sash/sash.js +1 -1
- package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -11
- package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
- package/vscode/src/vs/base/browser/ui/splitview/splitview.js +1 -1
- package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
- package/vscode/src/vs/base/browser/ui/toggle/toggle.js +1 -1
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +8 -1
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
- package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +1 -1
- package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +0 -3
- package/vscode/src/vs/base/common/assert.js +1 -1
- package/vscode/src/vs/base/common/collections.js +49 -1
- package/vscode/src/vs/base/common/equals.js +55 -5
- package/vscode/src/vs/base/common/errors.js +14 -1
- package/vscode/src/vs/base/common/event.js +2 -1
- package/vscode/src/vs/base/common/history.js +7 -4
- package/vscode/src/vs/base/common/iterator.js +9 -1
- package/vscode/src/vs/base/common/map.d.ts +41 -0
- package/vscode/src/vs/base/common/numbers.js +18 -1
- package/vscode/src/vs/base/common/observableInternal/api.js +11 -0
- package/vscode/src/vs/base/common/observableInternal/autorun.js +18 -1
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +8 -1
- package/vscode/src/vs/base/common/observableInternal/base.js +2 -5
- package/vscode/src/vs/base/common/observableInternal/derived.js +13 -3
- package/vscode/src/vs/base/common/observableInternal/lazyObservableValue.js +109 -0
- package/vscode/src/vs/base/common/observableInternal/promise.js +3 -0
- package/vscode/src/vs/base/common/observableInternal/utils.d.ts +7 -0
- package/vscode/src/vs/base/common/observableInternal/utils.js +64 -12
- package/vscode/src/vs/base/common/prefixTree.d.ts +52 -0
- package/vscode/src/vs/base/common/product.d.ts +1 -0
- package/vscode/src/vs/base/parts/ipc/common/ipc.js +1 -1
- package/vscode/src/vs/editor/browser/config/charWidthReader.js +1 -1
- package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
- package/vscode/src/vs/editor/browser/coreCommands.js +2 -1
- package/vscode/src/vs/editor/browser/observableCodeEditor.js +230 -0
- package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +1 -1
- package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -26
- package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -2
- package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
- package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -12
- package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -4
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +8 -8
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +4 -4
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +14 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +2 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +3 -3
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +2 -2
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +1 -1
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +5 -0
- package/vscode/src/vs/editor/common/config/editorOptions.js +83 -65
- package/vscode/src/vs/editor/common/core/editorColorRegistry.js +43 -43
- package/vscode/src/vs/editor/common/cursor/cursor.js +3 -2
- package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +911 -0
- package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +36 -799
- package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +6 -5
- package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -0
- package/vscode/src/vs/editor/common/languageFeatureRegistry.js +3 -0
- package/vscode/src/vs/editor/common/languages/autoIndent.js +23 -1
- package/vscode/src/vs/editor/common/languages.d.ts +20 -3
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +6 -6
- package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +19 -0
- package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +3 -0
- package/vscode/src/vs/editor/common/model/textModel.js +6 -2
- package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +5 -5
- package/vscode/src/vs/editor/common/model.d.ts +4 -0
- package/vscode/src/vs/editor/common/services/getIconClasses.js +1 -1
- package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +2 -15
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +63 -62
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +11 -8
- package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +1 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +2 -17
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +18 -5
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +55 -27
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +7 -4
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +9 -9
- package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -1
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +103 -47
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -2
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +18 -10
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -4
- package/vscode/src/vs/editor/contrib/folding/browser/folding.css.js +1 -1
- package/vscode/src/vs/editor/contrib/folding/browser/folding.js +33 -13
- package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -7
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +2 -2
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +161 -185
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +321 -0
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +4 -1
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +6 -21
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +39 -40
- package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +55 -46
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +12 -2
- package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +15 -9
- package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +11 -1
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +141 -93
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +24 -7
- package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +36 -1
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +25 -12
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +88 -118
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +34 -33
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +11 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +10 -19
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +45 -27
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -4
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +126 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +9 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution.js +9 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +82 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.js +240 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.css.js +4 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +322 -0
- package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +8 -4
- package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +3 -2
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +2 -2
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +60 -0
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +4 -0
- package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +38 -20
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +3 -0
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +9 -9
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +10 -32
- package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +23 -138
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -0
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +5 -5
- package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +13 -12
- package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +3 -3
- package/vscode/src/vs/editor/editor.api.d.ts +31 -5
- package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +21 -0
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +5 -6
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +1 -1
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +27 -6
- package/vscode/src/vs/platform/actions/browser/floatingMenu.js +1 -1
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +33 -3
- package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -1
- package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
- package/vscode/src/vs/platform/actions/common/actions.js +3 -0
- package/vscode/src/vs/platform/actions/common/menuService.js +3 -2
- package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +1 -1
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +7 -5
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +109 -13
- package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +2 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +12 -6
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -3
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +20 -10
- package/vscode/src/vs/platform/extensions/common/extensionValidator.js +46 -8
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -1
- package/vscode/src/vs/platform/extensions/common/extensions.js +12 -3
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +368 -0
- package/vscode/src/vs/platform/files/common/watcher.js +21 -24
- package/vscode/src/vs/platform/list/browser/listService.js +2 -1
- package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -2
- package/vscode/src/vs/platform/opener/browser/link.js +1 -1
- package/vscode/src/vs/platform/product/common/product.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1 -1
- package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.d.ts +0 -2
- package/vscode/src/vs/platform/request/common/request.js +18 -8
- package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +2 -6
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +8 -1
- package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +1 -1
- package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -5
- package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
- package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +6 -6
- package/vscode/src/vs/platform/theme/common/colors/editorColors.js +35 -35
- package/vscode/src/vs/platform/theme/common/colors/inputColors.js +9 -9
- package/vscode/src/vs/platform/theme/common/colors/listColors.js +11 -11
- package/vscode/src/vs/platform/theme/common/colors/menuColors.js +4 -4
- package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +5 -5
- package/vscode/src/vs/platform/theme/common/colors/miscColors.js +1 -1
- package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +5 -5
- package/vscode/src/vs/platform/tunnel/common/tunnel.js +4 -1
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +75 -19
- package/vscode/src/vs/platform/window/common/window.d.ts +2 -2
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +32 -25
- package/vscode/src/vs/workbench/api/common/extHost.common.services.js +2 -0
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -11
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +5 -15
- package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +2 -5
- package/vscode/src/vs/workbench/api/common/extHostComments.js +9 -3
- package/vscode/src/vs/workbench/api/common/extHostDebugService.js +32 -22
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +109 -40
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +46 -0
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +84 -35
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +50 -41
- package/vscode/src/vs/workbench/api/common/extHostSearch.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostSecrets.js +11 -8
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -6
- package/vscode/src/vs/workbench/api/common/extHostTesting.js +63 -70
- package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +5 -3
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +75 -16
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +29 -4
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
- package/vscode/src/vs/workbench/browser/actions/developerActions.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +127 -107
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +33 -21
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +5 -5
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +23 -6
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +3 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +1 -1
- package/vscode/src/vs/workbench/browser/web.api.js +8 -0
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +199 -194
- package/vscode/src/vs/workbench/common/configuration.js +1 -1
- package/vscode/src/vs/workbench/common/contributions.js +8 -1
- package/vscode/src/vs/workbench/common/editor.js +5 -1
- package/vscode/src/vs/workbench/common/theme.js +79 -454
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +221 -239
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.js +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatConfirmationWidget.js → chatContentParts/chatConfirmationWidget.js} +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.js +131 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +263 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +160 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +171 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatWarningContentPart.js +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatContentParts/media}/chatConfirmationWidget.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +91 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +292 -1019
- package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +22 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +61 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +23 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -16
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +1 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +7 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +2 -2
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +2 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +2 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +8 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +1 -1
- package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +14 -7
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +8 -7
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +19 -16
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -12
- package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +19 -2
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +9 -4
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +10 -5
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +4 -4
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +235 -173
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +2 -1
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +17 -5
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +62 -44
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +114 -107
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +33 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +71 -101
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +38 -43
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -33
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +3 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +49 -86
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +60 -71
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +116 -113
- package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +6 -10
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +1 -0
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +12 -23
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +88 -61
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +1 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +39 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +12 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +3 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +40 -105
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +27 -26
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +14 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +43 -46
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +12 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +19 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +9 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +16 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +8 -8
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.service.js +3 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +11 -12
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +12 -13
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +5 -3
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +9 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +37 -36
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +18 -8
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +1 -1
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +14 -5
- package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +17 -22
- package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +7 -10
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +7 -27
- package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +3 -4
- package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +4 -0
- package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +13 -37
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.d.ts +88 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +48 -31
- package/vscode/src/vs/workbench/contrib/testing/common/testId.d.ts +115 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.d.ts +226 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +319 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +2 -3
- package/vscode/src/vs/workbench/contrib/testing/common/testingStates.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +7 -8
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +3 -3
- package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +10 -5
- package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +54 -21
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +1 -2
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -4
- package/vscode/src/vs/workbench/services/extensions/common/extensions.js +5 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +3 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +59 -41
- package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -1
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -2
- package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -0
- package/vscode/src/vs/workbench/services/language/common/languageService.js +7 -0
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +1 -1
- package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +2 -2
- package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
- package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +2 -2
- package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +2 -2
- package/vscode/src/vs/workbench/services/textfile/common/encoding.js +69 -26
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +23 -4
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +5 -1
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
- package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -5
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +38 -19
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +2 -1
- package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +0 -196
- package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -10
- package/vscode-dts/vscode.proposed.authGetSessions.d.ts +30 -22
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +17 -8
- package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +0 -9
- package/vscode-dts/vscode.proposed.commentReveal.d.ts +32 -0
- package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +10 -0
- package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +1 -1
- package/vscode-dts/vscode.proposed.fileComments.d.ts +12 -53
- package/vscode-dts/vscode.proposed.fileSearchProvider.d.ts +6 -0
- package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +6 -0
- package/vscode-dts/vscode.proposed.lmTools.d.ts +91 -0
- package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +1 -1
- package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +10 -6
- package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +38 -13
- package/vscode/src/vs/editor/browser/observableUtilities.js +0 -58
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +0 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +0 -122
|
@@ -30,7 +30,7 @@ function agentToMarkdown(agent, isClickable, accessor) {
|
|
|
30
30
|
const chatAgentService = accessor.get(IChatAgentService);
|
|
31
31
|
const isAllowed = chatAgentNameService.getAgentNameRestriction(agent);
|
|
32
32
|
let name = `${isAllowed ? agent.name : getFullyQualifiedId(agent)}`;
|
|
33
|
-
const isDupe = isAllowed && chatAgentService.
|
|
33
|
+
const isDupe = isAllowed && chatAgentService.agentHasDupeName(agent.id);
|
|
34
34
|
if (isDupe) {
|
|
35
35
|
name += ` (${agent.publisherDisplayName})`;
|
|
36
36
|
}
|
|
@@ -144,7 +144,7 @@ let ChatMarkdownDecorationsRenderer = class ChatMarkdownDecorationsRenderer {
|
|
|
144
144
|
}
|
|
145
145
|
const agent = this.chatAgentService.getAgent(args.agentId);
|
|
146
146
|
const hover = ( new Lazy(() => store.add(this.instantiationService.createInstance(ChatAgentHover))));
|
|
147
|
-
store.add(this.hoverService.
|
|
147
|
+
store.add(this.hoverService.setupManagedHover(getDefaultHoverDelegate('element'), container, () => {
|
|
148
148
|
hover.value.setAgent(args.agentId);
|
|
149
149
|
return hover.value.domNode;
|
|
150
150
|
}, agent && getChatAgentHoverOptions(() => agent, this.commandService)));
|
|
@@ -51,7 +51,7 @@ let ChatMarkdownRenderer = class ChatMarkdownRenderer extends MarkdownRenderer {
|
|
|
51
51
|
const mdWithBody = (markdown && markdown.supportHtml) ?
|
|
52
52
|
{
|
|
53
53
|
...markdown,
|
|
54
|
-
value: `<body
|
|
54
|
+
value: `<body>\n\n${markdown.value}</body>`,
|
|
55
55
|
}
|
|
56
56
|
: markdown;
|
|
57
57
|
return super.render(mdWithBody, options, markedOptions);
|
|
@@ -100,6 +100,8 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
100
100
|
this.onDidHide = this._onDidHide.event;
|
|
101
101
|
this._onDidChangeParsedInput = this._register(( new Emitter()));
|
|
102
102
|
this.onDidChangeParsedInput = this._onDidChangeParsedInput.event;
|
|
103
|
+
this._onWillMaybeChangeHeight = ( new Emitter());
|
|
104
|
+
this.onWillMaybeChangeHeight = this._onWillMaybeChangeHeight.event;
|
|
103
105
|
this._onDidChangeHeight = this._register(( new Emitter()));
|
|
104
106
|
this.onDidChangeHeight = this._onDidChangeHeight.event;
|
|
105
107
|
this._onDidChangeContentHeight = ( new Emitter());
|
|
@@ -205,6 +207,14 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
205
207
|
return undefined;
|
|
206
208
|
}
|
|
207
209
|
})).filter(isDefined);
|
|
210
|
+
this.contribs.forEach(c => {
|
|
211
|
+
if (c.onDidChangeInputState) {
|
|
212
|
+
this._register(c.onDidChangeInputState(() => {
|
|
213
|
+
const state = this.collectInputState();
|
|
214
|
+
this.inputPart.updateState(state);
|
|
215
|
+
}));
|
|
216
|
+
}
|
|
217
|
+
});
|
|
208
218
|
}
|
|
209
219
|
getContrib(id) {
|
|
210
220
|
return this.contribs.find(c => c.id === id);
|
|
@@ -250,6 +260,7 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
250
260
|
collapsible: false
|
|
251
261
|
};
|
|
252
262
|
}));
|
|
263
|
+
this._onWillMaybeChangeHeight.fire();
|
|
253
264
|
this.tree.setChildren(null, treeItems, {
|
|
254
265
|
diffIdentityProvider: {
|
|
255
266
|
getId: (element) => {
|
|
@@ -389,15 +400,16 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
389
400
|
createInput(container, options) {
|
|
390
401
|
this.inputPart = this._register(this.instantiationService.createInstance(ChatInputPart, this.location, {
|
|
391
402
|
renderFollowups: options?.renderFollowups ?? true,
|
|
392
|
-
renderStyle: options?.renderStyle,
|
|
403
|
+
renderStyle: options?.renderStyle === 'minimal' ? 'compact' : options?.renderStyle,
|
|
393
404
|
menus: { executeToolbar: MenuId.ChatExecute, ...this.viewOptions.menus },
|
|
394
405
|
editorOverflowWidgetsDomNode: this.viewOptions.editorOverflowWidgetsDomNode,
|
|
395
406
|
}));
|
|
396
407
|
this.inputPart.render(container, '', this);
|
|
397
408
|
this._register(this.inputPart.onDidLoadInputState(state => {
|
|
398
409
|
this.contribs.forEach(c => {
|
|
399
|
-
if (c.setInputState
|
|
400
|
-
|
|
410
|
+
if (c.setInputState) {
|
|
411
|
+
const contribState = (typeof state === 'object' && state?.[c.id]) ?? {};
|
|
412
|
+
c.setInputState(contribState);
|
|
401
413
|
}
|
|
402
414
|
});
|
|
403
415
|
}));
|
|
@@ -475,7 +487,7 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
475
487
|
this.viewModel = undefined;
|
|
476
488
|
this.onDidChangeItems();
|
|
477
489
|
}));
|
|
478
|
-
this.inputPart.
|
|
490
|
+
this.inputPart.initForNewChatModel(viewState.inputValue, viewState.inputState ?? this.collectInputState());
|
|
479
491
|
this.contribs.forEach(c => {
|
|
480
492
|
if (c.setInputState && viewState.inputState?.[c.id]) {
|
|
481
493
|
c.setInputState(viewState.inputState?.[c.id]);
|
|
@@ -511,11 +523,14 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
511
523
|
this.viewModel?.resetInputPlaceholder();
|
|
512
524
|
}
|
|
513
525
|
setInput(value = '') {
|
|
514
|
-
this.inputPart.setValue(value);
|
|
526
|
+
this.inputPart.setValue(value, false);
|
|
515
527
|
}
|
|
516
528
|
getInput() {
|
|
517
529
|
return this.inputPart.inputEditor.getValue();
|
|
518
530
|
}
|
|
531
|
+
logInputHistory() {
|
|
532
|
+
this.inputPart.logInputHistory();
|
|
533
|
+
}
|
|
519
534
|
async acceptInput(query) {
|
|
520
535
|
return this._acceptInput(query ? { query } : undefined);
|
|
521
536
|
}
|
|
@@ -543,9 +558,9 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
543
558
|
const result = await this.chatService.sendRequest(this.viewModel.sessionId, input, { location: this.location, parserContext: { selectedAgent: this._lastSelectedAgent }, attachedContext: [...( this.inputPart.attachedContext.values())] });
|
|
544
559
|
if (result) {
|
|
545
560
|
this.inputPart.attachedContext.clear();
|
|
546
|
-
|
|
547
|
-
this.inputPart.acceptInput(isUserQuery ? input : undefined, isUserQuery ? inputState : undefined);
|
|
561
|
+
this.inputPart.acceptInput(isUserQuery);
|
|
548
562
|
this._onDidSubmitAgent.fire({ agent: result.agent, slashCommand: result.slashCommand });
|
|
563
|
+
this.inputPart.updateState(this.collectInputState());
|
|
549
564
|
result.responseCompletePromise.then(() => {
|
|
550
565
|
const responses = this.viewModel?.getItems().filter(isResponseVM);
|
|
551
566
|
const lastResponse = responses?.[responses.length - 1];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import n from '../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
-
var css = ".interactive-result-code-block{position:relative}.interactive-result-code-block .interactive-result-code-block-toolbar{display:none}.interactive-result-code-block .interactive-result-code-block-toolbar>.monaco-action-bar,.interactive-result-code-block .interactive-result-code-block-toolbar>.monaco-toolbar{background-color:var(--vscode-interactive-result-editor-background-color,var(--vscode-editor-background));border:1px solid var(--vscode-chat-requestBorder);height:26px;line-height:26px;max-width:70%;overflow:hidden;position:absolute;text-overflow:ellipsis;top:-13px;z-index:100}.interactive-result-code-block .interactive-result-code-block-toolbar>.monaco-action-bar{left:0}.interactive-result-code-block .interactive-result-code-block-toolbar>.monaco-toolbar{right:10px}.interactive-result-code-block .monaco-toolbar .action-item{height:24px;margin:1px 2px;width:24px}.interactive-result-code-block .monaco-toolbar .action-item .codicon{margin:1px}.interactive-result-code-block .interactive-result-code-block-toolbar:focus-within,.interactive-result-code-block.focused .interactive-result-code-block-toolbar,.interactive-result-code-block:hover .interactive-result-code-block-toolbar{border-radius:2px;display:initial}.interactive-result-code-block .interactive-result-code-block-toolbar.force-visibility .monaco-toolbar{display:initial!important}.interactive-item-container .value .rendered-markdown [data-code]{margin:16px 0}.interactive-result-code-block{background-color:var(--vscode-interactive-result-editor-background-color);border:1px solid var(--vscode-input-border,transparent)}.interactive-result-code-block:has(.monaco-editor.focused){border-color:var(--vscode-focusBorder,transparent)}.interactive-result-code-block,.interactive-result-code-block .monaco-editor,.interactive-result-code-block .monaco-editor .overflow-guard{border-radius:4px}.interactive-result-code-block .interactive-result-vulns{font-size:.9em;padding:0 8px 2px}.interactive-result-code-block .interactive-result-vulns-header{display:flex;height:22px}.interactive-result-code-block .interactive-result-vulns-header,.interactive-result-code-block .interactive-result-vulns-list{opacity:.8}.interactive-result-code-block .interactive-result-vulns-list{margin:0;padding-bottom:3px;padding-left:16px!important}.interactive-result-code-block.chat-vulnerabilities-collapsed .interactive-result-vulns-list{display:none}.interactive-result-code-block .interactive-result-vulns-list .chat-vuln-title{font-weight:700}.interactive-result-code-block.no-vulns .interactive-result-vulns{display:none}.interactive-result-code-block .interactive-result-vulns-header .monaco-button{border:none;color:var(--vscode-foreground)!important;display:inline-flex;justify-content:normal;padding:0;text-align:initial;user-select:none;width:100%}.interactive-result-code-block .interactive-result-vulns-header .monaco-text-button:focus{outline:none}.interactive-result-code-block .interactive-result-vulns-header .monaco-text-button:focus-visible{outline:1px solid var(--vscode-focusBorder)}.interactive-result-code-block.compare.no-diff .message{display:inherit}.interactive-result-code-block.compare .message{display:none;padding:6px}.interactive-result-code-block.compare .message A{color:var(--vscode-textLink-foreground);cursor:pointer}.interactive-result-code-block.compare .message A>CODE{color:var(--vscode-textLink-foreground)}";
|
|
2
|
+
var css = ".interactive-result-code-block{position:relative}.interactive-result-code-block .interactive-result-code-block-toolbar{display:none}.interactive-result-code-block .interactive-result-code-block-toolbar>.monaco-action-bar,.interactive-result-code-block .interactive-result-code-block-toolbar>.monaco-toolbar{background-color:var(--vscode-interactive-result-editor-background-color,var(--vscode-editor-background));border:1px solid var(--vscode-chat-requestBorder);height:26px;line-height:26px;max-width:70%;overflow:hidden;position:absolute;text-overflow:ellipsis;top:-13px;z-index:100}.interactive-result-code-block .interactive-result-code-block-toolbar>.monaco-action-bar{left:0}.interactive-result-code-block .interactive-result-code-block-toolbar>.monaco-toolbar{right:10px}.interactive-result-code-block .monaco-toolbar .action-item{height:24px;margin:1px 2px;width:24px}.interactive-result-code-block .monaco-toolbar .action-item .codicon{margin:1px}.interactive-result-code-block .interactive-result-code-block-toolbar:focus-within,.interactive-result-code-block.focused .interactive-result-code-block-toolbar,.interactive-result-code-block:hover .interactive-result-code-block-toolbar{border-radius:2px;display:initial}.interactive-result-code-block .interactive-result-code-block-toolbar.force-visibility .monaco-toolbar{display:initial!important}.interactive-item-container .value .rendered-markdown [data-code]{margin:16px 0}.interactive-result-code-block{background-color:var(--vscode-interactive-result-editor-background-color);border:1px solid var(--vscode-input-border,transparent)}.interactive-result-code-block:has(.monaco-editor.focused){border-color:var(--vscode-focusBorder,transparent)}.interactive-result-code-block,.interactive-result-code-block .monaco-editor,.interactive-result-code-block .monaco-editor .overflow-guard{border-radius:4px}.interactive-result-code-block .interactive-result-vulns{font-size:.9em;padding:0 8px 2px}.interactive-result-code-block .interactive-result-vulns-header{display:flex;height:22px}.interactive-result-code-block .interactive-result-vulns-header,.interactive-result-code-block .interactive-result-vulns-list{opacity:.8}.interactive-result-code-block .interactive-result-vulns-list{margin:0;padding-bottom:3px;padding-left:16px!important}.interactive-result-code-block.chat-vulnerabilities-collapsed .interactive-result-vulns-list{display:none}.interactive-result-code-block .interactive-result-vulns-list .chat-vuln-title{font-weight:700}.interactive-result-code-block.no-vulns .interactive-result-vulns{display:none}.interactive-result-code-block .interactive-result-vulns-header .monaco-button{border:none;color:var(--vscode-foreground)!important;display:inline-flex;justify-content:normal;padding:0;text-align:initial;user-select:none;width:100%}.interactive-result-code-block .interactive-result-vulns-header .monaco-text-button:focus{outline:none}.interactive-result-code-block .interactive-result-vulns-header .monaco-text-button:focus-visible{outline:1px solid var(--vscode-focusBorder)}.interactive-result-code-block.compare.no-diff .message{display:inherit}.interactive-result-code-block.compare .message{display:none;padding:6px}.interactive-result-code-block.compare .message A{color:var(--vscode-textLink-foreground);cursor:pointer}.interactive-result-code-block.compare .message A>CODE{color:var(--vscode-textLink-foreground)}.interactive-result-code-block.compare .interactive-result-header{align-items:center;border-bottom:1px solid var(--vscode-chat-requestBorder);box-sizing:border-box;display:flex;justify-content:space-between;padding:0 3px}.interactive-result-code-block.compare.no-diff .interactive-result-editor,.interactive-result-code-block.compare.no-diff .interactive-result-header{display:none}";
|
|
3
3
|
n(css,{});
|
|
4
4
|
export { css, css as default };
|
|
@@ -1,23 +1,34 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
2
|
import './codeBlockPart.css.js';
|
|
3
3
|
import { append, hide, show, clearNode, reset, $ as $$1 } from '../../../../base/browser/dom.js';
|
|
4
|
+
import { renderFormattedText } from '../../../../base/browser/formattedTextRenderer.js';
|
|
4
5
|
import { Button } from '../../../../base/browser/ui/button/button.js';
|
|
5
6
|
import { Codicon } from '../../../../base/common/codicons.js';
|
|
6
7
|
import { Emitter } from '../../../../base/common/event.js';
|
|
7
8
|
import { Disposable, DisposableStore, MutableDisposable } from '../../../../base/common/lifecycle.js';
|
|
8
9
|
import { Schemas } from '../../../../base/common/network.js';
|
|
10
|
+
import { isEqual } from '../../../../base/common/resources.js';
|
|
9
11
|
import { URI } from '../../../../base/common/uri.js';
|
|
12
|
+
import { TabFocus } from '../../../../editor/browser/config/tabFocus.js';
|
|
10
13
|
import { EditorExtensionsRegistry } from '../../../../editor/browser/editorExtensions.js';
|
|
14
|
+
import { ICodeEditorService } from '../../../../editor/browser/services/codeEditorService.js';
|
|
11
15
|
import { CodeEditorWidget } from '../../../../editor/browser/widget/codeEditor/codeEditorWidget.js';
|
|
16
|
+
import { DiffEditorWidget } from '../../../../editor/browser/widget/diffEditor/diffEditorWidget.js';
|
|
12
17
|
import { EDITOR_FONT_DEFAULTS, EditorOption } from '../../../../editor/common/config/editorOptions.js';
|
|
13
18
|
import { Range } from '../../../../editor/common/core/range.js';
|
|
14
19
|
import { ScrollType } from '../../../../editor/common/editorCommon.js';
|
|
20
|
+
import { TextEdit } from '../../../../editor/common/languages.js';
|
|
15
21
|
import { EndOfLinePreference } from '../../../../editor/common/model.js';
|
|
22
|
+
import { TextModelText } from '../../../../editor/common/model/textModelText.js';
|
|
16
23
|
import { IModelService } from '../../../../editor/common/services/model.js';
|
|
24
|
+
import { DefaultModelSHA1Computer } from '../../../../editor/common/services/modelService.js';
|
|
17
25
|
import { ITextModelService } from '../../../../editor/common/services/resolverService.js';
|
|
18
26
|
import { BracketMatchingController } from '../../../../editor/contrib/bracketMatching/browser/bracketMatching.js';
|
|
27
|
+
import { ColorDetector } from '../../../../editor/contrib/colorPicker/browser/colorDetector.js';
|
|
19
28
|
import { ContextMenuController } from '../../../../editor/contrib/contextmenu/browser/contextmenu.js';
|
|
20
29
|
import { GotoDefinitionAtPositionEditorContribution } from '../../../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';
|
|
30
|
+
import { HoverController } from '../../../../editor/contrib/hover/browser/hoverController.js';
|
|
31
|
+
import { MessageController } from '../../../../editor/contrib/message/browser/messageController.js';
|
|
21
32
|
import { ViewportSemanticTokensContribution } from '../../../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';
|
|
22
33
|
import { SmartSelectController } from '../../../../editor/contrib/smartSelect/browser/smartSelect.js';
|
|
23
34
|
import { WordHighlighterContribution } from '../../../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';
|
|
@@ -26,29 +37,19 @@ import { IAccessibilityService } from '../../../../platform/accessibility/common
|
|
|
26
37
|
import { MenuWorkbenchToolBar } from '../../../../platform/actions/browser/toolbar.js';
|
|
27
38
|
import { IConfigurationService } from '../../../../platform/configuration/common/configuration.service.js';
|
|
28
39
|
import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.service.js';
|
|
40
|
+
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.service.js';
|
|
29
41
|
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
|
|
30
42
|
import { ServiceCollection } from '../../../../platform/instantiation/common/serviceCollection.js';
|
|
43
|
+
import { ILabelService } from '../../../../platform/label/common/label.service.js';
|
|
44
|
+
import { IOpenerService } from '../../../../platform/opener/common/opener.service.js';
|
|
31
45
|
import { AccessibilityVerbositySettingId } from '../../accessibility/browser/accessibilityConfiguration.js';
|
|
46
|
+
import { CONTEXT_CHAT_EDIT_APPLIED } from '../common/chatContextKeys.js';
|
|
32
47
|
import { isResponseVM } from '../common/chatViewModel.js';
|
|
33
48
|
import { MenuPreventer } from '../../codeEditor/browser/menuPreventer.js';
|
|
34
49
|
import { SelectionClipboardContributionID } from '../../codeEditor/browser/selectionClipboard.js';
|
|
35
50
|
import { getSimpleEditorOptions } from '../../codeEditor/browser/simpleEditorOptions.js';
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import { HoverController } from '../../../../editor/contrib/hover/browser/hoverController.js';
|
|
39
|
-
import { CONTEXT_CHAT_EDIT_APPLIED } from '../common/chatContextKeys.js';
|
|
40
|
-
import { ILabelService } from '../../../../platform/label/common/label.service.js';
|
|
41
|
-
import { renderFormattedText } from '../../../../base/browser/formattedTextRenderer.js';
|
|
42
|
-
import { IOpenerService } from '../../../../platform/opener/common/opener.service.js';
|
|
43
|
-
import { TextEdit } from '../../../../editor/common/languages.js';
|
|
44
|
-
import { ICodeEditorService } from '../../../../editor/browser/services/codeEditorService.js';
|
|
45
|
-
import { basename, isEqual } from '../../../../base/common/resources.js';
|
|
46
|
-
import { DefaultModelSHA1Computer } from '../../../../editor/common/services/modelService.js';
|
|
47
|
-
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.service.js';
|
|
48
|
-
import { TextModelText } from '../../../../editor/common/model/textModelText.js';
|
|
49
|
-
import { MessageController } from '../../../../editor/contrib/message/browser/messageController.js';
|
|
50
|
-
import { ActionBar } from '../../../../base/browser/ui/actionbar/actionbar.js';
|
|
51
|
-
import { toAction } from '../../../../base/common/actions.js';
|
|
51
|
+
import { ResourceLabel } from '../../../browser/labels.js';
|
|
52
|
+
import { FileKind } from '../../../../platform/files/common/files.js';
|
|
52
53
|
const _moduleId = "vs/workbench/contrib/chat/browser/codeBlockPart";
|
|
53
54
|
const $ = $$1;
|
|
54
55
|
const localFileLanguageId = 'vscode-local-file';
|
|
@@ -91,6 +92,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
91
92
|
this.onDidChangeContentHeight = this._onDidChangeContentHeight.event;
|
|
92
93
|
this.currentScrollWidth = 0;
|
|
93
94
|
this.disposableStore = this._register(( (new DisposableStore())));
|
|
95
|
+
this.isDisposed = false;
|
|
94
96
|
this.element = $('.interactive-result-code-block');
|
|
95
97
|
this.contextKeyService = this._register(contextKeyService.createScoped(this.element));
|
|
96
98
|
const scopedInstantiationService = instantiationService.createChild(( (new ServiceCollection([IContextKeyService, this.contextKeyService]))));
|
|
@@ -185,6 +187,10 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
185
187
|
}));
|
|
186
188
|
}
|
|
187
189
|
}
|
|
190
|
+
dispose() {
|
|
191
|
+
this.isDisposed = true;
|
|
192
|
+
super.dispose();
|
|
193
|
+
}
|
|
188
194
|
get uri() {
|
|
189
195
|
return this.editor.getModel()?.uri;
|
|
190
196
|
}
|
|
@@ -202,6 +208,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
202
208
|
HoverController.ID,
|
|
203
209
|
MessageController.ID,
|
|
204
210
|
GotoDefinitionAtPositionEditorContribution.ID,
|
|
211
|
+
ColorDetector.ID
|
|
205
212
|
])
|
|
206
213
|
}));
|
|
207
214
|
}
|
|
@@ -262,6 +269,9 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
262
269
|
this.layout(width);
|
|
263
270
|
}
|
|
264
271
|
await this.updateEditor(data);
|
|
272
|
+
if (this.isDisposed) {
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
265
275
|
this.layout(width);
|
|
266
276
|
if (editable) {
|
|
267
277
|
this.disposableStore.clear();
|
|
@@ -370,6 +380,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
370
380
|
this.messageElement.tabIndex = 0;
|
|
371
381
|
this.contextKeyService = this._register(contextKeyService.createScoped(this.element));
|
|
372
382
|
const scopedInstantiationService = instantiationService.createChild(( (new ServiceCollection([IContextKeyService, this.contextKeyService]))));
|
|
383
|
+
const editorHeader = append(this.element, $('.interactive-result-header.show-file-icons'));
|
|
373
384
|
const editorElement = append(this.element, $('.interactive-result-editor'));
|
|
374
385
|
this.diffEditor = this.createDiffEditor(scopedInstantiationService, editorElement, {
|
|
375
386
|
...getSimpleEditorOptions(this.configurationService),
|
|
@@ -395,18 +406,14 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
395
406
|
overflowWidgetsDomNode,
|
|
396
407
|
...this.getEditorOptionsFromConfig(),
|
|
397
408
|
});
|
|
398
|
-
|
|
399
|
-
const editorScopedService = this.diffEditor.getModifiedEditor().contextKeyService.createScoped(
|
|
409
|
+
this.resourceLabel = this._register(scopedInstantiationService.createInstance(ResourceLabel, editorHeader, { supportIcons: true }));
|
|
410
|
+
const editorScopedService = this.diffEditor.getModifiedEditor().contextKeyService.createScoped(editorHeader);
|
|
400
411
|
const editorScopedInstantiationService = scopedInstantiationService.createChild(( (new ServiceCollection([IContextKeyService, editorScopedService]))));
|
|
401
|
-
this.
|
|
402
|
-
this.toolbar2 = this._register(editorScopedInstantiationService.createInstance(MenuWorkbenchToolBar, toolbarElement, menuId, {
|
|
412
|
+
this.toolbar = this._register(editorScopedInstantiationService.createInstance(MenuWorkbenchToolBar, editorHeader, menuId, {
|
|
403
413
|
menuOptions: {
|
|
404
414
|
shouldForwardArgs: true
|
|
405
415
|
}
|
|
406
416
|
}));
|
|
407
|
-
this._register(this.toolbar2.onDidChangeDropdownVisibility(e => {
|
|
408
|
-
toolbarElement.classList.toggle('force-visibility', e);
|
|
409
|
-
}));
|
|
410
417
|
this._configureForScreenReader();
|
|
411
418
|
this._register(this.accessibilityService.onDidChangeScreenReaderOptimized(() => this._configureForScreenReader()));
|
|
412
419
|
this._register(this.configurationService.onDidChangeConfiguration((e) => {
|
|
@@ -487,7 +494,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
487
494
|
this.diffEditor.updateOptions({ padding: { top: defaultCodeblockPadding, bottom: bottomPadding } });
|
|
488
495
|
}
|
|
489
496
|
_configureForScreenReader() {
|
|
490
|
-
const toolbarElt = this.
|
|
497
|
+
const toolbarElt = this.toolbar.getElement();
|
|
491
498
|
if (this.accessibilityService.isScreenReaderOptimized()) {
|
|
492
499
|
toolbarElt.style.display = 'block';
|
|
493
500
|
toolbarElt.ariaLabel = this.configurationService.getValue(AccessibilityVerbositySettingId.Chat) ? ( localizeWithPath(_moduleId, 1, 'Toolbar for code block which can be reached via tab')) : ( localizeWithPath(_moduleId, 2, 'Code block toolbar'));
|
|
@@ -531,26 +538,10 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
531
538
|
await this.updateEditor(data, token);
|
|
532
539
|
this.layout(width);
|
|
533
540
|
this.diffEditor.updateOptions({ ariaLabel: ( localizeWithPath(_moduleId, 8, "Code Edits")) });
|
|
534
|
-
this.
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
_moduleId,
|
|
539
|
-
9,
|
|
540
|
-
"Open '{0}'",
|
|
541
|
-
this.labelService.getUriLabel(data.edit.uri, { relative: true })
|
|
542
|
-
)),
|
|
543
|
-
run: () => {
|
|
544
|
-
this.openerService.open(data.edit.uri, { fromUserGesture: true, allowCommands: false });
|
|
545
|
-
},
|
|
546
|
-
id: '',
|
|
547
|
-
}), { icon: false, label: true });
|
|
548
|
-
if (data.hideToolbar) {
|
|
549
|
-
hide(this.toolbar2.getElement());
|
|
550
|
-
}
|
|
551
|
-
else {
|
|
552
|
-
show(this.toolbar2.getElement());
|
|
553
|
-
}
|
|
541
|
+
this.resourceLabel.element.setFile(data.edit.uri, {
|
|
542
|
+
fileKind: FileKind.FILE,
|
|
543
|
+
fileDecorations: { colors: true, badges: false }
|
|
544
|
+
});
|
|
554
545
|
}
|
|
555
546
|
reset() {
|
|
556
547
|
this.clearWidgets();
|
|
@@ -568,15 +559,22 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
568
559
|
this.element.classList.toggle('no-diff', isEditApplied);
|
|
569
560
|
if (data.edit.state?.applied) {
|
|
570
561
|
const uriLabel = this.labelService.getUriLabel(data.edit.uri, { relative: true, noPrefix: true });
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
_moduleId,
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
562
|
+
let template;
|
|
563
|
+
if (data.edit.state.applied === 1) {
|
|
564
|
+
template = ( localizeWithPath(_moduleId, 9, "Made 1 change in [[``{0}``]]", uriLabel));
|
|
565
|
+
}
|
|
566
|
+
else if (data.edit.state.applied < 0) {
|
|
567
|
+
template = ( localizeWithPath(_moduleId, 10, "Edits in [[``{0}``]] have been rejected", uriLabel));
|
|
568
|
+
}
|
|
569
|
+
else {
|
|
570
|
+
template = ( localizeWithPath(
|
|
571
|
+
_moduleId,
|
|
572
|
+
11,
|
|
573
|
+
"Made {0} changes in [[``{1}``]]",
|
|
574
|
+
data.edit.state.applied,
|
|
575
|
+
uriLabel
|
|
576
|
+
));
|
|
577
|
+
}
|
|
580
578
|
const message = renderFormattedText(template, {
|
|
581
579
|
renderCodeSegments: true,
|
|
582
580
|
actionHandler: {
|
|
@@ -608,7 +606,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
608
606
|
this.diffEditor.setModel(null);
|
|
609
607
|
this._lastDiffEditorViewModel.value = undefined;
|
|
610
608
|
}
|
|
611
|
-
this.
|
|
609
|
+
this.toolbar.context = {
|
|
612
610
|
edit: data.edit,
|
|
613
611
|
element: data.element,
|
|
614
612
|
diffEditor: this.diffEditor,
|
|
@@ -706,6 +704,15 @@ let DefaultChatTextEditor = class DefaultChatTextEditor {
|
|
|
706
704
|
}
|
|
707
705
|
return true;
|
|
708
706
|
}
|
|
707
|
+
discard(response, item) {
|
|
708
|
+
if (!response.response.value.includes(item)) {
|
|
709
|
+
return;
|
|
710
|
+
}
|
|
711
|
+
if (item.state?.applied) {
|
|
712
|
+
return;
|
|
713
|
+
}
|
|
714
|
+
response.setEditApplied(item, -1);
|
|
715
|
+
}
|
|
709
716
|
};
|
|
710
717
|
DefaultChatTextEditor = ( (__decorate([
|
|
711
718
|
( (__param(0, ITextModelService))),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../../external/tslib/tslib.es6.js';
|
|
2
2
|
import { coalesce } from '../../../../../base/common/arrays.js';
|
|
3
|
+
import { Emitter } from '../../../../../base/common/event.js';
|
|
3
4
|
import { MarkdownString } from '../../../../../base/common/htmlContent.js';
|
|
4
5
|
import { Disposable } from '../../../../../base/common/lifecycle.js';
|
|
5
6
|
import { basename } from '../../../../../base/common/resources.js';
|
|
@@ -26,27 +27,31 @@ let ChatDynamicVariableModel = class ChatDynamicVariableModel extends Disposable
|
|
|
26
27
|
get id() {
|
|
27
28
|
return ChatDynamicVariableModel_1.ID;
|
|
28
29
|
}
|
|
29
|
-
constructor(widget, labelService
|
|
30
|
+
constructor(widget, labelService) {
|
|
30
31
|
super();
|
|
31
32
|
this.widget = widget;
|
|
32
33
|
this.labelService = labelService;
|
|
33
|
-
this.logService = logService;
|
|
34
34
|
this._variables = [];
|
|
35
|
+
this._onDidChangeInputState = this._register(( (new Emitter())));
|
|
36
|
+
this.onDidChangeInputState = this._onDidChangeInputState.event;
|
|
35
37
|
this._register(widget.inputEditor.onDidChangeModelContent(e => {
|
|
36
38
|
e.changes.forEach(c => {
|
|
39
|
+
const originalNumVariables = this._variables.length;
|
|
37
40
|
this._variables = coalesce(( (this._variables.map(ref => {
|
|
38
41
|
const intersection = Range.intersectRanges(ref.range, c.range);
|
|
39
42
|
if (intersection && !intersection.isEmpty()) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
if (!Range.containsRange(c.range, ref.range)) {
|
|
44
|
+
const rangeToDelete = ( (new Range(
|
|
45
|
+
ref.range.startLineNumber,
|
|
46
|
+
ref.range.startColumn,
|
|
47
|
+
ref.range.endLineNumber,
|
|
48
|
+
ref.range.endColumn - 1
|
|
49
|
+
)));
|
|
50
|
+
this.widget.inputEditor.executeEdits(this.id, [{
|
|
51
|
+
range: rangeToDelete,
|
|
52
|
+
text: '',
|
|
53
|
+
}]);
|
|
54
|
+
}
|
|
50
55
|
return null;
|
|
51
56
|
}
|
|
52
57
|
else if (Range.compareRangesUsingStarts(ref.range, c.range) > 0) {
|
|
@@ -63,6 +68,9 @@ let ChatDynamicVariableModel = class ChatDynamicVariableModel extends Disposable
|
|
|
63
68
|
}
|
|
64
69
|
return ref;
|
|
65
70
|
}))));
|
|
71
|
+
if (this._variables.length !== originalNumVariables) {
|
|
72
|
+
this._onDidChangeInputState.fire();
|
|
73
|
+
}
|
|
66
74
|
});
|
|
67
75
|
this.updateDecorations();
|
|
68
76
|
}));
|
|
@@ -72,8 +80,7 @@ let ChatDynamicVariableModel = class ChatDynamicVariableModel extends Disposable
|
|
|
72
80
|
}
|
|
73
81
|
setInputState(s) {
|
|
74
82
|
if (!Array.isArray(s)) {
|
|
75
|
-
|
|
76
|
-
return;
|
|
83
|
+
s = [];
|
|
77
84
|
}
|
|
78
85
|
this._variables = s;
|
|
79
86
|
this.updateDecorations();
|
|
@@ -81,6 +88,7 @@ let ChatDynamicVariableModel = class ChatDynamicVariableModel extends Disposable
|
|
|
81
88
|
addReference(ref) {
|
|
82
89
|
this._variables.push(ref);
|
|
83
90
|
this.updateDecorations();
|
|
91
|
+
this._onDidChangeInputState.fire();
|
|
84
92
|
}
|
|
85
93
|
updateDecorations() {
|
|
86
94
|
this.widget.inputEditor.setDecorationsByType('chat', dynamicVariableDecorationType, ( (this._variables.map(r => ({
|
|
@@ -103,8 +111,7 @@ let ChatDynamicVariableModel = class ChatDynamicVariableModel extends Disposable
|
|
|
103
111
|
}
|
|
104
112
|
};
|
|
105
113
|
ChatDynamicVariableModel = ChatDynamicVariableModel_1 = ( (__decorate([
|
|
106
|
-
( (__param(1, ILabelService)))
|
|
107
|
-
( (__param(2, ILogService)))
|
|
114
|
+
( (__param(1, ILabelService)))
|
|
108
115
|
], ChatDynamicVariableModel)));
|
|
109
116
|
ChatWidget.CONTRIBS.push(ChatDynamicVariableModel);
|
|
110
117
|
function isSelectAndInsertFileActionContext(context) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
-
var css = ".interactive-session{margin:auto;max-width:850px}.interactive-list>.monaco-list>.monaco-scrollable-element>.monaco-list-rows>.monaco-list-row>.monaco-tl-row>.monaco-tl-twistie{display:none!important}.interactive-item-container{color:var(--vscode-interactive-session-foreground);cursor:default;display:flex;flex-direction:column;gap:8px;padding:16px 20px;user-select:text;-webkit-user-select:text}.interactive-item-container .header{align-items:center;display:flex;justify-content:space-between;position:relative}.interactive-item-container .header.hidden{display:none}.interactive-item-container .header .user{align-items:center;display:flex;gap:8px}.interactive-item-container .header .username{font-size:13px;font-weight:600;margin:0}.interactive-item-container .header .detail-container{color:var(--vscode-descriptionForeground);font-size:12px}.interactive-item-container .header .detail-container .detail .agentOrSlashCommandDetected A{color:var(--vscode-textLink-foreground);cursor:pointer}.interactive-item-container .chat-animated-ellipsis{display:inline-block;width:11px}.interactive-item-container:not(.show-detail-progress) .chat-animated-ellipsis{display:none}@keyframes ellipsis{0%{content:\"\"}25%{content:\".\"}50%{content:\"..\"}75%{content:\"...\"}to{content:\"\"}}.interactive-item-container .chat-animated-ellipsis:after{animation:ellipsis 1s steps(4) infinite;content:\"\";overflow:hidden;white-space:nowrap;width:3em}.interactive-item-container .header .avatar-container{display:flex;pointer-events:none;user-select:none}.interactive-item-container .header .avatar{align-items:center;border-radius:50%;display:flex;height:24px;justify-content:center;outline:1px solid var(--vscode-chat-requestBorder);width:24px}.interactive-item-container .header .avatar.codicon-avatar{background:var(--vscode-chat-avatarBackground)}.interactive-item-container .header .avatar+.avatar{margin-left:-8px}.interactive-item-container .header .avatar .icon{background-color:var(--vscode-chat-list-background);border-radius:50%;height:24px;width:24px}.interactive-item-container .header .avatar .codicon{color:var(--vscode-chat-avatarForeground)!important;font-size:14px}.monaco-list-row:not(.focused) .interactive-item-container:not(:hover) .header .monaco-toolbar,.monaco-list-row:not(.focused) .interactive-item-container:not(:hover) .header .monaco-toolbar .action-label,.monaco-list:not(:focus-within) .monaco-list-row .interactive-item-container:not(:hover) .header .monaco-toolbar,.monaco-list:not(:focus-within) .monaco-list-row .interactive-item-container:not(:hover) .header .monaco-toolbar .action-label{display:none}.interactive-item-container .header .monaco-toolbar .monaco-action-bar .actions-container{gap:4px}.interactive-item-container .header .monaco-toolbar .action-label{border:1px solid transparent;padding:2px}.interactive-item-container .header .monaco-toolbar{background-color:var(--vscode-chat-list-background);position:absolute;right:0}.interactive-item-container.interactive-request .header .monaco-toolbar{background-color:inherit}.interactive-item-container .header .monaco-toolbar .checked.action-label,.interactive-item-container .header .monaco-toolbar .checked.action-label:hover{background-color:var(--vscode-inputOption-activeBackground);border-color:var(--vscode-inputOption-activeBorder);color:var(--vscode-inputOption-activeForeground)!important}.interactive-item-container .value{width:100%}.interactive-item-container .chat-progress-task{padding-bottom:8px}.interactive-item-container .value .rendered-markdown table{margin-bottom:16px;text-align:left;width:100%}.interactive-item-container .value .rendered-markdown table,.interactive-item-container .value .rendered-markdown table td,.interactive-item-container .value .rendered-markdown table th{border:1px solid var(--vscode-chat-requestBorder);border-collapse:collapse;padding:4px 6px}.interactive-item-container .value .interactive-session-followups,.interactive-item-container .value .rendered-markdown a,.interactive-item-container .value .rendered-markdown a code{color:var(--vscode-textLink-foreground)}.interactive-item-container .value .rendered-markdown a:active,.interactive-item-container .value .rendered-markdown a:hover{color:var(--vscode-textLink-activeForeground)}.hc-black .interactive-item-container .value .rendered-markdown a code,.hc-light .interactive-item-container .value .rendered-markdown a code{color:var(--vscode-textPreformat-foreground)}.interactive-list{overflow:hidden}.interactive-request{border-bottom:1px solid var(--vscode-chat-requestBorder);border-top:1px solid var(--vscode-chat-requestBorder)}.hc-black .interactive-request,.hc-light .interactive-request{border-left:3px solid var(--vscode-chat-requestBorder);border-right:3px solid var(--vscode-chat-requestBorder)}.interactive-item-container .value{overflow-wrap:anywhere;white-space:normal}.interactive-item-container .value>:last-child.rendered-markdown>:last-child{margin-bottom:0}.interactive-item-container .value .rendered-markdown h1{font-size:20px;font-weight:600;margin:16px 0}.interactive-item-container .value .rendered-markdown h2{font-size:16px;font-weight:600;margin:16px 0}.interactive-item-container .value .rendered-markdown h3{font-size:14px;font-weight:600;margin:16px 0}.interactive-item-container .value .rendered-markdown p{line-height:1.5em}.interactive-item-container .value>.rendered-markdown p{margin:0 0 16px}.interactive-item-container .value>.rendered-markdown li>p{margin:0}.interactive-item-container .value .rendered-markdown ul{padding-inline-start:24px}.interactive-item-container .value .rendered-markdown ol{padding-inline-start:28px}.interactive-item-container .value .rendered-markdown li{line-height:1.3rem}.interactive-item-container .value .rendered-markdown img{max-width:100%}.interactive-item-container .monaco-tokenized-source,.interactive-item-container code{background-color:var(--vscode-textPreformat-background);border-radius:4px;color:var(--vscode-textPreformat-foreground);font-family:var(--monaco-monospace-font);font-size:12px;padding:1px 3px}.interactive-item-container.interactive-item-compact{padding:8px 20px}.interactive-item-container.interactive-item-compact.no-padding{gap:unset;padding:unset}.interactive-item-container.interactive-item-compact .header{height:16px}.interactive-item-container.interactive-item-compact .header .avatar{height:18px;width:18px}.interactive-item-container.interactive-item-compact .header .avatar .icon{height:16px;width:16px}.interactive-item-container.interactive-item-compact .header .codicon-avatar .codicon{font-size:12px}.interactive-item-container.interactive-item-compact .header .avatar+.avatar{margin-left:-4px}.interactive-item-container.interactive-item-compact .value{min-height:0}.interactive-item-container.interactive-item-compact .value>.rendered-markdown p{margin:0 0 8px}.interactive-item-container.interactive-item-compact .value>.rendered-markdown li>p{margin:0}.interactive-item-container.interactive-item-compact .value .rendered-markdown h1,.interactive-item-container.interactive-item-compact .value .rendered-markdown h2,.interactive-item-container.interactive-item-compact .value .rendered-markdown h3{margin:8px 0}.interactive-session .interactive-input-and-execute-toolbar{align-items:flex-end;background-color:var(--vscode-input-background);border:1px solid var(--vscode-input-border,transparent);border-radius:4px;box-sizing:border-box;cursor:text;display:flex;justify-content:space-between;margin-bottom:4px;padding:0 6px;position:relative}.interactive-session .interactive-input-part.compact .interactive-input-and-execute-toolbar{border-radius:2px;margin-bottom:0}.interactive-session .interactive-input-and-side-toolbar{align-items:center;display:flex;gap:4px}.interactive-session .interactive-input-and-execute-toolbar.focused{border-color:var(--vscode-focusBorder)}.interactive-session .interactive-input-and-execute-toolbar .monaco-editor .mtk1{color:var(--vscode-input-foreground)}.interactive-session .interactive-input-and-execute-toolbar .monaco-editor,.interactive-session .interactive-input-and-execute-toolbar .monaco-editor .monaco-editor-background{background-color:var(--vscode-input-background)!important}.interactive-session .interactive-input-and-execute-toolbar .monaco-editor .cursors-layer{padding-left:4px}.interactive-session .interactive-input-part .interactive-execute-toolbar{height:22px;margin-bottom:7px}.interactive-session .interactive-input-part .interactive-execute-toolbar .monaco-action-bar .actions-container{display:flex;gap:4px}.interactive-session .interactive-input-part .interactive-execute-toolbar .codicon-debug-stop{color:var(--vscode-icon-foreground)!important}.interactive-response .interactive-result-code-block .interactive-result-editor .monaco-editor,.interactive-response .interactive-result-code-block .interactive-result-editor .monaco-editor .margin,.interactive-response .interactive-result-code-block .interactive-result-editor .monaco-editor .monaco-editor-background{background-color:var(--vscode-interactive-result-editor-background-color)!important}.interactive-item-compact .interactive-result-code-block{margin:0 0 8px}.interactive-item-container .interactive-result-code-block .monaco-toolbar .monaco-action-bar .actions-container{padding-inline-start:unset}.chat-notification-widget .chat-error-codicon,.chat-notification-widget .chat-info-codicon,.chat-notification-widget .chat-warning-codicon{align-items:start;display:flex;gap:8px}.interactive-item-container .value .chat-notification-widget .rendered-markdown p{margin:0}.interactive-response .interactive-response-error-details{align-items:start;display:flex;gap:6px}.interactive-response .interactive-response-error-details .rendered-markdown :last-child{margin-bottom:0}.chat-notification-widget .chat-error-codicon .codicon,.chat-notification-widget .chat-info-codicon .codicon,.chat-notification-widget .chat-warning-codicon .codicon{margin-top:2px}.interactive-response .interactive-response-error-details .codicon{margin-top:1px}.chat-used-context-list .codicon-warning{color:var(--vscode-notificationsWarningIcon-foreground)}.chat-used-context-list .monaco-icon-label-container{color:var(--vscode-interactive-session-foreground)}.chat-notification-widget .chat-warning-codicon .codicon-warning{color:var(--vscode-notificationsWarningIcon-foreground)!important}.chat-notification-widget .chat-error-codicon .codicon-error,.interactive-response .interactive-response-error-details .codicon-error{color:var(--vscode-errorForeground)!important}.chat-notification-widget .chat-info-codicon .codicon-info,.interactive-response .interactive-response-error-details .codicon-info{color:var(--vscode-notificationsInfoIcon-foreground)!important}.interactive-session .interactive-input-part{display:flex;flex-direction:column;margin:0 20px;padding:12px 0}.interactive-session .interactive-input-part.compact{margin:0;padding:8px 0 0}.interactive-session .chat-attached-context .chat-attached-context-attachment{display:flex;gap:4px}.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-button:hover{cursor:pointer}.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-button{align-items:center;display:flex}.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-icon-label-container{display:flex}.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-icon-label-container .monaco-highlighted-label{align-items:center!important;display:flex!important}.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-button.codicon.codicon-close,.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-icon-label .monaco-button.codicon.codicon-close{color:var(--vscode-descriptionForeground)}.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-icon-label .codicon{padding-left:4px}.interactive-session .chat-attached-context{display:flex;flex-wrap:wrap;gap:4px;padding:0 0 8px}.interactive-session .chat-attached-context .chat-attached-context-attachment{border:1px solid var(--vscode-chat-requestBorder,var(--vscode-input-background,transparent));border-radius:4px;height:18px;max-width:100%;padding:2px}.interactive-session-followups{align-items:start;display:flex;flex-direction:column;gap:6px}.interactive-session-followups .monaco-button{text-align:left;width:auto}.interactive-session-followups .monaco-button .codicon{margin-left:0;margin-top:1px}.interactive-item-container .interactive-response-followups .monaco-button{padding:4px 8px}.interactive-session .interactive-input-part .interactive-input-followups .interactive-session-followups{margin-bottom:8px}.interactive-session .interactive-input-part .interactive-input-followups .interactive-session-followups .monaco-button{color:var(--vscode-textLink-foreground);display:block;font-size:12px}.interactive-session .interactive-input-part .interactive-input-followups .interactive-session-followups code{font-family:var(--monaco-monospace-font);font-size:11px}.interactive-session .interactive-input-part .interactive-input-followups .interactive-session-followups .monaco-button .codicon-sparkle{float:left}.interactive-session-followups .monaco-button.interactive-followup-reply{border:none;padding:0}.interactive-welcome .value .interactive-session-followups{margin-bottom:16px}.interactive-item-container .monaco-toolbar .codicon{color:var(--vscode-icon-foreground)!important}.interactive-item-container.filtered-response .value>.rendered-markdown{-webkit-mask-image:linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.05) 60%,transparent 80%);mask-image:linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.05) 60%,transparent 80%);pointer-events:none}.quick-input-widget .interactive-session .interactive-input-part{margin:0 3px;padding:8px 6px 6px}.quick-input-widget .interactive-session .interactive-input-part .interactive-execute-toolbar{margin-bottom:1px}.quick-input-widget .interactive-session .interactive-input-and-execute-toolbar{border-radius:2px;margin:0;padding:0 4px 0 6px}.quick-input-widget .interactive-list{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.quick-input-widget .interactive-response{min-height:86px}.interactive-response-progress-tree .monaco-list-row:not(.selected) .monaco-tl-row:hover{background-color:var(--vscode-list-hoverBackground)}.interactive-response-progress-tree{margin:16px 0}.interactive-response-progress-tree.focused{border-color:var(--vscode-focusBorder,transparent)}.interactive-item-container .value .interactive-response-placeholder-codicon .codicon{color:var(--vscode-editorGhostText-foreground)}.interactive-item-container .value .interactive-response-placeholder-content{color:var(--vscode-editorGhostText-foreground);font-size:12px;margin-bottom:16px}.interactive-item-container .value .interactive-response-placeholder-content p{margin:0}.interactive-response .interactive-response-codicon-details{align-items:start;display:flex;gap:6px}.chat-used-context-list .monaco-list{border:none;border-radius:4px;width:auto}.interactive-item-container .chat-resource-widget{background-color:var(--vscode-chat-slashCommandBackground);color:var(--vscode-chat-slashCommandForeground)}.interactive-item-container .chat-agent-widget .monaco-button,.interactive-item-container .chat-resource-widget{border-radius:4px;padding:1px 3px}.interactive-item-container .chat-agent-widget .monaco-text-button{border:none;display:inline}.interactive-session .chat-used-context.chat-used-context-collapsed .chat-used-context-list{display:none}.interactive-session .chat-used-context{display:flex;flex-direction:column;gap:2px}.interactive-item-container .chat-notification-widget,.interactive-response-progress-tree,.interactive-session .chat-used-context-list{border:1px solid var(--vscode-chat-requestBorder);border-radius:4px;margin-bottom:8px;padding:6px 8px}.interactive-item-container .chat-notification-widget{padding:8px 12px}.interactive-session .chat-used-context-list .monaco-list .monaco-list-row{border-radius:2px}.interactive-session .chat-used-context-label{color:var(--vscode-descriptionForeground);font-size:12px;user-select:none}.interactive-session .chat-used-context-label:hover{opacity:unset}.interactive-session .chat-used-context-label .monaco-button{border:none;border-radius:4px;display:inline-flex;gap:4px;justify-content:normal;padding:4px 8px 4px 0;text-align:initial;width:100%}.interactive-session .chat-used-context-label .monaco-button:hover{background-color:var(--vscode-list-hoverBackground);color:var(--vscode-foreground)}.interactive-session .chat-used-context-label .monaco-text-button:focus{outline:none}.interactive-session .chat-used-context-label .monaco-text-button:focus-visible{outline:1px solid var(--vscode-focusBorder)}.interactive-session .chat-used-context .chat-used-context-label .monaco-button .codicon{margin:0 0 0 4px}.interactive-item-container .rendered-markdown.progress-step{display:flex;margin-left:4px;white-space:normal}.interactive-item-container .rendered-markdown.progress-step>p{align-items:center;color:var(--vscode-descriptionForeground);display:flex;font-size:12px;gap:8px;margin-bottom:6px}.interactive-item-container .rendered-markdown.progress-step>p .codicon{color:var(--vscode-icon-foreground)!important}.interactive-item-container .rendered-markdown.progress-step>p .codicon.codicon-check{color:var(--vscode-debugIcon-startForeground)!important}.interactive-item-container .chat-command-button{display:flex;margin-bottom:16px}.interactive-item-container .chat-notification-widget{display:flex;flex-direction:row;gap:6px}.chat-confirmation-widget .chat-confirmation-buttons-container .monaco-button,.interactive-item-container .chat-command-button .monaco-button{padding:4px 8px;text-align:left;width:auto}.interactive-item-container .chat-command-button .monaco-button .codicon{margin-left:0;margin-top:1px}";
|
|
2
|
+
var css = ".interactive-session{margin:auto;max-width:850px}.interactive-list>.monaco-list>.monaco-scrollable-element>.monaco-list-rows>.monaco-list-row>.monaco-tl-row>.monaco-tl-twistie{display:none!important}.interactive-item-container{color:var(--vscode-interactive-session-foreground);cursor:default;display:flex;flex-direction:column;gap:8px;padding:16px 20px;user-select:text;-webkit-user-select:text}.interactive-item-container .header{align-items:center;display:flex;justify-content:space-between;position:relative}.interactive-item-container .header.hidden{display:none}.interactive-item-container .header .user{align-items:center;display:flex;gap:8px;width:100%}.interactive-item-container .header .username{font-size:13px;font-weight:600;margin:0}.interactive-item-container .detail-container{color:var(--vscode-descriptionForeground);font-size:12px;overflow:hidden}.interactive-item-container .detail-container .detail .agentOrSlashCommandDetected A{color:var(--vscode-textLink-foreground);cursor:pointer}.interactive-item-container .chat-animated-ellipsis{display:inline-block;width:11px}.interactive-item-container:not(.show-detail-progress) .chat-animated-ellipsis{display:none}@keyframes ellipsis{0%{content:\"\"}25%{content:\".\"}50%{content:\"..\"}75%{content:\"...\"}to{content:\"\"}}.interactive-item-container .chat-animated-ellipsis:after{animation:ellipsis 1s steps(4) infinite;content:\"\";overflow:hidden;white-space:nowrap;width:3em}.interactive-item-container .header .avatar-container{display:flex;pointer-events:none;user-select:none}.interactive-item-container .header .avatar{align-items:center;border-radius:50%;display:flex;height:24px;justify-content:center;outline:1px solid var(--vscode-chat-requestBorder);width:24px}.interactive-item-container .header .avatar.codicon-avatar{background:var(--vscode-chat-avatarBackground)}.interactive-item-container .header .avatar+.avatar{margin-left:-8px}.interactive-item-container .header .avatar .icon{background-color:var(--vscode-chat-list-background);border-radius:50%;height:24px;width:24px}.interactive-item-container .header .avatar .codicon{color:var(--vscode-chat-avatarForeground)!important;font-size:14px}.monaco-list-row:not(.focused) .interactive-item-container:not(:hover) .header .monaco-toolbar,.monaco-list-row:not(.focused) .interactive-item-container:not(:hover) .header .monaco-toolbar .action-label,.monaco-list:not(:focus-within) .monaco-list-row .interactive-item-container:not(:hover) .header .monaco-toolbar,.monaco-list:not(:focus-within) .monaco-list-row .interactive-item-container:not(:hover) .header .monaco-toolbar .action-label{display:none}.interactive-item-container .header .monaco-toolbar .monaco-action-bar .actions-container{gap:4px}.interactive-item-container .header .monaco-toolbar .action-label{border:1px solid transparent;padding:2px}.interactive-item-container .header .monaco-toolbar{background-color:var(--vscode-chat-list-background);position:absolute;right:0}.interactive-item-container.interactive-request .header .monaco-toolbar{background-color:inherit}.interactive-item-container .header .monaco-toolbar .checked.action-label,.interactive-item-container .header .monaco-toolbar .checked.action-label:hover{background-color:var(--vscode-inputOption-activeBackground);border-color:var(--vscode-inputOption-activeBorder);color:var(--vscode-inputOption-activeForeground)!important}.interactive-item-container .value{width:100%}.interactive-item-container>.value .chat-used-context{margin-bottom:8px}.interactive-item-container .value .rendered-markdown table{margin-bottom:16px;text-align:left;width:100%}.interactive-item-container .value .rendered-markdown table,.interactive-item-container .value .rendered-markdown table td,.interactive-item-container .value .rendered-markdown table th{border:1px solid var(--vscode-chat-requestBorder);border-collapse:collapse;padding:4px 6px}.interactive-item-container .value .interactive-session-followups,.interactive-item-container .value .rendered-markdown a,.interactive-item-container .value .rendered-markdown a code{color:var(--vscode-textLink-foreground)}.interactive-item-container .value .rendered-markdown a:active,.interactive-item-container .value .rendered-markdown a:hover{color:var(--vscode-textLink-activeForeground)}.hc-black .interactive-item-container .value .rendered-markdown a code,.hc-light .interactive-item-container .value .rendered-markdown a code{color:var(--vscode-textPreformat-foreground)}.interactive-list{overflow:hidden}.interactive-request{border-bottom:1px solid var(--vscode-chat-requestBorder);border-top:1px solid var(--vscode-chat-requestBorder)}.hc-black .interactive-request,.hc-light .interactive-request{border-left:3px solid var(--vscode-chat-requestBorder);border-right:3px solid var(--vscode-chat-requestBorder)}.interactive-item-container .value{overflow-wrap:anywhere;white-space:normal}.interactive-item-container .value>:last-child.rendered-markdown>:last-child{margin-bottom:0}.interactive-item-container .value .rendered-markdown h1{font-size:20px;font-weight:600;margin:16px 0}.interactive-item-container .value .rendered-markdown h2{font-size:16px;font-weight:600;margin:16px 0}.interactive-item-container .value .rendered-markdown h3{font-size:14px;font-weight:600;margin:16px 0}.interactive-item-container .value .rendered-markdown p{line-height:1.5em}.interactive-item-container .value>.rendered-markdown p{margin:0 0 16px}.interactive-item-container .value>.rendered-markdown li>p{margin:0}.interactive-item-container .value .rendered-markdown ul{padding-inline-start:24px}.interactive-item-container .value .rendered-markdown ol{padding-inline-start:28px}.interactive-item-container .value .rendered-markdown li{line-height:1.3rem}.interactive-item-container .value .rendered-markdown img{max-width:100%}.interactive-item-container .monaco-tokenized-source,.interactive-item-container code{background-color:var(--vscode-textPreformat-background);border-radius:4px;color:var(--vscode-textPreformat-foreground);font-family:var(--monaco-monospace-font);font-size:12px;padding:1px 3px}.interactive-item-container.interactive-item-compact{padding:8px 20px}.interactive-item-container.interactive-item-compact.no-padding{gap:unset;padding:unset}.interactive-item-container.interactive-item-compact .header{height:16px}.interactive-item-container.interactive-item-compact .header .avatar{height:18px;width:18px}.interactive-item-container.interactive-item-compact .header .avatar .icon{height:16px;width:16px}.interactive-item-container.interactive-item-compact .header .codicon-avatar .codicon{font-size:12px}.interactive-item-container.interactive-item-compact .header .avatar+.avatar{margin-left:-4px}.interactive-item-container.interactive-item-compact .value{min-height:0}.interactive-item-container.interactive-item-compact .value>.rendered-markdown p{margin:0 0 8px}.interactive-item-container.interactive-item-compact .value>.rendered-markdown li>p{margin:0}.interactive-item-container.interactive-item-compact .value .rendered-markdown h1,.interactive-item-container.interactive-item-compact .value .rendered-markdown h2,.interactive-item-container.interactive-item-compact .value .rendered-markdown h3{margin:8px 0}.interactive-item-container.minimal{flex-direction:row}.interactive-item-container.minimal .column.left{display:inline-block;flex-grow:0;padding-top:2px}.interactive-item-container.minimal .column.right{display:inline-block;flex-grow:1}.interactive-item-container.minimal .user>.username{display:none}.interactive-item-container.minimal .detail-container{font-size:unset}.interactive-item-container.minimal>.header{position:absolute;right:0}.interactive-session .interactive-input-and-execute-toolbar{align-items:flex-end;background-color:var(--vscode-input-background);border:1px solid var(--vscode-input-border,transparent);border-radius:4px;box-sizing:border-box;cursor:text;display:flex;justify-content:space-between;margin-bottom:4px;padding:0 6px;position:relative}.interactive-session .interactive-input-part.compact .interactive-input-and-execute-toolbar{border-radius:2px;margin-bottom:0}.interactive-session .interactive-input-and-side-toolbar{align-items:center;display:flex;gap:4px}.interactive-session .interactive-input-and-execute-toolbar.focused{border-color:var(--vscode-focusBorder)}.interactive-session .interactive-input-and-execute-toolbar .monaco-editor .mtk1{color:var(--vscode-input-foreground)}.interactive-session .interactive-input-and-execute-toolbar .monaco-editor,.interactive-session .interactive-input-and-execute-toolbar .monaco-editor .monaco-editor-background{background-color:var(--vscode-input-background)!important}.interactive-session .interactive-input-and-execute-toolbar .monaco-editor .cursors-layer{padding-left:4px}.interactive-session .interactive-input-part .interactive-execute-toolbar{height:22px;margin-bottom:7px}.interactive-session .interactive-input-part .interactive-execute-toolbar .monaco-action-bar .actions-container{display:flex;gap:4px}.interactive-session .interactive-input-part .interactive-execute-toolbar .codicon-debug-stop{color:var(--vscode-icon-foreground)!important}.interactive-response .interactive-result-code-block .interactive-result-editor .monaco-editor,.interactive-response .interactive-result-code-block .interactive-result-editor .monaco-editor .margin,.interactive-response .interactive-result-code-block .interactive-result-editor .monaco-editor .monaco-editor-background{background-color:var(--vscode-interactive-result-editor-background-color)!important}.interactive-item-compact .interactive-result-code-block{margin:0 0 8px}.interactive-item-container .interactive-result-code-block .monaco-toolbar .monaco-action-bar .actions-container{padding-inline-start:unset}.chat-notification-widget .chat-error-codicon,.chat-notification-widget .chat-info-codicon,.chat-notification-widget .chat-warning-codicon{align-items:start;display:flex;gap:8px}.interactive-item-container .value .chat-notification-widget .rendered-markdown p{margin:0}.interactive-response .interactive-response-error-details{align-items:start;display:flex;gap:6px}.interactive-response .interactive-response-error-details .rendered-markdown :last-child{margin-bottom:0}.chat-notification-widget .chat-error-codicon .codicon,.chat-notification-widget .chat-info-codicon .codicon,.chat-notification-widget .chat-warning-codicon .codicon{margin-top:2px}.interactive-response .interactive-response-error-details .codicon{margin-top:1px}.chat-used-context-list .codicon-warning{color:var(--vscode-notificationsWarningIcon-foreground)}.chat-used-context-list .monaco-icon-label-container{color:var(--vscode-interactive-session-foreground)}.chat-notification-widget .chat-warning-codicon .codicon-warning{color:var(--vscode-notificationsWarningIcon-foreground)!important}.chat-notification-widget .chat-error-codicon .codicon-error,.interactive-response .interactive-response-error-details .codicon-error{color:var(--vscode-errorForeground)!important}.chat-notification-widget .chat-info-codicon .codicon-info,.interactive-response .interactive-response-error-details .codicon-info{color:var(--vscode-notificationsInfoIcon-foreground)!important}.interactive-session .interactive-input-part{display:flex;flex-direction:column;margin:0 20px;padding:12px 0}.interactive-session .interactive-input-part.compact{margin:0;padding:8px 0 0}.interactive-session .chat-attached-context .chat-attached-context-attachment{display:flex;gap:4px}.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-button:hover{cursor:pointer}.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-button{align-items:center;display:flex}.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-icon-label-container{display:flex}.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-icon-label-container .monaco-highlighted-label{align-items:center!important;display:flex!important}.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-button.codicon.codicon-close,.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-icon-label .monaco-button.codicon.codicon-close{color:var(--vscode-descriptionForeground)}.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-icon-label .codicon{padding-left:4px}.interactive-session .chat-attached-context{display:flex;flex-wrap:wrap;gap:4px;padding:0 0 8px}.interactive-session .chat-attached-context .chat-attached-context-attachment{border:1px solid var(--vscode-chat-requestBorder,var(--vscode-input-background,transparent));border-radius:4px;height:18px;max-width:100%;padding:2px}.interactive-session-followups{align-items:start;display:flex;flex-direction:column;gap:6px}.interactive-session-followups .monaco-button{text-align:left;width:auto}.interactive-session-followups .monaco-button .codicon{margin-left:0;margin-top:1px}.interactive-item-container .interactive-response-followups .monaco-button{padding:4px 8px}.interactive-session .interactive-input-part .interactive-input-followups .interactive-session-followups{margin-bottom:8px}.interactive-session .interactive-input-part .interactive-input-followups .interactive-session-followups .monaco-button{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--vscode-textLink-foreground);display:block;display:-webkit-box;font-size:12px;overflow:hidden}.interactive-session .interactive-input-part .interactive-input-followups .interactive-session-followups code{font-family:var(--monaco-monospace-font);font-size:11px}.interactive-session .interactive-input-part .interactive-input-followups .interactive-session-followups .monaco-button .codicon-sparkle{float:left}.interactive-session-followups .monaco-button.interactive-followup-reply{border:none;padding:0}.interactive-welcome .value .interactive-session-followups{margin-bottom:16px}.interactive-item-container .monaco-toolbar .codicon{color:var(--vscode-icon-foreground)!important}.interactive-item-container.filtered-response .value>.rendered-markdown{-webkit-mask-image:linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.05) 60%,transparent 80%);mask-image:linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.05) 60%,transparent 80%);pointer-events:none}.quick-input-widget .interactive-session .interactive-input-part{margin:0 3px;padding:8px 6px 6px}.quick-input-widget .interactive-session .interactive-input-part .interactive-execute-toolbar{margin-bottom:1px}.quick-input-widget .interactive-session .interactive-input-and-execute-toolbar{border-radius:2px;margin:0;padding:0 4px 0 6px}.quick-input-widget .interactive-list{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.quick-input-widget .interactive-response{min-height:86px}.interactive-response-progress-tree .monaco-list-row:not(.selected) .monaco-tl-row:hover{background-color:var(--vscode-list-hoverBackground)}.interactive-response-progress-tree{margin:16px 0}.interactive-response-progress-tree.focused{border-color:var(--vscode-focusBorder,transparent)}.interactive-item-container .value .interactive-response-placeholder-codicon .codicon{color:var(--vscode-editorGhostText-foreground)}.interactive-item-container .value .interactive-response-placeholder-content{color:var(--vscode-editorGhostText-foreground);font-size:12px;margin-bottom:16px}.interactive-item-container .value .interactive-response-placeholder-content p{margin:0}.interactive-response .interactive-response-codicon-details{align-items:start;display:flex;gap:6px}.chat-used-context-list .monaco-list{border:none;border-radius:4px;width:auto}.interactive-item-container .chat-resource-widget{background-color:var(--vscode-chat-slashCommandBackground);color:var(--vscode-chat-slashCommandForeground)}.interactive-item-container .chat-agent-widget .monaco-button,.interactive-item-container .chat-resource-widget{border-radius:4px;padding:1px 3px}.interactive-item-container .chat-agent-widget .monaco-text-button{border:none;display:inline}.interactive-session .chat-used-context.chat-used-context-collapsed .chat-used-context-list{display:none}.interactive-session .chat-used-context{display:flex;flex-direction:column;gap:2px}.interactive-item-container .chat-notification-widget,.interactive-response-progress-tree,.interactive-session .chat-used-context-list{border:1px solid var(--vscode-chat-requestBorder);border-radius:4px;margin-bottom:8px;padding:6px 8px}.interactive-item-container .chat-notification-widget{padding:8px 12px}.interactive-session .chat-used-context-list .monaco-list .monaco-list-row{border-radius:2px}.interactive-session .chat-used-context-label{color:var(--vscode-descriptionForeground);font-size:12px;user-select:none}.interactive-session .chat-used-context-label:hover{opacity:unset}.interactive-session .chat-used-context-label .monaco-button{border:none;border-radius:4px;display:inline-flex;gap:4px;justify-content:normal;padding:4px 8px 4px 0;text-align:initial;width:100%}.interactive-session .chat-used-context-label .monaco-button:hover{background-color:var(--vscode-list-hoverBackground);color:var(--vscode-foreground)}.interactive-session .chat-used-context-label .monaco-text-button:focus{outline:none}.interactive-session .chat-used-context-label .monaco-text-button:focus-visible{outline:1px solid var(--vscode-focusBorder)}.interactive-session .chat-used-context .chat-used-context-label .monaco-button .codicon{margin:0 0 0 4px}.interactive-item-container .rendered-markdown.progress-step{display:flex;margin-left:4px;white-space:normal}.interactive-item-container .rendered-markdown.progress-step>p{align-items:center;color:var(--vscode-descriptionForeground);display:flex;font-size:12px;gap:8px;margin-bottom:6px}.interactive-item-container .rendered-markdown.progress-step>p .codicon{color:var(--vscode-icon-foreground)!important}.interactive-item-container .rendered-markdown.progress-step>p .codicon.codicon-check{color:var(--vscode-debugIcon-startForeground)!important}.interactive-item-container .chat-command-button{display:flex;margin-bottom:16px}.interactive-item-container .chat-notification-widget{display:flex;flex-direction:row;gap:6px}.chat-confirmation-widget .chat-confirmation-buttons-container .monaco-button,.interactive-item-container .chat-command-button .monaco-button{padding:4px 8px;text-align:left;width:auto}.interactive-item-container .chat-command-button .monaco-button .codicon{margin-left:0;margin-top:1px}";
|
|
3
3
|
n(css,{});
|
|
4
4
|
export { css, css as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
-
var css = ".chat-agent-hover{line-height:unset;padding:6px 0}.chat-agent-hover-header{display:flex;gap:8px;margin-bottom:4px}.chat-agent-hover-icon .codicon,.chat-agent-hover-icon img{border-radius:50%;height:32px;outline:1px solid var(--vscode-chat-requestBorder);width:32px}.
|
|
2
|
+
var css = ".chat-agent-hover{line-height:unset;padding:6px 0}.chat-agent-hover-header{display:flex;gap:8px;margin-bottom:4px}.chat-agent-hover-icon .codicon,.chat-agent-hover-icon img{border-radius:50%;height:32px;outline:1px solid var(--vscode-chat-requestBorder);width:32px}.chat-agent-hover .chat-agent-hover-icon .codicon{align-items:center;display:flex;font-size:23px!important;justify-content:center}.chat-agent-hover-publisher{display:flex;gap:4px}.chat-agent-hover .chat-agent-hover-publisher .codicon.codicon-extensions-verified-publisher{color:var(--vscode-extensionIcon-verifiedForeground)}.chat-agent-hover .extension-verified-publisher{display:none}.chat-agent-hover.verifiedPublisher .extension-verified-publisher{display:flex}.chat-agent-hover .chat-agent-hover-warning .codicon{color:var(--vscode-notificationsWarningIcon-foreground)!important;margin-right:3px}.chat-agent-hover.allowedName .chat-agent-hover-warning{display:none}.chat-agent-hover-header .chat-agent-hover-name{font-size:14px;font-weight:600}.chat-agent-hover-header .chat-agent-hover-details{font-size:12px}.chat-agent-hover-extension{color:var(--vscode-descriptionForeground);display:flex;gap:6px}.chat-agent-hover.noExtensionName .chat-agent-hover-extension-name,.chat-agent-hover.noExtensionName .chat-agent-hover-separator{display:none}.chat-agent-hover-separator{opacity:.7}.chat-agent-hover-description,.chat-agent-hover-warning{font-size:13px}";
|
|
3
3
|
n(css,{});
|
|
4
4
|
export { css, css as default };
|
|
@@ -156,6 +156,14 @@ let ChatAgentService = class ChatAgentService {
|
|
|
156
156
|
getAgentsByName(name) {
|
|
157
157
|
return this.getAgents().filter(a => a.name === name);
|
|
158
158
|
}
|
|
159
|
+
agentHasDupeName(id) {
|
|
160
|
+
const agent = this.getAgent(id);
|
|
161
|
+
if (!agent) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
return this.getAgentsByName(agent.name)
|
|
165
|
+
.filter(a => a.extensionId.value !== agent.extensionId.value).length > 0;
|
|
166
|
+
}
|
|
159
167
|
async invokeAgent(id, request, progress, history, token) {
|
|
160
168
|
const data = this._agents.get(id);
|
|
161
169
|
if (!data?.impl) {
|
|
@@ -17,5 +17,5 @@ const chatRequestBackground = registerColor('chat.requestBackground', { dark: (
|
|
|
17
17
|
const chatSlashCommandBackground = registerColor('chat.slashCommandBackground', { dark: '#34414b8f', light: '#d2ecff99', hcDark: Color.white, hcLight: badgeBackground }, ( localizeWithPath(_moduleId, 2, 'The background color of a chat slash command.')));
|
|
18
18
|
const chatSlashCommandForeground = registerColor('chat.slashCommandForeground', { dark: '#40A6FF', light: '#306CA2', hcDark: Color.black, hcLight: badgeForeground }, ( localizeWithPath(_moduleId, 3, 'The foreground color of a chat slash command.')));
|
|
19
19
|
registerColor('chat.avatarBackground', { dark: '#1f1f1f', light: '#f2f2f2', hcDark: Color.black, hcLight: Color.white, }, ( localizeWithPath(_moduleId, 4, 'The background color of a chat avatar.')));
|
|
20
|
-
registerColor('chat.avatarForeground',
|
|
20
|
+
registerColor('chat.avatarForeground', foreground, ( localizeWithPath(_moduleId, 5, 'The foreground color of a chat avatar.')));
|
|
21
21
|
export { chatRequestBackground, chatSlashCommandBackground, chatSlashCommandForeground };
|
|
@@ -15,7 +15,7 @@ import { IInstantiationService } from '../../../../platform/instantiation/common
|
|
|
15
15
|
import { ILogService } from '../../../../platform/log/common/log.service.js';
|
|
16
16
|
import { ChatAgentLocation, reviveSerializedAgent } from './chatAgents.js';
|
|
17
17
|
import { IChatAgentService } from './chatAgents.service.js';
|
|
18
|
-
import {
|
|
18
|
+
import { reviveParsedChatRequest, ChatRequestTextPart, getPromptText } from './chatParserTypes.js';
|
|
19
19
|
import { isIUsedContext } from './chatService.js';
|
|
20
20
|
var ChatModel_1, ChatWelcomeMessageModel_1;
|
|
21
21
|
const _moduleId = "vs/workbench/contrib/chat/common/chatModel";
|
|
@@ -112,7 +112,7 @@ class Response {
|
|
|
112
112
|
progress.task?.().then((content) => {
|
|
113
113
|
disp.dispose();
|
|
114
114
|
if (typeof content === 'string') {
|
|
115
|
-
this._responseParts[responsePosition] =
|
|
115
|
+
this._responseParts[responsePosition].content = ( (new MarkdownString(content)));
|
|
116
116
|
}
|
|
117
117
|
this._updateRepr(false);
|
|
118
118
|
});
|
|
@@ -444,7 +444,7 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
|
|
|
444
444
|
? raw :
|
|
445
445
|
{ variables: [] };
|
|
446
446
|
variableData.variables = ( (variableData.variables.map((v) => {
|
|
447
|
-
if ('values' in v && Array.isArray(v.values)) {
|
|
447
|
+
if (v && 'values' in v && Array.isArray(v.values)) {
|
|
448
448
|
return {
|
|
449
449
|
id: v.id ?? '',
|
|
450
450
|
name: v.name,
|