@codingame/monaco-vscode-katex-common 30.0.0 → 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
|
@@ -5,7 +5,6 @@ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
5
5
|
import { IMarkdownRenderer } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer";
|
|
6
6
|
import { IChatHookPart, IChatMarkdownContent, IChatToolInvocation, IChatToolInvocationSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
7
7
|
import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
|
|
8
|
-
import { CodeBlockModelCollection } from "../../../common/widget/codeBlockModelCollection.js";
|
|
9
8
|
import { ChatTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
10
9
|
import { ChatCollapsibleContentPart } from "./chatCollapsibleContentPart.js";
|
|
11
10
|
import { EditorPool } from "./chatContentCodePools.js";
|
|
@@ -23,10 +22,10 @@ export declare class ChatSubagentContentPart extends ChatCollapsibleContentPart
|
|
|
23
22
|
private readonly listPool;
|
|
24
23
|
private readonly editorPool;
|
|
25
24
|
private readonly currentWidthDelegate;
|
|
26
|
-
private readonly codeBlockModelCollection;
|
|
27
25
|
private readonly announcedToolProgressKeys;
|
|
28
26
|
private readonly instantiationService;
|
|
29
27
|
private readonly chatMarkdownAnchorService;
|
|
28
|
+
private readonly configurationService;
|
|
30
29
|
private wrapper;
|
|
31
30
|
private isActive;
|
|
32
31
|
private hasToolItems;
|
|
@@ -44,10 +43,22 @@ export declare class ChatSubagentContentPart extends ChatCollapsibleContentPart
|
|
|
44
43
|
private pendingResultText;
|
|
45
44
|
private currentRunningToolMessage;
|
|
46
45
|
private modelName;
|
|
46
|
+
private _isDefaultDescription;
|
|
47
47
|
private readonly _hoverDisposable;
|
|
48
48
|
private toolsWaitingForConfirmation;
|
|
49
49
|
private userManuallyExpanded;
|
|
50
50
|
private autoExpandedForConfirmation;
|
|
51
|
+
private _navigateToCarousel;
|
|
52
|
+
private _addToolToCarousel;
|
|
53
|
+
private _shouldUseCarouselForTool;
|
|
54
|
+
private _confirmationPlaceholder;
|
|
55
|
+
private _confirmationPlaceholderLabel;
|
|
56
|
+
private readonly _confirmationPlaceholderDisposable;
|
|
57
|
+
private _useCarouselForConfirmations;
|
|
58
|
+
private toolsWaitingForCarouselConfirmation;
|
|
59
|
+
private workingSpinnerElement;
|
|
60
|
+
private workingSpinnerLabel;
|
|
61
|
+
private availableMessages;
|
|
51
62
|
private titleShimmerSpan;
|
|
52
63
|
private titleDetailContainer;
|
|
53
64
|
private readonly _titleDetailRendered;
|
|
@@ -60,7 +71,11 @@ export declare class ChatSubagentContentPart extends ChatCollapsibleContentPart
|
|
|
60
71
|
* Extracts subagent info (description, agentName, prompt) from a tool invocation.
|
|
61
72
|
*/
|
|
62
73
|
private static extractSubagentInfo;
|
|
63
|
-
constructor(subAgentInvocationId: string, toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, context: IChatContentPartRenderContext, chatContentMarkdownRenderer: IMarkdownRenderer, listPool: CollapsibleListPool, editorPool: EditorPool, currentWidthDelegate: () => number,
|
|
74
|
+
constructor(subAgentInvocationId: string, toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, context: IChatContentPartRenderContext, chatContentMarkdownRenderer: IMarkdownRenderer, listPool: CollapsibleListPool, editorPool: EditorPool, currentWidthDelegate: () => number, announcedToolProgressKeys: Set<string>, instantiationService: IInstantiationService, chatMarkdownAnchorService: IChatMarkdownAnchorService, hoverService: IHoverService, configurationService: IConfigurationService);
|
|
75
|
+
private getRandomWorkingMessage;
|
|
76
|
+
private createWorkingSpinner;
|
|
77
|
+
private removeWorkingSpinner;
|
|
78
|
+
private showWorkingSpinner;
|
|
64
79
|
protected initContent(): HTMLElement;
|
|
65
80
|
/**
|
|
66
81
|
* Renders the prompt as a collapsible section at the start of the content.
|
|
@@ -70,6 +85,10 @@ export declare class ChatSubagentContentPart extends ChatCollapsibleContentPart
|
|
|
70
85
|
private renderPromptSection;
|
|
71
86
|
private doRenderPromptSection;
|
|
72
87
|
getIsActive(): boolean;
|
|
88
|
+
get hasToolsWaitingForConfirmation(): boolean;
|
|
89
|
+
/** Routes this subagent's initial confirmations to the input carousel. */
|
|
90
|
+
enableCarouselMode(navigateToCarousel: (subAgentInvocationId: string) => void, addToolToCarousel: (tool: IChatToolInvocation) => void, shouldUseCarouselForTool: (tool: IChatToolInvocation, state: IChatToolInvocation.State) => boolean): void;
|
|
91
|
+
getAgentLabel(): string;
|
|
73
92
|
markAsInactive(): void;
|
|
74
93
|
finalizeTitle(): void;
|
|
75
94
|
private updateTitle;
|
|
@@ -82,6 +101,13 @@ export declare class ChatSubagentContentPart extends ChatCollapsibleContentPart
|
|
|
82
101
|
* This method is public to support testing.
|
|
83
102
|
*/
|
|
84
103
|
trackToolState(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized): void;
|
|
104
|
+
private getConfirmationPlaceholderText;
|
|
105
|
+
private updateConfirmationPlaceholderLabel;
|
|
106
|
+
/** Shows a placeholder that jumps back to the carousel. */
|
|
107
|
+
private showConfirmationPlaceholder;
|
|
108
|
+
private hideConfirmationPlaceholder;
|
|
109
|
+
/** Keeps the carousel placeholder after visible tool output. */
|
|
110
|
+
private ensurePlaceholderAtBottom;
|
|
85
111
|
/**
|
|
86
112
|
* Watches the tool invocation for completion and renders the result.
|
|
87
113
|
* Handles both live and serialized invocations.
|
|
@@ -103,11 +129,17 @@ export declare class ChatSubagentContentPart extends ChatCollapsibleContentPart
|
|
|
103
129
|
/**
|
|
104
130
|
* Appends a markdown item (e.g., an edit pill) to the subagent content part.
|
|
105
131
|
* This is used to route codeblockUri parts with subAgentInvocationId to this subagent's container.
|
|
132
|
+
*
|
|
133
|
+
* When the caller has already created the content part eagerly (for example, a
|
|
134
|
+
* pre-built `ChatMarkdownContentPart` wrapped in a factory), the caller MUST pass
|
|
135
|
+
* that part as `eagerDisposable` so it is registered on this subagent part
|
|
136
|
+
* immediately. Otherwise, if the subagent section is collapsed and the lazy item
|
|
137
|
+
* is never materialized, the eagerly-created part would leak.
|
|
106
138
|
*/
|
|
107
139
|
appendMarkdownItem(factory: () => {
|
|
108
140
|
domNode: HTMLElement;
|
|
109
141
|
disposable?: IDisposable;
|
|
110
|
-
}, _codeblocksPartId: string | undefined, _markdown: IChatMarkdownContent, _originalParent?: HTMLElement): void;
|
|
142
|
+
}, _codeblocksPartId: string | undefined, _markdown: IChatMarkdownContent, _originalParent?: HTMLElement, eagerDisposable?: IDisposable): void;
|
|
111
143
|
/**
|
|
112
144
|
* Appends a hook item (blocked/warning) to the subagent content part.
|
|
113
145
|
*/
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
2
|
import { registerCss } from '@codingame/monaco-vscode-api/css';
|
|
3
3
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
4
|
-
import { $, AnimationFrameScheduler, DisposableResizeObserver, append } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
|
+
import { $, AnimationFrameScheduler, DisposableResizeObserver, append, addDisposableListener } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
5
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
6
6
|
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
7
7
|
import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
|
|
8
|
-
import { MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
8
|
+
import { MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
9
9
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
10
10
|
import { rcut } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
|
|
11
11
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
@@ -17,7 +17,7 @@ import { ChatCollapsibleContentPart } from './chatCollapsibleContentPart.js';
|
|
|
17
17
|
import { ChatCollapsibleMarkdownContentPart } from './chatCollapsibleMarkdownContentPart.js';
|
|
18
18
|
import { renderFileWidgets } from './chatInlineAnchorWidget.js';
|
|
19
19
|
import { IChatMarkdownAnchorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service';
|
|
20
|
-
import { createThinkingIcon, getToolInvocationIcon } from './chatThinkingContentPart.js';
|
|
20
|
+
import { buildPhrasePool, createThinkingIcon, getToolInvocationIcon } from './chatThinkingContentPart.js';
|
|
21
21
|
import { ChatToolInvocationPart } from './toolInvocationParts/chatToolInvocationPart.js';
|
|
22
22
|
import * as chatSubagentContent from './media/chatSubagentContent.css';
|
|
23
23
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
@@ -25,23 +25,27 @@ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/obse
|
|
|
25
25
|
var ChatSubagentContentPart_1;
|
|
26
26
|
registerCss(chatSubagentContent);
|
|
27
27
|
const MAX_TITLE_LENGTH = 100;
|
|
28
|
+
const subagentWorkingMessages = [( localize(6926, "Processing")), ( localize(6927, "Preparing")), ( localize(6928, "Loading")), ( localize(6929, "Analyzing")), ( localize(6930, "Evaluating"))];
|
|
28
29
|
let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentContentPart extends ChatCollapsibleContentPart {
|
|
29
30
|
static isParentSubagentTool(toolInvocation) {
|
|
30
31
|
return toolInvocation.toolSpecificData?.kind === "subagent" && !toolInvocation.subAgentInvocationId;
|
|
31
32
|
}
|
|
32
33
|
static extractSubagentInfo(toolInvocation) {
|
|
33
|
-
const defaultDescription = ( localize(
|
|
34
|
+
const defaultDescription = ( localize(6931, "Running subagent"));
|
|
34
35
|
if (!ChatSubagentContentPart_1.isParentSubagentTool(toolInvocation)) {
|
|
35
36
|
return {
|
|
36
37
|
description: defaultDescription,
|
|
38
|
+
isDefaultDescription: true,
|
|
37
39
|
agentName: undefined,
|
|
38
40
|
prompt: undefined,
|
|
39
41
|
modelName: undefined
|
|
40
42
|
};
|
|
41
43
|
}
|
|
42
44
|
if (toolInvocation.toolSpecificData?.kind === "subagent") {
|
|
45
|
+
const hasDescription = !!toolInvocation.toolSpecificData.description;
|
|
43
46
|
return {
|
|
44
47
|
description: toolInvocation.toolSpecificData.description ?? defaultDescription,
|
|
48
|
+
isDefaultDescription: !hasDescription,
|
|
45
49
|
agentName: toolInvocation.toolSpecificData.agentName,
|
|
46
50
|
prompt: toolInvocation.toolSpecificData.prompt,
|
|
47
51
|
modelName: toolInvocation.toolSpecificData.modelName
|
|
@@ -50,8 +54,10 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
50
54
|
if (toolInvocation.kind === "toolInvocation") {
|
|
51
55
|
const state = toolInvocation.state.get();
|
|
52
56
|
const params = state.type !== IChatToolInvocation.StateKind.Streaming ? state.parameters : undefined;
|
|
57
|
+
const hasDescription = !!params?.description;
|
|
53
58
|
return {
|
|
54
59
|
description: params?.description ?? defaultDescription,
|
|
60
|
+
isDefaultDescription: !hasDescription,
|
|
55
61
|
agentName: params?.agentName,
|
|
56
62
|
prompt: params?.prompt,
|
|
57
63
|
modelName: undefined
|
|
@@ -59,6 +65,7 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
59
65
|
}
|
|
60
66
|
return {
|
|
61
67
|
description: defaultDescription,
|
|
68
|
+
isDefaultDescription: true,
|
|
62
69
|
agentName: undefined,
|
|
63
70
|
prompt: undefined,
|
|
64
71
|
modelName: undefined
|
|
@@ -72,7 +79,6 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
72
79
|
listPool,
|
|
73
80
|
editorPool,
|
|
74
81
|
currentWidthDelegate,
|
|
75
|
-
codeBlockModelCollection,
|
|
76
82
|
announcedToolProgressKeys,
|
|
77
83
|
instantiationService,
|
|
78
84
|
chatMarkdownAnchorService,
|
|
@@ -81,11 +87,13 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
81
87
|
) {
|
|
82
88
|
const {
|
|
83
89
|
description,
|
|
90
|
+
isDefaultDescription,
|
|
84
91
|
agentName,
|
|
85
92
|
prompt,
|
|
86
93
|
modelName
|
|
87
94
|
} = ChatSubagentContentPart_1.extractSubagentInfo(toolInvocation);
|
|
88
|
-
const
|
|
95
|
+
const rawPrefix = agentName || ( localize(6932, "Subagent"));
|
|
96
|
+
const prefix = rawPrefix.charAt(0).toUpperCase() + rawPrefix.slice(1);
|
|
89
97
|
const initialTitle = `${prefix}: ${description}`;
|
|
90
98
|
super(initialTitle, context, undefined, hoverService, configurationService);
|
|
91
99
|
this.subAgentInvocationId = subAgentInvocationId;
|
|
@@ -94,10 +102,10 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
94
102
|
this.listPool = listPool;
|
|
95
103
|
this.editorPool = editorPool;
|
|
96
104
|
this.currentWidthDelegate = currentWidthDelegate;
|
|
97
|
-
this.codeBlockModelCollection = codeBlockModelCollection;
|
|
98
105
|
this.announcedToolProgressKeys = announcedToolProgressKeys;
|
|
99
106
|
this.instantiationService = instantiationService;
|
|
100
107
|
this.chatMarkdownAnchorService = chatMarkdownAnchorService;
|
|
108
|
+
this.configurationService = configurationService;
|
|
101
109
|
this.isActive = true;
|
|
102
110
|
this.hasToolItems = false;
|
|
103
111
|
this.lazyItems = [];
|
|
@@ -107,8 +115,12 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
107
115
|
this.toolsWaitingForConfirmation = 0;
|
|
108
116
|
this.userManuallyExpanded = false;
|
|
109
117
|
this.autoExpandedForConfirmation = false;
|
|
118
|
+
this._confirmationPlaceholderDisposable = this._register(( new MutableDisposable()));
|
|
119
|
+
this._useCarouselForConfirmations = false;
|
|
120
|
+
this.toolsWaitingForCarouselConfirmation = 0;
|
|
110
121
|
this._titleDetailRendered = this._register(( new MutableDisposable()));
|
|
111
|
-
this.description = description;
|
|
122
|
+
this.description = rcut(description, MAX_TITLE_LENGTH);
|
|
123
|
+
this._isDefaultDescription = isDefaultDescription;
|
|
112
124
|
this.agentName = agentName;
|
|
113
125
|
this.prompt = prompt;
|
|
114
126
|
this.modelName = modelName;
|
|
@@ -165,12 +177,48 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
165
177
|
this.renderPromptSection();
|
|
166
178
|
this.watchToolCompletion(toolInvocation);
|
|
167
179
|
}
|
|
180
|
+
getRandomWorkingMessage() {
|
|
181
|
+
if (!this.availableMessages || this.availableMessages.length === 0) {
|
|
182
|
+
this.availableMessages = buildPhrasePool(subagentWorkingMessages, this.configurationService);
|
|
183
|
+
}
|
|
184
|
+
const index = Math.floor(Math.random() * this.availableMessages.length);
|
|
185
|
+
return this.availableMessages.splice(index, 1)[0];
|
|
186
|
+
}
|
|
187
|
+
createWorkingSpinner() {
|
|
188
|
+
if (this.workingSpinnerElement || !this.wrapper) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
this.workingSpinnerElement = $(".chat-thinking-item.chat-thinking-spinner-item");
|
|
192
|
+
const spinnerIcon = createThinkingIcon(Codicon.circleFilled);
|
|
193
|
+
this.workingSpinnerElement.appendChild(spinnerIcon);
|
|
194
|
+
this.workingSpinnerLabel = $("span.chat-thinking-spinner-label");
|
|
195
|
+
this.workingSpinnerLabel.textContent = this.getRandomWorkingMessage();
|
|
196
|
+
this.workingSpinnerElement.appendChild(this.workingSpinnerLabel);
|
|
197
|
+
this.wrapper.appendChild(this.workingSpinnerElement);
|
|
198
|
+
}
|
|
199
|
+
removeWorkingSpinner() {
|
|
200
|
+
if (this.workingSpinnerElement) {
|
|
201
|
+
this.workingSpinnerElement.remove();
|
|
202
|
+
this.workingSpinnerElement = undefined;
|
|
203
|
+
this.workingSpinnerLabel = undefined;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
showWorkingSpinner() {
|
|
207
|
+
if (this.workingSpinnerElement) {
|
|
208
|
+
this.workingSpinnerElement.style.display = "";
|
|
209
|
+
} else {
|
|
210
|
+
this.createWorkingSpinner();
|
|
211
|
+
}
|
|
212
|
+
}
|
|
168
213
|
initContent() {
|
|
169
214
|
this.wrapper = $(".chat-used-context-list.chat-thinking-collapsible");
|
|
170
215
|
if (!this.hasToolItems) {
|
|
171
216
|
this.wrapper.style.display = "none";
|
|
172
217
|
}
|
|
173
218
|
this.materializePendingContent();
|
|
219
|
+
if (this.isActive && !this.isInitiallyComplete && !this.hasToolsWaitingForConfirmation) {
|
|
220
|
+
this.showWorkingSpinner();
|
|
221
|
+
}
|
|
174
222
|
const resizeObserver = this._register(( new DisposableResizeObserver(() => this.layoutScheduler.schedule())));
|
|
175
223
|
this._register(resizeObserver.observe(this.wrapper));
|
|
176
224
|
return this.wrapper;
|
|
@@ -191,7 +239,7 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
191
239
|
return;
|
|
192
240
|
}
|
|
193
241
|
const lines = this.prompt.split("\n");
|
|
194
|
-
const rawFirstLine = lines[0] || ( localize(
|
|
242
|
+
const rawFirstLine = lines[0] || ( localize(6933, "Prompt"));
|
|
195
243
|
const restOfLines = lines.slice(1).join("\n").trim();
|
|
196
244
|
const titleContent = rcut(rawFirstLine, MAX_TITLE_LENGTH);
|
|
197
245
|
const wasTruncated = rawFirstLine.length > MAX_TITLE_LENGTH;
|
|
@@ -223,12 +271,35 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
223
271
|
getIsActive() {
|
|
224
272
|
return this.isActive;
|
|
225
273
|
}
|
|
274
|
+
get hasToolsWaitingForConfirmation() {
|
|
275
|
+
return this.toolsWaitingForConfirmation > 0;
|
|
276
|
+
}
|
|
277
|
+
enableCarouselMode(navigateToCarousel, addToolToCarousel, shouldUseCarouselForTool) {
|
|
278
|
+
this._useCarouselForConfirmations = true;
|
|
279
|
+
this._navigateToCarousel = navigateToCarousel;
|
|
280
|
+
this._addToolToCarousel = addToolToCarousel;
|
|
281
|
+
this._shouldUseCarouselForTool = shouldUseCarouselForTool;
|
|
282
|
+
}
|
|
283
|
+
getAgentLabel() {
|
|
284
|
+
if (this.agentName) {
|
|
285
|
+
return this.agentName;
|
|
286
|
+
}
|
|
287
|
+
if (!this._isDefaultDescription && this.description) {
|
|
288
|
+
return this.description;
|
|
289
|
+
}
|
|
290
|
+
return localize(6932, "Subagent");
|
|
291
|
+
}
|
|
226
292
|
markAsInactive() {
|
|
227
293
|
this.isActive = false;
|
|
228
294
|
this.domNode.classList.remove("chat-thinking-active");
|
|
229
295
|
if (this._collapseButton) {
|
|
230
296
|
this._collapseButton.icon = Codicon.check;
|
|
231
297
|
}
|
|
298
|
+
this.removeWorkingSpinner();
|
|
299
|
+
this.hideConfirmationPlaceholder();
|
|
300
|
+
if (this._isDefaultDescription) {
|
|
301
|
+
this.description = ( localize(6934, "Ran subagent"));
|
|
302
|
+
}
|
|
232
303
|
this.finalizeTitle();
|
|
233
304
|
this.setExpanded(false);
|
|
234
305
|
}
|
|
@@ -239,7 +310,8 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
239
310
|
}
|
|
240
311
|
}
|
|
241
312
|
updateTitle() {
|
|
242
|
-
const
|
|
313
|
+
const rawName = this.agentName || ( localize(6932, "Subagent"));
|
|
314
|
+
const prefix = rawName.charAt(0).toUpperCase() + rawName.slice(1);
|
|
243
315
|
const shimmerText = `${prefix}: ${this.description}`;
|
|
244
316
|
const toolCallText = this.currentRunningToolMessage && this.isActive ? ` \u2014 ${this.currentRunningToolMessage}` : ``;
|
|
245
317
|
if (!this._collapseButton) {
|
|
@@ -299,7 +371,7 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
299
371
|
return;
|
|
300
372
|
}
|
|
301
373
|
this._hoverDisposable.value = this.hoverService.setupDelayedHover(this._collapseButton.element, {
|
|
302
|
-
content: ( localize(
|
|
374
|
+
content: ( localize(6935, "Model: {0}", this.modelName))
|
|
303
375
|
});
|
|
304
376
|
}
|
|
305
377
|
trackToolState(toolInvocation) {
|
|
@@ -310,26 +382,103 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
310
382
|
const messageText = typeof message === "string" ? message : message.value;
|
|
311
383
|
this.currentRunningToolMessage = messageText;
|
|
312
384
|
this.updateTitle();
|
|
385
|
+
const addToolToCarousel = this._addToolToCarousel;
|
|
386
|
+
const shouldUseCarouselForTool = this._shouldUseCarouselForTool;
|
|
313
387
|
let wasWaitingForConfirmation = false;
|
|
388
|
+
let wasWaitingForCarouselConfirmation = false;
|
|
314
389
|
this._register(autorun(r => {
|
|
315
390
|
const state = toolInvocation.state.read(r);
|
|
316
391
|
const isWaitingForConfirmation = state.type === IChatToolInvocation.StateKind.WaitingForConfirmation || state.type === IChatToolInvocation.StateKind.WaitingForPostApproval;
|
|
392
|
+
const isWaitingForCarouselConfirmation = !!addToolToCarousel && shouldUseCarouselForTool?.(toolInvocation, state) === true;
|
|
317
393
|
if (isWaitingForConfirmation && !wasWaitingForConfirmation) {
|
|
318
394
|
this.toolsWaitingForConfirmation++;
|
|
319
395
|
if (!this.isExpanded()) {
|
|
320
396
|
this.autoExpandedForConfirmation = true;
|
|
321
397
|
this.setExpanded(true);
|
|
322
398
|
}
|
|
399
|
+
this.removeWorkingSpinner();
|
|
323
400
|
} else if (!isWaitingForConfirmation && wasWaitingForConfirmation) {
|
|
324
401
|
this.toolsWaitingForConfirmation--;
|
|
325
402
|
if (this.toolsWaitingForConfirmation === 0 && this.autoExpandedForConfirmation && !this.userManuallyExpanded) {
|
|
326
403
|
this.autoExpandedForConfirmation = false;
|
|
327
404
|
this.setExpanded(false);
|
|
328
405
|
}
|
|
406
|
+
if (this.toolsWaitingForConfirmation === 0 && this.isActive) {
|
|
407
|
+
this.showWorkingSpinner();
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
if (isWaitingForCarouselConfirmation && !wasWaitingForCarouselConfirmation) {
|
|
411
|
+
this.toolsWaitingForCarouselConfirmation++;
|
|
412
|
+
addToolToCarousel(toolInvocation);
|
|
413
|
+
this.showConfirmationPlaceholder();
|
|
414
|
+
} else if (!isWaitingForCarouselConfirmation && wasWaitingForCarouselConfirmation) {
|
|
415
|
+
this.toolsWaitingForCarouselConfirmation--;
|
|
416
|
+
if (this.toolsWaitingForCarouselConfirmation === 0) {
|
|
417
|
+
this.hideConfirmationPlaceholder();
|
|
418
|
+
} else {
|
|
419
|
+
this.updateConfirmationPlaceholderLabel();
|
|
420
|
+
}
|
|
329
421
|
}
|
|
330
422
|
wasWaitingForConfirmation = isWaitingForConfirmation;
|
|
423
|
+
wasWaitingForCarouselConfirmation = isWaitingForCarouselConfirmation;
|
|
331
424
|
}));
|
|
332
425
|
}
|
|
426
|
+
getConfirmationPlaceholderText() {
|
|
427
|
+
const count = this.toolsWaitingForCarouselConfirmation;
|
|
428
|
+
return count === 1 ? ( localize(6936, "1 pending confirmation")) : ( localize(6937, "{0} pending confirmations", count));
|
|
429
|
+
}
|
|
430
|
+
updateConfirmationPlaceholderLabel() {
|
|
431
|
+
if (this._confirmationPlaceholderLabel) {
|
|
432
|
+
this._confirmationPlaceholderLabel.textContent = this.getConfirmationPlaceholderText();
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
showConfirmationPlaceholder() {
|
|
436
|
+
if (this._confirmationPlaceholder) {
|
|
437
|
+
this.updateConfirmationPlaceholderLabel();
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
const placeholder = $("button.chat-subagent-confirmation-placeholder");
|
|
441
|
+
const label = $("span.chat-subagent-placeholder-label");
|
|
442
|
+
label.textContent = this.getConfirmationPlaceholderText();
|
|
443
|
+
placeholder.appendChild(label);
|
|
444
|
+
this._confirmationPlaceholder = placeholder;
|
|
445
|
+
this._confirmationPlaceholderLabel = label;
|
|
446
|
+
const placeholderDisposables = ( new DisposableStore());
|
|
447
|
+
placeholderDisposables.add(addDisposableListener(placeholder, "click", e => {
|
|
448
|
+
e.preventDefault();
|
|
449
|
+
e.stopPropagation();
|
|
450
|
+
this._navigateToCarousel?.(this.subAgentInvocationId);
|
|
451
|
+
}));
|
|
452
|
+
this._confirmationPlaceholderDisposable.value = placeholderDisposables;
|
|
453
|
+
if (!this.hasToolItems) {
|
|
454
|
+
this.hasToolItems = true;
|
|
455
|
+
if (this.wrapper) {
|
|
456
|
+
this.wrapper.style.display = "";
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
if (!this.isExpanded()) {
|
|
460
|
+
this.autoExpandedForConfirmation = true;
|
|
461
|
+
this.setExpanded(true);
|
|
462
|
+
}
|
|
463
|
+
if (this.wrapper) {
|
|
464
|
+
this.wrapper.appendChild(placeholder);
|
|
465
|
+
}
|
|
466
|
+
this.layoutScheduler.schedule();
|
|
467
|
+
}
|
|
468
|
+
hideConfirmationPlaceholder() {
|
|
469
|
+
if (this._confirmationPlaceholder) {
|
|
470
|
+
this._confirmationPlaceholder.remove();
|
|
471
|
+
this._confirmationPlaceholder = undefined;
|
|
472
|
+
this._confirmationPlaceholderLabel = undefined;
|
|
473
|
+
this._confirmationPlaceholderDisposable.clear();
|
|
474
|
+
this.layoutScheduler.schedule();
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
ensurePlaceholderAtBottom() {
|
|
478
|
+
if (this._confirmationPlaceholder?.parentElement === this.wrapper) {
|
|
479
|
+
this.wrapper.appendChild(this._confirmationPlaceholder);
|
|
480
|
+
}
|
|
481
|
+
}
|
|
333
482
|
watchToolCompletion(toolInvocation) {
|
|
334
483
|
if (!ChatSubagentContentPart_1.isParentSubagentTool(toolInvocation)) {
|
|
335
484
|
return;
|
|
@@ -344,20 +493,28 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
344
493
|
if (textParts.length > 0) {
|
|
345
494
|
this.renderResultText(textParts.join("\n"));
|
|
346
495
|
}
|
|
347
|
-
if (toolInvocation.toolSpecificData?.kind === "subagent"
|
|
348
|
-
|
|
349
|
-
|
|
496
|
+
if (toolInvocation.toolSpecificData?.kind === "subagent") {
|
|
497
|
+
if (toolInvocation.toolSpecificData.description) {
|
|
498
|
+
this.description = toolInvocation.toolSpecificData.description;
|
|
499
|
+
this._isDefaultDescription = false;
|
|
500
|
+
}
|
|
501
|
+
if (toolInvocation.toolSpecificData.modelName) {
|
|
502
|
+
this.modelName = toolInvocation.toolSpecificData.modelName;
|
|
503
|
+
this.updateHover();
|
|
504
|
+
}
|
|
350
505
|
}
|
|
351
506
|
this.markAsInactive();
|
|
352
507
|
} else if (wasStreaming && state.type !== IChatToolInvocation.StateKind.Streaming) {
|
|
353
508
|
wasStreaming = false;
|
|
354
509
|
const {
|
|
355
510
|
description,
|
|
511
|
+
isDefaultDescription,
|
|
356
512
|
agentName,
|
|
357
513
|
prompt,
|
|
358
514
|
modelName
|
|
359
515
|
} = ChatSubagentContentPart_1.extractSubagentInfo(toolInvocation);
|
|
360
516
|
this.description = description;
|
|
517
|
+
this._isDefaultDescription = isDefaultDescription;
|
|
361
518
|
this.agentName = agentName;
|
|
362
519
|
this.prompt = prompt;
|
|
363
520
|
if (modelName) {
|
|
@@ -366,6 +523,24 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
366
523
|
}
|
|
367
524
|
this.renderPromptSection();
|
|
368
525
|
this.updateTitle();
|
|
526
|
+
} else if (toolInvocation.toolSpecificData?.kind === "subagent") {
|
|
527
|
+
const {
|
|
528
|
+
description,
|
|
529
|
+
isDefaultDescription,
|
|
530
|
+
agentName
|
|
531
|
+
} = ChatSubagentContentPart_1.extractSubagentInfo(toolInvocation);
|
|
532
|
+
const descriptionChanged = this._isDefaultDescription && !isDefaultDescription;
|
|
533
|
+
const agentNameChanged = !!agentName && agentName !== this.agentName;
|
|
534
|
+
if (descriptionChanged || agentNameChanged) {
|
|
535
|
+
if (descriptionChanged) {
|
|
536
|
+
this.description = description;
|
|
537
|
+
this._isDefaultDescription = isDefaultDescription;
|
|
538
|
+
}
|
|
539
|
+
if (agentNameChanged) {
|
|
540
|
+
this.agentName = agentName;
|
|
541
|
+
}
|
|
542
|
+
this.updateTitle();
|
|
543
|
+
}
|
|
369
544
|
}
|
|
370
545
|
}));
|
|
371
546
|
} else if (toolInvocation.toolSpecificData?.kind === "subagent" && toolInvocation.toolSpecificData.result) {
|
|
@@ -435,23 +610,27 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
435
610
|
this.lazyItems.push(item);
|
|
436
611
|
}
|
|
437
612
|
}
|
|
438
|
-
appendMarkdownItem(factory, _codeblocksPartId, _markdown, _originalParent) {
|
|
613
|
+
appendMarkdownItem(factory, _codeblocksPartId, _markdown, _originalParent, eagerDisposable) {
|
|
614
|
+
if (eagerDisposable) {
|
|
615
|
+
this._register(eagerDisposable);
|
|
616
|
+
}
|
|
439
617
|
if (this.isExpanded() || this.hasExpandedOnce) {
|
|
440
618
|
const result = factory();
|
|
441
619
|
this.appendMarkdownItemToDOM(result.domNode);
|
|
442
|
-
if (result.disposable) {
|
|
620
|
+
if (result.disposable && result.disposable !== eagerDisposable) {
|
|
443
621
|
this._register(result.disposable);
|
|
444
622
|
}
|
|
445
623
|
} else {
|
|
446
624
|
const item = {
|
|
447
625
|
kind: "markdown",
|
|
448
|
-
lazy: ( new Lazy(factory))
|
|
626
|
+
lazy: ( new Lazy(factory)),
|
|
627
|
+
eagerlyRegistered: !!eagerDisposable
|
|
449
628
|
};
|
|
450
629
|
this.lazyItems.push(item);
|
|
451
630
|
}
|
|
452
631
|
}
|
|
453
632
|
appendHookItem(factory, hookPart) {
|
|
454
|
-
const hookMessage = hookPart.stopReason ? (hookPart.toolDisplayName ? ( localize(
|
|
633
|
+
const hookMessage = hookPart.stopReason ? (hookPart.toolDisplayName ? ( localize(6938, "Blocked {0}", hookPart.toolDisplayName)) : ( localize(6939, "Blocked by hook"))) : (hookPart.toolDisplayName ? ( localize(6940, "Warning for {0}", hookPart.toolDisplayName)) : ( localize(6941, "Hook warning")));
|
|
455
634
|
this.currentRunningToolMessage = hookMessage;
|
|
456
635
|
this.updateTitle();
|
|
457
636
|
if (this.isExpanded() || this.hasExpandedOnce) {
|
|
@@ -521,7 +700,6 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
521
700
|
this.listPool,
|
|
522
701
|
this.editorPool,
|
|
523
702
|
this.currentWidthDelegate,
|
|
524
|
-
this.codeBlockModelCollection,
|
|
525
703
|
this.announcedToolProgressKeys,
|
|
526
704
|
codeBlockStartIndex
|
|
527
705
|
);
|
|
@@ -538,21 +716,35 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
538
716
|
const iconElement = createThinkingIcon(icon);
|
|
539
717
|
itemWrapper.appendChild(content);
|
|
540
718
|
if (toolInvocation.kind === "toolInvocation") {
|
|
719
|
+
const shouldUseCarouselForTool = this._shouldUseCarouselForTool;
|
|
541
720
|
this._register(autorun(r => {
|
|
542
721
|
const state = toolInvocation.state.read(r);
|
|
543
722
|
const hasConfirmation = state.type === IChatToolInvocation.StateKind.WaitingForConfirmation || state.type === IChatToolInvocation.StateKind.WaitingForPostApproval;
|
|
723
|
+
const shouldHideInline = shouldUseCarouselForTool?.(toolInvocation, state) === true;
|
|
544
724
|
if (hasConfirmation) {
|
|
545
725
|
iconElement.remove();
|
|
546
|
-
|
|
547
|
-
|
|
726
|
+
if (shouldHideInline) {
|
|
727
|
+
itemWrapper.style.display = "none";
|
|
728
|
+
} else {
|
|
729
|
+
itemWrapper.style.display = "";
|
|
730
|
+
}
|
|
731
|
+
} else {
|
|
732
|
+
if (!iconElement.parentElement) {
|
|
733
|
+
itemWrapper.insertBefore(iconElement, itemWrapper.firstChild);
|
|
734
|
+
}
|
|
735
|
+
if (this._useCarouselForConfirmations) {
|
|
736
|
+
itemWrapper.style.display = "";
|
|
737
|
+
this.ensurePlaceholderAtBottom();
|
|
738
|
+
}
|
|
548
739
|
}
|
|
549
740
|
}));
|
|
550
741
|
} else {
|
|
551
742
|
itemWrapper.insertBefore(iconElement, itemWrapper.firstChild);
|
|
552
743
|
}
|
|
553
744
|
if (this.wrapper) {
|
|
554
|
-
|
|
555
|
-
|
|
745
|
+
const anchor = this._confirmationPlaceholder ?? this.workingSpinnerElement ?? this.resultContainer;
|
|
746
|
+
if (anchor) {
|
|
747
|
+
this.wrapper.insertBefore(itemWrapper, anchor);
|
|
556
748
|
} else {
|
|
557
749
|
this.wrapper.appendChild(itemWrapper);
|
|
558
750
|
}
|
|
@@ -570,7 +762,7 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
570
762
|
} else if (item.kind === "markdown") {
|
|
571
763
|
const result = item.lazy.value;
|
|
572
764
|
this.appendMarkdownItemToDOM(result.domNode);
|
|
573
|
-
if (result.disposable) {
|
|
765
|
+
if (result.disposable && !item.eagerlyRegistered) {
|
|
574
766
|
this._register(result.disposable);
|
|
575
767
|
}
|
|
576
768
|
} else if (item.kind === "hook") {
|
|
@@ -627,6 +819,6 @@ let ChatSubagentContentPart = ChatSubagentContentPart_1 = class ChatSubagentCont
|
|
|
627
819
|
return false;
|
|
628
820
|
}
|
|
629
821
|
};
|
|
630
|
-
ChatSubagentContentPart = ChatSubagentContentPart_1 = ( __decorate([( __param(
|
|
822
|
+
ChatSubagentContentPart = ChatSubagentContentPart_1 = ( __decorate([( __param(8, IInstantiationService)), ( __param(9, IChatMarkdownAnchorService)), ( __param(10, IHoverService)), ( __param(11, IConfigurationService))], ChatSubagentContentPart));
|
|
631
823
|
|
|
632
824
|
export { ChatSubagentContentPart };
|
|
@@ -53,8 +53,8 @@ let ChatSuggestNextWidget = class ChatSuggestNextWidget extends Disposable {
|
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
55
|
this._currentMode = mode;
|
|
56
|
-
const modeName = mode.name.get() || mode.label.get() || ( localize(
|
|
57
|
-
this.titleElement.textContent = ( localize(
|
|
56
|
+
const modeName = mode.name.get() || mode.label.get() || ( localize(6942, "current mode"));
|
|
57
|
+
this.titleElement.textContent = ( localize(6943, "Proceed from {0}", modeName));
|
|
58
58
|
const childrenToRemove = [];
|
|
59
59
|
for (let i = 1; i < this.promptsContainer.children.length; i++) {
|
|
60
60
|
childrenToRemove.push(this.promptsContainer.children[i]);
|
|
@@ -91,7 +91,7 @@ let ChatSuggestNextWidget = class ChatSuggestNextWidget extends Disposable {
|
|
|
91
91
|
const button = $(".chat-welcome-view-suggested-prompt");
|
|
92
92
|
button.setAttribute("tabindex", "0");
|
|
93
93
|
button.setAttribute("role", "button");
|
|
94
|
-
button.setAttribute("aria-label", ( localize(
|
|
94
|
+
button.setAttribute("aria-label", ( localize(6944, "{0}", handoff.label)));
|
|
95
95
|
const titleElement = append(button, $(".chat-welcome-view-suggested-prompt-title"));
|
|
96
96
|
titleElement.textContent = handoff.label;
|
|
97
97
|
const showContinueOn = handoff.showContinueOn ?? true;
|
|
@@ -112,7 +112,7 @@ let ChatSuggestNextWidget = class ChatSuggestNextWidget extends Disposable {
|
|
|
112
112
|
const dropdownContainer = append(button, $(".chat-suggest-next-dropdown"));
|
|
113
113
|
dropdownContainer.setAttribute("tabindex", "0");
|
|
114
114
|
dropdownContainer.setAttribute("role", "button");
|
|
115
|
-
dropdownContainer.setAttribute("aria-label", ( localize(
|
|
115
|
+
dropdownContainer.setAttribute("aria-label", ( localize(6945, "More options for {0}", handoff.label)));
|
|
116
116
|
dropdownContainer.setAttribute("aria-haspopup", "true");
|
|
117
117
|
const separator = append(dropdownContainer, $(".chat-suggest-next-separator"));
|
|
118
118
|
separator.setAttribute("aria-hidden", "true");
|
|
@@ -127,7 +127,7 @@ let ChatSuggestNextWidget = class ChatSuggestNextWidget extends Disposable {
|
|
|
127
127
|
const name = getAgentSessionProviderName(provider);
|
|
128
128
|
return (new Action(
|
|
129
129
|
contrib.type,
|
|
130
|
-
localize(
|
|
130
|
+
localize(6946, "Continue in {0}", name),
|
|
131
131
|
ThemeIcon.isThemeIcon(icon) ? ThemeIcon.asClassName(icon) : undefined,
|
|
132
132
|
true,
|
|
133
133
|
() => {
|
|
@@ -197,7 +197,7 @@ let ChatSuggestNextWidget = class ChatSuggestNextWidget extends Disposable {
|
|
|
197
197
|
const currentHandoffs = this._currentMode?.handOffs?.get();
|
|
198
198
|
return currentHandoffs?.find(h => h.label === handoffLabel) ?? handoff;
|
|
199
199
|
};
|
|
200
|
-
const label = ( localize(
|
|
200
|
+
const label = ( localize(6947, "Start with Autopilot"));
|
|
201
201
|
const button = $(".chat-welcome-view-suggested-prompt");
|
|
202
202
|
button.setAttribute("tabindex", "0");
|
|
203
203
|
button.setAttribute("role", "button");
|
|
@@ -39,7 +39,7 @@ let ChatTextEditContentPart = class ChatTextEditContentPart extends Disposable {
|
|
|
39
39
|
this.domNode = $(
|
|
40
40
|
".interactive-edits-summary",
|
|
41
41
|
undefined,
|
|
42
|
-
!element.isComplete ? "" : element.isCanceled ? ( localize(
|
|
42
|
+
!element.isComplete ? "" : element.isCanceled ? ( localize(6948, "Making changes was aborted.")) : ( localize(6949, "Made changes."))
|
|
43
43
|
);
|
|
44
44
|
} else {
|
|
45
45
|
this.domNode = $("div");
|