@codingame/monaco-vscode-katex-common 30.0.1 → 31.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/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
|
@@ -378,13 +378,13 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
378
378
|
return true;
|
|
379
379
|
}
|
|
380
380
|
if (session.element.status === ChatSessionStatus.InProgress) {
|
|
381
|
-
template.description.textContent = ( localize(
|
|
381
|
+
template.description.textContent = ( localize(5202, "Working..."));
|
|
382
382
|
return true;
|
|
383
383
|
} else if (session.element.status === ChatSessionStatus.NeedsInput) {
|
|
384
|
-
template.description.textContent = ( localize(
|
|
384
|
+
template.description.textContent = ( localize(5203, "Input needed."));
|
|
385
385
|
return true;
|
|
386
386
|
} else if (session.element.status === ChatSessionStatus.Failed) {
|
|
387
|
-
template.description.textContent = ( localize(
|
|
387
|
+
template.description.textContent = ( localize(5204, "Failed"));
|
|
388
388
|
return true;
|
|
389
389
|
}
|
|
390
390
|
template.description.textContent = "";
|
|
@@ -393,7 +393,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
393
393
|
toDuration(startTime, endTime, useFullTimeWords, disallowNow) {
|
|
394
394
|
const elapsed = Math.max(Math.round((endTime - startTime) / 1000) * 1000, 1000 );
|
|
395
395
|
if (!disallowNow && elapsed < 60000) {
|
|
396
|
-
return localize(
|
|
396
|
+
return localize(5205, "now");
|
|
397
397
|
}
|
|
398
398
|
return getDurationString(elapsed, useFullTimeWords);
|
|
399
399
|
}
|
|
@@ -408,7 +408,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
408
408
|
const date = this.options.isSortedByUpdated?.() ? session.timing.lastRequestEnded ?? session.timing.created : session.timing.created;
|
|
409
409
|
const seconds = Math.round((( new Date()).getTime() - date) / 1000);
|
|
410
410
|
if (seconds < 60) {
|
|
411
|
-
timeLabel = ( localize(
|
|
411
|
+
timeLabel = ( localize(5205, "now"));
|
|
412
412
|
} else {
|
|
413
413
|
timeLabel = sessionDateFromNow(date, true);
|
|
414
414
|
}
|
|
@@ -491,11 +491,11 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
491
491
|
template.approvalButtonContainer.textContent = "";
|
|
492
492
|
const isActive = this._activeSessionResource.read(reader)?.toString() === ( session.element.resource.toString());
|
|
493
493
|
const button = buttonStore.add(( new Button(template.approvalButtonContainer, {
|
|
494
|
-
title: ( localize(
|
|
494
|
+
title: ( localize(5206, "Allow once")),
|
|
495
495
|
secondary: isActive,
|
|
496
496
|
...defaultButtonStyles
|
|
497
497
|
})));
|
|
498
|
-
button.label = ( localize(
|
|
498
|
+
button.label = ( localize(5207, "Allow"));
|
|
499
499
|
buttonStore.add(button.onDidClick(() => info.confirm()));
|
|
500
500
|
}
|
|
501
501
|
if (wasVisible !== visible) {
|
|
@@ -519,16 +519,16 @@ function toStatusLabel(status) {
|
|
|
519
519
|
let statusLabel;
|
|
520
520
|
switch (status) {
|
|
521
521
|
case ChatSessionStatus.NeedsInput:
|
|
522
|
-
statusLabel = ( localize(
|
|
522
|
+
statusLabel = ( localize(5208, "Needs Input"));
|
|
523
523
|
break;
|
|
524
524
|
case ChatSessionStatus.InProgress:
|
|
525
|
-
statusLabel = ( localize(
|
|
525
|
+
statusLabel = ( localize(5209, "In Progress"));
|
|
526
526
|
break;
|
|
527
527
|
case ChatSessionStatus.Failed:
|
|
528
|
-
statusLabel = ( localize(
|
|
528
|
+
statusLabel = ( localize(5210, "Failed"));
|
|
529
529
|
break;
|
|
530
530
|
default:
|
|
531
|
-
statusLabel = ( localize(
|
|
531
|
+
statusLabel = ( localize(5211, "Completed"));
|
|
532
532
|
}
|
|
533
533
|
return statusLabel;
|
|
534
534
|
}
|
|
@@ -621,7 +621,7 @@ class AgentSessionShowMoreRenderer {
|
|
|
621
621
|
};
|
|
622
622
|
}
|
|
623
623
|
renderElement(element, _index, template) {
|
|
624
|
-
template.label.textContent = this.options?.compactLabel ? ( localize(
|
|
624
|
+
template.label.textContent = this.options?.compactLabel ? ( localize(5212, "+{0} more", element.element.remainingCount)) : ( localize(5213, "Show {0} More...", element.element.remainingCount));
|
|
625
625
|
template.container.setAttribute("data-section-label", element.element.sectionLabel);
|
|
626
626
|
}
|
|
627
627
|
renderCompressedElements() {
|
|
@@ -656,7 +656,7 @@ class AgentSessionShowLessRenderer {
|
|
|
656
656
|
};
|
|
657
657
|
}
|
|
658
658
|
renderElement(element, _index, template) {
|
|
659
|
-
template.label.textContent = ( localize(
|
|
659
|
+
template.label.textContent = ( localize(5214, "Show less"));
|
|
660
660
|
template.container.setAttribute("data-section-label", element.element.sectionLabel);
|
|
661
661
|
}
|
|
662
662
|
renderCompressedElements() {
|
|
@@ -719,24 +719,24 @@ class AgentSessionsAccessibilityProvider {
|
|
|
719
719
|
return "listitem";
|
|
720
720
|
}
|
|
721
721
|
getWidgetAriaLabel() {
|
|
722
|
-
return localize(
|
|
722
|
+
return localize(5215, "Agent Sessions");
|
|
723
723
|
}
|
|
724
724
|
getAriaLabel(element) {
|
|
725
725
|
if (isAgentSessionSection(element)) {
|
|
726
726
|
const count = element.sessions.length;
|
|
727
727
|
if (count === 1) {
|
|
728
|
-
return localize(
|
|
728
|
+
return localize(5216, "{0} sessions section, {1} session", element.label, count);
|
|
729
729
|
}
|
|
730
|
-
return localize(
|
|
730
|
+
return localize(5217, "{0} sessions section, {1} sessions", element.label, count);
|
|
731
731
|
}
|
|
732
732
|
if (isAgentSessionShowMore(element)) {
|
|
733
|
-
return localize(
|
|
733
|
+
return localize(5218, "Show {0} more sessions", element.remainingCount);
|
|
734
734
|
}
|
|
735
735
|
if (isAgentSessionShowLess(element)) {
|
|
736
|
-
return localize(
|
|
736
|
+
return localize(5219, "Show less sessions");
|
|
737
737
|
}
|
|
738
738
|
return localize(
|
|
739
|
-
|
|
739
|
+
5220,
|
|
740
740
|
"{0} session {1} ({2}), created {3}",
|
|
741
741
|
element.providerLabel,
|
|
742
742
|
element.label,
|
|
@@ -1065,14 +1065,14 @@ function extractRepoNameFromPath(dirPath) {
|
|
|
1065
1065
|
return segments[segments.length - 1];
|
|
1066
1066
|
}
|
|
1067
1067
|
const AgentSessionSectionLabels = {
|
|
1068
|
-
[AgentSessionSection.Pinned]: ( localize(
|
|
1069
|
-
[AgentSessionSection.Today]: ( localize(
|
|
1070
|
-
[AgentSessionSection.Yesterday]: ( localize(
|
|
1071
|
-
[AgentSessionSection.Week]: ( localize(
|
|
1072
|
-
[AgentSessionSection.Older]: ( localize(
|
|
1073
|
-
[AgentSessionSection.Archived]: ( localize(
|
|
1074
|
-
[AgentSessionSection.More]: ( localize(
|
|
1075
|
-
[AgentSessionSection.Repository]: ( localize(
|
|
1068
|
+
[AgentSessionSection.Pinned]: ( localize(5221, "Pinned")),
|
|
1069
|
+
[AgentSessionSection.Today]: ( localize(5222, "Today")),
|
|
1070
|
+
[AgentSessionSection.Yesterday]: ( localize(5223, "Yesterday")),
|
|
1071
|
+
[AgentSessionSection.Week]: ( localize(5224, "Last 7 days")),
|
|
1072
|
+
[AgentSessionSection.Older]: ( localize(5225, "Older")),
|
|
1073
|
+
[AgentSessionSection.Archived]: ( localize(5226, "Archived")),
|
|
1074
|
+
[AgentSessionSection.More]: ( localize(5227, "More")),
|
|
1075
|
+
[AgentSessionSection.Repository]: ( localize(5228, "Other"))
|
|
1076
1076
|
};
|
|
1077
1077
|
const DAY_THRESHOLD = 24 * 60 * 60 * 1000;
|
|
1078
1078
|
const WEEK_THRESHOLD = 7 * DAY_THRESHOLD;
|
|
@@ -1137,10 +1137,10 @@ function sessionDateFromNow(sessionTime, appendAgoLabel) {
|
|
|
1137
1137
|
const startOfYesterday = startOfToday - DAY_THRESHOLD;
|
|
1138
1138
|
const startOfTwoDaysAgo = startOfYesterday - DAY_THRESHOLD;
|
|
1139
1139
|
if (sessionTime < startOfToday && sessionTime >= startOfYesterday) {
|
|
1140
|
-
return appendAgoLabel ? ( localize(
|
|
1140
|
+
return appendAgoLabel ? ( localize(5229, "1 day ago")) : ( localize(5230, "1 day"));
|
|
1141
1141
|
}
|
|
1142
1142
|
if (sessionTime < startOfYesterday && sessionTime >= startOfTwoDaysAgo) {
|
|
1143
|
-
return appendAgoLabel ? ( localize(
|
|
1143
|
+
return appendAgoLabel ? ( localize(5231, "2 days ago")) : ( localize(5232, "2 days"));
|
|
1144
1144
|
}
|
|
1145
1145
|
return fromNow(sessionTime, appendAgoLabel);
|
|
1146
1146
|
}
|
|
@@ -1204,8 +1204,8 @@ class AgentSessionsSorter {
|
|
|
1204
1204
|
return 1;
|
|
1205
1205
|
}
|
|
1206
1206
|
const sortBy = this.getSortBy();
|
|
1207
|
-
const timeA = prioritizeActiveSessions ? sessionA.timing.lastRequestStarted ?? sessionA.timing.created :
|
|
1208
|
-
const timeB = prioritizeActiveSessions ? sessionB.timing.lastRequestStarted ?? sessionB.timing.created :
|
|
1207
|
+
const timeA = sortBy === AgentSessionsSorting.Updated ? (prioritizeActiveSessions ? sessionA.timing.lastRequestStarted ?? sessionA.timing.created : sessionA.timing.lastRequestEnded ?? sessionA.timing.created) : sessionA.timing.created;
|
|
1208
|
+
const timeB = sortBy === AgentSessionsSorting.Updated ? (prioritizeActiveSessions ? sessionB.timing.lastRequestStarted ?? sessionB.timing.created : sessionB.timing.lastRequestEnded ?? sessionB.timing.created) : sessionB.timing.created;
|
|
1209
1209
|
return timeB - timeA;
|
|
1210
1210
|
}
|
|
1211
1211
|
}
|
|
@@ -1247,7 +1247,7 @@ let AgentSessionsDragAndDrop = class AgentSessionsDragAndDrop extends Disposable
|
|
|
1247
1247
|
if (sessions.length === 1) {
|
|
1248
1248
|
return sessions[0].label;
|
|
1249
1249
|
}
|
|
1250
|
-
return localize(
|
|
1250
|
+
return localize(5233, "{0} agent sessions", sessions.length);
|
|
1251
1251
|
}
|
|
1252
1252
|
onDragOver(data, targetElement, targetIndex, targetSector, originalEvent) {
|
|
1253
1253
|
return false;
|
|
@@ -30,6 +30,7 @@ export declare class ChatAttachmentModel extends Disposable {
|
|
|
30
30
|
clearAndSetContext(...attachments: IChatRequestVariableEntry[]): void;
|
|
31
31
|
delete(...variableEntryIds: string[]): void;
|
|
32
32
|
updateContext(toDelete: Iterable<string>, upsert: Iterable<IChatRequestVariableEntry>): void;
|
|
33
|
+
private _maybeResolveDirectoryImageCount;
|
|
33
34
|
private _watchAttachment;
|
|
34
35
|
asFileVariableEntry(uri: URI, range?: IRange): IChatRequestFileEntry;
|
|
35
36
|
asImageVariableEntry(uri: URI): Promise<IChatRequestVariableEntry | undefined>;
|
|
@@ -49,12 +49,13 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
addFolder(uri) {
|
|
52
|
-
|
|
52
|
+
const entry = {
|
|
53
53
|
kind: "directory",
|
|
54
54
|
value: uri,
|
|
55
55
|
id: ( uri.toString()),
|
|
56
56
|
name: basename(uri)
|
|
57
|
-
}
|
|
57
|
+
};
|
|
58
|
+
this.addContext(entry);
|
|
58
59
|
}
|
|
59
60
|
clear(clearStickyAttachments = false) {
|
|
60
61
|
if (clearStickyAttachments) {
|
|
@@ -112,11 +113,13 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
|
|
|
112
113
|
this._attachments.set(item.id, item);
|
|
113
114
|
added.push(item);
|
|
114
115
|
this._watchAttachment(item);
|
|
116
|
+
this._maybeResolveDirectoryImageCount(item);
|
|
115
117
|
} else if (!equals(oldItem, item)) {
|
|
116
118
|
this._fileWatchers.deleteAndDispose(item.id);
|
|
117
119
|
this._attachments.set(item.id, item);
|
|
118
120
|
updated.push(item);
|
|
119
121
|
this._watchAttachment(item);
|
|
122
|
+
this._maybeResolveDirectoryImageCount(item);
|
|
120
123
|
}
|
|
121
124
|
}
|
|
122
125
|
if (deleted.length > 0 || added.length > 0 || updated.length > 0) {
|
|
@@ -127,6 +130,21 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
|
|
|
127
130
|
});
|
|
128
131
|
}
|
|
129
132
|
}
|
|
133
|
+
_maybeResolveDirectoryImageCount(attachment) {
|
|
134
|
+
if (attachment.kind !== "directory" || typeof attachment.imageCount === "number" || !URI.isUri(attachment.value)) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
const uri = attachment.value;
|
|
138
|
+
this.chatAttachmentResolveService.resolveDirectoryImages(uri).then(images => {
|
|
139
|
+
const current = this._attachments.get(attachment.id);
|
|
140
|
+
if (current && current.kind === "directory" && current.value?.toString() === ( uri.toString())) {
|
|
141
|
+
this.updateContext(Iterable.empty(), [{
|
|
142
|
+
...current,
|
|
143
|
+
imageCount: images.length
|
|
144
|
+
}]);
|
|
145
|
+
}
|
|
146
|
+
}, () => {});
|
|
147
|
+
}
|
|
130
148
|
_watchAttachment(attachment) {
|
|
131
149
|
const uri = IChatRequestVariableEntry.toUri(attachment);
|
|
132
150
|
if (!uri || uri.scheme !== Schemas.file) {
|
|
@@ -65,6 +65,7 @@ export declare class FileAttachmentWidget extends AbstractChatAttachmentWidget {
|
|
|
65
65
|
supportsDeletion: boolean;
|
|
66
66
|
}, container: HTMLElement, contextResourceLabels: ResourceLabels, commandService: ICommandService, openerService: IOpenerService, configurationService: IConfigurationService, themeService: IThemeService, hoverService: IHoverService, languageModelsService: ILanguageModelsService, instantiationService: IInstantiationService);
|
|
67
67
|
private renderOmittedWarning;
|
|
68
|
+
private renderFolderImageLimitWarning;
|
|
68
69
|
}
|
|
69
70
|
export declare class TerminalCommandAttachmentWidget extends AbstractChatAttachmentWidget {
|
|
70
71
|
private readonly hoverService;
|
|
@@ -58,7 +58,7 @@ import { getHistoryItemEditorTitle } from '@codingame/monaco-vscode-api/vscode/v
|
|
|
58
58
|
import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
|
|
59
59
|
import { coerceImageBuffer } from '../../common/chatImageExtraction.js';
|
|
60
60
|
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
61
|
-
import { OmittedState,
|
|
61
|
+
import { OmittedState, getImageAttachmentLimit, isStringVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
|
|
62
62
|
import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
|
|
63
63
|
import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
|
|
64
64
|
import { isToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
|
|
@@ -140,7 +140,7 @@ let AbstractChatAttachmentWidget = class AbstractChatAttachmentWidget extends Di
|
|
|
140
140
|
if (!this._hasClearButton) {
|
|
141
141
|
return ariaLabel;
|
|
142
142
|
}
|
|
143
|
-
return localize(
|
|
143
|
+
return localize(5577, "{0} (Delete)", ariaLabel);
|
|
144
144
|
}
|
|
145
145
|
attachClearButton() {
|
|
146
146
|
if (this.attachment.range || !this.options.supportsDeletion) {
|
|
@@ -150,7 +150,7 @@ let AbstractChatAttachmentWidget = class AbstractChatAttachmentWidget extends Di
|
|
|
150
150
|
const clearButton = ( new Button(this.element, {
|
|
151
151
|
supportIcons: true,
|
|
152
152
|
hoverDelegate: createInstantHoverDelegate(),
|
|
153
|
-
title: ( localize(
|
|
153
|
+
title: ( localize(5578, "Remove from context"))
|
|
154
154
|
}));
|
|
155
155
|
clearButton.element.tabIndex = -1;
|
|
156
156
|
clearButton.icon = Codicon.close;
|
|
@@ -243,14 +243,14 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
|
|
|
243
243
|
const fileDirname = dirname(resource.path);
|
|
244
244
|
const friendlyName = `${fileBasename} ${fileDirname}`;
|
|
245
245
|
let ariaLabel = range ? ( localize(
|
|
246
|
-
|
|
246
|
+
5579,
|
|
247
247
|
"Attached file, {0}, line {1} to line {2}",
|
|
248
248
|
friendlyName,
|
|
249
249
|
range.startLineNumber,
|
|
250
250
|
range.endLineNumber
|
|
251
|
-
)) : ( localize(
|
|
251
|
+
)) : ( localize(5580, "Attached file, {0}", friendlyName));
|
|
252
252
|
if (attachment.omittedState === OmittedState.Full) {
|
|
253
|
-
ariaLabel = ( localize(
|
|
253
|
+
ariaLabel = ( localize(5581, "Omitted this file: {0}", attachment.name));
|
|
254
254
|
this.renderOmittedWarning(friendlyName, ariaLabel);
|
|
255
255
|
} else {
|
|
256
256
|
const fileOptions = {
|
|
@@ -266,6 +266,12 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
|
|
|
266
266
|
fileKind: FileKind.FOLDER,
|
|
267
267
|
icon: !this.themeService.getFileIconTheme().hasFolderIcons ? FolderThemeIcon : undefined
|
|
268
268
|
});
|
|
269
|
+
if (attachment.kind === "directory" && typeof attachment.imageCount === "number") {
|
|
270
|
+
const maxImagesPerRequest = getImageAttachmentLimit(currentLanguageModel?.metadata);
|
|
271
|
+
if (maxImagesPerRequest !== undefined && attachment.imageCount > maxImagesPerRequest) {
|
|
272
|
+
this.renderFolderImageLimitWarning(attachment.imageCount, maxImagesPerRequest);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
269
275
|
}
|
|
270
276
|
this.element.ariaLabel = this.appendDeletionHint(ariaLabel);
|
|
271
277
|
this.instantiationService.invokeFunction(accessor => {
|
|
@@ -288,7 +294,7 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
|
|
|
288
294
|
hoverElement.setAttribute("aria-label", ariaLabel);
|
|
289
295
|
this.element.classList.add("warning");
|
|
290
296
|
hoverElement.textContent = ( localize(
|
|
291
|
-
|
|
297
|
+
5582,
|
|
292
298
|
"{0} does not support this file type.",
|
|
293
299
|
this.currentLanguageModel ? this.languageModelsService.lookupLanguageModel(this.currentLanguageModel.identifier)?.name : this.currentLanguageModel ?? "This model"
|
|
294
300
|
));
|
|
@@ -297,6 +303,20 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
|
|
|
297
303
|
content: hoverElement
|
|
298
304
|
}, commonHoverLifecycleOptions));
|
|
299
305
|
}
|
|
306
|
+
renderFolderImageLimitWarning(imageCount, limit) {
|
|
307
|
+
this.element.classList.add("warning");
|
|
308
|
+
const hoverElement = $("div.chat-attached-context-hover");
|
|
309
|
+
hoverElement.textContent = ( localize(
|
|
310
|
+
5583,
|
|
311
|
+
"This folder contains {0} images, which exceeds the maximum of {1} images per request. Older images will not be sent.",
|
|
312
|
+
imageCount,
|
|
313
|
+
limit
|
|
314
|
+
));
|
|
315
|
+
this._register(this.hoverService.setupDelayedHover(this.element, {
|
|
316
|
+
...commonHoverOptions,
|
|
317
|
+
content: hoverElement
|
|
318
|
+
}, commonHoverLifecycleOptions));
|
|
319
|
+
}
|
|
300
320
|
};
|
|
301
321
|
FileAttachmentWidget = ( __decorate([( __param(8, ICommandService)), ( __param(9, IOpenerService)), ( __param(10, IConfigurationService)), ( __param(11, IThemeService)), ( __param(12, IHoverService)), ( __param(13, ILanguageModelsService)), ( __param(14, IInstantiationService))], FileAttachmentWidget));
|
|
302
322
|
let TerminalCommandAttachmentWidget = class TerminalCommandAttachmentWidget extends AbstractChatAttachmentWidget {
|
|
@@ -325,7 +345,7 @@ let TerminalCommandAttachmentWidget = class TerminalCommandAttachmentWidget exte
|
|
|
325
345
|
);
|
|
326
346
|
this.hoverService = hoverService;
|
|
327
347
|
this.terminalService = terminalService;
|
|
328
|
-
const ariaLabel = ( localize(
|
|
348
|
+
const ariaLabel = ( localize(5584, "Terminal command, {0}", attachment.command));
|
|
329
349
|
const clickHandler = () => this.openResource(attachment.resource, {
|
|
330
350
|
editorOptions: {
|
|
331
351
|
preserveFocus: true
|
|
@@ -379,16 +399,16 @@ function getHoverContent(ariaLabel, attachment) {
|
|
|
379
399
|
const hoverElement = $("div.chat-attached-context-hover");
|
|
380
400
|
hoverElement.setAttribute("aria-label", ariaLabel);
|
|
381
401
|
const commandTitle = $("div", {}, typeof attachment.exitCode === "number" ? ( localize(
|
|
382
|
-
|
|
402
|
+
5585,
|
|
383
403
|
"Command: {0}, exit code: {1}",
|
|
384
404
|
attachment.command,
|
|
385
405
|
attachment.exitCode
|
|
386
|
-
)) : ( localize(
|
|
406
|
+
)) : ( localize(5586, "Command")));
|
|
387
407
|
commandTitle.classList.add("attachment-additional-info");
|
|
388
408
|
const commandBlock = $("pre.chat-terminal-command-block");
|
|
389
409
|
hoverElement.append(commandTitle, commandBlock);
|
|
390
410
|
if (attachment.output && attachment.output.trim().length > 0) {
|
|
391
|
-
const outputTitle = $("div", {}, ( localize(
|
|
411
|
+
const outputTitle = $("div", {}, ( localize(5587, "Output:")));
|
|
392
412
|
outputTitle.classList.add("attachment-additional-info");
|
|
393
413
|
const outputBlock = $("pre.chat-terminal-command-output");
|
|
394
414
|
const fullOutputLines = attachment.output.split("\n");
|
|
@@ -452,20 +472,20 @@ let ImageAttachmentWidget = class ImageAttachmentWidget extends AbstractChatAtta
|
|
|
452
472
|
this.chatImageCarouselService = chatImageCarouselService;
|
|
453
473
|
let ariaLabel;
|
|
454
474
|
if (attachment.omittedState === OmittedState.Full) {
|
|
455
|
-
ariaLabel = ( localize(
|
|
475
|
+
ariaLabel = ( localize(5588, "Omitted this image: {0}", attachment.name));
|
|
456
476
|
} else if (attachment.omittedState === OmittedState.Partial) {
|
|
457
|
-
ariaLabel = ( localize(
|
|
477
|
+
ariaLabel = ( localize(5589, "Partially omitted this image: {0}", attachment.name));
|
|
458
478
|
} else if (attachment.omittedState === OmittedState.ImageLimitExceeded) {
|
|
459
|
-
ariaLabel = ( localize(
|
|
479
|
+
ariaLabel = ( localize(5590, "Image not sent due to limit: {0}", attachment.name));
|
|
460
480
|
} else {
|
|
461
|
-
ariaLabel = ( localize(
|
|
481
|
+
ariaLabel = ( localize(5591, "Attached image, {0}", attachment.name));
|
|
462
482
|
}
|
|
463
483
|
const ref = attachment.references?.[0]?.reference;
|
|
464
484
|
resource = ref && URI.isUri(ref) ? ref : undefined;
|
|
465
485
|
const imageData = coerceImageBuffer(attachment.value);
|
|
466
486
|
const clickHandler = async () => {
|
|
467
487
|
if ((resource || imageData) && configurationService.getValue(ChatConfiguration.ImageCarouselEnabled)) {
|
|
468
|
-
await this.openInCarousel(attachment.name, imageData, resource);
|
|
488
|
+
await this.openInCarousel(attachment.id, attachment.name, imageData, resource);
|
|
469
489
|
} else if (resource) {
|
|
470
490
|
await this.openResource(resource, {
|
|
471
491
|
editorOptions: {
|
|
@@ -506,10 +526,10 @@ let ImageAttachmentWidget = class ImageAttachmentWidget extends AbstractChatAtta
|
|
|
506
526
|
});
|
|
507
527
|
}
|
|
508
528
|
}
|
|
509
|
-
async openInCarousel(name, data, referenceUri) {
|
|
529
|
+
async openInCarousel(id, name, data, referenceUri) {
|
|
510
530
|
const resource = referenceUri ?? ( URI.from({
|
|
511
531
|
scheme: "data",
|
|
512
|
-
path: name
|
|
532
|
+
path: `${id}/${encodeURIComponent(name)}`
|
|
513
533
|
}));
|
|
514
534
|
await this.chatImageCarouselService.openCarouselAtResource(resource, data);
|
|
515
535
|
}
|
|
@@ -549,7 +569,7 @@ function createImageElements(
|
|
|
549
569
|
hoverElement.setAttribute("aria-label", ariaLabel);
|
|
550
570
|
if (previewFeaturesDisabled) {
|
|
551
571
|
element.classList.add("warning");
|
|
552
|
-
hoverElement.textContent = ( localize(
|
|
572
|
+
hoverElement.textContent = ( localize(5592, "Vision is disabled by your organization."));
|
|
553
573
|
disposable.add(hoverService.setupDelayedHover(element, {
|
|
554
574
|
content: hoverElement,
|
|
555
575
|
style: HoverStyle.Pointer
|
|
@@ -557,7 +577,7 @@ function createImageElements(
|
|
|
557
577
|
} else if ((!supportsVision && currentLanguageModel) || omittedState === OmittedState.Full) {
|
|
558
578
|
element.classList.add("warning");
|
|
559
579
|
hoverElement.textContent = ( localize(
|
|
560
|
-
|
|
580
|
+
5593,
|
|
561
581
|
"{0} does not support images.",
|
|
562
582
|
currentLanguageModelName ?? "This model"
|
|
563
583
|
));
|
|
@@ -567,10 +587,14 @@ function createImageElements(
|
|
|
567
587
|
}));
|
|
568
588
|
} else if (omittedState === OmittedState.ImageLimitExceeded) {
|
|
569
589
|
element.classList.add("warning");
|
|
570
|
-
|
|
571
|
-
|
|
590
|
+
const maxImagesPerRequest = getImageAttachmentLimit(currentLanguageModel?.metadata);
|
|
591
|
+
hoverElement.textContent = maxImagesPerRequest !== undefined ? ( localize(
|
|
592
|
+
5594,
|
|
572
593
|
"This image was not sent because the maximum of {0} images per request was exceeded.",
|
|
573
|
-
|
|
594
|
+
maxImagesPerRequest
|
|
595
|
+
)) : ( localize(
|
|
596
|
+
5595,
|
|
597
|
+
"This image was not sent because this model's image limit was exceeded."
|
|
574
598
|
));
|
|
575
599
|
disposable.add(hoverService.setupDelayedHover(element, {
|
|
576
600
|
content: hoverElement,
|
|
@@ -604,7 +628,7 @@ function createImageElements(
|
|
|
604
628
|
const urlContainer = $(
|
|
605
629
|
"a.chat-attached-context-url",
|
|
606
630
|
{},
|
|
607
|
-
omittedState === OmittedState.Partial ? ( localize(
|
|
631
|
+
omittedState === OmittedState.Partial ? ( localize(5596, "This GIF was partially omitted - current frame will be sent.")) : fullName
|
|
608
632
|
);
|
|
609
633
|
const separator = $("div.chat-attached-context-url-separator");
|
|
610
634
|
disposable.add(addDisposableListener(urlContainer, "click", () => clickHandler()));
|
|
@@ -653,7 +677,7 @@ let PasteAttachmentWidget = class PasteAttachmentWidget extends AbstractChatAtta
|
|
|
653
677
|
);
|
|
654
678
|
this.hoverService = hoverService;
|
|
655
679
|
this.instantiationService = instantiationService;
|
|
656
|
-
const ariaLabel = ( localize(
|
|
680
|
+
const ariaLabel = ( localize(5597, "Attached context, {0}", attachment.name));
|
|
657
681
|
this.element.ariaLabel = this.appendDeletionHint(ariaLabel);
|
|
658
682
|
const classNames = ["file-icon", `${attachment.language}-lang-file-icon`];
|
|
659
683
|
let resource;
|
|
@@ -746,7 +770,7 @@ let DefaultChatAttachmentWidget = class DefaultChatAttachmentWidget extends Abst
|
|
|
746
770
|
const withIcon = attachment.icon?.id ? `$(${attachment.icon.id})\u00A0${attachmentLabel}` : attachmentLabel;
|
|
747
771
|
this.label.setLabel(withIcon, correspondingContentReference?.options?.status?.description);
|
|
748
772
|
}
|
|
749
|
-
this.element.ariaLabel = this.appendDeletionHint(( localize(
|
|
773
|
+
this.element.ariaLabel = this.appendDeletionHint(( localize(5597, "Attached context, {0}", attachment.name)));
|
|
750
774
|
if (attachment.kind === "diagnostic") {
|
|
751
775
|
if (attachment.filterUri) {
|
|
752
776
|
resource = attachment.filterUri ? URI.revive(attachment.filterUri) : undefined;
|
|
@@ -847,8 +871,8 @@ let PromptFileAttachmentWidget = class PromptFileAttachmentWidget extends Abstra
|
|
|
847
871
|
const fileDirname = dirname(resource.path);
|
|
848
872
|
const friendlyName = `${fileBasename} ${fileDirname}`;
|
|
849
873
|
const isPrompt = attachment.id.startsWith(PromptFileVariableKind.PromptFile);
|
|
850
|
-
const ariaLabel = isPrompt ? ( localize(
|
|
851
|
-
const typeLabel = isPrompt ? ( localize(
|
|
874
|
+
const ariaLabel = isPrompt ? ( localize(5598, "Prompt file, {0}", friendlyName)) : ( localize(5599, "Instructions attachment, {0}", friendlyName));
|
|
875
|
+
const typeLabel = isPrompt ? ( localize(5600, "Prompt")) : ( localize(5601, "Instructions"));
|
|
852
876
|
const title = this.labelService.getUriLabel(resource) + (attachment.originLabel ? `\n${attachment.originLabel}` : "");
|
|
853
877
|
this.element.classList.remove("warning", "error");
|
|
854
878
|
const fileWithoutExtension = getCleanPromptName(resource);
|
|
@@ -908,8 +932,8 @@ let PromptTextAttachmentWidget = class PromptTextAttachmentWidget extends Abstra
|
|
|
908
932
|
})
|
|
909
933
|
);
|
|
910
934
|
}
|
|
911
|
-
this.label.setLabel(( localize(
|
|
912
|
-
this.element.ariaLabel = this.appendDeletionHint(( localize(
|
|
935
|
+
this.label.setLabel(( localize(5602, "Additional Instructions")), undefined, undefined);
|
|
936
|
+
this.element.ariaLabel = this.appendDeletionHint(( localize(5597, "Attached context, {0}", attachment.name)));
|
|
913
937
|
this._register(hoverService.setupDelayedHover(this.element, {
|
|
914
938
|
...commonHoverOptions,
|
|
915
939
|
content: attachment.value
|
|
@@ -956,18 +980,18 @@ let ToolSetOrToolItemAttachmentWidget = class ToolSetOrToolItemAttachmentWidget
|
|
|
956
980
|
}
|
|
957
981
|
this.label.setLabel(`$(${icon.id})\u00A0${name}`, undefined);
|
|
958
982
|
this.element.style.cursor = "pointer";
|
|
959
|
-
this.element.ariaLabel = this.appendDeletionHint(( localize(
|
|
983
|
+
this.element.ariaLabel = this.appendDeletionHint(( localize(5597, "Attached context, {0}", name)));
|
|
960
984
|
let hoverContent;
|
|
961
985
|
if (isToolSet(toolOrToolSet)) {
|
|
962
986
|
hoverContent = ( localize(
|
|
963
|
-
|
|
987
|
+
5603,
|
|
964
988
|
"{0} - {1}",
|
|
965
989
|
toolOrToolSet.description ?? toolOrToolSet.referenceName,
|
|
966
990
|
toolOrToolSet.source.label
|
|
967
991
|
));
|
|
968
992
|
} else if (toolOrToolSet) {
|
|
969
993
|
hoverContent = ( localize(
|
|
970
|
-
|
|
994
|
+
5604,
|
|
971
995
|
"{0} - {1}",
|
|
972
996
|
toolOrToolSet.userDescription ?? toolOrToolSet.modelDescription,
|
|
973
997
|
toolOrToolSet.source.label
|
|
@@ -1040,7 +1064,7 @@ let NotebookCellOutputChatAttachmentWidget = class NotebookCellOutputChatAttachm
|
|
|
1040
1064
|
this.addResourceOpenHandlers(resource, undefined);
|
|
1041
1065
|
}
|
|
1042
1066
|
getAriaLabel(attachment) {
|
|
1043
|
-
return localize(
|
|
1067
|
+
return localize(5605, "Attached Notebook output, {0}", attachment.name);
|
|
1044
1068
|
}
|
|
1045
1069
|
renderErrorOutput(resource, attachment) {
|
|
1046
1070
|
const attachmentLabel = attachment.name;
|
|
@@ -1068,9 +1092,9 @@ let NotebookCellOutputChatAttachmentWidget = class NotebookCellOutputChatAttachm
|
|
|
1068
1092
|
renderImageOutput(resource, attachment) {
|
|
1069
1093
|
let ariaLabel;
|
|
1070
1094
|
if (attachment.omittedState === OmittedState.Full) {
|
|
1071
|
-
ariaLabel = ( localize(
|
|
1095
|
+
ariaLabel = ( localize(5606, "Omitted this Notebook ouput: {0}", attachment.name));
|
|
1072
1096
|
} else if (attachment.omittedState === OmittedState.Partial) {
|
|
1073
|
-
ariaLabel = ( localize(
|
|
1097
|
+
ariaLabel = ( localize(5607, "Partially omitted this Notebook output: {0}", attachment.name));
|
|
1074
1098
|
} else {
|
|
1075
1099
|
ariaLabel = this.getAriaLabel(attachment);
|
|
1076
1100
|
}
|
|
@@ -1140,14 +1164,14 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
|
|
|
1140
1164
|
);
|
|
1141
1165
|
this.editorService = editorService;
|
|
1142
1166
|
this.hoverService = hoverService;
|
|
1143
|
-
const ariaLabel = ( localize(
|
|
1167
|
+
const ariaLabel = ( localize(5608, "Attached element, {0}", attachment.name));
|
|
1144
1168
|
this.element.ariaLabel = this.appendDeletionHint(ariaLabel);
|
|
1145
1169
|
this.element.style.position = "relative";
|
|
1146
1170
|
this.element.style.cursor = "pointer";
|
|
1147
1171
|
const attachmentLabel = attachment.name;
|
|
1148
1172
|
const withIcon = attachment.icon?.id ? `$(${attachment.icon.id})\u00A0${attachmentLabel}` : attachmentLabel;
|
|
1149
1173
|
this.label.setLabel(withIcon, undefined, {
|
|
1150
|
-
title: ( localize(
|
|
1174
|
+
title: ( localize(5609, "Click to view the contents of: {0}", attachmentLabel))
|
|
1151
1175
|
});
|
|
1152
1176
|
this._register(this.hoverService.setupDelayedHover(
|
|
1153
1177
|
this.element,
|
|
@@ -1167,7 +1191,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
|
|
|
1167
1191
|
const innerScrollables = [];
|
|
1168
1192
|
{
|
|
1169
1193
|
const section = $("div.chat-element-hover-section");
|
|
1170
|
-
const header = $("div.chat-element-hover-header", {}, ( localize(
|
|
1194
|
+
const header = $("div.chat-element-hover-header", {}, ( localize(5610, "ELEMENT")));
|
|
1171
1195
|
section.appendChild(header);
|
|
1172
1196
|
const elementPre = $("pre.chat-element-hover-code");
|
|
1173
1197
|
const elementCode = $("code");
|
|
@@ -1185,7 +1209,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
|
|
|
1185
1209
|
const computedStyleEntries = this.getComputedStyleEntriesForHover(attachment.computedStyles);
|
|
1186
1210
|
if (computedStyleEntries.length > 0) {
|
|
1187
1211
|
const section = $("div.chat-element-hover-section");
|
|
1188
|
-
const header = $("div.chat-element-hover-header", {}, ( localize(
|
|
1212
|
+
const header = $("div.chat-element-hover-header", {}, ( localize(5611, "KEY COMPUTED STYLES")));
|
|
1189
1213
|
section.appendChild(header);
|
|
1190
1214
|
const table = $("div.chat-element-hover-table");
|
|
1191
1215
|
for (const [name, value] of computedStyleEntries) {
|
|
@@ -1204,7 +1228,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
|
|
|
1204
1228
|
section.appendChild(table);
|
|
1205
1229
|
const showMoreButton = $("button.chat-element-hover-show-more", {
|
|
1206
1230
|
type: "button"
|
|
1207
|
-
}, ( localize(
|
|
1231
|
+
}, ( localize(5612, "Show More...")));
|
|
1208
1232
|
this._register(
|
|
1209
1233
|
addDisposableListener(showMoreButton, EventType.CLICK, async e => {
|
|
1210
1234
|
EventHelper.stop(e, true);
|
|
@@ -1216,7 +1240,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
|
|
|
1216
1240
|
}
|
|
1217
1241
|
if (attachment.ancestors && attachment.ancestors.length > 1) {
|
|
1218
1242
|
const section = $("div.chat-element-hover-section");
|
|
1219
|
-
const header = $("div.chat-element-hover-header", {}, ( localize(
|
|
1243
|
+
const header = $("div.chat-element-hover-header", {}, ( localize(5613, "HTML PATH")));
|
|
1220
1244
|
section.appendChild(header);
|
|
1221
1245
|
const lines = [];
|
|
1222
1246
|
for (let i = 0; i < attachment.ancestors.length; i++) {
|
|
@@ -1239,7 +1263,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
|
|
|
1239
1263
|
}
|
|
1240
1264
|
if (attachment.attributes && ( Object.keys(attachment.attributes)).length > 0) {
|
|
1241
1265
|
const section = $("div.chat-element-hover-section");
|
|
1242
|
-
const header = $("div.chat-element-hover-header", {}, ( localize(
|
|
1266
|
+
const header = $("div.chat-element-hover-header", {}, ( localize(5614, "ATTRIBUTES")));
|
|
1243
1267
|
section.appendChild(header);
|
|
1244
1268
|
const table = $("div.chat-element-hover-table");
|
|
1245
1269
|
for (const [name, value] of Object.entries(attachment.attributes)) {
|
|
@@ -1253,7 +1277,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
|
|
|
1253
1277
|
}
|
|
1254
1278
|
if (attachment.dimensions) {
|
|
1255
1279
|
const section = $("div.chat-element-hover-section");
|
|
1256
|
-
const header = $("div.chat-element-hover-header", {}, ( localize(
|
|
1280
|
+
const header = $("div.chat-element-hover-header", {}, ( localize(5615, "POSITION & SIZE")));
|
|
1257
1281
|
section.appendChild(header);
|
|
1258
1282
|
const table = $("div.chat-element-hover-table");
|
|
1259
1283
|
const dims = [
|
|
@@ -1273,7 +1297,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
|
|
|
1273
1297
|
}
|
|
1274
1298
|
if (attachment.innerText) {
|
|
1275
1299
|
const section = $("div.chat-element-hover-section");
|
|
1276
|
-
const header = $("div.chat-element-hover-header", {}, ( localize(
|
|
1300
|
+
const header = $("div.chat-element-hover-header", {}, ( localize(5616, "INNER TEXT")));
|
|
1277
1301
|
section.appendChild(header);
|
|
1278
1302
|
section.appendChild($("div.chat-element-hover-text", {}, attachment.innerText));
|
|
1279
1303
|
scrollableContent.appendChild(section);
|
|
@@ -1419,7 +1443,7 @@ let SCMHistoryItemAttachmentWidget = class SCMHistoryItemAttachmentWidget extend
|
|
|
1419
1443
|
);
|
|
1420
1444
|
this.label.setLabel(attachment.name, undefined);
|
|
1421
1445
|
this.element.style.cursor = "pointer";
|
|
1422
|
-
this.element.ariaLabel = this.appendDeletionHint(( localize(
|
|
1446
|
+
this.element.ariaLabel = this.appendDeletionHint(( localize(5597, "Attached context, {0}", attachment.name)));
|
|
1423
1447
|
const {
|
|
1424
1448
|
content,
|
|
1425
1449
|
disposables
|
|
@@ -1481,7 +1505,7 @@ let SCMHistoryItemChangeAttachmentWidget = class SCMHistoryItemChangeAttachmentW
|
|
|
1481
1505
|
hidePath: true,
|
|
1482
1506
|
nameSuffix
|
|
1483
1507
|
});
|
|
1484
|
-
this.element.ariaLabel = this.appendDeletionHint(( localize(
|
|
1508
|
+
this.element.ariaLabel = this.appendDeletionHint(( localize(5597, "Attached context, {0}", attachment.name)));
|
|
1485
1509
|
const {
|
|
1486
1510
|
content,
|
|
1487
1511
|
disposables
|
|
@@ -1537,7 +1561,7 @@ let SCMHistoryItemChangeRangeAttachmentWidget = class SCMHistoryItemChangeRangeA
|
|
|
1537
1561
|
hidePath: true,
|
|
1538
1562
|
nameSuffix
|
|
1539
1563
|
});
|
|
1540
|
-
this.element.ariaLabel = this.appendDeletionHint(( localize(
|
|
1564
|
+
this.element.ariaLabel = this.appendDeletionHint(( localize(5597, "Attached context, {0}", attachment.name)));
|
|
1541
1565
|
this.addResourceOpenHandlers(attachment.value, undefined);
|
|
1542
1566
|
}
|
|
1543
1567
|
async openResource(resource, options, isDirectory, range) {
|
|
@@ -1699,7 +1723,7 @@ function addBasicContextMenu(accessor, widget, scopedContextKeyService, menuId,
|
|
|
1699
1723
|
const chatAttachmentResourceContextKey = ( new RawContextKey("chatAttachmentResource", undefined, {
|
|
1700
1724
|
type: "URI",
|
|
1701
1725
|
description: ( localize(
|
|
1702
|
-
|
|
1726
|
+
5617,
|
|
1703
1727
|
"The full value of the chat attachment resource, including scheme and path"
|
|
1704
1728
|
))
|
|
1705
1729
|
}));
|