@codingame/monaco-vscode-katex-common 33.0.7 → 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 +3 -3
- 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
|
@@ -2,6 +2,7 @@
|
|
|
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
4
|
import { h, addDisposableListener, EventType, DisposableResizeObserver, clearNode, getActiveWindow, getComputedStyle, createTextNode, createElement, $, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
|
+
import { createPixelSpinner } from '../../../../../../../base/browser/ui/pixelSpinner/pixelSpinner.js';
|
|
5
6
|
import { MarkdownString, isMarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
6
7
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
7
8
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
@@ -94,11 +95,13 @@ let TerminalCommandDecoration = class TerminalCommandDecoration extends Disposab
|
|
|
94
95
|
super();
|
|
95
96
|
this._options = _options;
|
|
96
97
|
this._hoverService = _hoverService;
|
|
98
|
+
this._hoverRegistered = false;
|
|
97
99
|
const decorationElements = h("span.chat-terminal-command-decoration@decoration", {
|
|
98
100
|
role: "img",
|
|
99
101
|
tabIndex: 0
|
|
100
102
|
});
|
|
101
103
|
this._element = decorationElements.decoration;
|
|
104
|
+
createPixelSpinner(this._element);
|
|
102
105
|
this._attachElementToContainer();
|
|
103
106
|
}
|
|
104
107
|
_attachElementToContainer() {
|
|
@@ -115,10 +118,12 @@ let TerminalCommandDecoration = class TerminalCommandDecoration extends Disposab
|
|
|
115
118
|
container.insertBefore(decoration, container.firstElementChild ?? null);
|
|
116
119
|
}
|
|
117
120
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
121
|
+
if (!this._hoverRegistered) {
|
|
122
|
+
this._hoverRegistered = true;
|
|
123
|
+
this._register(this._hoverService.setupDelayedHover(decoration, () => ({
|
|
124
|
+
content: this._getHoverText()
|
|
125
|
+
})));
|
|
126
|
+
}
|
|
122
127
|
}
|
|
123
128
|
_getHoverText() {
|
|
124
129
|
const command = this._options.getResolvedCommand();
|
|
@@ -153,12 +158,18 @@ let TerminalCommandDecoration = class TerminalCommandDecoration extends Disposab
|
|
|
153
158
|
}
|
|
154
159
|
const decorationState = getTerminalCommandDecorationState(command, storedState);
|
|
155
160
|
const tooltip = getTerminalCommandDecorationTooltip(command, storedState);
|
|
161
|
+
const isRunning = this._options.getIsRunning();
|
|
156
162
|
decoration.className = `chat-terminal-command-decoration ${DecorationSelector.CommandDecoration}`;
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
decoration.classList.add(
|
|
163
|
+
if (isRunning) {
|
|
164
|
+
const nonIconClasses = decorationState.classNames.filter(c => c !== DecorationSelector.Codicon && !c.startsWith("codicon-"));
|
|
165
|
+
decoration.classList.add("chat-terminal-running-spinner", ...nonIconClasses);
|
|
166
|
+
} else {
|
|
167
|
+
decoration.classList.add(
|
|
168
|
+
DecorationSelector.Codicon,
|
|
169
|
+
...decorationState.classNames,
|
|
170
|
+
...ThemeIcon.asClassNameArray(decorationState.icon)
|
|
171
|
+
);
|
|
160
172
|
}
|
|
161
|
-
decoration.classList.add(...ThemeIcon.asClassNameArray(decorationState.icon));
|
|
162
173
|
const isInteractive = !decoration.classList.contains(DecorationSelector.Default);
|
|
163
174
|
decoration.tabIndex = isInteractive ? 0 : -1;
|
|
164
175
|
if (isInteractive) {
|
|
@@ -173,12 +184,6 @@ let TerminalCommandDecoration = class TerminalCommandDecoration extends Disposab
|
|
|
173
184
|
decoration.removeAttribute("aria-label");
|
|
174
185
|
}
|
|
175
186
|
}
|
|
176
|
-
_attachInteractionHandlers(decoration) {
|
|
177
|
-
if (this._interactionElement === decoration) {
|
|
178
|
-
return;
|
|
179
|
-
}
|
|
180
|
-
this._interactionElement = decoration;
|
|
181
|
-
}
|
|
182
187
|
};
|
|
183
188
|
TerminalCommandDecoration = ( __decorate([( __param(1, IHoverService))], TerminalCommandDecoration));
|
|
184
189
|
let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends BaseChatToolInvocationSubPart {
|
|
@@ -247,7 +252,8 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
247
252
|
terminalData: this._terminalData,
|
|
248
253
|
getCommandBlock: () => elements.commandBlock,
|
|
249
254
|
getIconElement: () => undefined,
|
|
250
|
-
getResolvedCommand: () => this._getResolvedCommand()
|
|
255
|
+
getResolvedCommand: () => this._getResolvedCommand(),
|
|
256
|
+
getIsRunning: () => this._isInvocationRunning()
|
|
251
257
|
}));
|
|
252
258
|
const displayCommand = terminalData.presentationOverrides?.commandLine ?? command;
|
|
253
259
|
const displayLanguage = terminalData.presentationOverrides?.language ?? terminalData.language;
|
|
@@ -327,7 +333,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
327
333
|
const markdownOptions = {
|
|
328
334
|
codeBlockRenderOptions,
|
|
329
335
|
accessibilityOptions: pastTenseMessage ? {
|
|
330
|
-
statusMessage: ( localize(
|
|
336
|
+
statusMessage: ( localize(7555, "{0}", stripIcons(pastTenseMessage)))
|
|
331
337
|
} : undefined
|
|
332
338
|
};
|
|
333
339
|
this.markdownPart = this._register(_instantiationService.createInstance(
|
|
@@ -349,7 +355,14 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
349
355
|
this.getIcon(),
|
|
350
356
|
terminalData.autoApproveInfo
|
|
351
357
|
));
|
|
358
|
+
progressPart.domNode.classList.add("chat-terminal-progress-row");
|
|
352
359
|
this._decoration.update();
|
|
360
|
+
if (toolInvocation.kind === "toolInvocation") {
|
|
361
|
+
this._register(autorun(reader => {
|
|
362
|
+
toolInvocation.state.read(reader);
|
|
363
|
+
this._decoration.update();
|
|
364
|
+
}));
|
|
365
|
+
}
|
|
353
366
|
const terminalToolsInThinking = this._configurationService.getValue(ChatConfiguration.TerminalToolsInThinking);
|
|
354
367
|
const isSimpleTerminal = this._configurationService.getValue(ChatConfiguration.SimpleTerminalCollapsible);
|
|
355
368
|
const requiresConfirmation = toolInvocation.kind === "toolInvocation" && IChatToolInvocation.getConfirmationMessages(toolInvocation);
|
|
@@ -538,12 +551,12 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
538
551
|
this._actionBarActions.clear();
|
|
539
552
|
const actions = [];
|
|
540
553
|
if (this._toolbarCanContinueInBackground) {
|
|
541
|
-
const action = ( new Action(TerminalContribCommandId.ContinueInBackground, ( localize(
|
|
554
|
+
const action = ( new Action(TerminalContribCommandId.ContinueInBackground, ( localize(7556, "Continue in Background")), ThemeIcon.asClassName(Codicon.debugContinue), true, () => this.continueInBackground()));
|
|
542
555
|
this._actionBarActions.add(action);
|
|
543
556
|
actions.push(action);
|
|
544
557
|
}
|
|
545
558
|
if (this._toolbarHasInstance) {
|
|
546
|
-
const focusLabel = this._toolbarIsHiddenTerminal ? ( localize(
|
|
559
|
+
const focusLabel = this._toolbarIsHiddenTerminal ? ( localize(7557, "Show and Focus Terminal")) : ( localize(7558, "Focus Terminal"));
|
|
547
560
|
const action = ( new Action(
|
|
548
561
|
TerminalContribCommandId.FocusChatInstanceAction,
|
|
549
562
|
focusLabel,
|
|
@@ -556,7 +569,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
556
569
|
}
|
|
557
570
|
if (this._toolbarHasOutput && !this._usesCollapsibleWrapper) {
|
|
558
571
|
const toggleIcon = this._toolbarOutputExpanded ? Codicon.chevronDown : Codicon.chevronRight;
|
|
559
|
-
const toggleLabel = this._toolbarOutputExpanded ? ( localize(
|
|
572
|
+
const toggleLabel = this._toolbarOutputExpanded ? ( localize(7559, "Hide Output")) : ( localize(7560, "Show Output"));
|
|
560
573
|
const action = ( new Action(
|
|
561
574
|
TerminalContribCommandId.ToggleChatTerminalOutput,
|
|
562
575
|
toggleLabel,
|
|
@@ -579,6 +592,20 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
579
592
|
}
|
|
580
593
|
return this._resolveCommand(target);
|
|
581
594
|
}
|
|
595
|
+
_isInvocationRunning() {
|
|
596
|
+
const commandExitCode = this._getResolvedCommand()?.exitCode;
|
|
597
|
+
if (commandExitCode !== undefined) {
|
|
598
|
+
return false;
|
|
599
|
+
}
|
|
600
|
+
const storedExitCode = this._terminalData.terminalCommandState?.exitCode;
|
|
601
|
+
if (storedExitCode !== undefined) {
|
|
602
|
+
return false;
|
|
603
|
+
}
|
|
604
|
+
if (!IChatToolInvocation.isComplete(this.toolInvocation)) {
|
|
605
|
+
return true;
|
|
606
|
+
}
|
|
607
|
+
return this._terminalData.isBackground === true || this._terminalData.didContinueInBackground === true;
|
|
608
|
+
}
|
|
582
609
|
_clearCommandAssociation(options) {
|
|
583
610
|
this._terminalCommandUri = undefined;
|
|
584
611
|
if (options?.clearPersistentData) {
|
|
@@ -989,7 +1016,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
989
1016
|
if (!commandText) {
|
|
990
1017
|
return;
|
|
991
1018
|
}
|
|
992
|
-
const ariaLabel = ( localize(
|
|
1019
|
+
const ariaLabel = ( localize(7561, "Terminal output for {0}", commandText));
|
|
993
1020
|
const scrollableDomNode = this._scrollableContainer.getDomNode();
|
|
994
1021
|
scrollableDomNode.setAttribute("role", "region");
|
|
995
1022
|
const accessibleViewHint = this._accessibleViewService.getOpenAriaHint(AccessibilityVerbositySettingId.TerminalChatOutput);
|
|
@@ -1002,26 +1029,26 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1002
1029
|
if (!commandText) {
|
|
1003
1030
|
return undefined;
|
|
1004
1031
|
}
|
|
1005
|
-
const commandHeader = ( localize(
|
|
1032
|
+
const commandHeader = ( localize(7562, "Command: {0}", commandText));
|
|
1006
1033
|
if (command) {
|
|
1007
1034
|
const rawOutput = command.getOutput();
|
|
1008
1035
|
if (!rawOutput || rawOutput.trim().length === 0) {
|
|
1009
|
-
return `${commandHeader}\n${( localize(
|
|
1036
|
+
return `${commandHeader}\n${( localize(7563, "No output was produced by the command."))}`;
|
|
1010
1037
|
}
|
|
1011
1038
|
const lines = rawOutput.split("\n");
|
|
1012
1039
|
return `${commandHeader}\n${lines.join("\n").trimEnd()}`;
|
|
1013
1040
|
}
|
|
1014
1041
|
const snapshot = this._getTerminalCommandOutput();
|
|
1015
1042
|
if (!snapshot) {
|
|
1016
|
-
return `${commandHeader}\n${( localize(
|
|
1043
|
+
return `${commandHeader}\n${( localize(7564, "Command output is no longer available."))}`;
|
|
1017
1044
|
}
|
|
1018
1045
|
const plain = removeAnsiEscapeCodes((snapshot.text ?? ""));
|
|
1019
1046
|
if (!plain.trim().length) {
|
|
1020
|
-
return `${commandHeader}\n${( localize(
|
|
1047
|
+
return `${commandHeader}\n${( localize(7563, "No output was produced by the command."))}`;
|
|
1021
1048
|
}
|
|
1022
1049
|
let outputText = plain.trimEnd();
|
|
1023
1050
|
if (snapshot.truncated) {
|
|
1024
|
-
outputText += `\n${( localize(
|
|
1051
|
+
outputText += `\n${( localize(7565, "Output truncated."))}`;
|
|
1025
1052
|
}
|
|
1026
1053
|
return `${commandHeader}\n${outputText}`;
|
|
1027
1054
|
}
|
|
@@ -1133,7 +1160,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1133
1160
|
}
|
|
1134
1161
|
if (!hasOutput) {
|
|
1135
1162
|
if (commandFinished) {
|
|
1136
|
-
this._showEmptyMessage(( localize(
|
|
1163
|
+
this._showEmptyMessage(( localize(7563, "No output was produced by the command.")));
|
|
1137
1164
|
}
|
|
1138
1165
|
} else {
|
|
1139
1166
|
this._hideEmptyMessage();
|
|
@@ -1160,7 +1187,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1160
1187
|
if (hasText) {
|
|
1161
1188
|
this._hideEmptyMessage();
|
|
1162
1189
|
} else {
|
|
1163
|
-
this._showEmptyMessage(( localize(
|
|
1190
|
+
this._showEmptyMessage(( localize(7563, "No output was produced by the command.")));
|
|
1164
1191
|
}
|
|
1165
1192
|
const lineCount = result?.lineCount ?? snapshot.lineCount ?? 0;
|
|
1166
1193
|
this._layoutOutput(lineCount);
|
|
@@ -1169,9 +1196,9 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1169
1196
|
clearNode(this._terminalContainer);
|
|
1170
1197
|
this._lastRenderedLineCount = undefined;
|
|
1171
1198
|
if (!liveTerminalInstance) {
|
|
1172
|
-
this._showEmptyMessage(( localize(
|
|
1199
|
+
this._showEmptyMessage(( localize(7566, "Terminal is no longer available.")));
|
|
1173
1200
|
} else {
|
|
1174
|
-
this._showEmptyMessage(( localize(
|
|
1201
|
+
this._showEmptyMessage(( localize(7567, "Command information is not available.")));
|
|
1175
1202
|
}
|
|
1176
1203
|
}
|
|
1177
1204
|
async _resolveLiveTerminal() {
|
|
@@ -1298,7 +1325,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1298
1325
|
hoverService,
|
|
1299
1326
|
configurationService
|
|
1300
1327
|
) {
|
|
1301
|
-
const title = isSkipped ? ( localize(
|
|
1328
|
+
const title = isSkipped ? ( localize(7568, "Skipped {0}", commandText)) : isRunningInBackground ? ( localize(7569, "Running {0} in background", commandText)) : isComplete ? ( localize(7570, "Ran {0}", commandText)) : ( localize(7571, "Running {0}", commandText));
|
|
1302
1329
|
super(title, context, undefined, hoverService, configurationService);
|
|
1303
1330
|
this._showLinkDisposables = this._register(( new MutableDisposable()));
|
|
1304
1331
|
this._terminalContentElement = contentElement;
|
|
@@ -1323,8 +1350,8 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1323
1350
|
const labelElement = this._collapseButton.labelElement;
|
|
1324
1351
|
labelElement.textContent = "";
|
|
1325
1352
|
if (this._isSandboxWrapped) {
|
|
1326
|
-
const prefixText = this._isSkipped ? ( localize(
|
|
1327
|
-
const suffixText = this._isRunningInBackground ? ( localize(
|
|
1353
|
+
const prefixText = this._isSkipped ? ( localize(7572, "Skipped ")) : this._isComplete ? ( localize(7573, "Ran ")) : ( localize(7574, "Running "));
|
|
1354
|
+
const suffixText = this._isRunningInBackground ? ( localize(7575, " in sandbox (background)")) : ( localize(7576, " in sandbox"));
|
|
1328
1355
|
labelElement.appendChild(createTextNode(prefixText));
|
|
1329
1356
|
const codeElement = createElement("code");
|
|
1330
1357
|
codeElement.textContent = this._commandText;
|
|
@@ -1332,14 +1359,14 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1332
1359
|
labelElement.appendChild(createTextNode(suffixText));
|
|
1333
1360
|
return;
|
|
1334
1361
|
}
|
|
1335
|
-
const prefixText = this._isSkipped ? ( localize(
|
|
1362
|
+
const prefixText = this._isSkipped ? ( localize(7577, "Skipped ")) : this._isComplete ? ( localize(7578, "Ran ")) : ( localize(7579, "Running "));
|
|
1336
1363
|
const ranText = createTextNode(prefixText);
|
|
1337
1364
|
const codeElement = createElement("code");
|
|
1338
1365
|
codeElement.textContent = this._commandText;
|
|
1339
1366
|
labelElement.appendChild(ranText);
|
|
1340
1367
|
labelElement.appendChild(codeElement);
|
|
1341
1368
|
if (this._isRunningInBackground) {
|
|
1342
|
-
labelElement.appendChild(createTextNode(( localize(
|
|
1369
|
+
labelElement.appendChild(createTextNode(( localize(7580, " in background"))));
|
|
1343
1370
|
}
|
|
1344
1371
|
}
|
|
1345
1372
|
_updateShowLink() {
|
|
@@ -1355,7 +1382,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1355
1382
|
const container = $("span.chat-terminal-show-link-container");
|
|
1356
1383
|
container.appendChild(createTextNode(" — "));
|
|
1357
1384
|
const showLink = $("span.chat-terminal-show-link");
|
|
1358
|
-
showLink.textContent = ( localize(
|
|
1385
|
+
showLink.textContent = ( localize(7581, "Show"));
|
|
1359
1386
|
showLink.role = "button";
|
|
1360
1387
|
showLink.tabIndex = 0;
|
|
1361
1388
|
store.add(addDisposableListener(showLink, EventType.CLICK, e => {
|
|
@@ -54,7 +54,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
54
54
|
this.domNode = elements.root;
|
|
55
55
|
this.domNode.tabIndex = -1;
|
|
56
56
|
this.domNode.setAttribute("role", "group");
|
|
57
|
-
this.domNode.setAttribute("aria-label", ( localize(
|
|
57
|
+
this.domNode.setAttribute("aria-label", ( localize(7582, "Tool confirmation carousel")));
|
|
58
58
|
this.collapsedTitle = elements.collapsedTitle;
|
|
59
59
|
this.agentLabel = elements.agentLabel;
|
|
60
60
|
this.contentContainer = elements.content;
|
|
@@ -74,7 +74,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
74
74
|
small: true
|
|
75
75
|
})));
|
|
76
76
|
this.allowAllButton.element.classList.add("chat-tool-carousel-allow-all-button");
|
|
77
|
-
this.allowAllButton.label = ( localize(
|
|
77
|
+
this.allowAllButton.label = ( localize(7583, "Allow All"));
|
|
78
78
|
this._register(this.allowAllButton.onDidClick(() => this.allowAll()));
|
|
79
79
|
this.expandContentButton = this._register(( new Button(elements.overlayActions, {
|
|
80
80
|
...defaultButtonStyles,
|
|
@@ -96,7 +96,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
96
96
|
})));
|
|
97
97
|
this.dismissButton.element.classList.add("chat-tool-carousel-dismiss-button");
|
|
98
98
|
this.dismissButton.label = `$(${Codicon.close.id})`;
|
|
99
|
-
const dismissButtonLabel = this.items.length === 1 ? ( localize(
|
|
99
|
+
const dismissButtonLabel = this.items.length === 1 ? ( localize(7584, "Skip")) : ( localize(7585, "Skip All"));
|
|
100
100
|
this.dismissButton.element.setAttribute("aria-label", dismissButtonLabel);
|
|
101
101
|
this.dismissButton.element.title = dismissButtonLabel;
|
|
102
102
|
this._register(this.dismissButton.onDidClick(() => this.skipAll()));
|
|
@@ -107,7 +107,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
107
107
|
})));
|
|
108
108
|
this.prevButton.element.classList.add("chat-tool-carousel-nav-arrow");
|
|
109
109
|
this.prevButton.label = `$(${Codicon.chevronLeft.id})`;
|
|
110
|
-
this.prevButton.element.setAttribute("aria-label", ( localize(
|
|
110
|
+
this.prevButton.element.setAttribute("aria-label", ( localize(7586, "Previous")));
|
|
111
111
|
this._register(this.prevButton.onDidClick(() => this.navigateRelative(-1)));
|
|
112
112
|
this.nextButton = this._register(( new Button(elements.navArrows, {
|
|
113
113
|
...defaultButtonStyles,
|
|
@@ -116,7 +116,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
116
116
|
})));
|
|
117
117
|
this.nextButton.element.classList.add("chat-tool-carousel-nav-arrow");
|
|
118
118
|
this.nextButton.label = `$(${Codicon.chevronRight.id})`;
|
|
119
|
-
this.nextButton.element.setAttribute("aria-label", ( localize(
|
|
119
|
+
this.nextButton.element.setAttribute("aria-label", ( localize(7587, "Next")));
|
|
120
120
|
this._register(this.nextButton.onDidClick(() => this.navigateRelative(1)));
|
|
121
121
|
this._register(addDisposableListener(this.agentLabel, "click", e => {
|
|
122
122
|
e.preventDefault();
|
|
@@ -308,7 +308,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
308
308
|
if (item?.agentName) {
|
|
309
309
|
this.agentLabel.textContent = `\u2014 ${item.agentName}`;
|
|
310
310
|
this.agentLabel.disabled = !item.subAgentInvocationId || !item.scrollToSubagent;
|
|
311
|
-
this.agentLabel.title = ( localize(
|
|
311
|
+
this.agentLabel.title = ( localize(7588, "Scroll to {0}", item.agentName));
|
|
312
312
|
this.agentLabel.setAttribute("aria-label", this.agentLabel.title);
|
|
313
313
|
show(this.agentLabel);
|
|
314
314
|
} else {
|
|
@@ -326,7 +326,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
326
326
|
setVisibility(multi, this.nextButton.element);
|
|
327
327
|
setVisibility(multi, this.allowAllButton.element);
|
|
328
328
|
setVisibility(this.canExpandContent, this.expandContentButton.element);
|
|
329
|
-
this.allowAllButton.label = multi ? ( localize(
|
|
329
|
+
this.allowAllButton.label = multi ? ( localize(7583, "Allow All")) : ( localize(7589, "Allow"));
|
|
330
330
|
this.updateExpandContentButton();
|
|
331
331
|
}
|
|
332
332
|
renderActiveContent() {
|
|
@@ -381,7 +381,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
381
381
|
}
|
|
382
382
|
updateExpandContentButton() {
|
|
383
383
|
const expanded = this.canExpandContent && this._isContentExpanded;
|
|
384
|
-
const label = expanded ? ( localize(
|
|
384
|
+
const label = expanded ? ( localize(7590, "Restore Confirmation Size")) : ( localize(7591, "Expand Confirmation Up"));
|
|
385
385
|
this.expandContentButton.label = expanded ? `$(${Codicon.screenNormal.id})` : `$(${Codicon.screenFull.id})`;
|
|
386
386
|
this.expandContentButton.element.setAttribute("aria-label", label);
|
|
387
387
|
this.expandContentButton.element.setAttribute("aria-expanded", String(expanded));
|
|
@@ -78,8 +78,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
78
78
|
this.render({
|
|
79
79
|
allowActionId: AcceptToolConfirmationActionId,
|
|
80
80
|
skipActionId: SkipToolConfirmationActionId,
|
|
81
|
-
allowLabel: state.confirmationMessages.confirmResults ? ( localize(
|
|
82
|
-
skipLabel: ( localize(
|
|
81
|
+
allowLabel: state.confirmationMessages.confirmResults ? ( localize(7592, "Allow and Review Once")) : ( localize(7593, "Allow Once")),
|
|
82
|
+
skipLabel: ( localize(7594, "Proceed without running this tool")),
|
|
83
83
|
partType: "chatToolConfirmation",
|
|
84
84
|
subtitle: typeof toolInvocation.originMessage === "string" ? toolInvocation.originMessage : toolInvocation.originMessage?.value
|
|
85
85
|
});
|
|
@@ -125,7 +125,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
125
125
|
}
|
|
126
126
|
if (state.confirmationMessages?.confirmResults) {
|
|
127
127
|
actions.unshift({
|
|
128
|
-
label: ( localize(
|
|
128
|
+
label: ( localize(7595, "Allow and Skip Reviewing Result")),
|
|
129
129
|
data: () => {
|
|
130
130
|
state.confirmationMessages.confirmResults = undefined;
|
|
131
131
|
this.confirmWith(this.toolInvocation, {
|
|
@@ -167,11 +167,11 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
167
167
|
};
|
|
168
168
|
const elements = h("div", [h(".message@messageContainer", [
|
|
169
169
|
h(".message-wrapper@message"),
|
|
170
|
-
h(".see-more@showMore", [h("a", [( localize(
|
|
170
|
+
h(".see-more@showMore", [h("a", [( localize(7596, "Show More"))])])
|
|
171
171
|
]), h(".editor@editor"), h(".disclaimer@disclaimer")]);
|
|
172
172
|
if (toolInvocation.toolSpecificData?.kind === "input" && toolInvocation.toolSpecificData.rawInput && !isEmptyObject(toolInvocation.toolSpecificData.rawInput)) {
|
|
173
173
|
const titleEl = createElement("h3");
|
|
174
|
-
titleEl.textContent = ( localize(
|
|
174
|
+
titleEl.textContent = ( localize(7597, "Input"));
|
|
175
175
|
elements.editor.appendChild(titleEl);
|
|
176
176
|
const inputData = toolInvocation.toolSpecificData;
|
|
177
177
|
const codeBlockRenderOptions = {
|
|
@@ -241,7 +241,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
241
241
|
elements.editor.append(editor.object.element);
|
|
242
242
|
if (canSeeMore) {
|
|
243
243
|
const seeMore = h("div.see-more", [h("a@link")]);
|
|
244
|
-
seeMore.link.textContent = ( localize(
|
|
244
|
+
seeMore.link.textContent = ( localize(7598, "See more"));
|
|
245
245
|
this._register(addDisposableGenericMouseDownListener(seeMore.link, () => {
|
|
246
246
|
try {
|
|
247
247
|
const parsed = JSON.parse(model.getValue());
|
|
@@ -67,7 +67,7 @@ let ChatToolOutputSubPart = class ChatToolOutputSubPart extends BaseChatToolInvo
|
|
|
67
67
|
parent.style.height = `${partState.height}px`;
|
|
68
68
|
}
|
|
69
69
|
const progressMessage = $("span");
|
|
70
|
-
progressMessage.textContent = ( localize(
|
|
70
|
+
progressMessage.textContent = ( localize(7599, "Rendering tool output..."));
|
|
71
71
|
const progressPart = this._register(this.instantiationService.createInstance(
|
|
72
72
|
ChatProgressSubPart,
|
|
73
73
|
progressMessage,
|
|
@@ -110,7 +110,7 @@ let ChatToolOutputSubPart = class ChatToolOutputSubPart extends BaseChatToolInvo
|
|
|
110
110
|
iconElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.error));
|
|
111
111
|
errorHeaderNode.append(iconElement);
|
|
112
112
|
const errorTitleNode = $(".output-error-title");
|
|
113
|
-
errorTitleNode.textContent = ( localize(
|
|
113
|
+
errorTitleNode.textContent = ( localize(7600, "Error rendering the tool output"));
|
|
114
114
|
errorHeaderNode.append(errorTitleNode);
|
|
115
115
|
const errorMessageNode = $(".output-error-details");
|
|
116
116
|
errorMessageNode.textContent = error?.message || String(error);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
|
|
2
2
|
import { ConfirmedReason, IChatToolInvocation, IChatToolInvocationSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
3
3
|
export declare function isMcpToolInvocation(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized): boolean;
|
|
4
|
+
export declare function isAskQuestionsToolInvocation(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized): boolean;
|
|
4
5
|
/**
|
|
5
6
|
* Determines whether a tool invocation's progress text should shimmer.
|
|
6
|
-
* MCP tools shimmer; askQuestions defers to the caller's default; all others opt out.
|
|
7
7
|
*/
|
|
8
|
-
export declare function shouldShimmerForTool(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized): boolean;
|
|
8
|
+
export declare function shouldShimmerForTool(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, content: string | IMarkdownString | undefined): boolean;
|
|
9
9
|
/**
|
|
10
10
|
* Creates a markdown message explaining why a tool was auto-approved.
|
|
11
11
|
* @param toolInvocation The tool invocation to get the approval message for
|
|
@@ -6,14 +6,17 @@ import { IChatToolInvocation, ToolConfirmKind } from '@codingame/monaco-vscode-a
|
|
|
6
6
|
function isMcpToolInvocation(toolInvocation) {
|
|
7
7
|
return toolInvocation.source?.type === "mcp" || toolInvocation.toolId.toLowerCase().includes("mcp");
|
|
8
8
|
}
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (toolInvocation
|
|
9
|
+
function isAskQuestionsToolInvocation(toolInvocation) {
|
|
10
|
+
return toolInvocation.toolId === "copilot_askQuestions" || toolInvocation.toolId === "vscode_askQuestions";
|
|
11
|
+
}
|
|
12
|
+
function shouldShimmerForTool(toolInvocation, content) {
|
|
13
|
+
if (!isAskQuestionsToolInvocation(toolInvocation) || IChatToolInvocation.isComplete(toolInvocation)) {
|
|
14
14
|
return false;
|
|
15
15
|
}
|
|
16
|
-
return
|
|
16
|
+
return getMarkdownValue(content) === getMarkdownValue(toolInvocation.invocationMessage);
|
|
17
|
+
}
|
|
18
|
+
function getMarkdownValue(content) {
|
|
19
|
+
return (typeof content === "string" ? content : content?.value)?.replaceAll(" ", " ").replace(/\\[\\`*_{}\[\]()#+\-!~]/g, escaped => escaped.slice(1));
|
|
17
20
|
}
|
|
18
21
|
function getToolApprovalMessage(toolInvocation) {
|
|
19
22
|
const reason = IChatToolInvocation.executionConfirmedOrDenied(toolInvocation);
|
|
@@ -26,20 +29,20 @@ function getApprovalMessageFromReason(reason) {
|
|
|
26
29
|
let md;
|
|
27
30
|
switch (reason.type) {
|
|
28
31
|
case ToolConfirmKind.Setting:
|
|
29
|
-
md = ( localize(
|
|
32
|
+
md = ( localize(7601, "Auto approved by {0}", createMarkdownCommandLink({
|
|
30
33
|
text: "`" + reason.id + "`",
|
|
31
34
|
id: "workbench.action.openSettings",
|
|
32
35
|
arguments: [reason.id],
|
|
33
|
-
tooltip: ( localize(
|
|
36
|
+
tooltip: ( localize(7602, "Open settings"))
|
|
34
37
|
}, false)));
|
|
35
38
|
break;
|
|
36
39
|
case ToolConfirmKind.LmServicePerTool:
|
|
37
|
-
md = reason.scope === "session" ? ( localize(
|
|
40
|
+
md = reason.scope === "session" ? ( localize(7603, "Auto approved for this session")) : reason.scope === "workspace" ? ( localize(7604, "Auto approved for this workspace")) : ( localize(7605, "Auto approved for this profile"));
|
|
38
41
|
md += " (" + createMarkdownCommandLink({
|
|
39
|
-
text: ( localize(
|
|
42
|
+
text: ( localize(7606, "Edit")),
|
|
40
43
|
id: "workbench.action.chat.editToolApproval",
|
|
41
44
|
arguments: [reason.scope],
|
|
42
|
-
tooltip: ( localize(
|
|
45
|
+
tooltip: ( localize(7607, "Edit tool approval settings"))
|
|
43
46
|
}) + ")";
|
|
44
47
|
break;
|
|
45
48
|
case ToolConfirmKind.ConfirmationNotNeeded:
|
|
@@ -59,4 +62,4 @@ function getApprovalMessageFromReason(reason) {
|
|
|
59
62
|
}));
|
|
60
63
|
}
|
|
61
64
|
|
|
62
|
-
export { getApprovalMessageFromReason, getToolApprovalMessage, isMcpToolInvocation, shouldShimmerForTool };
|
|
65
|
+
export { getApprovalMessageFromReason, getToolApprovalMessage, isAskQuestionsToolInvocation, isMcpToolInvocation, shouldShimmerForTool };
|
|
@@ -46,8 +46,8 @@ let ChatToolPostExecuteConfirmationPart = class ChatToolPostExecuteConfirmationP
|
|
|
46
46
|
this.render({
|
|
47
47
|
allowActionId: AcceptToolPostConfirmationActionId,
|
|
48
48
|
skipActionId: SkipToolPostConfirmationActionId,
|
|
49
|
-
allowLabel: ( localize(
|
|
50
|
-
skipLabel: ( localize(
|
|
49
|
+
allowLabel: ( localize(7608, "Allow Once")),
|
|
50
|
+
skipLabel: ( localize(7609, "Skip Results")),
|
|
51
51
|
partType: "chatToolPostConfirmation",
|
|
52
52
|
subtitle: typeof subtitle === "string" ? subtitle : subtitle?.value
|
|
53
53
|
});
|
|
@@ -63,7 +63,7 @@ let ChatToolPostExecuteConfirmationPart = class ChatToolPostExecuteConfirmationP
|
|
|
63
63
|
return this.createResultsDisplay(this.toolInvocation, state.contentForModel);
|
|
64
64
|
}
|
|
65
65
|
getTitle() {
|
|
66
|
-
return localize(
|
|
66
|
+
return localize(7610, "Approve Tool Result");
|
|
67
67
|
}
|
|
68
68
|
additionalPrimaryActions() {
|
|
69
69
|
const actions = super.additionalPrimaryActions();
|
|
@@ -99,7 +99,7 @@ let ChatToolPostExecuteConfirmationPart = class ChatToolPostExecuteConfirmationP
|
|
|
99
99
|
createResultsDisplay(toolInvocation, contentForModel) {
|
|
100
100
|
const container = $(".tool-postconfirm-display");
|
|
101
101
|
if (!contentForModel || contentForModel.length === 0) {
|
|
102
|
-
container.textContent = ( localize(
|
|
102
|
+
container.textContent = ( localize(7611, "No results to display"));
|
|
103
103
|
return container;
|
|
104
104
|
}
|
|
105
105
|
const parts = [];
|
|
@@ -214,7 +214,7 @@ let ChatToolPostExecuteConfirmationPart = class ChatToolPostExecuteConfirmationP
|
|
|
214
214
|
outputSubPart.domNode.classList.add("tool-postconfirm-display");
|
|
215
215
|
return outputSubPart.domNode;
|
|
216
216
|
}
|
|
217
|
-
container.textContent = ( localize(
|
|
217
|
+
container.textContent = ( localize(7612, "No displayable results"));
|
|
218
218
|
return container;
|
|
219
219
|
}
|
|
220
220
|
};
|
|
@@ -17,6 +17,7 @@ export declare class ChatToolProgressSubPart extends BaseChatToolInvocationSubPa
|
|
|
17
17
|
private createProgressPart;
|
|
18
18
|
private get toolIsConfirmed();
|
|
19
19
|
private renderProgressContent;
|
|
20
|
+
private getProgressIcon;
|
|
20
21
|
private getAnnouncementKey;
|
|
21
22
|
private computeShouldAnnounce;
|
|
22
23
|
private provideScreenReaderStatus;
|
|
@@ -3,9 +3,11 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
|
|
|
3
3
|
import { createElement, clearNode, reset } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
4
|
import { renderAsPlaintext } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
|
|
5
5
|
import { status } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
|
|
6
|
+
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
6
7
|
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
7
8
|
import { stripIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iconLabels';
|
|
8
9
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
10
|
+
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
9
11
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
10
12
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
11
13
|
import { IChatToolInvocation, ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
@@ -89,18 +91,23 @@ let ChatToolProgressSubPart = class ChatToolProgressSubPart extends BaseChatTool
|
|
|
89
91
|
if (shouldAnnounce) {
|
|
90
92
|
this.provideScreenReaderStatus(content);
|
|
91
93
|
}
|
|
94
|
+
const shouldShimmer = shouldShimmerForTool(this.toolInvocation, content);
|
|
92
95
|
return this.instantiationService.createInstance(
|
|
93
96
|
ChatProgressContentPart,
|
|
94
97
|
progressMessage,
|
|
95
98
|
this.renderer,
|
|
96
99
|
this.context,
|
|
97
|
-
undefined,
|
|
100
|
+
shouldShimmer ? true : undefined,
|
|
98
101
|
true,
|
|
99
|
-
this.
|
|
102
|
+
this.getProgressIcon(),
|
|
100
103
|
this.toolInvocation,
|
|
101
|
-
|
|
104
|
+
shouldShimmer
|
|
102
105
|
);
|
|
103
106
|
}
|
|
107
|
+
getProgressIcon() {
|
|
108
|
+
const icon = this.getIcon();
|
|
109
|
+
return ThemeIcon.isEqual(icon, ThemeIcon.modify(Codicon.loading, "spin")) ? Codicon.check : icon;
|
|
110
|
+
}
|
|
104
111
|
getAnnouncementKey(kind) {
|
|
105
112
|
return `${kind}:${this.toolInvocation.toolCallId}`;
|
|
106
113
|
}
|
|
@@ -50,8 +50,8 @@ export declare class TerminalToolAutoExpand extends Disposable {
|
|
|
50
50
|
private readonly _options;
|
|
51
51
|
private _commandFinished;
|
|
52
52
|
private _receivedData;
|
|
53
|
-
private _dataEventTimeout;
|
|
54
|
-
private _noDataTimeout;
|
|
53
|
+
private readonly _dataEventTimeout;
|
|
54
|
+
private readonly _noDataTimeout;
|
|
55
55
|
private readonly _onDidRequestExpand;
|
|
56
56
|
readonly onDidRequestExpand: Event<void>;
|
|
57
57
|
constructor(_options: ITerminalToolAutoExpandOptions);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
2
|
+
import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
3
3
|
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
4
4
|
import { disposableTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
5
5
|
|
|
@@ -14,6 +14,8 @@ class TerminalToolAutoExpand extends Disposable {
|
|
|
14
14
|
this._options = _options;
|
|
15
15
|
this._commandFinished = false;
|
|
16
16
|
this._receivedData = false;
|
|
17
|
+
this._dataEventTimeout = this._register(( new MutableDisposable()));
|
|
18
|
+
this._noDataTimeout = this._register(( new MutableDisposable()));
|
|
17
19
|
this._onDidRequestExpand = this._register(( new Emitter()));
|
|
18
20
|
this.onDidRequestExpand = this._onDidRequestExpand.event;
|
|
19
21
|
this._setupListeners();
|
|
@@ -21,14 +23,13 @@ class TerminalToolAutoExpand extends Disposable {
|
|
|
21
23
|
_setupListeners() {
|
|
22
24
|
const store = this._register(( new DisposableStore()));
|
|
23
25
|
store.add(this._options.onCommandExecuted(() => {
|
|
24
|
-
if (this._options.shouldAutoExpand() && !this._noDataTimeout) {
|
|
25
|
-
this._noDataTimeout = disposableTimeout(() => {
|
|
26
|
-
this._noDataTimeout
|
|
26
|
+
if (this._options.shouldAutoExpand() && !this._noDataTimeout.value) {
|
|
27
|
+
this._noDataTimeout.value = disposableTimeout(() => {
|
|
28
|
+
this._noDataTimeout.clear();
|
|
27
29
|
const shouldExpand = this._options.shouldAutoExpand();
|
|
28
30
|
const hasOutput = this._options.hasRealOutput();
|
|
29
31
|
if (shouldExpand && hasOutput) {
|
|
30
|
-
this._dataEventTimeout
|
|
31
|
-
this._dataEventTimeout = undefined;
|
|
32
|
+
this._dataEventTimeout.clear();
|
|
32
33
|
this._onDidRequestExpand.fire();
|
|
33
34
|
}
|
|
34
35
|
}, TerminalToolAutoExpandTimeout.NoData, store);
|
|
@@ -39,14 +40,13 @@ class TerminalToolAutoExpand extends Disposable {
|
|
|
39
40
|
return;
|
|
40
41
|
}
|
|
41
42
|
this._receivedData = true;
|
|
42
|
-
if (this._options.shouldAutoExpand() && !this._dataEventTimeout) {
|
|
43
|
-
this._dataEventTimeout = disposableTimeout(() => {
|
|
44
|
-
this._dataEventTimeout
|
|
43
|
+
if (this._options.shouldAutoExpand() && !this._dataEventTimeout.value) {
|
|
44
|
+
this._dataEventTimeout.value = disposableTimeout(() => {
|
|
45
|
+
this._dataEventTimeout.clear();
|
|
45
46
|
const shouldExpand = this._options.shouldAutoExpand();
|
|
46
47
|
const hasOutput = this._options.hasRealOutput();
|
|
47
48
|
if (!this._commandFinished && shouldExpand && hasOutput) {
|
|
48
|
-
this._noDataTimeout
|
|
49
|
-
this._noDataTimeout = undefined;
|
|
49
|
+
this._noDataTimeout.clear();
|
|
50
50
|
this._onDidRequestExpand.fire();
|
|
51
51
|
}
|
|
52
52
|
}, TerminalToolAutoExpandTimeout.DataEvent, store);
|
|
@@ -58,10 +58,8 @@ class TerminalToolAutoExpand extends Disposable {
|
|
|
58
58
|
}));
|
|
59
59
|
}
|
|
60
60
|
_clearAutoExpandTimeouts() {
|
|
61
|
-
this._dataEventTimeout
|
|
62
|
-
this.
|
|
63
|
-
this._noDataTimeout?.dispose();
|
|
64
|
-
this._noDataTimeout = undefined;
|
|
61
|
+
this._dataEventTimeout.clear();
|
|
62
|
+
this._noDataTimeout.clear();
|
|
65
63
|
}
|
|
66
64
|
}
|
|
67
65
|
|