@codingame/monaco-vscode-katex-common 33.0.9 → 34.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/base/browser/ui/pixelSpinner/pixelSpinner.css +169 -0
- package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.d.ts +28 -0
- package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.js +61 -0
- package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.d.ts +1 -1
- package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.js +1 -1
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +18 -17
- 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.js +40 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +1 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +4 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +16 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +81 -69
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +5 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionUri.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionUri.js +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +18 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +13 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +177 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +69 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +25 -1
- 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/chatCollapsibleContentPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +4 -2
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.d.ts +93 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.js +140 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.js +134 -0
- 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.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +2 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +49 -117
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +47 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +52 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +18 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +23 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +13 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +87 -11
- 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 +21 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +102 -35
- 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.js +2 -2
- 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/chatCodeBlockPill.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +22 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +6 -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.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +21 -2
- 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/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +35 -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 +62 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +15 -12
- 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.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +13 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +4 -4
- 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 +19 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +154 -59
- 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 +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatOptions.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatOptions.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +113 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.js +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +18 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +361 -66
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.js +147 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +11 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +133 -87
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +13 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatGoalBannerWidget.css +81 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +32 -18
- 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.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +39 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +23 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +66 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +373 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +5 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +18 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.d.ts +12 -2
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.js +54 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +3 -3
- 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/common/inlineChat.js +30 -30
- 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/notebook/browser/controller/cellOperations.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
- 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/platform/actionWidget/browser/actionWidgetDropdown.d.ts +0 -76
- package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +0 -191
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +0 -50
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +0 -138
- package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +0 -12
- package/vscode/src/vs/platform/networkFilter/common/settings.js +0 -14
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +0 -18
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +0 -13
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +0 -87
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +0 -10
- package/vscode/src/vs/workbench/contrib/terminal/terminalContribChatExports.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +0 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +0 -142
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +0 -52
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +0 -232
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -65
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +0 -225
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +0 -143
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +0 -205
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +0 -174
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +0 -43
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +0 -52
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +0 -260
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +0 -44
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +0 -98
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +0 -42
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +0 -225
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +0 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +0 -392
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +0 -243
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +0 -53
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +0 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +0 -310
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +0 -177
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +0 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +0 -33
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +0 -44
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +0 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +0 -42
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +0 -102
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +0 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +0 -33
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +0 -15
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +0 -53
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +0 -177
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +0 -512
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +0 -42
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +0 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +0 -258
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +0 -2623
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +0 -43
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +0 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +0 -118
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +0 -44
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +0 -58
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +0 -223
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.d.ts +0 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.js +0 -49
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.d.ts +0 -18
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.js +0 -302
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.js +0 -118
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +0 -114
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +0 -788
|
@@ -35,7 +35,7 @@ let ToolRiskBadgeWidget = class ToolRiskBadgeWidget extends Disposable {
|
|
|
35
35
|
this._detailsIconEl.classList.add(...ThemeIcon.asClassNameArray(Codicon.info));
|
|
36
36
|
this._detailsIconEl.tabIndex = 0;
|
|
37
37
|
this._detailsIconEl.setAttribute("role", "button");
|
|
38
|
-
this._detailsIconEl.setAttribute("aria-label", ( localize(
|
|
38
|
+
this._detailsIconEl.setAttribute("aria-label", ( localize(7613, "Risk assessment details")));
|
|
39
39
|
this.domNode.append(this._iconEl, this._textEl, this._detailsIconEl);
|
|
40
40
|
this._refreshDetailsHover();
|
|
41
41
|
this.setLoading();
|
|
@@ -58,9 +58,9 @@ let ToolRiskBadgeWidget = class ToolRiskBadgeWidget extends Disposable {
|
|
|
58
58
|
setLoading() {
|
|
59
59
|
this._setVariant("loading");
|
|
60
60
|
this._setIcon(ThemeIcon.modify(Codicon.loading, "spin"));
|
|
61
|
-
const text = ( localize(
|
|
61
|
+
const text = ( localize(7614, "Assessing risk…"));
|
|
62
62
|
this._textEl.textContent = text;
|
|
63
|
-
this._setHover(( localize(
|
|
63
|
+
this._setHover(( localize(7615, "Generating a risk assessment for this tool call.")));
|
|
64
64
|
}
|
|
65
65
|
setHidden() {
|
|
66
66
|
this.domNode.style.display = "none";
|
|
@@ -122,7 +122,7 @@ let ToolRiskBadgeWidget = class ToolRiskBadgeWidget extends Disposable {
|
|
|
122
122
|
);
|
|
123
123
|
}
|
|
124
124
|
_buildDetailsMarkdown() {
|
|
125
|
-
const aiNote = ( localize(
|
|
125
|
+
const aiNote = ( localize(7616, "Risk assessments are AI-generated and may be inaccurate."));
|
|
126
126
|
const details = this._details;
|
|
127
127
|
const md = ( new MarkdownString(undefined, {
|
|
128
128
|
supportThemeIcons: true,
|
|
@@ -209,23 +209,23 @@ let ChatDragAndDrop = class ChatDragAndDrop extends Themable {
|
|
|
209
209
|
getDropTypeName(type) {
|
|
210
210
|
switch (type) {
|
|
211
211
|
case ChatDragAndDropType.FILE_INTERNAL:
|
|
212
|
-
return localize(
|
|
212
|
+
return localize(7617, "File");
|
|
213
213
|
case ChatDragAndDropType.FILE_EXTERNAL:
|
|
214
|
-
return localize(
|
|
214
|
+
return localize(7617, "File");
|
|
215
215
|
case ChatDragAndDropType.FOLDER:
|
|
216
|
-
return localize(
|
|
216
|
+
return localize(7618, "Folder");
|
|
217
217
|
case ChatDragAndDropType.IMAGE:
|
|
218
|
-
return localize(
|
|
218
|
+
return localize(7619, "Image");
|
|
219
219
|
case ChatDragAndDropType.SYMBOL:
|
|
220
|
-
return localize(
|
|
220
|
+
return localize(7620, "Symbol");
|
|
221
221
|
case ChatDragAndDropType.MARKER:
|
|
222
|
-
return localize(
|
|
222
|
+
return localize(7621, "Problem");
|
|
223
223
|
case ChatDragAndDropType.HTML:
|
|
224
|
-
return localize(
|
|
224
|
+
return localize(7622, "URL");
|
|
225
225
|
case ChatDragAndDropType.NOTEBOOK_CELL_OUTPUT:
|
|
226
|
-
return localize(
|
|
226
|
+
return localize(7623, "Output");
|
|
227
227
|
case ChatDragAndDropType.SCM_HISTORY_ITEM:
|
|
228
|
-
return localize(
|
|
228
|
+
return localize(7624, "Change");
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
231
|
async resolveAttachmentsFromDragEvent(e) {
|
|
@@ -297,7 +297,7 @@ let ChatDragAndDrop = class ChatDragAndDrop extends Themable {
|
|
|
297
297
|
async resolveHTMLAttachContext(e) {
|
|
298
298
|
const existingAttachmentNames = ( new Set(( this.attachmentModel.attachments.map(attachment => attachment.name))));
|
|
299
299
|
const createDisplayName = () => {
|
|
300
|
-
const baseName = ( localize(
|
|
300
|
+
const baseName = ( localize(7625, "Image from URL"));
|
|
301
301
|
let uniqueName = baseName;
|
|
302
302
|
let baseNameInstance = 1;
|
|
303
303
|
while (( existingAttachmentNames.has(uniqueName))) {
|
|
@@ -375,7 +375,7 @@ let ChatDragAndDrop = class ChatDragAndDrop extends Themable {
|
|
|
375
375
|
}
|
|
376
376
|
getOverlayText(type) {
|
|
377
377
|
const typeName = this.getDropTypeName(type);
|
|
378
|
-
return localize(
|
|
378
|
+
return localize(7626, "Attach {0} as Context", typeName);
|
|
379
379
|
}
|
|
380
380
|
updateOverlayStyles(overlay) {
|
|
381
381
|
overlay.style.backgroundColor = this.getColor(this.styles.overlayBackground) || "";
|
|
@@ -50,6 +50,8 @@ export interface IChatListItemTemplate {
|
|
|
50
50
|
/** Drag handle element for reordering pending requests, if currently rendered. */
|
|
51
51
|
dragHandle?: HTMLElement;
|
|
52
52
|
readonly rowContainer: HTMLElement;
|
|
53
|
+
/** Height allocated by the list for the currently rendered row. */
|
|
54
|
+
allocatedHeight?: number;
|
|
53
55
|
readonly titleToolbar?: MenuWorkbenchToolBar;
|
|
54
56
|
readonly header?: HTMLElement;
|
|
55
57
|
readonly footerToolbar: MenuWorkbenchToolBar;
|
|
@@ -74,6 +76,7 @@ interface IItemHeightChangeParams {
|
|
|
74
76
|
element: ChatTreeItem;
|
|
75
77
|
height: number;
|
|
76
78
|
}
|
|
79
|
+
export declare function shouldScheduleInitialHeightChange(normalizedHeight: number, allocatedHeight: number | undefined): boolean;
|
|
77
80
|
export interface IChatRendererDelegate {
|
|
78
81
|
container: HTMLElement;
|
|
79
82
|
getListLength(): number;
|
|
@@ -167,7 +170,7 @@ export declare class ChatListItemRenderer extends Disposable implements ITreeRen
|
|
|
167
170
|
setVisible(visible: boolean): void;
|
|
168
171
|
layout(width: number): void;
|
|
169
172
|
renderTemplate(container: HTMLElement): IChatListItemTemplate;
|
|
170
|
-
renderElement(node: ITreeNode<ChatTreeItem, FuzzyScore>, index: number, templateData: IChatListItemTemplate): void;
|
|
173
|
+
renderElement(node: ITreeNode<ChatTreeItem, FuzzyScore>, index: number, templateData: IChatListItemTemplate, details?: IListElementRenderDetails): void;
|
|
171
174
|
/**
|
|
172
175
|
* Dispose the rendered parts in the template, which aren't done in disposeElement
|
|
173
176
|
* so they can be reused when a new render is started.
|
|
@@ -190,6 +193,20 @@ export declare class ChatListItemRenderer extends Disposable implements ITreeRen
|
|
|
190
193
|
private getWorkingProgressContentPart;
|
|
191
194
|
private createUpdateWorkingProgressOnConfirmationEnd;
|
|
192
195
|
private hasBeenCaughtUpLongEnough;
|
|
196
|
+
/**
|
|
197
|
+
* Returns the last part that visually contributes to the response, skipping
|
|
198
|
+
* empty markdown placeholders.
|
|
199
|
+
*/
|
|
200
|
+
private findLastMeaningfulPart;
|
|
201
|
+
/**
|
|
202
|
+
* True while we have caught up to streamed markdown but are still within the
|
|
203
|
+
* {@link WORKING_CAUGHT_UP_DEBOUNCE_MS} window before the working indicator
|
|
204
|
+
* should appear. The progressive render loop keeps polling in this state so
|
|
205
|
+
* the indicator can still surface after a genuine pause, instead of being
|
|
206
|
+
* dropped when the loop would otherwise stop (the debounce itself avoids
|
|
207
|
+
* flicker during normal token streaming).
|
|
208
|
+
*/
|
|
209
|
+
private isWorkingProgressDebouncePending;
|
|
193
210
|
private getChatFileChangesSummaryPart;
|
|
194
211
|
private renderChatRequest;
|
|
195
212
|
private renderSystemInitiatedRequest;
|
|
@@ -270,6 +287,7 @@ export declare class ChatListItemRenderer extends Disposable implements ITreeRen
|
|
|
270
287
|
private renderChangesSummary;
|
|
271
288
|
private renderAttachments;
|
|
272
289
|
private renderTextEdit;
|
|
290
|
+
private renderExternalEdit;
|
|
273
291
|
private renderMarkdown;
|
|
274
292
|
renderThinkingPart(content: IChatThinkingPart, context: IChatContentPartRenderContext, templateData: IChatListItemTemplate): IChatContentPart;
|
|
275
293
|
disposeElement(node: ITreeNode<ChatTreeItem, FuzzyScore>, index: number, templateData: IChatListItemTemplate, details?: IListElementRenderDetails): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { $ as $$1, append, addDisposableListener, EventType, createElement, DisposableResizeObserver, clearNode, addStandardDisposableListener, WindowIntervalTimer,
|
|
3
|
+
import { $ as $$1, scheduleAtNextAnimationFrame, getWindow, append, addDisposableListener, EventType, createElement, DisposableResizeObserver, clearNode, addStandardDisposableListener, WindowIntervalTimer, reset, findParentWithClass, hide, show } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
4
|
import { renderFormattedText } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/formattedTextRenderer';
|
|
5
5
|
import { StandardKeyboardEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/keyboardEvent';
|
|
6
6
|
import { alert } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
|
|
@@ -47,6 +47,7 @@ import { ChatPlanReviewData } from '@codingame/monaco-vscode-api/vscode/vs/workb
|
|
|
47
47
|
import { ChatQuestionCarouselData } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatQuestionCarouselData';
|
|
48
48
|
import { localChatSessionType, isAgentHostTarget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
49
49
|
import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
50
|
+
import { isExplicitFileOrImageVariableEntry, getExplicitFileOrImageAttachmentSummary } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
|
|
50
51
|
import { isResponseVM, isPendingDividerVM, isRequestVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
|
|
51
52
|
import { getNWords } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatWordCounter';
|
|
52
53
|
import { ChatConfiguration, ChatAgentLocation, CollapsedToolsDisplayMode, ThinkingDisplayMode, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
@@ -80,10 +81,11 @@ import { ChatQuotaExceededPart } from './chatContentParts/chatQuotaExceededPart.
|
|
|
80
81
|
import { CollapsibleListPool, ChatUsedReferencesListContentPart } from './chatContentParts/chatReferencesContentPart.js';
|
|
81
82
|
import { ChatTaskContentPart } from './chatContentParts/chatTaskContentPart.js';
|
|
82
83
|
import { ChatTextEditContentPart } from './chatContentParts/chatTextEditContentPart.js';
|
|
83
|
-
import { ChatThinkingContentPart } from './chatContentParts/chatThinkingContentPart.js';
|
|
84
|
+
import { ChatThinkingContentPart, getEffectiveThinkingDisplayMode } from './chatContentParts/chatThinkingContentPart.js';
|
|
84
85
|
import { ChatSubagentContentPart } from './chatContentParts/chatSubagentContentPart.js';
|
|
85
86
|
import { TreePool, ChatTreeContentPart } from './chatContentParts/chatTreeContentPart.js';
|
|
86
87
|
import { ChatWorkspaceEditContentPart } from './chatContentParts/chatWorkspaceEditContentPart.js';
|
|
88
|
+
import { ChatExternalEditContentPart } from './chatContentParts/chatExternalEditContentPart.js';
|
|
87
89
|
import { ChatToolInvocationPart } from './chatContentParts/toolInvocationParts/chatToolInvocationPart.js';
|
|
88
90
|
import { ChatMarkdownDecorationsRenderer } from './chatContentParts/chatMarkdownDecorationsRenderer.js';
|
|
89
91
|
import { ChatCodeBlockContentProvider } from './chatContentParts/codeBlockPart.js';
|
|
@@ -103,7 +105,10 @@ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/obse
|
|
|
103
105
|
var ChatListItemRenderer_1;
|
|
104
106
|
const $ = $$1;
|
|
105
107
|
const COPILOT_USERNAME = "GitHub Copilot";
|
|
106
|
-
const WORKING_CAUGHT_UP_DEBOUNCE_MS =
|
|
108
|
+
const WORKING_CAUGHT_UP_DEBOUNCE_MS = 750;
|
|
109
|
+
function shouldScheduleInitialHeightChange(normalizedHeight, allocatedHeight) {
|
|
110
|
+
return typeof allocatedHeight !== "number" || normalizedHeight > allocatedHeight;
|
|
111
|
+
}
|
|
107
112
|
const mostRecentResponseClassName = "chat-most-recent-response";
|
|
108
113
|
function upvoteAnimationSettingToEnum(value) {
|
|
109
114
|
switch (value) {
|
|
@@ -270,11 +275,29 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
270
275
|
}
|
|
271
276
|
const originalStoredHeight = template.currentElement.currentRenderedHeight;
|
|
272
277
|
template.currentElement.currentRenderedHeight = normalizedHeight;
|
|
273
|
-
if (template.currentElement
|
|
278
|
+
if (template.currentElement === this._elementBeingRendered) {
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
if (typeof originalStoredHeight === "number") {
|
|
274
282
|
this._onDidChangeItemHeight.fire({
|
|
275
283
|
element: template.currentElement,
|
|
276
284
|
height: normalizedHeight
|
|
277
285
|
});
|
|
286
|
+
} else {
|
|
287
|
+
if (!shouldScheduleInitialHeightChange(normalizedHeight, template.allocatedHeight)) {
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
const element = template.currentElement;
|
|
291
|
+
const scheduledHeight = normalizedHeight;
|
|
292
|
+
scheduleAtNextAnimationFrame(getWindow(template.rowContainer), () => {
|
|
293
|
+
if (template.currentElement !== element || element.currentRenderedHeight !== scheduledHeight) {
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
this._onDidChangeItemHeight.fire({
|
|
297
|
+
element,
|
|
298
|
+
height: scheduledHeight
|
|
299
|
+
});
|
|
300
|
+
});
|
|
278
301
|
}
|
|
279
302
|
}
|
|
280
303
|
getProgressiveRenderRate(element) {
|
|
@@ -465,7 +488,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
465
488
|
const checkpointRestoreContainer = append(rowContainer, $(".checkpoint-restore-container"));
|
|
466
489
|
append(checkpointRestoreContainer, $(".checkpoint-line-left"));
|
|
467
490
|
const label = append(checkpointRestoreContainer, $("span.checkpoint-label-text"));
|
|
468
|
-
label.textContent = ( localize(
|
|
491
|
+
label.textContent = ( localize(7627, "Checkpoint Restored"));
|
|
469
492
|
const dot = append(checkpointRestoreContainer, $("span.checkpoint-dot-separator"));
|
|
470
493
|
dot.textContent = "·";
|
|
471
494
|
dot.setAttribute("aria-hidden", "true");
|
|
@@ -580,7 +603,8 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
580
603
|
templateDisposables.add(resizeObserver.observe(rowContainer));
|
|
581
604
|
return template;
|
|
582
605
|
}
|
|
583
|
-
renderElement(node, index, templateData) {
|
|
606
|
+
renderElement(node, index, templateData, details) {
|
|
607
|
+
templateData.allocatedHeight = details?.height;
|
|
584
608
|
this._elementBeingRendered = node.element;
|
|
585
609
|
try {
|
|
586
610
|
this.renderChatTreeItem(node.element, index, templateData);
|
|
@@ -842,15 +866,15 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
842
866
|
const label = append(dividerContent, $$1("span.pending-divider-label"));
|
|
843
867
|
if (element.dividerKind === ChatRequestQueueKind.Steering) {
|
|
844
868
|
if (element.isSystemInitiated) {
|
|
845
|
-
label.textContent = ( localize(
|
|
846
|
-
label.title = ( localize(
|
|
869
|
+
label.textContent = ( localize(7628, "System Notification"));
|
|
870
|
+
label.title = ( localize(7629, "System notification will be sent after the next tool call happens"));
|
|
847
871
|
} else {
|
|
848
|
-
label.textContent = ( localize(
|
|
849
|
-
label.title = ( localize(
|
|
872
|
+
label.textContent = ( localize(7630, "Steering"));
|
|
873
|
+
label.title = ( localize(7631, "Steering message will be sent after the next tool call happens"));
|
|
850
874
|
}
|
|
851
875
|
} else {
|
|
852
|
-
label.textContent = ( localize(
|
|
853
|
-
label.title = ( localize(
|
|
876
|
+
label.textContent = ( localize(7632, "Queued"));
|
|
877
|
+
label.title = ( localize(7633, "Queued messages will be sent after the current request completes"));
|
|
854
878
|
}
|
|
855
879
|
templateData.value.appendChild(dividerContent);
|
|
856
880
|
}
|
|
@@ -858,10 +882,10 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
858
882
|
clearNode(templateData.detail);
|
|
859
883
|
if (element.agentOrSlashCommandDetected) {
|
|
860
884
|
const msg = element.slashCommand ? ( localize(
|
|
861
|
-
|
|
885
|
+
7634,
|
|
862
886
|
"used {0} [[(rerun without)]]",
|
|
863
887
|
`${chatSubcommandLeader}${element.slashCommand.name}`
|
|
864
|
-
)) : ( localize(
|
|
888
|
+
)) : ( localize(7635, "[[(rerun without)]]"));
|
|
865
889
|
reset(templateData.detail, renderFormattedText(msg, {
|
|
866
890
|
actionHandler: {
|
|
867
891
|
disposables: templateData.elementDisposables,
|
|
@@ -874,7 +898,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
874
898
|
this.delegate.currentChatMode(),
|
|
875
899
|
this.rendererOptions.progressMessageAtBottomOfResponse
|
|
876
900
|
)) {
|
|
877
|
-
templateData.detail.textContent = ( localize(
|
|
901
|
+
templateData.detail.textContent = ( localize(7636, "Working"));
|
|
878
902
|
}
|
|
879
903
|
}
|
|
880
904
|
renderConfirmationAction(element, templateData) {
|
|
@@ -883,7 +907,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
883
907
|
append(templateData.detail, $("span.codicon.codicon-check", {
|
|
884
908
|
"aria-hidden": "true"
|
|
885
909
|
}));
|
|
886
|
-
append(templateData.detail, $("span.confirmation-text", undefined, ( localize(
|
|
910
|
+
append(templateData.detail, $("span.confirmation-text", undefined, ( localize(7637, "Selected \"{0}\"", element.confirmation))));
|
|
887
911
|
templateData.header?.classList.remove("header-disabled");
|
|
888
912
|
templateData.header?.classList.add("partially-disabled");
|
|
889
913
|
}
|
|
@@ -1011,14 +1035,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1011
1035
|
};
|
|
1012
1036
|
}
|
|
1013
1037
|
}
|
|
1014
|
-
|
|
1015
|
-
for (let i = partsToRender.length - 1; i >= 0; i--) {
|
|
1016
|
-
const part = partsToRender[i];
|
|
1017
|
-
if (part.kind !== "markdownContent" || part.content.value.trim().length > 0) {
|
|
1018
|
-
lastPart = part;
|
|
1019
|
-
break;
|
|
1020
|
-
}
|
|
1021
|
-
}
|
|
1038
|
+
const lastPart = this.findLastMeaningfulPart(partsToRender);
|
|
1022
1039
|
if (showProgressDetails) {
|
|
1023
1040
|
const lastThinking = this.getLastThinkingPart(templateData.renderedParts);
|
|
1024
1041
|
if (lastThinking?.getIsActive() && !lastThinking.isFixedScrollingMode) {
|
|
@@ -1066,6 +1083,8 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1066
1083
|
}
|
|
1067
1084
|
if (!lastPart || lastPart.kind === "references" || (lastPart.kind === "markdownContent" && !moreContentAvailable && this.hasBeenCaughtUpLongEnough(element)) || ((lastPart.kind === "toolInvocation" || lastPart.kind === "toolInvocationSerialized") && (IChatToolInvocation.isComplete(lastPart) || IChatToolInvocation.isEffectivelyHidden(lastPart))) || ((lastPart.kind === "textEditGroup" || lastPart.kind === "notebookEditGroup") && lastPart.done && !( partsToRender.some(
|
|
1068
1085
|
part => part.kind === "toolInvocation" && !IChatToolInvocation.isComplete(part)
|
|
1086
|
+
))) || (lastPart.kind === "externalEdit" && !( partsToRender.some(
|
|
1087
|
+
part => part.kind === "toolInvocation" && !IChatToolInvocation.isComplete(part)
|
|
1069
1088
|
))) || (lastPart.kind === "progressTask" && lastPart.deferred.isSettled) || lastPart.kind === "mcpServersStarting" || lastPart.kind === "disabledClaudeHooks" || lastPart.kind === "hook") {
|
|
1070
1089
|
return {
|
|
1071
1090
|
kind: "working"
|
|
@@ -1083,7 +1102,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1083
1102
|
}).length;
|
|
1084
1103
|
}
|
|
1085
1104
|
getConfirmationPendingLabel(count) {
|
|
1086
|
-
return count === 1 ? ( localize(
|
|
1105
|
+
return count === 1 ? ( localize(7638, "1 confirmation pending")) : ( localize(7639, "{0} confirmations pending", count));
|
|
1087
1106
|
}
|
|
1088
1107
|
removeWorkingProgressContentPart(templateData) {
|
|
1089
1108
|
const renderedParts = templateData.renderedParts;
|
|
@@ -1169,6 +1188,24 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1169
1188
|
}
|
|
1170
1189
|
return (Date.now() - lastRenderTime) >= WORKING_CAUGHT_UP_DEBOUNCE_MS;
|
|
1171
1190
|
}
|
|
1191
|
+
findLastMeaningfulPart(partsToRender) {
|
|
1192
|
+
for (let i = partsToRender.length - 1; i >= 0; i--) {
|
|
1193
|
+
const part = partsToRender[i];
|
|
1194
|
+
if (part.kind !== "markdownContent" || part.content.value.trim().length > 0) {
|
|
1195
|
+
return part;
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
return undefined;
|
|
1199
|
+
}
|
|
1200
|
+
isWorkingProgressDebouncePending(element, partsToRender) {
|
|
1201
|
+
if (element.isComplete) {
|
|
1202
|
+
return false;
|
|
1203
|
+
}
|
|
1204
|
+
if (( partsToRender.some(part => part.kind === "working"))) {
|
|
1205
|
+
return false;
|
|
1206
|
+
}
|
|
1207
|
+
return this.findLastMeaningfulPart(partsToRender)?.kind === "markdownContent" && !this.hasBeenCaughtUpLongEnough(element);
|
|
1208
|
+
}
|
|
1172
1209
|
getChatFileChangesSummaryPart(element) {
|
|
1173
1210
|
if (!this.shouldShowFileChangesSummary(element)) {
|
|
1174
1211
|
return undefined;
|
|
@@ -1224,12 +1261,20 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1224
1261
|
);
|
|
1225
1262
|
}
|
|
1226
1263
|
let content = [];
|
|
1264
|
+
const explicitFileOrImageVariables = element.variables.filter(isExplicitFileOrImageVariableEntry);
|
|
1265
|
+
const explicitImageVariables = explicitFileOrImageVariables.filter(variable => variable.kind === "image");
|
|
1266
|
+
const explicitFileOrDirectoryVariables = explicitFileOrImageVariables.filter(variable => variable.kind === "file" || variable.kind === "directory");
|
|
1267
|
+
const otherVariables = element.variables.filter(variable => !isExplicitFileOrImageVariableEntry(variable));
|
|
1227
1268
|
if (!element.confirmation) {
|
|
1228
1269
|
const markdown = isChatFollowup(element.message) ? element.message.message : this.markdownDecorationsRenderer.convertParsedRequestToMarkdown(element.sessionResource, element.message);
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1270
|
+
const attachmentSummary = !element.messageText.trim() && !explicitFileOrImageVariables.length ? getExplicitFileOrImageAttachmentSummary(element.variables) : undefined;
|
|
1271
|
+
const requestMarkdown = markdown.trim() ? markdown : attachmentSummary;
|
|
1272
|
+
if (requestMarkdown) {
|
|
1273
|
+
content = [{
|
|
1274
|
+
content: ( new MarkdownString(requestMarkdown)),
|
|
1275
|
+
kind: "markdownContent"
|
|
1276
|
+
}];
|
|
1277
|
+
}
|
|
1233
1278
|
if (this.rendererOptions.renderStyle === "minimal" && !element.isComplete) {
|
|
1234
1279
|
templateData.value.classList.add("inline-progress");
|
|
1235
1280
|
templateData.elementDisposables.add(toDisposable(() => templateData.value.classList.remove("inline-progress")));
|
|
@@ -1245,6 +1290,33 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1245
1290
|
}
|
|
1246
1291
|
clearNode(templateData.value);
|
|
1247
1292
|
const parts = [];
|
|
1293
|
+
const explicitImageAttachmentsPart = explicitImageVariables.length ? this.renderAttachments(
|
|
1294
|
+
explicitImageVariables,
|
|
1295
|
+
element.contentReferences,
|
|
1296
|
+
element.modelId,
|
|
1297
|
+
templateData
|
|
1298
|
+
) : undefined;
|
|
1299
|
+
if (explicitImageAttachmentsPart?.domNode) {
|
|
1300
|
+
explicitImageAttachmentsPart.domNode.classList.add("chat-request-attachment-cards", "chat-request-image-attachments");
|
|
1301
|
+
templateData.value.appendChild(explicitImageAttachmentsPart.domNode);
|
|
1302
|
+
templateData.elementDisposables.add(explicitImageAttachmentsPart);
|
|
1303
|
+
}
|
|
1304
|
+
const explicitFileAttachmentsPart = explicitFileOrDirectoryVariables.length ? this.renderAttachments(
|
|
1305
|
+
explicitFileOrDirectoryVariables,
|
|
1306
|
+
element.contentReferences,
|
|
1307
|
+
element.modelId,
|
|
1308
|
+
templateData
|
|
1309
|
+
) : undefined;
|
|
1310
|
+
if (explicitFileAttachmentsPart?.domNode) {
|
|
1311
|
+
explicitFileAttachmentsPart.domNode.classList.add("chat-request-attachment-cards", "chat-request-file-attachments");
|
|
1312
|
+
explicitFileAttachmentsPart.domNode.style.display = "flex";
|
|
1313
|
+
explicitFileAttachmentsPart.domNode.style.flexDirection = "column";
|
|
1314
|
+
explicitFileAttachmentsPart.domNode.style.alignItems = "flex-end";
|
|
1315
|
+
explicitFileAttachmentsPart.domNode.style.flexWrap = "nowrap";
|
|
1316
|
+
templateData.value.appendChild(explicitFileAttachmentsPart.domNode);
|
|
1317
|
+
templateData.elementDisposables.add(explicitFileAttachmentsPart);
|
|
1318
|
+
}
|
|
1319
|
+
const contentContainer = templateData.value;
|
|
1248
1320
|
let inlineSlashCommandRendered = false;
|
|
1249
1321
|
let codeBlockStartIndex = 0;
|
|
1250
1322
|
content.forEach((data, contentIndex) => {
|
|
@@ -1277,12 +1349,12 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1277
1349
|
requestId: element.id
|
|
1278
1350
|
})
|
|
1279
1351
|
);
|
|
1280
|
-
|
|
1352
|
+
contentContainer.appendChild(cmdPart.domNode);
|
|
1281
1353
|
parts.push(cmdPart);
|
|
1282
1354
|
inlineSlashCommandRendered = true;
|
|
1283
1355
|
}
|
|
1284
1356
|
if (newPart.domNode && !newPart.domNode.parentElement) {
|
|
1285
|
-
|
|
1357
|
+
contentContainer.appendChild(newPart.domNode);
|
|
1286
1358
|
}
|
|
1287
1359
|
parts.push(newPart);
|
|
1288
1360
|
codeBlockStartIndex += newPart.codeblocks?.length ?? 0;
|
|
@@ -1292,13 +1364,8 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1292
1364
|
dispose(templateData.renderedParts);
|
|
1293
1365
|
}
|
|
1294
1366
|
templateData.renderedParts = parts;
|
|
1295
|
-
if (
|
|
1296
|
-
const newPart = this.renderAttachments(
|
|
1297
|
-
element.variables,
|
|
1298
|
-
element.contentReferences,
|
|
1299
|
-
element.modelId,
|
|
1300
|
-
templateData
|
|
1301
|
-
);
|
|
1367
|
+
if (otherVariables.length) {
|
|
1368
|
+
const newPart = this.renderAttachments(otherVariables, element.contentReferences, element.modelId, templateData);
|
|
1302
1369
|
if (newPart.domNode) {
|
|
1303
1370
|
templateData.value.appendChild(newPart.domNode);
|
|
1304
1371
|
}
|
|
@@ -1390,11 +1457,9 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1390
1457
|
element.renderData = undefined;
|
|
1391
1458
|
this.renderChatResponseBasic(element, index, templateData);
|
|
1392
1459
|
return true;
|
|
1460
|
+
} else if (this.isWorkingProgressDebouncePending(element, contentForThisTurn.content)) {
|
|
1461
|
+
return false;
|
|
1393
1462
|
} else {
|
|
1394
|
-
this.traceLayout(
|
|
1395
|
-
"doNextProgressiveRender",
|
|
1396
|
-
"caught up with the stream- no new content to render"
|
|
1397
|
-
);
|
|
1398
1463
|
return true;
|
|
1399
1464
|
}
|
|
1400
1465
|
}
|
|
@@ -1467,7 +1532,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1467
1532
|
treeStartIndex
|
|
1468
1533
|
};
|
|
1469
1534
|
const lastThinking = this.getLastThinkingPart(renderedParts);
|
|
1470
|
-
if (lastThinking && (partToRender.kind === "toolInvocation" || partToRender.kind === "toolInvocationSerialized" || partToRender.kind === "markdownContent" || partToRender.kind === "textEditGroup" || partToRender.kind === "hook") && this.shouldPinPart(partToRender, element)) {
|
|
1535
|
+
if (lastThinking && (partToRender.kind === "toolInvocation" || partToRender.kind === "toolInvocationSerialized" || partToRender.kind === "markdownContent" || partToRender.kind === "textEditGroup" || partToRender.kind === "externalEdit" || partToRender.kind === "hook") && this.shouldPinPart(partToRender, element)) {
|
|
1471
1536
|
if (alreadyRenderedPart instanceof ChatMarkdownContentPart) {
|
|
1472
1537
|
lastThinking.removeEditPillByPartId(alreadyRenderedPart.codeblocksPartId);
|
|
1473
1538
|
}
|
|
@@ -1655,7 +1720,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1655
1720
|
if (collapsedToolsMode === CollapsedToolsDisplayMode.Off) {
|
|
1656
1721
|
return false;
|
|
1657
1722
|
}
|
|
1658
|
-
if (this.hasEditCodeblockUri(part) || part.kind === "textEditGroup") {
|
|
1723
|
+
if (this.hasEditCodeblockUri(part) || part.kind === "textEditGroup" || part.kind === "externalEdit") {
|
|
1659
1724
|
return true;
|
|
1660
1725
|
}
|
|
1661
1726
|
const isMcpTool = (part.kind === "toolInvocation" || part.kind === "toolInvocationSerialized") && isMcpToolInvocation(part);
|
|
@@ -1836,7 +1901,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1836
1901
|
if (!lastThinking) {
|
|
1837
1902
|
return;
|
|
1838
1903
|
}
|
|
1839
|
-
const style = this.configService.
|
|
1904
|
+
const style = getEffectiveThinkingDisplayMode(this.configService, this.contextKeyService);
|
|
1840
1905
|
if (style === ThinkingDisplayMode.CollapsedPreview) {
|
|
1841
1906
|
lastThinking.collapseContent();
|
|
1842
1907
|
}
|
|
@@ -1958,6 +2023,8 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1958
2023
|
context,
|
|
1959
2024
|
this.chatContentMarkdownRenderer
|
|
1960
2025
|
);
|
|
2026
|
+
} else if (content.kind === "externalEdit") {
|
|
2027
|
+
return this.renderExternalEdit(content, context, templateData);
|
|
1961
2028
|
}
|
|
1962
2029
|
return this.renderNoContent(other => content.kind === other.kind);
|
|
1963
2030
|
} catch (err) {
|
|
@@ -1966,7 +2033,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1966
2033
|
"ChatListItemRenderer#renderChatContentPart: error rendering content",
|
|
1967
2034
|
toErrorMessage(err, true)
|
|
1968
2035
|
);
|
|
1969
|
-
const errorPart = this.instantiationService.createInstance(ChatErrorContentPart, ChatErrorLevel.Error, ( new MarkdownString(( localize(
|
|
2036
|
+
const errorPart = this.instantiationService.createInstance(ChatErrorContentPart, ChatErrorLevel.Error, ( new MarkdownString(( localize(7640, "Failed to render content")) + `: ${toErrorMessage(err, false)}`)), content, this.chatContentMarkdownRenderer);
|
|
1970
2037
|
return {
|
|
1971
2038
|
dispose: () => errorPart.dispose(),
|
|
1972
2039
|
domNode: errorPart.domNode,
|
|
@@ -2345,7 +2412,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2345
2412
|
}
|
|
2346
2413
|
const shouldPinToThinking = hookPart.hookType === HookType.PreToolUse || hookPart.hookType === HookType.PostToolUse;
|
|
2347
2414
|
if (shouldPinToThinking) {
|
|
2348
|
-
const hookTitle = hookPart.stopReason ? (hookPart.toolDisplayName ? ( localize(
|
|
2415
|
+
const hookTitle = hookPart.stopReason ? (hookPart.toolDisplayName ? ( localize(7641, "Blocked {0}", hookPart.toolDisplayName)) : ( localize(7642, "Blocked by hook"))) : (hookPart.toolDisplayName ? ( localize(7643, "Used {0}, but received a warning", hookPart.toolDisplayName)) : ( localize(7644, "Tool call received a warning")));
|
|
2349
2416
|
let thinkingPart = this.getLastThinkingPart(templateData.renderedParts);
|
|
2350
2417
|
if (!thinkingPart) {
|
|
2351
2418
|
const newThinking = this.renderThinkingPart({
|
|
@@ -2522,10 +2589,10 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2522
2589
|
return;
|
|
2523
2590
|
}
|
|
2524
2591
|
const questionCount = carousel.questions.length;
|
|
2525
|
-
const question = carousel.questions.length > 0 && carousel.questions[0].message ? carousel.questions[0].message : ( localize(
|
|
2592
|
+
const question = carousel.questions.length > 0 && carousel.questions[0].message ? carousel.questions[0].message : ( localize(7645, "Chat input required."));
|
|
2526
2593
|
const stringQuestion = typeof question === "string" ? question : question.value;
|
|
2527
|
-
const alertMessage = questionCount === 1 ? ( localize(
|
|
2528
|
-
|
|
2594
|
+
const alertMessage = questionCount === 1 ? ( localize(7646, "Chat input required (1 question): {0}", stringQuestion)) : ( localize(
|
|
2595
|
+
7647,
|
|
2529
2596
|
"Chat input required ({0} questions): {1}",
|
|
2530
2597
|
questionCount,
|
|
2531
2598
|
stringQuestion
|
|
@@ -2534,7 +2601,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2534
2601
|
if (stableKey) {
|
|
2535
2602
|
this._notifiedQuestionCarousels.add(stableKey);
|
|
2536
2603
|
}
|
|
2537
|
-
const signalMessage = questionCount === 1 ? ( localize(
|
|
2604
|
+
const signalMessage = questionCount === 1 ? ( localize(7648, "Chat needs your input (1 question).")) : ( localize(7649, "Chat needs your input ({0} questions).", questionCount));
|
|
2538
2605
|
this.accessibilitySignalService.playSignal(AccessibilitySignal.chatUserActionRequired, {
|
|
2539
2606
|
allowManyInParallel: true,
|
|
2540
2607
|
customAlertMessage: signalMessage
|
|
@@ -2580,7 +2647,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2580
2647
|
supportThemeIcons: true
|
|
2581
2648
|
}));
|
|
2582
2649
|
if (overall) {
|
|
2583
|
-
content.appendText(( localize(
|
|
2650
|
+
content.appendText(( localize(7650, "{0}: {1}", message, overall.replace(/\s+/g, " "))));
|
|
2584
2651
|
} else {
|
|
2585
2652
|
content.appendText(message);
|
|
2586
2653
|
}
|
|
@@ -2625,23 +2692,23 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2625
2692
|
}
|
|
2626
2693
|
getPlanReviewProgressMessage(review) {
|
|
2627
2694
|
if (!review.isUsed) {
|
|
2628
|
-
return localize(
|
|
2695
|
+
return localize(7651, "Plan review required");
|
|
2629
2696
|
}
|
|
2630
2697
|
const result = review.data;
|
|
2631
2698
|
if (!result) {
|
|
2632
2699
|
return undefined;
|
|
2633
2700
|
}
|
|
2634
2701
|
if (result.rejected) {
|
|
2635
|
-
return localize(
|
|
2702
|
+
return localize(7652, "Rejected plan");
|
|
2636
2703
|
}
|
|
2637
2704
|
if (result.feedback) {
|
|
2638
|
-
return localize(
|
|
2705
|
+
return localize(7653, "Provided feedback");
|
|
2639
2706
|
}
|
|
2640
2707
|
const action = review.actions.find(a => a.label === result.action);
|
|
2641
2708
|
if (action?.permissionLevel === "autopilot") {
|
|
2642
|
-
return localize(
|
|
2709
|
+
return localize(7654, "Started implementation with Autopilot");
|
|
2643
2710
|
}
|
|
2644
|
-
return localize(
|
|
2711
|
+
return localize(7655, "Approved plan");
|
|
2645
2712
|
}
|
|
2646
2713
|
removeCarouselFromTracking(context, part) {
|
|
2647
2714
|
if (isResponseVM(context.element)) {
|
|
@@ -2674,6 +2741,34 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2674
2741
|
);
|
|
2675
2742
|
return textEditPart;
|
|
2676
2743
|
}
|
|
2744
|
+
renderExternalEdit(content, context, templateData) {
|
|
2745
|
+
const editPart = this.instantiationService.createInstance(ChatExternalEditContentPart, content, context);
|
|
2746
|
+
const collapsedToolsMode = this.configService.getValue("chat.agent.thinking.collapsedTools");
|
|
2747
|
+
if (isResponseVM(context.element) && collapsedToolsMode !== CollapsedToolsDisplayMode.Off && this.shouldPinPart(content, context.element)) {
|
|
2748
|
+
const partId = `externalEdit-${( content.uri.toString())}-${content.undoStopId ?? ""}`;
|
|
2749
|
+
const lastThinking = this.getLastThinkingPart(templateData.renderedParts);
|
|
2750
|
+
if (!lastThinking && collapsedToolsMode === CollapsedToolsDisplayMode.Always) {
|
|
2751
|
+
const thinkingPart = this.renderThinkingPart({
|
|
2752
|
+
kind: "thinking"
|
|
2753
|
+
}, context, templateData);
|
|
2754
|
+
if (thinkingPart instanceof ChatThinkingContentPart) {
|
|
2755
|
+
thinkingPart.appendItem(() => ({
|
|
2756
|
+
domNode: editPart.domNode,
|
|
2757
|
+
disposable: editPart
|
|
2758
|
+
}), partId, content, templateData.value, editPart.onDidChangeDiff, editPart);
|
|
2759
|
+
}
|
|
2760
|
+
return thinkingPart;
|
|
2761
|
+
}
|
|
2762
|
+
if (lastThinking) {
|
|
2763
|
+
lastThinking.appendItem(() => ({
|
|
2764
|
+
domNode: editPart.domNode,
|
|
2765
|
+
disposable: editPart
|
|
2766
|
+
}), partId, content, templateData.value, editPart.onDidChangeDiff, editPart);
|
|
2767
|
+
return this.renderNoContent(other => other.kind === content.kind);
|
|
2768
|
+
}
|
|
2769
|
+
}
|
|
2770
|
+
return editPart;
|
|
2771
|
+
}
|
|
2677
2772
|
renderMarkdown(markdown, templateData, context) {
|
|
2678
2773
|
const element = context.element;
|
|
2679
2774
|
const isBlankMarkdown = !markdown.content.value.trim();
|
|
@@ -2728,7 +2823,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2728
2823
|
})
|
|
2729
2824
|
);
|
|
2730
2825
|
markdownPart.addDisposable(
|
|
2731
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), markdownPart.domNode, ( localize(
|
|
2826
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), markdownPart.domNode, ( localize(7656, "Click to Edit")), {
|
|
2732
2827
|
trapFocus: true
|
|
2733
2828
|
})
|
|
2734
2829
|
);
|
|
@@ -2913,4 +3008,4 @@ function isSubagentToolInvocation(invocation) {
|
|
|
2913
3008
|
return !!getSubagentId(invocation);
|
|
2914
3009
|
}
|
|
2915
3010
|
|
|
2916
|
-
export { ChatListDelegate, ChatListItemRenderer };
|
|
3011
|
+
export { ChatListDelegate, ChatListItemRenderer, shouldScheduleInitialHeightChange };
|
|
@@ -276,6 +276,12 @@ export declare class ChatListWidget extends Disposable {
|
|
|
276
276
|
* Update renderer options.
|
|
277
277
|
*/
|
|
278
278
|
updateRendererOptions(options: IChatListItemRendererOptions): void;
|
|
279
|
+
/**
|
|
280
|
+
* Update the list/tree color overrides. Re-applies the same fan-out from
|
|
281
|
+
* `listBackground`/`listForeground` to all interaction states that was
|
|
282
|
+
* originally configured at construction time.
|
|
283
|
+
*/
|
|
284
|
+
setStyles(styles: IChatListWidgetStyles): void;
|
|
279
285
|
/**
|
|
280
286
|
* Set the visibility of the list.
|
|
281
287
|
*/
|
|
@@ -469,6 +469,27 @@ let ChatListWidget = class ChatListWidget extends Disposable {
|
|
|
469
469
|
updateRendererOptions(options) {
|
|
470
470
|
this._renderer.updateOptions(options);
|
|
471
471
|
}
|
|
472
|
+
setStyles(styles) {
|
|
473
|
+
this._tree.updateOptions({
|
|
474
|
+
overrideStyles: {
|
|
475
|
+
listFocusBackground: styles.listBackground,
|
|
476
|
+
listInactiveFocusBackground: styles.listBackground,
|
|
477
|
+
listActiveSelectionBackground: styles.listBackground,
|
|
478
|
+
listFocusAndSelectionBackground: styles.listBackground,
|
|
479
|
+
listInactiveSelectionBackground: styles.listBackground,
|
|
480
|
+
listHoverBackground: styles.listBackground,
|
|
481
|
+
listBackground: styles.listBackground,
|
|
482
|
+
listFocusForeground: styles.listForeground,
|
|
483
|
+
listHoverForeground: styles.listForeground,
|
|
484
|
+
listInactiveFocusForeground: styles.listForeground,
|
|
485
|
+
listInactiveSelectionForeground: styles.listForeground,
|
|
486
|
+
listActiveSelectionForeground: styles.listForeground,
|
|
487
|
+
listFocusAndSelectionForeground: styles.listForeground,
|
|
488
|
+
listActiveSelectionIconForeground: undefined,
|
|
489
|
+
listInactiveSelectionIconForeground: undefined
|
|
490
|
+
}
|
|
491
|
+
});
|
|
492
|
+
}
|
|
472
493
|
setVisible(visible) {
|
|
473
494
|
this._visible = visible;
|
|
474
495
|
this._renderer.setVisible(visible);
|