@codingame/monaco-vscode-katex-common 30.0.1 → 31.0.1
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/platform/actions/browser/actionbar.d.ts +16 -0
- package/vscode/src/vs/platform/actions/browser/actionbar.js +22 -0
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
- package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
- package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +73 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +51 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +64 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +17 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +73 -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 +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +20 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +73 -49
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +0 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +41 -99
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +13 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +14 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +11 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +339 -161
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +9 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +33 -5
- 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/chatCollections.d.ts +43 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.js +147 -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.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +55 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +7 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +42 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animation.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.js +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.js +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/buffer.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.js +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.js +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.js +68 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +77 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +170 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/media/chatIncrementalRendering.css +112 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +24 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +111 -145
- 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.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +425 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +16 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +68 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +101 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +36 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +217 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
- 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 +23 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +168 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +18 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +7 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +1 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +7 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +24 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +104 -78
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +11 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +257 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +286 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
- 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/chatMcpAppModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +15 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +25 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +29 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +258 -321
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +392 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +24 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +9 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
- 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/terminalToolAutoExpand.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +2 -3
- 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 +38 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +577 -113
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +4 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +1 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +58 -75
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +44 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +362 -188
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +42 -95
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +57 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +21 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/{modelPickerActionItem2.js → modelPickerActionItem.js} +5 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +38 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +94 -40
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +218 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +12 -21
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -32
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +355 -156
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +2 -13
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +72 -65
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +4 -43
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +238 -204
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +4 -19
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +128 -115
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +6 -9
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +152 -49
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +64 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +40 -40
- 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/workbench/contrib/terminal/terminalContribChatExports.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +165 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +163 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +142 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +144 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +256 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +94 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +221 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +168 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +47 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +32 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +108 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +412 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +192 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2258 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +43 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +141 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +85 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +608 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +0 -196
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.d.ts +0 -46
- package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +0 -215
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +0 -18
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +0 -107
|
@@ -28,6 +28,9 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
|
|
|
28
28
|
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
29
29
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
30
30
|
import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
|
|
31
|
+
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
32
|
+
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
|
|
33
|
+
import { RunInTerminalTool } from '../../../../terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js';
|
|
31
34
|
import * as chatQuestionCarousel from './media/chatQuestionCarousel.css';
|
|
32
35
|
|
|
33
36
|
registerCss(chatQuestionCarousel);
|
|
@@ -42,7 +45,8 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
42
45
|
_hoverService,
|
|
43
46
|
_accessibilityService,
|
|
44
47
|
_contextKeyService,
|
|
45
|
-
_keybindingService
|
|
48
|
+
_keybindingService,
|
|
49
|
+
_commandService
|
|
46
50
|
) {
|
|
47
51
|
super();
|
|
48
52
|
this.carousel = carousel;
|
|
@@ -52,6 +56,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
52
56
|
this._accessibilityService = _accessibilityService;
|
|
53
57
|
this._contextKeyService = _contextKeyService;
|
|
54
58
|
this._keybindingService = _keybindingService;
|
|
59
|
+
this._commandService = _commandService;
|
|
55
60
|
this._onDidChangeHeight = this._register(( new Emitter()));
|
|
56
61
|
this.onDidChangeHeight = this._onDidChangeHeight.event;
|
|
57
62
|
this._currentIndex = 0;
|
|
@@ -80,7 +85,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
80
85
|
});
|
|
81
86
|
this.domNode.tabIndex = 0;
|
|
82
87
|
this.domNode.setAttribute("role", "region");
|
|
83
|
-
this.domNode.setAttribute("aria-roledescription", ( localize(
|
|
88
|
+
this.domNode.setAttribute("aria-roledescription", ( localize(6873, "chat question")));
|
|
84
89
|
this._updateAriaLabel();
|
|
85
90
|
if (carousel instanceof ChatQuestionCarouselData) {
|
|
86
91
|
if (typeof carousel.draftCurrentIndex === "number") {
|
|
@@ -112,7 +117,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
112
117
|
this._questionContainer = $(".chat-question-carousel-content");
|
|
113
118
|
this.domNode.append(this._questionContainer);
|
|
114
119
|
this._headerActionsContainer = $(".chat-question-header-actions");
|
|
115
|
-
const collapseToggleTitle = ( localize(
|
|
120
|
+
const collapseToggleTitle = ( localize(6874, "Collapse Questions"));
|
|
116
121
|
const collapseButton = interactiveStore.add(( new Button(this._headerActionsContainer, {
|
|
117
122
|
...defaultButtonStyles,
|
|
118
123
|
secondary: true,
|
|
@@ -123,7 +128,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
123
128
|
this._collapseButton = collapseButton;
|
|
124
129
|
if (carousel.allowSkip) {
|
|
125
130
|
this._closeButtonContainer = $(".chat-question-close-container");
|
|
126
|
-
const skipAllTitle = ( localize(
|
|
131
|
+
const skipAllTitle = ( localize(6875, "Skip all questions"));
|
|
127
132
|
const skipAllButton = interactiveStore.add(( new Button(this._closeButtonContainer, {
|
|
128
133
|
...defaultButtonStyles,
|
|
129
134
|
secondary: true,
|
|
@@ -137,6 +142,33 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
137
142
|
}));
|
|
138
143
|
this._skipAllButton = skipAllButton;
|
|
139
144
|
}
|
|
145
|
+
if (carousel.terminalId) {
|
|
146
|
+
this._focusTerminalButtonContainer = $(".chat-question-focus-terminal-container");
|
|
147
|
+
const focusTerminalTitle = ( localize(6876, "Focus Terminal"));
|
|
148
|
+
const focusTerminalButton = interactiveStore.add(( new Button(this._focusTerminalButtonContainer, {
|
|
149
|
+
...defaultButtonStyles,
|
|
150
|
+
secondary: true,
|
|
151
|
+
supportIcons: true
|
|
152
|
+
})));
|
|
153
|
+
focusTerminalButton.label = `$(${Codicon.terminal.id})`;
|
|
154
|
+
focusTerminalButton.element.classList.add("chat-question-focus-terminal");
|
|
155
|
+
focusTerminalButton.element.setAttribute("aria-label", focusTerminalTitle);
|
|
156
|
+
interactiveStore.add(this._hoverService.setupDelayedHover(focusTerminalButton.element, {
|
|
157
|
+
content: focusTerminalTitle
|
|
158
|
+
}));
|
|
159
|
+
interactiveStore.add(focusTerminalButton.onDidClick(() => this._focusTerminal()));
|
|
160
|
+
const execution = RunInTerminalTool.getExecution(carousel.terminalId);
|
|
161
|
+
if (execution) {
|
|
162
|
+
interactiveStore.add(execution.instance.onDidInputData(() => {
|
|
163
|
+
if (!this._isSkipped) {
|
|
164
|
+
if (carousel instanceof ChatQuestionCarouselData) {
|
|
165
|
+
carousel.dismissedByTerminalInput = true;
|
|
166
|
+
}
|
|
167
|
+
this.ignore();
|
|
168
|
+
}
|
|
169
|
+
}));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
140
172
|
interactiveStore.add(collapseButton.onDidClick(() => this.toggleCollapsed()));
|
|
141
173
|
if (this._skipAllButton) {
|
|
142
174
|
interactiveStore.add(this._skipAllButton.onDidClick(() => this.ignore()));
|
|
@@ -201,11 +233,18 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
201
233
|
this.updateCollapsedPresentation();
|
|
202
234
|
this._onDidChangeHeight.fire();
|
|
203
235
|
}
|
|
236
|
+
_focusTerminal() {
|
|
237
|
+
const terminalId = this.carousel.terminalId;
|
|
238
|
+
if (!terminalId) {
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
this._commandService.executeCommand("workbench.action.terminal.chat.focusTerminalByExecutionId", terminalId);
|
|
242
|
+
}
|
|
204
243
|
updateCollapsedPresentation() {
|
|
205
244
|
this.domNode.classList.toggle("chat-question-carousel-collapsed", this._isCollapsed);
|
|
206
245
|
if (this._collapseButton) {
|
|
207
246
|
const collapsed = this._isCollapsed;
|
|
208
|
-
const buttonTitle = collapsed ? ( localize(
|
|
247
|
+
const buttonTitle = collapsed ? ( localize(6877, "Expand Questions")) : ( localize(6874, "Collapse Questions"));
|
|
209
248
|
const contentId = this.domNode.id;
|
|
210
249
|
this._collapseButton.label = collapsed ? `$(${Codicon.chevronUp.id})` : `$(${Codicon.chevronDown.id})`;
|
|
211
250
|
this._collapseButton.element.setAttribute("aria-label", buttonTitle);
|
|
@@ -260,7 +299,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
260
299
|
const messageContent = this.getQuestionText(questionText);
|
|
261
300
|
const questionCount = this.carousel.questions.length;
|
|
262
301
|
const alertMessage = questionCount === 1 ? messageContent : ( localize(
|
|
263
|
-
|
|
302
|
+
6878,
|
|
264
303
|
"Question {0} of {1}: {2}",
|
|
265
304
|
this._currentIndex + 1,
|
|
266
305
|
questionCount,
|
|
@@ -292,6 +331,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
292
331
|
this._questionContainer = undefined;
|
|
293
332
|
this._headerActionsContainer = undefined;
|
|
294
333
|
this._closeButtonContainer = undefined;
|
|
334
|
+
this._focusTerminalButtonContainer = undefined;
|
|
295
335
|
this._collapseButton = undefined;
|
|
296
336
|
this._footerRow = undefined;
|
|
297
337
|
this._stepIndicator = undefined;
|
|
@@ -407,17 +447,17 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
407
447
|
_updateAriaLabel() {
|
|
408
448
|
const question = this.carousel.questions[this._currentIndex];
|
|
409
449
|
if (!question) {
|
|
410
|
-
this.domNode.setAttribute("aria-label", ( localize(
|
|
450
|
+
this.domNode.setAttribute("aria-label", ( localize(6879, "Chat question")));
|
|
411
451
|
return;
|
|
412
452
|
}
|
|
413
453
|
const questionText = question.message ?? question.title;
|
|
414
454
|
const messageContent = this.getQuestionText(questionText);
|
|
415
455
|
const questionCount = this.carousel.questions.length;
|
|
416
456
|
if (questionCount === 1) {
|
|
417
|
-
this.domNode.setAttribute("aria-label", ( localize(
|
|
457
|
+
this.domNode.setAttribute("aria-label", ( localize(6880, "Chat question: {0}", messageContent)));
|
|
418
458
|
} else {
|
|
419
459
|
this.domNode.setAttribute("aria-label", ( localize(
|
|
420
|
-
|
|
460
|
+
6881,
|
|
421
461
|
"Chat question {0} of {1}: {2}",
|
|
422
462
|
this._currentIndex + 1,
|
|
423
463
|
questionCount,
|
|
@@ -476,14 +516,22 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
476
516
|
const title = $(".chat-question-title");
|
|
477
517
|
const messageContent = this.getQuestionText(questionText);
|
|
478
518
|
title.setAttribute("aria-label", messageContent);
|
|
479
|
-
const
|
|
480
|
-
const
|
|
481
|
-
|
|
519
|
+
const rawValue = isMarkdownString(questionText) ? questionText.value : questionText;
|
|
520
|
+
const suffixed = question.required ? `${rawValue} *` : rawValue;
|
|
521
|
+
const md = isMarkdownString(questionText) ? MarkdownString.lift({
|
|
522
|
+
...questionText,
|
|
523
|
+
value: suffixed
|
|
524
|
+
}) : ( new MarkdownString(suffixed));
|
|
525
|
+
const rendered = questionRenderStore.add(this._markdownRendererService.render(md));
|
|
526
|
+
title.appendChild(rendered.element);
|
|
482
527
|
titleRow.appendChild(title);
|
|
483
528
|
}
|
|
484
529
|
headerRow.appendChild(titleRow);
|
|
485
530
|
if (this._headerActionsContainer) {
|
|
486
531
|
clearNode(this._headerActionsContainer);
|
|
532
|
+
if (this._focusTerminalButtonContainer) {
|
|
533
|
+
this._headerActionsContainer.appendChild(this._focusTerminalButtonContainer);
|
|
534
|
+
}
|
|
487
535
|
if (this._closeButtonContainer) {
|
|
488
536
|
this._headerActionsContainer.appendChild(this._closeButtonContainer);
|
|
489
537
|
}
|
|
@@ -499,6 +547,13 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
499
547
|
this._questionContainer.appendChild(descriptionEl);
|
|
500
548
|
}
|
|
501
549
|
const inputContainer = $(".chat-question-input-container");
|
|
550
|
+
if (question.detailedMessage) {
|
|
551
|
+
const detailedMd = isMarkdownString(question.detailedMessage) ? MarkdownString.lift(question.detailedMessage) : ( new MarkdownString(question.detailedMessage));
|
|
552
|
+
const detailedMessageEl = $(".chat-question-detailed-message");
|
|
553
|
+
const renderedDetailedMessage = questionRenderStore.add(this._markdownRendererService.render(detailedMd));
|
|
554
|
+
detailedMessageEl.appendChild(renderedDetailedMessage.element);
|
|
555
|
+
inputContainer.appendChild(detailedMessageEl);
|
|
556
|
+
}
|
|
502
557
|
this.renderInput(inputContainer, question);
|
|
503
558
|
const inputScrollable = questionRenderStore.add(( new DomScrollableElement(inputContainer, {
|
|
504
559
|
vertical: ScrollbarVisibility.Visible,
|
|
@@ -566,9 +621,9 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
566
621
|
this._footerRow = $(".chat-question-footer-row");
|
|
567
622
|
const leftControls = $(".chat-question-footer-left.chat-question-carousel-nav");
|
|
568
623
|
leftControls.setAttribute("role", "navigation");
|
|
569
|
-
leftControls.setAttribute("aria-label", ( localize(
|
|
624
|
+
leftControls.setAttribute("aria-label", ( localize(6882, "Question navigation")));
|
|
570
625
|
const arrowsContainer = $(".chat-question-nav-arrows");
|
|
571
|
-
const previousLabel = this.getLabelWithKeybinding(( localize(
|
|
626
|
+
const previousLabel = this.getLabelWithKeybinding(( localize(6883, "Previous")), PREVIOUS_QUESTION_ACTION_ID);
|
|
572
627
|
const prevButton = interactiveStore.add(( new Button(arrowsContainer, {
|
|
573
628
|
...defaultButtonStyles,
|
|
574
629
|
secondary: true,
|
|
@@ -582,7 +637,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
582
637
|
}));
|
|
583
638
|
interactiveStore.add(prevButton.onDidClick(() => this.navigate(-1)));
|
|
584
639
|
this._prevButton = prevButton;
|
|
585
|
-
const nextLabel = this.getLabelWithKeybinding(( localize(
|
|
640
|
+
const nextLabel = this.getLabelWithKeybinding(( localize(6884, "Next")), NEXT_QUESTION_ACTION_ID);
|
|
586
641
|
const nextButton = interactiveStore.add(( new Button(arrowsContainer, {
|
|
587
642
|
...defaultButtonStyles,
|
|
588
643
|
secondary: true,
|
|
@@ -602,14 +657,14 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
602
657
|
this._footerRow.appendChild(leftControls);
|
|
603
658
|
const rightControls = $(".chat-question-footer-right");
|
|
604
659
|
const hint = $("span.chat-question-submit-hint");
|
|
605
|
-
hint.textContent = isMacintosh ? ( localize(
|
|
660
|
+
hint.textContent = isMacintosh ? ( localize(6885, "⌘⏎ to submit")) : ( localize(6886, "Ctrl+Enter to submit"));
|
|
606
661
|
rightControls.appendChild(hint);
|
|
607
662
|
this._submitHint = hint;
|
|
608
663
|
const submitButton = interactiveStore.add(( new Button(rightControls, {
|
|
609
664
|
...defaultButtonStyles
|
|
610
665
|
})));
|
|
611
666
|
submitButton.element.classList.add("chat-question-submit-button");
|
|
612
|
-
submitButton.label = ( localize(
|
|
667
|
+
submitButton.label = ( localize(6887, "Submit"));
|
|
613
668
|
interactiveStore.add(submitButton.onDidClick(() => this.submit()));
|
|
614
669
|
this._submitButton = submitButton;
|
|
615
670
|
this._footerRow.appendChild(rightControls);
|
|
@@ -630,7 +685,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
630
685
|
this._nextButton.enabled = canAdvance && (!question?.required || hasAnswer) && !hasValidationError;
|
|
631
686
|
}
|
|
632
687
|
if (this._stepIndicator) {
|
|
633
|
-
this._stepIndicator.textContent = ( localize(
|
|
688
|
+
this._stepIndicator.textContent = ( localize(6888, "{0}/{1}", this._currentIndex + 1, this.carousel.questions.length));
|
|
634
689
|
}
|
|
635
690
|
if (this._submitButton) {
|
|
636
691
|
const isLastQuestion = this._currentIndex === this.carousel.questions.length - 1;
|
|
@@ -649,18 +704,18 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
649
704
|
this._footerRow = $(".chat-question-footer-row");
|
|
650
705
|
const leftControls = $(".chat-question-footer-left.chat-question-carousel-nav");
|
|
651
706
|
leftControls.setAttribute("role", "navigation");
|
|
652
|
-
leftControls.setAttribute("aria-label", ( localize(
|
|
707
|
+
leftControls.setAttribute("aria-label", ( localize(6882, "Question navigation")));
|
|
653
708
|
this._footerRow.appendChild(leftControls);
|
|
654
709
|
const rightControls = $(".chat-question-footer-right");
|
|
655
710
|
const hint = $("span.chat-question-submit-hint");
|
|
656
|
-
hint.textContent = isMacintosh ? ( localize(
|
|
711
|
+
hint.textContent = isMacintosh ? ( localize(6885, "⌘⏎ to submit")) : ( localize(6886, "Ctrl+Enter to submit"));
|
|
657
712
|
rightControls.appendChild(hint);
|
|
658
713
|
this._submitHint = hint;
|
|
659
714
|
const submitButton = interactiveStore.add(( new Button(rightControls, {
|
|
660
715
|
...defaultButtonStyles
|
|
661
716
|
})));
|
|
662
717
|
submitButton.element.classList.add("chat-question-submit-button");
|
|
663
|
-
submitButton.label = ( localize(
|
|
718
|
+
submitButton.label = ( localize(6887, "Submit"));
|
|
664
719
|
interactiveStore.add(submitButton.onDidClick(() => this.submit()));
|
|
665
720
|
this._submitButton = submitButton;
|
|
666
721
|
this._footerRow.appendChild(rightControls);
|
|
@@ -669,7 +724,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
669
724
|
}
|
|
670
725
|
getLabelWithKeybinding(label, actionId) {
|
|
671
726
|
const keybindingLabel = this._keybindingService.lookupKeybinding(actionId, this._contextKeyService)?.getLabel();
|
|
672
|
-
return keybindingLabel ? ( localize(
|
|
727
|
+
return keybindingLabel ? ( localize(6889, "{0} ({1})", label, keybindingLabel)) : label;
|
|
673
728
|
}
|
|
674
729
|
renderInput(container, question) {
|
|
675
730
|
switch (question.type) {
|
|
@@ -698,7 +753,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
698
753
|
}
|
|
699
754
|
renderTextInput(container, question) {
|
|
700
755
|
const inputBox = this._inputBoxes.add(( new InputBox(container, undefined, {
|
|
701
|
-
placeholder: ( localize(
|
|
756
|
+
placeholder: ( localize(6890, "Enter your answer")),
|
|
702
757
|
inputBoxStyles: defaultInputBoxStyles,
|
|
703
758
|
validationOptions: question.validation ? {
|
|
704
759
|
validation: value => {
|
|
@@ -789,7 +844,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
789
844
|
const listItem = $(".chat-question-list-item");
|
|
790
845
|
listItem.setAttribute("role", "option");
|
|
791
846
|
listItem.setAttribute("aria-selected", String(isSelected));
|
|
792
|
-
listItem.setAttribute("aria-label", ( localize(
|
|
847
|
+
listItem.setAttribute("aria-label", ( localize(6891, "Option {0}: {1}", index + 1, option.label)));
|
|
793
848
|
listItem.id = `option-${question.id}-${index}`;
|
|
794
849
|
listItem.tabIndex = -1;
|
|
795
850
|
const number = $(".chat-question-list-number");
|
|
@@ -855,7 +910,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
855
910
|
freeformNumber.textContent = `${orderedOptions.length + 1}`;
|
|
856
911
|
freeformContainer.appendChild(freeformNumber);
|
|
857
912
|
freeformTextarea = $("textarea.chat-question-freeform-textarea");
|
|
858
|
-
freeformTextarea.placeholder = ( localize(
|
|
913
|
+
freeformTextarea.placeholder = ( localize(6892, "Enter custom answer"));
|
|
859
914
|
freeformTextarea.rows = 1;
|
|
860
915
|
if (previousFreeform !== undefined) {
|
|
861
916
|
freeformTextarea.value = previousFreeform;
|
|
@@ -967,7 +1022,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
967
1022
|
const listItem = $(".chat-question-list-item.multi-select");
|
|
968
1023
|
listItem.setAttribute("role", "option");
|
|
969
1024
|
listItem.setAttribute("aria-selected", String(isChecked));
|
|
970
|
-
listItem.setAttribute("aria-label", ( localize(
|
|
1025
|
+
listItem.setAttribute("aria-label", ( localize(6891, "Option {0}: {1}", index + 1, option.label)));
|
|
971
1026
|
listItem.id = `option-${question.id}-${index}`;
|
|
972
1027
|
listItem.tabIndex = -1;
|
|
973
1028
|
const number = $(".chat-question-list-number");
|
|
@@ -1032,7 +1087,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1032
1087
|
freeformNumber.textContent = `${orderedOptions.length + 1}`;
|
|
1033
1088
|
freeformContainer.appendChild(freeformNumber);
|
|
1034
1089
|
freeformTextarea = $("textarea.chat-question-freeform-textarea");
|
|
1035
|
-
freeformTextarea.placeholder = ( localize(
|
|
1090
|
+
freeformTextarea.placeholder = ( localize(6892, "Enter custom answer"));
|
|
1036
1091
|
freeformTextarea.rows = 1;
|
|
1037
1092
|
if (previousFreeform !== undefined) {
|
|
1038
1093
|
freeformTextarea.value = previousFreeform;
|
|
@@ -1199,7 +1254,8 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1199
1254
|
renderSkippedMessage() {
|
|
1200
1255
|
const skippedContainer = $(".chat-question-carousel-summary");
|
|
1201
1256
|
const skippedMessage = $(".chat-question-summary-skipped");
|
|
1202
|
-
|
|
1257
|
+
const isDismissedByTerminal = this.carousel instanceof ChatQuestionCarouselData && this.carousel.dismissedByTerminalInput;
|
|
1258
|
+
skippedMessage.textContent = isDismissedByTerminal ? ( localize(6893, "Deferring to user's input in the terminal")) : ( localize(6894, "Skipped"));
|
|
1203
1259
|
skippedContainer.appendChild(skippedMessage);
|
|
1204
1260
|
this.domNode.appendChild(skippedContainer);
|
|
1205
1261
|
}
|
|
@@ -1218,16 +1274,16 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1218
1274
|
const questionText = question.message ?? question.title;
|
|
1219
1275
|
let labelText = typeof questionText === "string" ? questionText : questionText.value;
|
|
1220
1276
|
labelText = labelText.replace(/[:\s]+$/, "");
|
|
1221
|
-
questionRow.textContent = ( localize(
|
|
1277
|
+
questionRow.textContent = ( localize(6895, "Q: {0}", labelText));
|
|
1222
1278
|
summaryItem.appendChild(questionRow);
|
|
1223
1279
|
if (answer !== undefined) {
|
|
1224
1280
|
const formattedAnswer = this.formatAnswerForSummary(question, answer);
|
|
1225
1281
|
const answerRow = $("div.chat-question-summary-answer-title");
|
|
1226
|
-
answerRow.textContent = ( localize(
|
|
1282
|
+
answerRow.textContent = ( localize(6896, "A: {0}", formattedAnswer));
|
|
1227
1283
|
summaryItem.appendChild(answerRow);
|
|
1228
1284
|
} else {
|
|
1229
1285
|
const unanswered = $("div.chat-question-summary-unanswered");
|
|
1230
|
-
unanswered.textContent = ( localize(
|
|
1286
|
+
unanswered.textContent = ( localize(6897, "Not answered yet"));
|
|
1231
1287
|
summaryItem.appendChild(unanswered);
|
|
1232
1288
|
}
|
|
1233
1289
|
summaryContainer.appendChild(summaryItem);
|
|
@@ -1267,7 +1323,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1267
1323
|
if (freeformValue) {
|
|
1268
1324
|
labels.push(freeformValue);
|
|
1269
1325
|
}
|
|
1270
|
-
return labels.join(( localize(
|
|
1326
|
+
return labels.join(( localize(6898, ", ")));
|
|
1271
1327
|
}
|
|
1272
1328
|
return String(answer);
|
|
1273
1329
|
}
|
|
@@ -1286,7 +1342,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1286
1342
|
}
|
|
1287
1343
|
const answer = this._answers.get(question.id);
|
|
1288
1344
|
if (question.required && (answer === undefined || answer === "")) {
|
|
1289
|
-
this.showValidationError(( localize(
|
|
1345
|
+
this.showValidationError(( localize(6899, "This field is required")));
|
|
1290
1346
|
return false;
|
|
1291
1347
|
}
|
|
1292
1348
|
if (question.type === "text" && question.validation && typeof answer === "string" && answer !== "") {
|
|
@@ -1311,7 +1367,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1311
1367
|
this._currentIndex = i;
|
|
1312
1368
|
this.persistDraftState();
|
|
1313
1369
|
this.renderCurrentQuestion(true);
|
|
1314
|
-
this.showValidationError(( localize(
|
|
1370
|
+
this.showValidationError(( localize(6899, "This field is required")));
|
|
1315
1371
|
return false;
|
|
1316
1372
|
}
|
|
1317
1373
|
}
|
|
@@ -1319,34 +1375,34 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1319
1375
|
}
|
|
1320
1376
|
getValidationError(value, validation) {
|
|
1321
1377
|
if (validation.minLength !== undefined && value.length < validation.minLength) {
|
|
1322
|
-
return localize(
|
|
1378
|
+
return localize(6900, "Minimum length is {0}", validation.minLength);
|
|
1323
1379
|
}
|
|
1324
1380
|
if (validation.maxLength !== undefined && value.length > validation.maxLength) {
|
|
1325
|
-
return localize(
|
|
1381
|
+
return localize(6901, "Maximum length is {0}", validation.maxLength);
|
|
1326
1382
|
}
|
|
1327
1383
|
if (validation.format) {
|
|
1328
1384
|
switch (validation.format) {
|
|
1329
1385
|
case "email":
|
|
1330
1386
|
if (!value.includes("@")) {
|
|
1331
|
-
return localize(
|
|
1387
|
+
return localize(6902, "Please enter a valid email address");
|
|
1332
1388
|
}
|
|
1333
1389
|
break;
|
|
1334
1390
|
case "uri":
|
|
1335
1391
|
if (!URL.canParse(value)) {
|
|
1336
|
-
return localize(
|
|
1392
|
+
return localize(6903, "Please enter a valid URI");
|
|
1337
1393
|
}
|
|
1338
1394
|
break;
|
|
1339
1395
|
case "date":
|
|
1340
1396
|
{
|
|
1341
1397
|
const dateRegex = /^\d{4}-\d{2}-\d{2}$/;
|
|
1342
1398
|
if (!dateRegex.test(value) || isNaN(( new Date(value)).getTime())) {
|
|
1343
|
-
return localize(
|
|
1399
|
+
return localize(6904, "Please enter a valid date (YYYY-MM-DD)");
|
|
1344
1400
|
}
|
|
1345
1401
|
break;
|
|
1346
1402
|
}
|
|
1347
1403
|
case "date-time":
|
|
1348
1404
|
if (isNaN(( new Date(value)).getTime())) {
|
|
1349
|
-
return localize(
|
|
1405
|
+
return localize(6905, "Please enter a valid date-time");
|
|
1350
1406
|
}
|
|
1351
1407
|
break;
|
|
1352
1408
|
}
|
|
@@ -1354,16 +1410,16 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1354
1410
|
if (validation.isInteger !== undefined || validation.minimum !== undefined || validation.maximum !== undefined) {
|
|
1355
1411
|
const num = Number(value);
|
|
1356
1412
|
if (isNaN(num)) {
|
|
1357
|
-
return localize(
|
|
1413
|
+
return localize(6906, "Please enter a valid number");
|
|
1358
1414
|
}
|
|
1359
1415
|
if (validation.isInteger && !Number.isInteger(num)) {
|
|
1360
|
-
return localize(
|
|
1416
|
+
return localize(6907, "Please enter a valid integer");
|
|
1361
1417
|
}
|
|
1362
1418
|
if (validation.minimum !== undefined && num < validation.minimum) {
|
|
1363
|
-
return localize(
|
|
1419
|
+
return localize(6908, "Minimum value is {0}", validation.minimum);
|
|
1364
1420
|
}
|
|
1365
1421
|
if (validation.maximum !== undefined && num > validation.maximum) {
|
|
1366
|
-
return localize(
|
|
1422
|
+
return localize(6909, "Maximum value is {0}", validation.maximum);
|
|
1367
1423
|
}
|
|
1368
1424
|
}
|
|
1369
1425
|
return undefined;
|
|
@@ -1398,6 +1454,6 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1398
1454
|
super.dispose();
|
|
1399
1455
|
}
|
|
1400
1456
|
};
|
|
1401
|
-
ChatQuestionCarouselPart = ( __decorate([( __param(3, IMarkdownRendererService)), ( __param(4, IHoverService)), ( __param(5, IAccessibilityService)), ( __param(6, IContextKeyService)), ( __param(7, IKeybindingService))], ChatQuestionCarouselPart));
|
|
1457
|
+
ChatQuestionCarouselPart = ( __decorate([( __param(3, IMarkdownRendererService)), ( __param(4, IHoverService)), ( __param(5, IAccessibilityService)), ( __param(6, IContextKeyService)), ( __param(7, IKeybindingService)), ( __param(8, ICommandService))], ChatQuestionCarouselPart));
|
|
1402
1458
|
|
|
1403
1459
|
export { ChatQuestionCarouselPart };
|
|
@@ -54,10 +54,10 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
|
|
|
54
54
|
case ChatEntitlement.EDU:
|
|
55
55
|
case ChatEntitlement.Pro:
|
|
56
56
|
case ChatEntitlement.ProPlus:
|
|
57
|
-
primaryButtonLabel = ( localize(
|
|
57
|
+
primaryButtonLabel = ( localize(6910, "Manage Paid Premium Requests"));
|
|
58
58
|
break;
|
|
59
59
|
case ChatEntitlement.Free:
|
|
60
|
-
primaryButtonLabel = ( localize(
|
|
60
|
+
primaryButtonLabel = ( localize(6911, "Upgrade to GitHub Copilot Pro"));
|
|
61
61
|
break;
|
|
62
62
|
}
|
|
63
63
|
let hasAddedWaitWarning = false;
|
|
@@ -66,7 +66,7 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
|
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
68
|
hasAddedWaitWarning = true;
|
|
69
|
-
append(messageContainer, $(".chat-quota-wait-warning", undefined, ( localize(
|
|
69
|
+
append(messageContainer, $(".chat-quota-wait-warning", undefined, ( localize(6912, "Changes may take a few minutes to take effect."))));
|
|
70
70
|
};
|
|
71
71
|
let hasAddedRetryButton = false;
|
|
72
72
|
const addRetryButtonIfNeeded = () => {
|
|
@@ -79,7 +79,7 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
|
|
|
79
79
|
buttonForeground: asCssVariable(textLinkForeground)
|
|
80
80
|
})));
|
|
81
81
|
retryButton.element.classList.add("chat-quota-error-secondary-button");
|
|
82
|
-
retryButton.label = ( localize(
|
|
82
|
+
retryButton.label = ( localize(6913, "Click to Retry"));
|
|
83
83
|
this._register(retryButton.onDidClick(() => {
|
|
84
84
|
const widget = chatWidgetService.getWidgetBySessionResource(element.sessionResource);
|
|
85
85
|
if (!widget) {
|
|
@@ -57,7 +57,7 @@ let ChatCollapsibleListContentPart = class ChatCollapsibleListContentPart extend
|
|
|
57
57
|
hoverService,
|
|
58
58
|
configurationService
|
|
59
59
|
) {
|
|
60
|
-
super(labelOverride ?? (data.length > 1 ? ( localize(
|
|
60
|
+
super(labelOverride ?? (data.length > 1 ? ( localize(6914, "Used {0} references", data.length)) : ( localize(6915, "Used {0} reference", 1))), context, hoverMessage, hoverService, configurationService);
|
|
61
61
|
this.data = data;
|
|
62
62
|
this.contentReferencesListPool = contentReferencesListPool;
|
|
63
63
|
this.openerService = openerService;
|
|
@@ -214,7 +214,7 @@ let CollapsibleListPool = class CollapsibleListPool extends Disposable {
|
|
|
214
214
|
return basename(reference.uri.path);
|
|
215
215
|
}
|
|
216
216
|
},
|
|
217
|
-
getWidgetAriaLabel: () => ( localize(
|
|
217
|
+
getWidgetAriaLabel: () => ( localize(6916, "Collapsible Chat References List"))
|
|
218
218
|
},
|
|
219
219
|
dnd: {
|
|
220
220
|
getDragURI: element => getResourceForElement(element)?.toString() ?? null,
|
|
@@ -402,7 +402,7 @@ let CollapsibleListRenderer = class CollapsibleListRenderer {
|
|
|
402
402
|
name: settingId
|
|
403
403
|
}, {
|
|
404
404
|
icon: Codicon.settingsGear,
|
|
405
|
-
title: ( localize(
|
|
405
|
+
title: ( localize(6917, "Open setting '{0}'", settingId)),
|
|
406
406
|
strikethrough: data.excluded,
|
|
407
407
|
extraClasses
|
|
408
408
|
});
|
|
@@ -447,7 +447,7 @@ let CollapsibleListRenderer = class CollapsibleListRenderer {
|
|
|
447
447
|
templateData.addedSpan.textContent = `+${diffMeta.added}`;
|
|
448
448
|
templateData.removedSpan.textContent = `-${diffMeta.removed}`;
|
|
449
449
|
templateData.fileDiffsContainer.setAttribute("aria-label", ( localize(
|
|
450
|
-
|
|
450
|
+
6918,
|
|
451
451
|
"{0} lines added, {1} lines removed",
|
|
452
452
|
diffMeta.added,
|
|
453
453
|
diffMeta.removed
|
|
@@ -528,7 +528,7 @@ registerAction2(class AddToChatAction extends Action2 {
|
|
|
528
528
|
super({
|
|
529
529
|
id: AddToChatAction.id,
|
|
530
530
|
title: {
|
|
531
|
-
...( localize2(
|
|
531
|
+
...( localize2(6919, "Add File to Chat"))
|
|
532
532
|
},
|
|
533
533
|
f1: false,
|
|
534
534
|
menu: [{
|
|
@@ -558,7 +558,7 @@ registerAction2(class OpenChatReferenceLinkAction extends Action2 {
|
|
|
558
558
|
super({
|
|
559
559
|
id: OpenChatReferenceLinkAction.id,
|
|
560
560
|
title: {
|
|
561
|
-
...( localize2(
|
|
561
|
+
...( localize2(6920, "Copy Link"))
|
|
562
562
|
},
|
|
563
563
|
f1: false,
|
|
564
564
|
menu: [{
|
|
@@ -188,7 +188,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
188
188
|
constructor() {
|
|
189
189
|
super({
|
|
190
190
|
id: SaveResourcesAction.ID,
|
|
191
|
-
title: ( localize2(
|
|
191
|
+
title: ( localize2(6921, "Save...")),
|
|
192
192
|
icon: Codicon.cloudDownload,
|
|
193
193
|
menu: [{
|
|
194
194
|
id: MenuId.ChatToolOutputResourceToolbar,
|
|
@@ -218,14 +218,14 @@ class SaveResourcesAction extends Action2 {
|
|
|
218
218
|
await fileService.writeFile(target, contents.value);
|
|
219
219
|
}
|
|
220
220
|
} catch (e) {
|
|
221
|
-
notificationService.error(( localize(
|
|
221
|
+
notificationService.error(( localize(6922, "Failed to save {0}: {1}", basename(part.uri), e)));
|
|
222
222
|
}
|
|
223
223
|
};
|
|
224
224
|
const withProgress = async (thenReveal, todo) => {
|
|
225
225
|
await progressService.withProgress({
|
|
226
226
|
location: ProgressLocation.Notification,
|
|
227
227
|
delay: 5_000,
|
|
228
|
-
title: ( localize(
|
|
228
|
+
title: ( localize(6923, "Saving resources..."))
|
|
229
229
|
}, async report => {
|
|
230
230
|
for (const task of todo) {
|
|
231
231
|
await task();
|
|
@@ -238,7 +238,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
238
238
|
if (workspaceContextService.isInsideWorkspace(thenReveal)) {
|
|
239
239
|
commandService.executeCommand(REVEAL_IN_EXPLORER_COMMAND_ID, thenReveal);
|
|
240
240
|
} else {
|
|
241
|
-
notificationService.info(( localize(
|
|
241
|
+
notificationService.info(( localize(6924, "Saved resources to {0}", labelService.getUriLabel(thenReveal))));
|
|
242
242
|
}
|
|
243
243
|
};
|
|
244
244
|
if (context.parts.length === 1) {
|
|
@@ -250,7 +250,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
250
250
|
await withProgress(uri, [() => savePart(part, false, uri)]);
|
|
251
251
|
} else {
|
|
252
252
|
const uris = await fileDialog.showOpenDialog({
|
|
253
|
-
title: ( localize(
|
|
253
|
+
title: ( localize(6925, "Pick folder to save resources")),
|
|
254
254
|
canSelectFiles: false,
|
|
255
255
|
canSelectFolders: true,
|
|
256
256
|
canSelectMany: false,
|