@codingame/monaco-vscode-katex-common 26.2.1 → 27.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/actionWidget/browser/actionWidgetDropdown.d.ts +10 -4
- package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +35 -11
- package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +3 -0
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +15 -4
- package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +548 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +168 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +67 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +42 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +63 -40
- 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 +7 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +77 -73
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +69 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +381 -83
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +28 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +38 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +109 -113
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +16 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +28 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +226 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -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/chatAttachmentsContentPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +9 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +7 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +22 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +11 -3
- 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/chatDiffBlockPart.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +0 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +6 -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.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +52 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -7
- 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.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +20 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +36 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +166 -45
- 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 +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +16 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +14 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +98 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +1 -0
- 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 +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +244 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +29 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +252 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +39 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +36 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +5 -5
- 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.d.ts +5 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +42 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +12 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +48 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +9 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +351 -422
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +14 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +102 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +69 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/codeBlockPart.css +48 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +47 -23
- 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 +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +0 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +103 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +63 -69
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +7 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +41 -2
- 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.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +17 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +310 -79
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +13 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +441 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +24 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +392 -86
- 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 +52 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +271 -187
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +68 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +668 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +57 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +2 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +78 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +86 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +9 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +393 -134
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +36 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +20 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +25 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +141 -79
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +18 -13
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +108 -27
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +20 -14
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +4 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +74 -32
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +11 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +68 -27
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +125 -13
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +8 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +54 -45
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +11 -10
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +172 -112
- 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/inlineChat.css +0 -42
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +27 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +83 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +58 -33
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +1 -548
- 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/input/modelPickerActionItem.js +0 -187
- /package/vscode/src/vs/{workbench/contrib → platform}/mcp/common/modelContextProtocolApps.js +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { ProgressBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/progressbar/progressbar';
|
|
4
|
+
import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
|
|
5
|
+
import { toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
7
|
+
import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
|
|
8
|
+
import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
|
|
9
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
10
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
11
|
+
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
12
|
+
import { IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
13
|
+
import { ChatCollapsibleInputOutputContentPart } from '../chatToolInputOutputContentPart.js';
|
|
14
|
+
import { BaseChatToolInvocationSubPart } from './chatToolInvocationSubPart.js';
|
|
15
|
+
import { getToolApprovalMessage } from './chatToolPartUtilities.js';
|
|
16
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
17
|
+
|
|
18
|
+
var ChatSimpleToolProgressPart_1;
|
|
19
|
+
let ChatSimpleToolProgressPart = class ChatSimpleToolProgressPart extends BaseChatToolInvocationSubPart {
|
|
20
|
+
static {
|
|
21
|
+
ChatSimpleToolProgressPart_1 = this;
|
|
22
|
+
}
|
|
23
|
+
static {
|
|
24
|
+
this._expandedByDefault = ( new WeakMap());
|
|
25
|
+
}
|
|
26
|
+
get codeblocks() {
|
|
27
|
+
return this.collapsibleListPart.codeblocks;
|
|
28
|
+
}
|
|
29
|
+
constructor(
|
|
30
|
+
toolInvocation,
|
|
31
|
+
context,
|
|
32
|
+
codeBlockStartIndex,
|
|
33
|
+
message,
|
|
34
|
+
subtitle,
|
|
35
|
+
data,
|
|
36
|
+
isError,
|
|
37
|
+
instantiationService,
|
|
38
|
+
modelService,
|
|
39
|
+
languageService,
|
|
40
|
+
configurationService
|
|
41
|
+
) {
|
|
42
|
+
super(toolInvocation);
|
|
43
|
+
let codeBlockIndex = codeBlockStartIndex;
|
|
44
|
+
const createIOPart = (content, label) => {
|
|
45
|
+
return {
|
|
46
|
+
kind: "code",
|
|
47
|
+
data: content,
|
|
48
|
+
languageId: "plaintext",
|
|
49
|
+
codeBlockIndex: codeBlockIndex++,
|
|
50
|
+
ownerMarkdownPartId: this.codeblocksPartId,
|
|
51
|
+
options: {
|
|
52
|
+
hideToolbar: true,
|
|
53
|
+
reserveWidth: 19,
|
|
54
|
+
maxHeightInLines: 13,
|
|
55
|
+
verticalPadding: 5,
|
|
56
|
+
editorOptions: {
|
|
57
|
+
wordWrap: "on"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
const inputPart = createIOPart(data.input);
|
|
63
|
+
const outputParts = data.output ? [createIOPart(data.output)] : undefined;
|
|
64
|
+
const collapsibleListPart = this.collapsibleListPart = this._register(instantiationService.createInstance(
|
|
65
|
+
ChatCollapsibleInputOutputContentPart,
|
|
66
|
+
message,
|
|
67
|
+
subtitle,
|
|
68
|
+
this.getAutoApprovalMessageContent(),
|
|
69
|
+
context,
|
|
70
|
+
inputPart,
|
|
71
|
+
outputParts ? {
|
|
72
|
+
parts: outputParts
|
|
73
|
+
} : undefined,
|
|
74
|
+
isError,
|
|
75
|
+
(isError && configurationService.getValue(ChatConfiguration.AutoExpandToolFailures)) || (ChatSimpleToolProgressPart_1._expandedByDefault.get(toolInvocation) ?? false)
|
|
76
|
+
));
|
|
77
|
+
this._register(toDisposable(
|
|
78
|
+
() => ChatSimpleToolProgressPart_1._expandedByDefault.set(toolInvocation, collapsibleListPart.expanded)
|
|
79
|
+
));
|
|
80
|
+
const progressObservable = toolInvocation.kind === "toolInvocation" ? ( toolInvocation.state.map(
|
|
81
|
+
(s, r) => s.type === IChatToolInvocation.StateKind.Executing ? s.progress.read(r) : undefined
|
|
82
|
+
)) : undefined;
|
|
83
|
+
const progressBar = ( new Lazy(() => this._register(( new ProgressBar(collapsibleListPart.domNode)))));
|
|
84
|
+
if (progressObservable) {
|
|
85
|
+
this._register(autorun(reader => {
|
|
86
|
+
const progress = progressObservable?.read(reader);
|
|
87
|
+
if (progress?.message) {
|
|
88
|
+
collapsibleListPart.title = progress.message;
|
|
89
|
+
}
|
|
90
|
+
if (progress?.progress && !IChatToolInvocation.isComplete(toolInvocation, reader)) {
|
|
91
|
+
progressBar.value.setWorked(progress.progress * 100);
|
|
92
|
+
}
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
this.domNode = collapsibleListPart.domNode;
|
|
96
|
+
}
|
|
97
|
+
getAutoApprovalMessageContent() {
|
|
98
|
+
return getToolApprovalMessage(this.toolInvocation);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
ChatSimpleToolProgressPart = ChatSimpleToolProgressPart_1 = ( __decorate([( __param(7, IInstantiationService)), ( __param(8, IModelService)), ( __param(9, ILanguageService)), ( __param(10, IConfigurationService))], ChatSimpleToolProgressPart));
|
|
102
|
+
|
|
103
|
+
export { ChatSimpleToolProgressPart };
|
|
@@ -113,7 +113,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
113
113
|
moreActions = [];
|
|
114
114
|
if (!autoApproveWarningAccepted) {
|
|
115
115
|
moreActions.push({
|
|
116
|
-
label: ( localize(
|
|
116
|
+
label: ( localize(6568, "Enable Auto Approve...")),
|
|
117
117
|
data: {
|
|
118
118
|
type: "enable"
|
|
119
119
|
}
|
|
@@ -175,9 +175,6 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
175
175
|
uriPromise: Promise.resolve(model.uri),
|
|
176
176
|
chatSessionResource: this.context.element.sessionResource
|
|
177
177
|
});
|
|
178
|
-
this._register(editor.object.onDidChangeContentHeight(() => {
|
|
179
|
-
editor.object.layout(this.currentWidthDelegate());
|
|
180
|
-
}));
|
|
181
178
|
this._register(model.onDidChangeContent(e => {
|
|
182
179
|
const currentValue = model.getValue();
|
|
183
180
|
if (currentValue !== initialContent) {
|
|
@@ -322,7 +319,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
322
319
|
}
|
|
323
320
|
const target = scope === "workspace" ? ConfigurationTarget.WORKSPACE : ConfigurationTarget.USER;
|
|
324
321
|
const settingsUri = createCommandUri(TerminalContribCommandId.OpenTerminalSettingsLink, target);
|
|
325
|
-
return `[\`${e.key}\`](${( settingsUri.toString())} "${( localize(
|
|
322
|
+
return `[\`${e.key}\`](${( settingsUri.toString())} "${( localize(6569, "View rule in settings"))}")`;
|
|
326
323
|
})).join(", ");
|
|
327
324
|
}
|
|
328
325
|
const mdTrustSettings = {
|
|
@@ -333,33 +330,33 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
333
330
|
const parts = [];
|
|
334
331
|
if (sessionRules.length > 0) {
|
|
335
332
|
parts.push(sessionRules.length === 1 ? ( localize(
|
|
336
|
-
|
|
333
|
+
6570,
|
|
337
334
|
"Session auto approve rule {0} added",
|
|
338
335
|
formatRuleLinks(sessionRules, "session")
|
|
339
336
|
)) : ( localize(
|
|
340
|
-
|
|
337
|
+
6571,
|
|
341
338
|
"Session auto approve rules {0} added",
|
|
342
339
|
formatRuleLinks(sessionRules, "session")
|
|
343
340
|
)));
|
|
344
341
|
}
|
|
345
342
|
if (workspaceRules.length > 0) {
|
|
346
343
|
parts.push(workspaceRules.length === 1 ? ( localize(
|
|
347
|
-
|
|
344
|
+
6572,
|
|
348
345
|
"Workspace auto approve rule {0} added",
|
|
349
346
|
formatRuleLinks(workspaceRules, "workspace")
|
|
350
347
|
)) : ( localize(
|
|
351
|
-
|
|
348
|
+
6573,
|
|
352
349
|
"Workspace auto approve rules {0} added",
|
|
353
350
|
formatRuleLinks(workspaceRules, "workspace")
|
|
354
351
|
)));
|
|
355
352
|
}
|
|
356
353
|
if (userRules.length > 0) {
|
|
357
354
|
parts.push(userRules.length === 1 ? ( localize(
|
|
358
|
-
|
|
355
|
+
6574,
|
|
359
356
|
"User auto approve rule {0} added",
|
|
360
357
|
formatRuleLinks(userRules, "user")
|
|
361
358
|
)) : ( localize(
|
|
362
|
-
|
|
359
|
+
6575,
|
|
363
360
|
"User auto approve rules {0} added",
|
|
364
361
|
formatRuleLinks(userRules, "user")
|
|
365
362
|
)));
|
|
@@ -389,7 +386,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
389
386
|
enabledCommands: [TerminalContribCommandId.DisableSessionAutoApproval]
|
|
390
387
|
}
|
|
391
388
|
};
|
|
392
|
-
terminalData.autoApproveInfo = ( new MarkdownString(`${( localize(
|
|
389
|
+
terminalData.autoApproveInfo = ( new MarkdownString(`${( localize(6576, "All commands will be auto approved for this session"))} ([${( localize(6577, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings));
|
|
393
390
|
toolConfirmKind = ToolConfirmKind.UserAction;
|
|
394
391
|
break;
|
|
395
392
|
}
|
|
@@ -413,11 +410,11 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
413
410
|
};
|
|
414
411
|
};
|
|
415
412
|
return [{
|
|
416
|
-
...getLabelAndTooltip(( localize(
|
|
413
|
+
...getLabelAndTooltip(( localize(6578, "Allow")), AcceptToolConfirmationActionId),
|
|
417
414
|
data: true,
|
|
418
415
|
moreActions
|
|
419
416
|
}, {
|
|
420
|
-
...getLabelAndTooltip(( localize(
|
|
417
|
+
...getLabelAndTooltip(( localize(6579, "Skip")), SkipToolConfirmationActionId, ( localize(6580, "Proceed without executing this command"))),
|
|
421
418
|
data: {
|
|
422
419
|
type: "skip"
|
|
423
420
|
},
|
|
@@ -427,9 +424,9 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
427
424
|
async _showAutoApproveWarning() {
|
|
428
425
|
const promptResult = await this.dialogService.prompt({
|
|
429
426
|
type: Severity.Info,
|
|
430
|
-
message: ( localize(
|
|
427
|
+
message: ( localize(6581, "Enable terminal auto approve?")),
|
|
431
428
|
buttons: [{
|
|
432
|
-
label: ( localize(
|
|
429
|
+
label: ( localize(6582, "Enable")),
|
|
433
430
|
run: () => true
|
|
434
431
|
}],
|
|
435
432
|
cancelButton: true,
|
|
@@ -437,11 +434,11 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
437
434
|
icon: Codicon.shield,
|
|
438
435
|
markdownDetails: [{
|
|
439
436
|
markdown: ( new MarkdownString(( localize(
|
|
440
|
-
|
|
437
|
+
6583,
|
|
441
438
|
"This will enable a configurable subset of commands to run in the terminal autonomously. It provides *best effort protections* and assumes the agent is not acting maliciously."
|
|
442
439
|
))))
|
|
443
440
|
}, {
|
|
444
|
-
markdown: ( new MarkdownString(`[${( localize(
|
|
441
|
+
markdown: ( new MarkdownString(`[${( localize(6584, "Learn more about the potential risks and how to avoid them."))}](https://code.visualstudio.com/docs/copilot/security#_security-considerations)`))
|
|
445
442
|
}]
|
|
446
443
|
}
|
|
447
444
|
});
|
|
@@ -49,6 +49,7 @@ export declare class ChatTerminalToolProgressPart extends BaseChatToolInvocation
|
|
|
49
49
|
private readonly _decoration;
|
|
50
50
|
private _userToggledOutput;
|
|
51
51
|
private _isInThinkingContainer;
|
|
52
|
+
private _usesCollapsibleWrapper;
|
|
52
53
|
private _thinkingCollapsibleWrapper;
|
|
53
54
|
private markdownPart;
|
|
54
55
|
get codeblocks(): IChatCodeBlockInfo[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { registerCss } from '@codingame/monaco-vscode-api/css';
|
|
3
3
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
4
|
-
import { h, addDisposableListener, EventType, clearNode, getActiveWindow, getComputedStyle, createTextNode, createElement, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
|
+
import { h, addDisposableListener, EventType, DisposableResizeObserver, clearNode, getActiveWindow, getComputedStyle, createTextNode, createElement, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
5
|
import { ActionBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionbar';
|
|
6
6
|
import { MarkdownString, isMarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
7
7
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
@@ -22,6 +22,7 @@ import { timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/asyn
|
|
|
22
22
|
import { ITerminalChatService, ITerminalService, ITerminalConfigurationService, ITerminalEditorService, ITerminalGroupService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
|
|
23
23
|
import { Disposable, MutableDisposable, toDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
24
24
|
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
25
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
25
26
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
26
27
|
import { getTerminalCommandDecorationTooltip, getTerminalCommandDecorationState, DecorationSelector } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/xterm/decorationStyles';
|
|
27
28
|
import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
|
|
@@ -33,7 +34,7 @@ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
|
33
34
|
import { stripIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iconLabels';
|
|
34
35
|
import { IAccessibleViewService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView.service';
|
|
35
36
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
36
|
-
import { AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
37
|
+
import { AccessibilityWorkbenchSettingId, AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
37
38
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
38
39
|
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
39
40
|
import { DetachedTerminalCommandMirror, DetachedTerminalSnapshotMirror } from '../../../../../terminal/browser/chatTerminalCommandMirror.js';
|
|
@@ -56,6 +57,7 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/misc
|
|
|
56
57
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
57
58
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
|
|
58
59
|
import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
|
|
60
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
59
61
|
|
|
60
62
|
registerCss(chatTerminalToolProgressPart);
|
|
61
63
|
const MIN_OUTPUT_ROWS = 1;
|
|
@@ -194,6 +196,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
194
196
|
this._continueInBackgroundAction = this._register(( new MutableDisposable()));
|
|
195
197
|
this._userToggledOutput = false;
|
|
196
198
|
this._isInThinkingContainer = false;
|
|
199
|
+
this._usesCollapsibleWrapper = false;
|
|
197
200
|
this._elementIndex = context.elementIndex;
|
|
198
201
|
this._contentIndex = context.contentIndex;
|
|
199
202
|
this._sessionResource = context.element.sessionResource;
|
|
@@ -274,7 +277,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
274
277
|
const markdownOptions = {
|
|
275
278
|
codeBlockRenderOptions,
|
|
276
279
|
accessibilityOptions: pastTenseMessage ? {
|
|
277
|
-
statusMessage: ( localize(
|
|
280
|
+
statusMessage: ( localize(6585, "{0}", stripIcons(pastTenseMessage)))
|
|
278
281
|
} : undefined
|
|
279
282
|
};
|
|
280
283
|
this.markdownPart = this._register(_instantiationService.createInstance(
|
|
@@ -299,12 +302,24 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
299
302
|
));
|
|
300
303
|
this._decoration.update();
|
|
301
304
|
const terminalToolsInThinking = this._configurationService.getValue(ChatConfiguration.TerminalToolsInThinking);
|
|
305
|
+
const isSimpleTerminal = this._configurationService.getValue(ChatConfiguration.SimpleTerminalCollapsible);
|
|
302
306
|
const requiresConfirmation = toolInvocation.kind === "toolInvocation" && IChatToolInvocation.getConfirmationMessages(toolInvocation);
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
307
|
+
this._isInThinkingContainer = terminalToolsInThinking && !requiresConfirmation;
|
|
308
|
+
this._usesCollapsibleWrapper = this._isInThinkingContainer || isSimpleTerminal;
|
|
309
|
+
if (this._usesCollapsibleWrapper) {
|
|
310
|
+
this.domNode = this._createCollapsibleWrapper(progressPart.domNode, displayCommand, toolInvocation, context);
|
|
306
311
|
} else {
|
|
307
312
|
this.domNode = progressPart.domNode;
|
|
313
|
+
const updateCheckmarks = () => this.domNode.classList.toggle(
|
|
314
|
+
"show-checkmarks",
|
|
315
|
+
!!this._configurationService.getValue(AccessibilityWorkbenchSettingId.ShowChatCheckmarks)
|
|
316
|
+
);
|
|
317
|
+
updateCheckmarks();
|
|
318
|
+
this._register(this._configurationService.onDidChangeConfiguration(e => {
|
|
319
|
+
if (e.affectsConfiguration(AccessibilityWorkbenchSettingId.ShowChatCheckmarks)) {
|
|
320
|
+
updateCheckmarks();
|
|
321
|
+
}
|
|
322
|
+
}));
|
|
308
323
|
}
|
|
309
324
|
const hasStoredOutput = !!terminalData.terminalCommandOutput;
|
|
310
325
|
if (expandedStateByInvocation.get(toolInvocation) || (this._isInThinkingContainer && IChatToolInvocation.isComplete(toolInvocation) && hasStoredOutput)) {
|
|
@@ -328,6 +343,15 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
328
343
|
isComplete
|
|
329
344
|
));
|
|
330
345
|
this._thinkingCollapsibleWrapper = wrapper;
|
|
346
|
+
let isFirstRun = true;
|
|
347
|
+
this._register(autorun(r => {
|
|
348
|
+
const expanded = wrapper.expanded.read(r);
|
|
349
|
+
if (isFirstRun) {
|
|
350
|
+
isFirstRun = false;
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
this._toggleOutput(expanded);
|
|
354
|
+
}));
|
|
331
355
|
return wrapper.domNode;
|
|
332
356
|
}
|
|
333
357
|
expandCollapsibleWrapper() {
|
|
@@ -441,7 +465,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
441
465
|
if (this._store.isDisposed) {
|
|
442
466
|
return;
|
|
443
467
|
}
|
|
444
|
-
if (this.
|
|
468
|
+
if (this._usesCollapsibleWrapper) {
|
|
445
469
|
return;
|
|
446
470
|
}
|
|
447
471
|
const resolvedCommand = command ?? this._getResolvedCommand();
|
|
@@ -532,7 +556,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
532
556
|
hasRealOutput
|
|
533
557
|
})));
|
|
534
558
|
store.add(autoExpand.onDidRequestExpand(() => {
|
|
535
|
-
if (this.
|
|
559
|
+
if (this._usesCollapsibleWrapper) {
|
|
536
560
|
this.expandCollapsibleWrapper();
|
|
537
561
|
}
|
|
538
562
|
this._toggleOutput(true);
|
|
@@ -790,9 +814,8 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
790
814
|
EventType.FOCUS_OUT,
|
|
791
815
|
event => this._onDidBlurEmitter.fire(event)
|
|
792
816
|
));
|
|
793
|
-
const resizeObserver = (
|
|
817
|
+
const resizeObserver = this._register(new DisposableResizeObserver(() => this._handleResize()));
|
|
794
818
|
resizeObserver.observe(this.domNode);
|
|
795
|
-
this._register(toDisposable(() => resizeObserver.disconnect()));
|
|
796
819
|
this._applyBackgroundColor();
|
|
797
820
|
this._register(
|
|
798
821
|
this._themeService.onDidColorThemeChange(() => this._applyBackgroundColor())
|
|
@@ -836,7 +859,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
836
859
|
if (!commandText) {
|
|
837
860
|
return;
|
|
838
861
|
}
|
|
839
|
-
const ariaLabel = ( localize(
|
|
862
|
+
const ariaLabel = ( localize(6586, "Terminal output for {0}", commandText));
|
|
840
863
|
const scrollableDomNode = this._scrollableContainer.getDomNode();
|
|
841
864
|
scrollableDomNode.setAttribute("role", "region");
|
|
842
865
|
const accessibleViewHint = this._accessibleViewService.getOpenAriaHint(AccessibilityVerbositySettingId.TerminalChatOutput);
|
|
@@ -849,26 +872,26 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
849
872
|
if (!commandText) {
|
|
850
873
|
return undefined;
|
|
851
874
|
}
|
|
852
|
-
const commandHeader = ( localize(
|
|
875
|
+
const commandHeader = ( localize(6587, "Command: {0}", commandText));
|
|
853
876
|
if (command) {
|
|
854
877
|
const rawOutput = command.getOutput();
|
|
855
878
|
if (!rawOutput || rawOutput.trim().length === 0) {
|
|
856
|
-
return `${commandHeader}\n${( localize(
|
|
879
|
+
return `${commandHeader}\n${( localize(6588, "No output was produced by the command."))}`;
|
|
857
880
|
}
|
|
858
881
|
const lines = rawOutput.split("\n");
|
|
859
882
|
return `${commandHeader}\n${lines.join("\n").trimEnd()}`;
|
|
860
883
|
}
|
|
861
884
|
const snapshot = this._getTerminalCommandOutput();
|
|
862
885
|
if (!snapshot) {
|
|
863
|
-
return `${commandHeader}\n${( localize(
|
|
886
|
+
return `${commandHeader}\n${( localize(6589, "Command output is no longer available."))}`;
|
|
864
887
|
}
|
|
865
888
|
const plain = removeAnsiEscapeCodes((snapshot.text ?? ""));
|
|
866
889
|
if (!plain.trim().length) {
|
|
867
|
-
return `${commandHeader}\n${( localize(
|
|
890
|
+
return `${commandHeader}\n${( localize(6588, "No output was produced by the command."))}`;
|
|
868
891
|
}
|
|
869
892
|
let outputText = plain.trimEnd();
|
|
870
893
|
if (snapshot.truncated) {
|
|
871
|
-
outputText += `\n${( localize(
|
|
894
|
+
outputText += `\n${( localize(6590, "Output truncated."))}`;
|
|
872
895
|
}
|
|
873
896
|
return `${commandHeader}\n${outputText}`;
|
|
874
897
|
}
|
|
@@ -947,7 +970,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
947
970
|
if (result.lineCount && result.lineCount > 0) {
|
|
948
971
|
this._hideEmptyMessage();
|
|
949
972
|
}
|
|
950
|
-
this._layoutOutput(result.lineCount
|
|
973
|
+
this._layoutOutput(result.lineCount);
|
|
951
974
|
if (this._isAtBottom) {
|
|
952
975
|
this._scrollOutputToBottom();
|
|
953
976
|
}
|
|
@@ -978,17 +1001,17 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
978
1001
|
}
|
|
979
1002
|
if (!hasOutput) {
|
|
980
1003
|
if (commandFinished) {
|
|
981
|
-
this._showEmptyMessage(( localize(
|
|
1004
|
+
this._showEmptyMessage(( localize(6588, "No output was produced by the command.")));
|
|
982
1005
|
}
|
|
983
1006
|
} else {
|
|
984
1007
|
this._hideEmptyMessage();
|
|
985
1008
|
}
|
|
986
|
-
this._layoutOutput(result?.lineCount ?? 0
|
|
1009
|
+
this._layoutOutput(result?.lineCount ?? 0);
|
|
987
1010
|
return true;
|
|
988
1011
|
}
|
|
989
1012
|
async _renderSnapshotOutput(snapshot) {
|
|
990
1013
|
if (this._snapshotMirror) {
|
|
991
|
-
this._layoutOutput(snapshot.lineCount ?? 0
|
|
1014
|
+
this._layoutOutput(snapshot.lineCount ?? 0);
|
|
992
1015
|
return;
|
|
993
1016
|
}
|
|
994
1017
|
if (this._store.isDisposed) {
|
|
@@ -1005,18 +1028,18 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1005
1028
|
if (hasText) {
|
|
1006
1029
|
this._hideEmptyMessage();
|
|
1007
1030
|
} else {
|
|
1008
|
-
this._showEmptyMessage(( localize(
|
|
1031
|
+
this._showEmptyMessage(( localize(6588, "No output was produced by the command.")));
|
|
1009
1032
|
}
|
|
1010
1033
|
const lineCount = result?.lineCount ?? snapshot.lineCount ?? 0;
|
|
1011
|
-
this._layoutOutput(lineCount
|
|
1034
|
+
this._layoutOutput(lineCount);
|
|
1012
1035
|
}
|
|
1013
1036
|
_renderUnavailableMessage(liveTerminalInstance) {
|
|
1014
1037
|
clearNode(this._terminalContainer);
|
|
1015
1038
|
this._lastRenderedLineCount = undefined;
|
|
1016
1039
|
if (!liveTerminalInstance) {
|
|
1017
|
-
this._showEmptyMessage(( localize(
|
|
1040
|
+
this._showEmptyMessage(( localize(6591, "Terminal is no longer available.")));
|
|
1018
1041
|
} else {
|
|
1019
|
-
this._showEmptyMessage(( localize(
|
|
1042
|
+
this._showEmptyMessage(( localize(6592, "Command information is not available.")));
|
|
1020
1043
|
}
|
|
1021
1044
|
}
|
|
1022
1045
|
async _resolveLiveTerminal() {
|
|
@@ -1056,7 +1079,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1056
1079
|
this._scrollableContainer.scanDomNode();
|
|
1057
1080
|
}
|
|
1058
1081
|
}
|
|
1059
|
-
_layoutOutput(lineCount
|
|
1082
|
+
_layoutOutput(lineCount) {
|
|
1060
1083
|
if (!this._scrollableContainer) {
|
|
1061
1084
|
return;
|
|
1062
1085
|
}
|
|
@@ -1065,17 +1088,11 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1065
1088
|
} else {
|
|
1066
1089
|
lineCount = this._lastRenderedLineCount;
|
|
1067
1090
|
}
|
|
1068
|
-
if (maxColumnWidth !== undefined) {
|
|
1069
|
-
this._lastRenderedMaxColumnWidth = maxColumnWidth;
|
|
1070
|
-
} else {
|
|
1071
|
-
maxColumnWidth = this._lastRenderedMaxColumnWidth;
|
|
1072
|
-
}
|
|
1073
1091
|
this._scrollableContainer.scanDomNode();
|
|
1074
1092
|
if (!this.isExpanded || lineCount === undefined) {
|
|
1075
1093
|
return;
|
|
1076
1094
|
}
|
|
1077
1095
|
const scrollableDomNode = this._scrollableContainer.getDomNode();
|
|
1078
|
-
this._applyContentWidth(maxColumnWidth);
|
|
1079
1096
|
const rowHeight = this._computeRowHeightPx();
|
|
1080
1097
|
const padding = this._getOutputPadding();
|
|
1081
1098
|
const minHeight = rowHeight * MIN_OUTPUT_ROWS + padding;
|
|
@@ -1118,34 +1135,6 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1118
1135
|
const paddingBottom = Number.parseFloat(style.paddingBottom || "0");
|
|
1119
1136
|
return paddingTop + paddingBottom;
|
|
1120
1137
|
}
|
|
1121
|
-
_applyContentWidth(maxColumnWidth) {
|
|
1122
|
-
if (!this._scrollableContainer) {
|
|
1123
|
-
return;
|
|
1124
|
-
}
|
|
1125
|
-
const window = getActiveWindow();
|
|
1126
|
-
const font = this._terminalConfigurationService.getFont(window);
|
|
1127
|
-
const charWidth = font.charWidth;
|
|
1128
|
-
if (!charWidth || !maxColumnWidth || maxColumnWidth <= 0) {
|
|
1129
|
-
return;
|
|
1130
|
-
}
|
|
1131
|
-
const horizontalPadding = 24;
|
|
1132
|
-
const cursorWidth = charWidth;
|
|
1133
|
-
const contentWidth = Math.ceil(maxColumnWidth * charWidth) + horizontalPadding + cursorWidth;
|
|
1134
|
-
const parentWidth = this.domNode.parentElement?.clientWidth ?? 0;
|
|
1135
|
-
const scrollableDomNode = this._scrollableContainer.getDomNode();
|
|
1136
|
-
if (parentWidth > 0 && contentWidth < parentWidth) {
|
|
1137
|
-
scrollableDomNode.style.width = `${contentWidth}px`;
|
|
1138
|
-
this._outputBody.style.width = `${contentWidth}px`;
|
|
1139
|
-
this._terminalContainer.style.width = `${contentWidth}px`;
|
|
1140
|
-
this._terminalContainer.classList.add("chat-terminal-output-terminal-clipped");
|
|
1141
|
-
} else {
|
|
1142
|
-
scrollableDomNode.style.width = "";
|
|
1143
|
-
this._outputBody.style.width = "";
|
|
1144
|
-
this._terminalContainer.style.width = "";
|
|
1145
|
-
this._terminalContainer.classList.remove("chat-terminal-output-terminal-clipped");
|
|
1146
|
-
}
|
|
1147
|
-
this._scrollableContainer.scanDomNode();
|
|
1148
|
-
}
|
|
1149
1138
|
_computeRowHeightPx() {
|
|
1150
1139
|
const window = getActiveWindow();
|
|
1151
1140
|
const font = this._terminalConfigurationService.getFont(window);
|
|
@@ -1169,7 +1158,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1169
1158
|
ChatTerminalToolOutputSection = ( __decorate([( __param(5, IAccessibleViewService)), ( __param(6, IInstantiationService)), ( __param(7, ITerminalConfigurationService)), ( __param(8, IThemeService)), ( __param(9, IContextKeyService))], ChatTerminalToolOutputSection));
|
|
1170
1159
|
let ToggleChatTerminalOutputAction = class ToggleChatTerminalOutputAction extends Action {
|
|
1171
1160
|
constructor(_toggle, _keybindingService, _telemetryService) {
|
|
1172
|
-
super(TerminalContribCommandId.ToggleChatTerminalOutput, ( localize(
|
|
1161
|
+
super(TerminalContribCommandId.ToggleChatTerminalOutput, ( localize(6593, "Show Output")), ThemeIcon.asClassName(Codicon.chevronRight), true);
|
|
1173
1162
|
this._toggle = _toggle;
|
|
1174
1163
|
this._keybindingService = _keybindingService;
|
|
1175
1164
|
this._telemetryService = _telemetryService;
|
|
@@ -1192,10 +1181,10 @@ let ToggleChatTerminalOutputAction = class ToggleChatTerminalOutputAction extend
|
|
|
1192
1181
|
}
|
|
1193
1182
|
_updatePresentation() {
|
|
1194
1183
|
if (this._expanded) {
|
|
1195
|
-
this.label = ( localize(
|
|
1184
|
+
this.label = ( localize(6594, "Hide Output"));
|
|
1196
1185
|
this.class = ThemeIcon.asClassName(Codicon.chevronDown);
|
|
1197
1186
|
} else {
|
|
1198
|
-
this.label = ( localize(
|
|
1187
|
+
this.label = ( localize(6593, "Show Output"));
|
|
1199
1188
|
this.class = ThemeIcon.asClassName(Codicon.chevronRight);
|
|
1200
1189
|
}
|
|
1201
1190
|
}
|
|
@@ -1219,7 +1208,7 @@ let FocusChatInstanceAction = class FocusChatInstanceAction extends Action {
|
|
|
1219
1208
|
) {
|
|
1220
1209
|
super(
|
|
1221
1210
|
TerminalContribCommandId.FocusChatInstanceAction,
|
|
1222
|
-
isTerminalHidden ? ( localize(
|
|
1211
|
+
isTerminalHidden ? ( localize(6595, "Show and Focus Terminal")) : ( localize(6596, "Focus Terminal")),
|
|
1223
1212
|
ThemeIcon.asClassName(Codicon.openInProduct),
|
|
1224
1213
|
true
|
|
1225
1214
|
);
|
|
@@ -1235,7 +1224,7 @@ let FocusChatInstanceAction = class FocusChatInstanceAction extends Action {
|
|
|
1235
1224
|
this._updateTooltip();
|
|
1236
1225
|
}
|
|
1237
1226
|
async run() {
|
|
1238
|
-
this.label = this._instance?.shellLaunchConfig.hideFromUser ? ( localize(
|
|
1227
|
+
this.label = this._instance?.shellLaunchConfig.hideFromUser ? ( localize(6597, "Show and Focus Terminal")) : ( localize(6596, "Focus Terminal"));
|
|
1239
1228
|
this._updateTooltip();
|
|
1240
1229
|
let target = "none";
|
|
1241
1230
|
let location = "panel";
|
|
@@ -1292,7 +1281,7 @@ let FocusChatInstanceAction = class FocusChatInstanceAction extends Action {
|
|
|
1292
1281
|
FocusChatInstanceAction = ( __decorate([( __param(5, ITerminalService)), ( __param(6, ITerminalEditorService)), ( __param(7, ITerminalGroupService)), ( __param(8, IKeybindingService)), ( __param(9, ITelemetryService))], FocusChatInstanceAction));
|
|
1293
1282
|
let ContinueInBackgroundAction = class ContinueInBackgroundAction extends Action {
|
|
1294
1283
|
constructor(_terminalToolSessionId, _terminalChatService) {
|
|
1295
|
-
super(TerminalContribCommandId.ContinueInBackground, ( localize(
|
|
1284
|
+
super(TerminalContribCommandId.ContinueInBackground, ( localize(6598, "Continue in Background")), ThemeIcon.asClassName(Codicon.debugContinue), true);
|
|
1296
1285
|
this._terminalToolSessionId = _terminalToolSessionId;
|
|
1297
1286
|
this._terminalChatService = _terminalChatService;
|
|
1298
1287
|
}
|
|
@@ -1308,14 +1297,18 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1308
1297
|
context,
|
|
1309
1298
|
initialExpanded,
|
|
1310
1299
|
isComplete,
|
|
1311
|
-
hoverService
|
|
1300
|
+
hoverService,
|
|
1301
|
+
configurationService
|
|
1312
1302
|
) {
|
|
1313
1303
|
const title = isComplete ? `Ran \`${commandText}\`` : `Running \`${commandText}\``;
|
|
1314
|
-
super(title, context, undefined, hoverService);
|
|
1304
|
+
super(title, context, undefined, hoverService, configurationService);
|
|
1315
1305
|
this._terminalContentElement = contentElement;
|
|
1316
1306
|
this._commandText = commandText;
|
|
1317
1307
|
this._isComplete = isComplete;
|
|
1318
1308
|
this.domNode.classList.add("chat-terminal-thinking-collapsible");
|
|
1309
|
+
if (isComplete) {
|
|
1310
|
+
this.icon = Codicon.check;
|
|
1311
|
+
}
|
|
1319
1312
|
this._setCodeFormattedTitle();
|
|
1320
1313
|
this.setExpanded(initialExpanded);
|
|
1321
1314
|
}
|
|
@@ -1325,7 +1318,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1325
1318
|
}
|
|
1326
1319
|
const labelElement = this._collapseButton.labelElement;
|
|
1327
1320
|
labelElement.textContent = "";
|
|
1328
|
-
const prefixText = this._isComplete ? ( localize(
|
|
1321
|
+
const prefixText = this._isComplete ? ( localize(6599, "Ran ")) : ( localize(6600, "Running "));
|
|
1329
1322
|
const ranText = createTextNode(prefixText);
|
|
1330
1323
|
const codeElement = createElement("code");
|
|
1331
1324
|
codeElement.textContent = this._commandText;
|
|
@@ -1337,6 +1330,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1337
1330
|
return;
|
|
1338
1331
|
}
|
|
1339
1332
|
this._isComplete = true;
|
|
1333
|
+
this.icon = Codicon.check;
|
|
1340
1334
|
this._setCodeFormattedTitle();
|
|
1341
1335
|
}
|
|
1342
1336
|
initContent() {
|
|
@@ -1351,6 +1345,6 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1351
1345
|
return false;
|
|
1352
1346
|
}
|
|
1353
1347
|
};
|
|
1354
|
-
ChatTerminalThinkingCollapsibleWrapper = ( __decorate([( __param(5, IHoverService))], ChatTerminalThinkingCollapsibleWrapper));
|
|
1348
|
+
ChatTerminalThinkingCollapsibleWrapper = ( __decorate([( __param(5, IHoverService)), ( __param(6, IConfigurationService))], ChatTerminalThinkingCollapsibleWrapper));
|
|
1355
1349
|
|
|
1356
1350
|
export { ChatTerminalToolProgressPart, ContinueInBackgroundAction, FocusChatInstanceAction, ToggleChatTerminalOutputAction };
|
|
@@ -32,7 +32,7 @@ export declare class ToolConfirmationSubPart extends AbstractToolConfirmationSub
|
|
|
32
32
|
private markdownParts;
|
|
33
33
|
get codeblocks(): IChatCodeBlockInfo[];
|
|
34
34
|
constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, editorPool: EditorPool, currentWidthDelegate: () => number, codeBlockModelCollection: CodeBlockModelCollection, codeBlockStartIndex: number, instantiationService: IInstantiationService, keybindingService: IKeybindingService, modelService: IModelService, languageService: ILanguageService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, commandService: ICommandService, markerService: IMarkerService, languageModelToolsService: ILanguageModelToolsService, chatMarkdownAnchorService: IChatMarkdownAnchorService, confirmationService: ILanguageModelToolsConfirmationService);
|
|
35
|
-
protected additionalPrimaryActions(): (Separator | import("
|
|
35
|
+
protected additionalPrimaryActions(): (Separator | import("./abstractToolConfirmationSubPart.js").IAbstractToolPrimaryAction)[];
|
|
36
36
|
protected createContentElement(): HTMLElement | string;
|
|
37
37
|
protected getTitle(): string;
|
|
38
38
|
private _makeMarkdownPart;
|