@codingame/monaco-vscode-katex-common 28.4.0 → 29.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/package.json +2 -2
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +158 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +22 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +16 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +121 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +15 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +29 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +349 -109
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +47 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +104 -62
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +13 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +21 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +13 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +29 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +261 -282
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +7 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +184 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +42 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +14 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +11 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +25 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +332 -114
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +10 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +11 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +66 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +28 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +272 -107
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingExternalResourcesWidget.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingExternalResourcesWidget.js +70 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +151 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +96 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +86 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +273 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +28 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +22 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +81 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +20 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +21 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +2 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +0 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +112 -163
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +137 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +108 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +385 -247
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +23 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +124 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +24 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +30 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +84 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +170 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.js +95 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +4 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +4 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +38 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +31 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +12 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +130 -23
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +41 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +55 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +50 -39
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +0 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +0 -440
|
@@ -5,12 +5,15 @@ import * as inlineChatOverlayWidget from './media/inlineChatOverlayWidget.css';
|
|
|
5
5
|
import { $, append, setVisibility, DisposableResizeObserver, getTotalWidth, addDisposableListener, isAncestorOfActiveElement, trackFocus, createElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
6
6
|
import { DEFAULT_FONT_FAMILY } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/fonts';
|
|
7
7
|
import { StandardKeyboardEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/keyboardEvent';
|
|
8
|
-
import { renderAsPlaintext } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
|
|
8
|
+
import { renderAsPlaintext, renderMarkdown } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
|
|
9
9
|
import { ActionBar, ActionsOrientation } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionbar';
|
|
10
|
+
import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
|
|
10
11
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
12
|
+
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
11
13
|
import { KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
12
14
|
import { Disposable, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
13
15
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
16
|
+
import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
|
|
14
17
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
15
18
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
16
19
|
import { EditorOption } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/config/editorOptions';
|
|
@@ -33,6 +36,7 @@ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
33
36
|
import { getSimpleEditorOptions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions';
|
|
34
37
|
import { PlaceholderTextContribution } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/placeholderText/browser/placeholderTextContribution';
|
|
35
38
|
import { assertType } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
39
|
+
import { IInlineChatHistoryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.service';
|
|
36
40
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
37
41
|
import { observableFromEvent, observableFromEventOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
38
42
|
import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
|
|
@@ -47,12 +51,14 @@ let InlineChatInputWidget = class InlineChatInputWidget extends Disposable {
|
|
|
47
51
|
_menuService,
|
|
48
52
|
instantiationService,
|
|
49
53
|
modelService,
|
|
50
|
-
configurationService
|
|
54
|
+
configurationService,
|
|
55
|
+
_historyService
|
|
51
56
|
) {
|
|
52
57
|
super();
|
|
53
58
|
this._editorObs = _editorObs;
|
|
54
59
|
this._contextKeyService = _contextKeyService;
|
|
55
60
|
this._menuService = _menuService;
|
|
61
|
+
this._historyService = _historyService;
|
|
56
62
|
this._position = observableValue(this, null);
|
|
57
63
|
this.position = this._position;
|
|
58
64
|
this._showStore = this._store.add(( new DisposableStore()));
|
|
@@ -153,7 +159,17 @@ let InlineChatInputWidget = class InlineChatInputWidget extends Disposable {
|
|
|
153
159
|
const totalWidth = contentWidth.read(r) + editorPad + toolbarWidth.read(r);
|
|
154
160
|
const minWidth = 220;
|
|
155
161
|
const maxWidth = 600;
|
|
156
|
-
const
|
|
162
|
+
const midWidth = Math.round(maxWidth / 1.618);
|
|
163
|
+
let clampedWidth;
|
|
164
|
+
if (this._input.getOption(EditorOption.wordWrap) === "on") {
|
|
165
|
+
clampedWidth = maxWidth;
|
|
166
|
+
} else if (totalWidth <= minWidth) {
|
|
167
|
+
clampedWidth = minWidth;
|
|
168
|
+
} else if (totalWidth <= midWidth) {
|
|
169
|
+
clampedWidth = midWidth;
|
|
170
|
+
} else {
|
|
171
|
+
clampedWidth = maxWidth;
|
|
172
|
+
}
|
|
157
173
|
const lineHeight = this._input.getOption(EditorOption.lineHeight);
|
|
158
174
|
const clampedHeight = Math.min(contentHeight.read(r), (3 * lineHeight));
|
|
159
175
|
if (totalWidth > clampedWidth) {
|
|
@@ -202,13 +218,26 @@ let InlineChatInputWidget = class InlineChatInputWidget extends Disposable {
|
|
|
202
218
|
this._store.add(this._input.onDidBlurEditorText(() => inputWidgetFocused.set(false)));
|
|
203
219
|
this._store.add(toDisposable(() => inputWidgetFocused.reset()));
|
|
204
220
|
this._store.add(this._input.onKeyDown(e => {
|
|
205
|
-
if (e.keyCode === KeyCode.
|
|
206
|
-
const model = this._input.getModel();
|
|
221
|
+
if (e.keyCode === KeyCode.UpArrow) {
|
|
207
222
|
const position = this._input.getPosition();
|
|
208
|
-
if (position && position.lineNumber ===
|
|
223
|
+
if (position && position.lineNumber === 1) {
|
|
224
|
+
this._showPreviousHistoryValue();
|
|
209
225
|
e.preventDefault();
|
|
210
226
|
e.stopPropagation();
|
|
211
|
-
|
|
227
|
+
}
|
|
228
|
+
} else if (e.keyCode === KeyCode.DownArrow) {
|
|
229
|
+
const model = this._input.getModel();
|
|
230
|
+
const position = this._input.getPosition();
|
|
231
|
+
if (position && position.lineNumber === model.getLineCount()) {
|
|
232
|
+
if (!this._historyService.isAtEnd()) {
|
|
233
|
+
this._showNextHistoryValue();
|
|
234
|
+
e.preventDefault();
|
|
235
|
+
e.stopPropagation();
|
|
236
|
+
} else if (!actionBar.isEmpty()) {
|
|
237
|
+
e.preventDefault();
|
|
238
|
+
e.stopPropagation();
|
|
239
|
+
actionBar.focus(0);
|
|
240
|
+
}
|
|
212
241
|
}
|
|
213
242
|
}
|
|
214
243
|
}));
|
|
@@ -233,13 +262,35 @@ let InlineChatInputWidget = class InlineChatInputWidget extends Disposable {
|
|
|
233
262
|
get value() {
|
|
234
263
|
return this._input.getModel().getValue().trim();
|
|
235
264
|
}
|
|
236
|
-
|
|
265
|
+
addToHistory(value) {
|
|
266
|
+
this._historyService.addToHistory(value);
|
|
267
|
+
}
|
|
268
|
+
_showPreviousHistoryValue() {
|
|
269
|
+
if (this._historyService.isAtEnd()) {
|
|
270
|
+
this._historyService.replaceLast(this._input.getModel().getValue());
|
|
271
|
+
}
|
|
272
|
+
const value = this._historyService.previousValue();
|
|
273
|
+
if (value !== undefined) {
|
|
274
|
+
this._input.getModel().setValue(value);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
_showNextHistoryValue() {
|
|
278
|
+
if (this._historyService.isAtEnd()) {
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
const value = this._historyService.nextValue();
|
|
282
|
+
if (value !== undefined) {
|
|
283
|
+
this._input.getModel().setValue(value);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
show(lineNumber, left, anchorAbove, placeholder, value) {
|
|
237
287
|
this._showStore.clear();
|
|
288
|
+
this._historyService.resetCursor();
|
|
238
289
|
this._input.updateOptions({
|
|
239
290
|
wordWrap: "off",
|
|
240
291
|
placeholder
|
|
241
292
|
});
|
|
242
|
-
this._input.getModel().setValue("");
|
|
293
|
+
this._input.getModel().setValue(value ?? "");
|
|
243
294
|
this._anchorLineNumber = lineNumber;
|
|
244
295
|
this._anchorLeft = left;
|
|
245
296
|
this._anchorAbove = anchorAbove;
|
|
@@ -265,7 +316,12 @@ let InlineChatInputWidget = class InlineChatInputWidget extends Disposable {
|
|
|
265
316
|
this._updatePosition();
|
|
266
317
|
}
|
|
267
318
|
}));
|
|
268
|
-
setTimeout(() =>
|
|
319
|
+
setTimeout(() => {
|
|
320
|
+
this._input.focus();
|
|
321
|
+
if (value) {
|
|
322
|
+
this._input.setSelection(this._input.getModel().getFullModelRange());
|
|
323
|
+
}
|
|
324
|
+
}, 0);
|
|
269
325
|
}
|
|
270
326
|
_updatePosition() {
|
|
271
327
|
const editor = this._editorObs.editor;
|
|
@@ -304,7 +360,7 @@ let InlineChatInputWidget = class InlineChatInputWidget extends Disposable {
|
|
|
304
360
|
this._showStore.clear();
|
|
305
361
|
}
|
|
306
362
|
};
|
|
307
|
-
InlineChatInputWidget = ( __decorate([( __param(1, IContextKeyService)), ( __param(2, IMenuService)), ( __param(3, IInstantiationService)), ( __param(4, IModelService)), ( __param(5, IConfigurationService))], InlineChatInputWidget));
|
|
363
|
+
InlineChatInputWidget = ( __decorate([( __param(1, IContextKeyService)), ( __param(2, IMenuService)), ( __param(3, IInstantiationService)), ( __param(4, IModelService)), ( __param(5, IConfigurationService)), ( __param(6, IInlineChatHistoryService))], InlineChatInputWidget));
|
|
308
364
|
let InlineChatSessionOverlayWidget = class InlineChatSessionOverlayWidget extends Disposable {
|
|
309
365
|
constructor(_editorObs, _instaService, _keybindingService, _logService) {
|
|
310
366
|
super();
|
|
@@ -320,11 +376,25 @@ let InlineChatSessionOverlayWidget = class InlineChatSessionOverlayWidget extend
|
|
|
320
376
|
this._container = createElement("div");
|
|
321
377
|
this._domNode.appendChild(this._container);
|
|
322
378
|
this._container.classList.add("inline-chat-session-overlay-container");
|
|
379
|
+
this._markdownContainer = createElement("div");
|
|
380
|
+
this._markdownContainer.classList.add("markdown-scroll-container");
|
|
381
|
+
this._markdownMessage = createElement("div");
|
|
382
|
+
this._markdownMessage.classList.add("markdown-message");
|
|
383
|
+
this._markdownContainer.appendChild(this._markdownMessage);
|
|
384
|
+
this._markdownScrollable = this._store.add(( new DomScrollableElement(this._markdownContainer, {
|
|
385
|
+
consumeMouseWheelIfScrollbarIsNeeded: true,
|
|
386
|
+
horizontal: ScrollbarVisibility.Hidden,
|
|
387
|
+
vertical: ScrollbarVisibility.Auto
|
|
388
|
+
})));
|
|
389
|
+
this._container.appendChild(this._markdownScrollable.getDomNode());
|
|
390
|
+
this._contentRow = createElement("div");
|
|
391
|
+
this._contentRow.classList.add("content-row");
|
|
392
|
+
this._container.appendChild(this._contentRow);
|
|
323
393
|
this._statusNode = createElement("div");
|
|
324
394
|
this._statusNode.classList.add("status");
|
|
325
395
|
this._icon = append(this._statusNode, $("span"));
|
|
326
396
|
this._message = append(this._statusNode, $("span.message"));
|
|
327
|
-
this.
|
|
397
|
+
this._contentRow.appendChild(this._statusNode);
|
|
328
398
|
this._toolbarNode = createElement("div");
|
|
329
399
|
this._toolbarNode.classList.add("toolbar");
|
|
330
400
|
const stickyScrollController = StickyScrollController.get(this._editorObs.editor);
|
|
@@ -342,10 +412,17 @@ let InlineChatSessionOverlayWidget = class InlineChatSessionOverlayWidget extend
|
|
|
342
412
|
if (!session || !chatModel) {
|
|
343
413
|
return undefined;
|
|
344
414
|
}
|
|
415
|
+
const terminationState = session.terminationState.read(r);
|
|
416
|
+
if (terminationState) {
|
|
417
|
+
return {
|
|
418
|
+
markdown: terminationState,
|
|
419
|
+
icon: Codicon.info
|
|
420
|
+
};
|
|
421
|
+
}
|
|
345
422
|
const response = chatModel.lastRequestObs.read(r)?.response;
|
|
346
423
|
if (!response) {
|
|
347
424
|
return {
|
|
348
|
-
message: ( localize(
|
|
425
|
+
message: ( localize(9895, "Working...")),
|
|
349
426
|
icon: ThemeIcon.modify(Codicon.loading, "spin")
|
|
350
427
|
};
|
|
351
428
|
}
|
|
@@ -353,20 +430,20 @@ let InlineChatSessionOverlayWidget = class InlineChatSessionOverlayWidget extend
|
|
|
353
430
|
const result = response.result;
|
|
354
431
|
if (result?.errorDetails) {
|
|
355
432
|
return {
|
|
356
|
-
message: ( localize(
|
|
433
|
+
message: ( localize(9896, "Sorry, your request failed")),
|
|
357
434
|
icon: Codicon.error
|
|
358
435
|
};
|
|
359
436
|
}
|
|
360
437
|
const changes = entry.read(r)?.changesCount.read(r) ?? 0;
|
|
361
438
|
return {
|
|
362
|
-
message: changes === 0 ? ( localize(
|
|
439
|
+
message: changes === 0 ? ( localize(9897, "Done")) : changes === 1 ? ( localize(9898, "Done, 1 change")) : ( localize(9899, "Done, {0} changes", changes)),
|
|
363
440
|
icon: Codicon.check
|
|
364
441
|
};
|
|
365
442
|
}
|
|
366
443
|
const pendingConfirmation = response.isPendingConfirmation.read(r);
|
|
367
444
|
if (pendingConfirmation) {
|
|
368
445
|
return {
|
|
369
|
-
message: ( localize(
|
|
446
|
+
message: ( localize(9900, "Sorry, but an expected error happened")),
|
|
370
447
|
icon: Codicon.error
|
|
371
448
|
};
|
|
372
449
|
}
|
|
@@ -385,20 +462,46 @@ let InlineChatSessionOverlayWidget = class InlineChatSessionOverlayWidget extend
|
|
|
385
462
|
};
|
|
386
463
|
} else {
|
|
387
464
|
return {
|
|
388
|
-
message: ( localize(
|
|
465
|
+
message: ( localize(9895, "Working...")),
|
|
389
466
|
icon: ThemeIcon.modify(Codicon.loading, "spin")
|
|
390
467
|
};
|
|
391
468
|
}
|
|
392
469
|
});
|
|
470
|
+
const markdownStore = this._showStore.add(( new DisposableStore()));
|
|
393
471
|
this._showStore.add(autorun(r => {
|
|
394
472
|
const value = requestMessage.read(r);
|
|
395
473
|
if (value) {
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
474
|
+
if (value.message && value.icon) {
|
|
475
|
+
this._message.innerText = renderAsPlaintext(value.message);
|
|
476
|
+
this._icon.className = "";
|
|
477
|
+
this._icon.classList.add(...ThemeIcon.asClassNameArray(value.icon));
|
|
478
|
+
this._statusNode.classList.remove("hidden");
|
|
479
|
+
this._contentRow.classList.remove("status-hidden");
|
|
480
|
+
} else {
|
|
481
|
+
this._message.innerText = "";
|
|
482
|
+
this._icon.className = "";
|
|
483
|
+
this._statusNode.classList.add("hidden");
|
|
484
|
+
this._contentRow.classList.add("status-hidden");
|
|
485
|
+
}
|
|
486
|
+
markdownStore.clear();
|
|
487
|
+
this._markdownMessage.replaceChildren();
|
|
488
|
+
if (value.markdown) {
|
|
489
|
+
this._markdownScrollable.getDomNode().classList.remove("hidden");
|
|
490
|
+
const markdown = typeof value.markdown === "string" ? ( new MarkdownString(value.markdown)) : value.markdown;
|
|
491
|
+
const rendered = markdownStore.add(renderMarkdown(markdown));
|
|
492
|
+
this._markdownMessage.appendChild(rendered.element);
|
|
493
|
+
this._markdownScrollable.scanDomNode();
|
|
494
|
+
} else {
|
|
495
|
+
this._markdownScrollable.getDomNode().classList.add("hidden");
|
|
496
|
+
}
|
|
399
497
|
} else {
|
|
400
498
|
this._message.innerText = "";
|
|
401
499
|
this._icon.className = "";
|
|
500
|
+
this._statusNode.classList.add("hidden");
|
|
501
|
+
this._contentRow.classList.add("status-hidden");
|
|
502
|
+
markdownStore.clear();
|
|
503
|
+
this._markdownMessage.replaceChildren();
|
|
504
|
+
this._markdownScrollable.getDomNode().classList.add("hidden");
|
|
402
505
|
}
|
|
403
506
|
}));
|
|
404
507
|
this._showStore.add(autorun(r => {
|
|
@@ -408,7 +511,7 @@ let InlineChatSessionOverlayWidget = class InlineChatSessionOverlayWidget extend
|
|
|
408
511
|
this._logService.info(`[InlineChat] UNEXPECTED approval needed: ${pending.detail ?? "unknown"}`);
|
|
409
512
|
}
|
|
410
513
|
}));
|
|
411
|
-
this.
|
|
514
|
+
this._contentRow.appendChild(this._toolbarNode);
|
|
412
515
|
this._showStore.add(toDisposable(() => this._toolbarNode.remove()));
|
|
413
516
|
const that = this;
|
|
414
517
|
this._showStore.add(
|
|
@@ -423,7 +526,7 @@ let InlineChatSessionOverlayWidget = class InlineChatSessionOverlayWidget extend
|
|
|
423
526
|
renderShortTitle: true
|
|
424
527
|
},
|
|
425
528
|
actionViewItemProvider: (action, options) => {
|
|
426
|
-
const primaryActions = ["inlineChat2.cancel", "inlineChat2.keep", "inlineChat2.
|
|
529
|
+
const primaryActions = ["inlineChat2.cancel", "inlineChat2.keep", "inlineChat2.rephrase"];
|
|
427
530
|
const labeledActions = primaryActions.concat(["inlineChat2.undo"]);
|
|
428
531
|
if (!labeledActions.includes(action.id)) {
|
|
429
532
|
return undefined;
|
|
@@ -447,8 +550,12 @@ let InlineChatSessionOverlayWidget = class InlineChatSessionOverlayWidget extend
|
|
|
447
550
|
const stickyScrollHeight = this._stickyScrollHeight.read(r);
|
|
448
551
|
const width = widgetWidth.read(r);
|
|
449
552
|
const padding = Math.round(lineHeight.read(r) * 2 / 3);
|
|
450
|
-
const maxWidth = layoutInfo.contentWidth - 2 * padding;
|
|
553
|
+
const maxWidth = Math.min(400, layoutInfo.contentWidth - 2 * padding);
|
|
554
|
+
const maxHeight = Math.min(150, Math.floor(layoutInfo.height / 3));
|
|
451
555
|
this._domNode.style.maxWidth = `${maxWidth}px`;
|
|
556
|
+
this._markdownScrollable.getDomNode().style.maxHeight = `${maxHeight}px`;
|
|
557
|
+
this._markdownContainer.style.maxHeight = `${maxHeight}px`;
|
|
558
|
+
this._markdownScrollable.scanDomNode();
|
|
452
559
|
const top = stickyScrollHeight + padding;
|
|
453
560
|
const left = layoutInfo.width - width - layoutInfo.verticalScrollbarWidth - layoutInfo.minimap.minimapWidth - padding;
|
|
454
561
|
this._position.set({
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
|
|
2
|
+
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
3
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
4
|
+
import { Position } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/position";
|
|
5
|
+
import { Selection } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/selection";
|
|
6
|
+
import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
7
|
+
import { IChatEditingSession } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService";
|
|
8
|
+
import { IChatModel, IChatModelInputState, IChatRequestModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
|
|
9
|
+
export type InlineChatSessionTerminationState = string | IMarkdownString;
|
|
10
|
+
export interface IInlineChatSession2 {
|
|
11
|
+
readonly initialPosition: Position;
|
|
12
|
+
readonly initialSelection: Selection;
|
|
13
|
+
readonly uri: URI;
|
|
14
|
+
readonly chatModel: IChatModel;
|
|
15
|
+
readonly editingSession: IChatEditingSession;
|
|
16
|
+
readonly terminationState: IObservable<InlineChatSessionTerminationState | undefined>;
|
|
17
|
+
setTerminationState(state: InlineChatSessionTerminationState | undefined): void;
|
|
18
|
+
dispose(): void;
|
|
19
|
+
}
|
|
20
|
+
export declare function moveToPanelChat(accessor: ServicesAccessor, model: IChatModel | undefined, resend: boolean): Promise<void>;
|
|
21
|
+
export declare function askInPanelChat(accessor: ServicesAccessor, request: IChatRequestModel, state: IChatModelInputState | undefined): Promise<void>;
|
|
22
|
+
export declare function continueInPanelChat(accessor: ServicesAccessor, session: IInlineChatSession2): Promise<void>;
|
|
23
|
+
export declare function rephraseInlineChat(accessor: ServicesAccessor, session: IInlineChatSession2): string | undefined;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
|
|
2
|
+
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
3
|
+
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
4
|
+
import { ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
5
|
+
|
|
6
|
+
async function askInPanelChat(accessor, request, state) {
|
|
7
|
+
const widgetService = accessor.get(IChatWidgetService);
|
|
8
|
+
const chatService = accessor.get(IChatService);
|
|
9
|
+
if (!request) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const newModelRef = chatService.startNewLocalSession(ChatAgentLocation.Chat);
|
|
13
|
+
const newModel = newModelRef.object;
|
|
14
|
+
newModel.inputModel.setState({
|
|
15
|
+
...state,
|
|
16
|
+
mode: { id: 'agent', kind: ChatModeKind.Agent }
|
|
17
|
+
});
|
|
18
|
+
const widget = await widgetService.openSession(newModelRef.object.sessionResource);
|
|
19
|
+
newModelRef.dispose();
|
|
20
|
+
widget?.acceptInput(request.message.text);
|
|
21
|
+
}
|
|
22
|
+
async function continueInPanelChat(accessor, session) {
|
|
23
|
+
const request = session.chatModel.getRequests().at(-1);
|
|
24
|
+
if (!request) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
await askInPanelChat(accessor, request, session.chatModel.inputModel.state.get());
|
|
28
|
+
session.dispose();
|
|
29
|
+
}
|
|
30
|
+
function rephraseInlineChat(accessor, session) {
|
|
31
|
+
const request = session.chatModel.getRequests().at(-1);
|
|
32
|
+
if (!request) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
accessor.get(IChatService).removeRequest(session.chatModel.sessionResource, request.id);
|
|
36
|
+
session.chatModel.inputModel.setState({ inputText: request.message.text });
|
|
37
|
+
session.setTerminationState(undefined);
|
|
38
|
+
return request.message.text;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { askInPanelChat, continueInPanelChat, rephraseInlineChat };
|
|
@@ -248,7 +248,7 @@ let InlineChatWidget = class InlineChatWidget {
|
|
|
248
248
|
);
|
|
249
249
|
this._store.add(this._chatService.onDidPerformUserAction(e => {
|
|
250
250
|
if (isEqual(e.sessionResource, this._chatWidget.viewModel?.model.sessionResource) && e.action.kind === "vote") {
|
|
251
|
-
this.updateStatus(( localize(
|
|
251
|
+
this.updateStatus(( localize(9912, "Thank you for your feedback!")), {
|
|
252
252
|
resetAfter: 1250
|
|
253
253
|
});
|
|
254
254
|
}
|
|
@@ -261,11 +261,11 @@ let InlineChatWidget = class InlineChatWidget {
|
|
|
261
261
|
if (this._configurationService.getValue(AccessibilityVerbositySettingId.InlineChat)) {
|
|
262
262
|
const kbLabel = this._keybindingService.lookupKeybinding(AccessibilityCommandId.OpenAccessibilityHelp)?.getLabel();
|
|
263
263
|
label = kbLabel ? ( localize(
|
|
264
|
-
|
|
264
|
+
9913,
|
|
265
265
|
"Inline Chat Input, Use {0} for Inline Chat Accessibility Help.",
|
|
266
266
|
kbLabel
|
|
267
267
|
)) : ( localize(
|
|
268
|
-
|
|
268
|
+
9914,
|
|
269
269
|
"Inline Chat Input, Run the Inline Chat Accessibility Help command for more information."
|
|
270
270
|
));
|
|
271
271
|
}
|
|
@@ -286,7 +286,7 @@ let InlineChatWidget = class InlineChatWidget {
|
|
|
286
286
|
this._elements.disclaimerLabel.classList.toggle("hidden", !showDisclaimer);
|
|
287
287
|
if (showDisclaimer) {
|
|
288
288
|
const renderedMarkdown = disposables.add(this._markdownRendererService.render(( new MarkdownString(( localize(
|
|
289
|
-
|
|
289
|
+
9915,
|
|
290
290
|
"By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
|
|
291
291
|
product.defaultChatAgent?.provider?.default?.name ?? "",
|
|
292
292
|
product.defaultChatAgent?.provider?.default?.name ?? "",
|
|
@@ -495,7 +495,7 @@ let InlineChatWidget = class InlineChatWidget {
|
|
|
495
495
|
}
|
|
496
496
|
};
|
|
497
497
|
InlineChatWidget = ( __decorate([( __param(2, IInstantiationService)), ( __param(3, IContextKeyService)), ( __param(4, IKeybindingService)), ( __param(5, IAccessibilityService)), ( __param(6, IConfigurationService)), ( __param(7, IAccessibleViewService)), ( __param(8, ITextModelService)), ( __param(9, IChatService)), ( __param(10, IHoverService)), ( __param(11, IChatEntitlementService)), ( __param(12, IMarkdownRendererService))], InlineChatWidget));
|
|
498
|
-
const defaultAriaLabel = ( localize(
|
|
498
|
+
const defaultAriaLabel = ( localize(9916, "Inline Chat Input"));
|
|
499
499
|
let EditorBasedInlineChatWidget = class EditorBasedInlineChatWidget extends InlineChatWidget {
|
|
500
500
|
constructor(
|
|
501
501
|
location,
|
|
@@ -240,7 +240,7 @@ let InlineChatZoneWidget = class InlineChatZoneWidget extends ZoneWidget {
|
|
|
240
240
|
this._ctxCursorPosition.reset();
|
|
241
241
|
this.widget.chatWidget.setVisible(false);
|
|
242
242
|
super.hide();
|
|
243
|
-
status(( localize(
|
|
243
|
+
status(( localize(9917, "Closed inline chat widget")));
|
|
244
244
|
scrollState.restore(this.editor);
|
|
245
245
|
}
|
|
246
246
|
};
|
package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css
CHANGED
|
@@ -98,29 +98,81 @@
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
.inline-chat-session-overlay-container {
|
|
101
|
-
padding:
|
|
101
|
+
padding: 4px;
|
|
102
102
|
color: var(--vscode-foreground);
|
|
103
103
|
background-color: var(--vscode-editorWidget-background);
|
|
104
104
|
border-radius: 6px;
|
|
105
105
|
border: 1px solid var(--vscode-contrastBorder);
|
|
106
106
|
display: flex;
|
|
107
|
-
|
|
107
|
+
flex-direction: column;
|
|
108
|
+
align-items: stretch;
|
|
108
109
|
justify-content: center;
|
|
109
|
-
gap:
|
|
110
|
+
gap: 8px;
|
|
110
111
|
z-index: 10;
|
|
111
112
|
box-shadow: var(--vscode-shadow-lg);
|
|
112
113
|
overflow: hidden;
|
|
113
114
|
}
|
|
114
115
|
|
|
116
|
+
.inline-chat-session-overlay-container .markdown-message {
|
|
117
|
+
padding: 5px;
|
|
118
|
+
font-size: 12px;
|
|
119
|
+
line-height: 1.45;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.inline-chat-session-overlay-container > .monaco-scrollable-element {
|
|
123
|
+
width: 100%;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.inline-chat-session-overlay-container > .monaco-scrollable-element.hidden {
|
|
127
|
+
display: none;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.inline-chat-session-overlay-container .markdown-scroll-container {
|
|
131
|
+
width: 100%;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.inline-chat-session-overlay-container .markdown-message DIV P {
|
|
135
|
+
margin: 0;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.inline-chat-session-overlay-container .markdown-message DIV P code {
|
|
139
|
+
font-family: var(--monaco-monospace-font);
|
|
140
|
+
font-size: var(--vscode-chat-font-size-body-xs);
|
|
141
|
+
color: var(--vscode-textPreformat-foreground);
|
|
142
|
+
background-color: var(--vscode-textPreformat-background);
|
|
143
|
+
padding: 1px 3px;
|
|
144
|
+
border-radius: 4px;
|
|
145
|
+
border: 1px solid var(--vscode-textPreformat-border);
|
|
146
|
+
white-space: pre-wrap;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
.inline-chat-session-overlay-container .content-row {
|
|
151
|
+
display: flex;
|
|
152
|
+
align-items: center;
|
|
153
|
+
justify-content: space-between;
|
|
154
|
+
gap: 4px;
|
|
155
|
+
min-width: 0;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.inline-chat-session-overlay-container .content-row.status-hidden {
|
|
159
|
+
justify-content: flex-end;
|
|
160
|
+
}
|
|
161
|
+
|
|
115
162
|
.inline-chat-session-overlay-container .status {
|
|
116
163
|
align-items: center;
|
|
117
164
|
display: inline-flex;
|
|
165
|
+
flex: 1;
|
|
118
166
|
padding: 5px 0 5px 5px;
|
|
119
167
|
font-size: 12px;
|
|
120
168
|
overflow: hidden;
|
|
121
169
|
gap: 6px;
|
|
122
170
|
}
|
|
123
171
|
|
|
172
|
+
.inline-chat-session-overlay-container .status.hidden {
|
|
173
|
+
display: none;
|
|
174
|
+
}
|
|
175
|
+
|
|
124
176
|
.inline-chat-session-overlay-container .status .message {
|
|
125
177
|
white-space: nowrap;
|
|
126
178
|
overflow: hidden;
|
|
@@ -8,7 +8,8 @@ export declare enum InlineChatConfigKeys {
|
|
|
8
8
|
DefaultModel = "inlineChat.defaultModel",
|
|
9
9
|
Affordance = "inlineChat.affordance",
|
|
10
10
|
RenderMode = "inlineChat.renderMode",
|
|
11
|
-
FixDiagnostics = "inlineChat.fixDiagnostics"
|
|
11
|
+
FixDiagnostics = "inlineChat.fixDiagnostics",
|
|
12
|
+
AskInChat = "inlineChat.askInChat"
|
|
12
13
|
}
|
|
13
14
|
export declare const INLINE_CHAT_ID = "interactiveEditor";
|
|
14
15
|
export declare const INTERACTIVE_EDITOR_ACCESSIBILITY_HELP_ID = "interactiveEditorAccessiblityHelp";
|
|
@@ -38,11 +39,13 @@ export declare const CTX_INLINE_CHAT_REQUEST_IN_PROGRESS: RawContextKey<boolean>
|
|
|
38
39
|
export declare const CTX_INLINE_CHAT_RESPONSE_TYPE: RawContextKey<InlineChatResponseType>;
|
|
39
40
|
export declare const CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT: RawContextKey<boolean>;
|
|
40
41
|
export declare const CTX_INLINE_CHAT_PENDING_CONFIRMATION: RawContextKey<boolean>;
|
|
42
|
+
export declare const CTX_INLINE_CHAT_TERMINATED: RawContextKey<boolean>;
|
|
41
43
|
export declare const CTX_INLINE_CHAT_AFFORDANCE_VISIBLE: RawContextKey<boolean>;
|
|
42
44
|
export declare const CTX_INLINE_CHAT_V1_ENABLED: import("@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey").ContextKeyExpression | undefined;
|
|
43
45
|
export declare const CTX_INLINE_CHAT_V2_ENABLED: import("@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey").ContextKeyExpression | undefined;
|
|
44
46
|
export declare const CTX_HOVER_MODE: import("@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey").ContextKeyExpression;
|
|
45
47
|
export declare const CTX_FIX_DIAGNOSTICS_ENABLED: import("@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey").ContextKeyExpression;
|
|
48
|
+
export declare const CTX_ASK_IN_CHAT_ENABLED: import("@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey").ContextKeyExpression;
|
|
46
49
|
export declare const ACTION_START = "inlineChat.start";
|
|
47
50
|
export declare const ACTION_ASK_IN_CHAT = "inlineChat.askInChat";
|
|
48
51
|
export declare const ACTION_ACCEPT_CHANGES = "inlineChat.acceptChanges";
|