@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
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IChatToolInvocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
3
|
+
import { ChatToolInvocationPart } from "./chatToolInvocationPart.js";
|
|
4
|
+
export type ToolInvocationPartFactory = (tool: IChatToolInvocation) => ChatToolInvocationPart;
|
|
5
|
+
export type ScrollToSubagentCallback = (subAgentInvocationId: string) => void;
|
|
6
|
+
export declare class ChatToolConfirmationCarouselPart extends Disposable {
|
|
7
|
+
private readonly toolPartFactory;
|
|
8
|
+
private readonly scrollToSubagent?;
|
|
9
|
+
private readonly initialSubAgentInvocationId?;
|
|
10
|
+
private readonly initialAgentName?;
|
|
11
|
+
readonly domNode: HTMLElement;
|
|
12
|
+
private readonly _onDidEmpty;
|
|
13
|
+
readonly onDidEmpty: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
|
|
14
|
+
private readonly items;
|
|
15
|
+
private readonly toolCallIds;
|
|
16
|
+
private activeIndex;
|
|
17
|
+
private readonly collapsedTitle;
|
|
18
|
+
private readonly agentLabel;
|
|
19
|
+
private readonly contentContainer;
|
|
20
|
+
private readonly stepIndicator;
|
|
21
|
+
private readonly prevButton;
|
|
22
|
+
private readonly nextButton;
|
|
23
|
+
private readonly allowAllButton;
|
|
24
|
+
private readonly dismissButton;
|
|
25
|
+
private readonly activeContentDisposables;
|
|
26
|
+
private maxHeight;
|
|
27
|
+
constructor(toolPartFactory: ToolInvocationPartFactory, initialTools: IChatToolInvocation[], scrollToSubagent?: ScrollToSubagentCallback | undefined, initialSubAgentInvocationId?: string | undefined, initialAgentName?: string | undefined);
|
|
28
|
+
get pendingCount(): number;
|
|
29
|
+
setMaxHeight(maxHeight: number | undefined): void;
|
|
30
|
+
hasToolInvocation(toolCallId: string): boolean;
|
|
31
|
+
addToolInvocation(tool: IChatToolInvocation, subAgentInvocationId?: string, agentName?: string, scrollToSubagent?: ScrollToSubagentCallback, toolPart?: ChatToolInvocationPart): void;
|
|
32
|
+
private replaceExternalToolPart;
|
|
33
|
+
private watchExternalToolPart;
|
|
34
|
+
dispose(): void;
|
|
35
|
+
private removeItem;
|
|
36
|
+
private setActiveIndex;
|
|
37
|
+
private navigateRelative;
|
|
38
|
+
private onKeydown;
|
|
39
|
+
private shouldIgnoreNavigationKeydown;
|
|
40
|
+
private focusActiveContent;
|
|
41
|
+
private updateUI;
|
|
42
|
+
private renderActiveContent;
|
|
43
|
+
private updateMaxHeightStyle;
|
|
44
|
+
private getCollapsedMaxHeight;
|
|
45
|
+
allowAll(): void;
|
|
46
|
+
private skipAll;
|
|
47
|
+
private getToolTitle;
|
|
48
|
+
private truncateTitle;
|
|
49
|
+
private toPlainText;
|
|
50
|
+
private basename;
|
|
51
|
+
private scrollToActiveSubagent;
|
|
52
|
+
activateFirstToolForSubagent(subAgentInvocationId: string): void;
|
|
53
|
+
}
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
|
|
2
|
+
import { registerCss } from '@codingame/monaco-vscode-api/css';
|
|
3
|
+
import { h, addDisposableListener, hide, isHTMLElement, setVisibility, show, clearNode, getWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
|
+
import { StandardKeyboardEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/keyboardEvent';
|
|
5
|
+
import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
|
|
6
|
+
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
7
|
+
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
8
|
+
import { KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
9
|
+
import { Disposable, DisposableStore, toDisposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
10
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
11
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
12
|
+
import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
|
|
13
|
+
import { IChatToolInvocation, ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
14
|
+
import * as chatToolConfirmationCarousel from '../media/chatToolConfirmationCarousel.css';
|
|
15
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
16
|
+
|
|
17
|
+
registerCss(chatToolConfirmationCarousel);
|
|
18
|
+
const COLLAPSED_CAROUSEL_MAX_HEIGHT = 300;
|
|
19
|
+
const MIN_CAROUSEL_MAX_HEIGHT = 80;
|
|
20
|
+
class ChatToolConfirmationCarouselPart extends Disposable {
|
|
21
|
+
constructor(
|
|
22
|
+
toolPartFactory,
|
|
23
|
+
initialTools,
|
|
24
|
+
scrollToSubagent,
|
|
25
|
+
initialSubAgentInvocationId,
|
|
26
|
+
initialAgentName
|
|
27
|
+
) {
|
|
28
|
+
super();
|
|
29
|
+
this.toolPartFactory = toolPartFactory;
|
|
30
|
+
this.scrollToSubagent = scrollToSubagent;
|
|
31
|
+
this.initialSubAgentInvocationId = initialSubAgentInvocationId;
|
|
32
|
+
this.initialAgentName = initialAgentName;
|
|
33
|
+
this._onDidEmpty = this._register(( new Emitter()));
|
|
34
|
+
this.onDidEmpty = this._onDidEmpty.event;
|
|
35
|
+
this.items = [];
|
|
36
|
+
this.toolCallIds = ( new Set());
|
|
37
|
+
this.activeIndex = 0;
|
|
38
|
+
const elements = h(".chat-tool-confirmation-carousel@root", [h(
|
|
39
|
+
".chat-tool-carousel-overlay@overlay",
|
|
40
|
+
[h(".chat-tool-carousel-title-group@titleGroup", [
|
|
41
|
+
h("span.chat-tool-carousel-collapsed-title@collapsedTitle"),
|
|
42
|
+
h("button.chat-tool-carousel-agent-label@agentLabel")
|
|
43
|
+
]), h(".chat-tool-carousel-overlay-actions@overlayActions", [
|
|
44
|
+
h(".chat-tool-carousel-step-indicator@stepIndicator"),
|
|
45
|
+
h(".chat-tool-carousel-nav-arrows@navArrows")
|
|
46
|
+
])]
|
|
47
|
+
), h(".chat-tool-carousel-content@content")]);
|
|
48
|
+
this.domNode = elements.root;
|
|
49
|
+
this.domNode.tabIndex = -1;
|
|
50
|
+
this.domNode.setAttribute("role", "group");
|
|
51
|
+
this.domNode.setAttribute("aria-label", ( localize(7077, "Tool confirmation carousel")));
|
|
52
|
+
this.collapsedTitle = elements.collapsedTitle;
|
|
53
|
+
this.agentLabel = elements.agentLabel;
|
|
54
|
+
this.contentContainer = elements.content;
|
|
55
|
+
this.stepIndicator = elements.stepIndicator;
|
|
56
|
+
this.activeContentDisposables = this._register(( new DisposableStore()));
|
|
57
|
+
this.allowAllButton = this._register(( new Button(elements.overlayActions, {
|
|
58
|
+
...defaultButtonStyles,
|
|
59
|
+
small: true
|
|
60
|
+
})));
|
|
61
|
+
this.allowAllButton.element.classList.add("chat-tool-carousel-allow-all-button");
|
|
62
|
+
this.allowAllButton.label = ( localize(7078, "Allow All"));
|
|
63
|
+
this._register(this.allowAllButton.onDidClick(() => this.allowAll()));
|
|
64
|
+
this.dismissButton = this._register(( new Button(elements.overlayActions, {
|
|
65
|
+
...defaultButtonStyles,
|
|
66
|
+
secondary: true,
|
|
67
|
+
supportIcons: true
|
|
68
|
+
})));
|
|
69
|
+
this.dismissButton.element.classList.add("chat-tool-carousel-dismiss-button");
|
|
70
|
+
this.dismissButton.label = `$(${Codicon.close.id})`;
|
|
71
|
+
const dismissButtonLabel = this.items.length === 1 ? ( localize(7079, "Skip")) : ( localize(7080, "Skip All"));
|
|
72
|
+
this.dismissButton.element.setAttribute("aria-label", dismissButtonLabel);
|
|
73
|
+
this.dismissButton.element.title = dismissButtonLabel;
|
|
74
|
+
this._register(this.dismissButton.onDidClick(() => this.skipAll()));
|
|
75
|
+
this.prevButton = this._register(( new Button(elements.navArrows, {
|
|
76
|
+
...defaultButtonStyles,
|
|
77
|
+
secondary: true,
|
|
78
|
+
supportIcons: true
|
|
79
|
+
})));
|
|
80
|
+
this.prevButton.element.classList.add("chat-tool-carousel-nav-arrow");
|
|
81
|
+
this.prevButton.label = `$(${Codicon.chevronLeft.id})`;
|
|
82
|
+
this.prevButton.element.setAttribute("aria-label", ( localize(7081, "Previous")));
|
|
83
|
+
this._register(this.prevButton.onDidClick(() => this.navigateRelative(-1)));
|
|
84
|
+
this.nextButton = this._register(( new Button(elements.navArrows, {
|
|
85
|
+
...defaultButtonStyles,
|
|
86
|
+
secondary: true,
|
|
87
|
+
supportIcons: true
|
|
88
|
+
})));
|
|
89
|
+
this.nextButton.element.classList.add("chat-tool-carousel-nav-arrow");
|
|
90
|
+
this.nextButton.label = `$(${Codicon.chevronRight.id})`;
|
|
91
|
+
this.nextButton.element.setAttribute("aria-label", ( localize(7082, "Next")));
|
|
92
|
+
this._register(this.nextButton.onDidClick(() => this.navigateRelative(1)));
|
|
93
|
+
this._register(addDisposableListener(this.agentLabel, "click", e => {
|
|
94
|
+
e.preventDefault();
|
|
95
|
+
this.scrollToActiveSubagent();
|
|
96
|
+
}));
|
|
97
|
+
this._register(addDisposableListener(this.domNode, "keydown", e => this.onKeydown(e)));
|
|
98
|
+
for (const tool of initialTools) {
|
|
99
|
+
this.addToolInvocation(
|
|
100
|
+
tool,
|
|
101
|
+
this.initialSubAgentInvocationId,
|
|
102
|
+
this.initialAgentName,
|
|
103
|
+
this.scrollToSubagent
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
get pendingCount() {
|
|
108
|
+
return this.items.length;
|
|
109
|
+
}
|
|
110
|
+
setMaxHeight(maxHeight) {
|
|
111
|
+
this.maxHeight = maxHeight;
|
|
112
|
+
this.updateMaxHeightStyle();
|
|
113
|
+
}
|
|
114
|
+
hasToolInvocation(toolCallId) {
|
|
115
|
+
return ( this.toolCallIds.has(toolCallId));
|
|
116
|
+
}
|
|
117
|
+
addToolInvocation(tool, subAgentInvocationId, agentName, scrollToSubagent, toolPart) {
|
|
118
|
+
if (( this.toolCallIds.has(tool.toolCallId))) {
|
|
119
|
+
const existing = this.items.find(item => item.toolCallId === tool.toolCallId);
|
|
120
|
+
if (existing && toolPart && !existing.toolPart) {
|
|
121
|
+
this.replaceExternalToolPart(existing, toolPart);
|
|
122
|
+
}
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
this.toolCallIds.add(tool.toolCallId);
|
|
126
|
+
const disposables = ( new DisposableStore());
|
|
127
|
+
const item = {
|
|
128
|
+
tool,
|
|
129
|
+
toolCallId: tool.toolCallId,
|
|
130
|
+
disposables,
|
|
131
|
+
subAgentInvocationId,
|
|
132
|
+
agentName,
|
|
133
|
+
scrollToSubagent,
|
|
134
|
+
ownsToolPart: !toolPart,
|
|
135
|
+
toolPart
|
|
136
|
+
};
|
|
137
|
+
this.items.push(item);
|
|
138
|
+
if (toolPart) {
|
|
139
|
+
this.watchExternalToolPart(item, toolPart);
|
|
140
|
+
}
|
|
141
|
+
disposables.add(autorun(reader => {
|
|
142
|
+
const currentState = tool.state.read(reader);
|
|
143
|
+
if (currentState.type !== IChatToolInvocation.StateKind.WaitingForConfirmation) {
|
|
144
|
+
this.removeItem(tool.toolCallId);
|
|
145
|
+
}
|
|
146
|
+
}));
|
|
147
|
+
this.updateUI();
|
|
148
|
+
if (this.items.length === 1) {
|
|
149
|
+
this.setActiveIndex(0);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
replaceExternalToolPart(item, toolPart) {
|
|
153
|
+
if (item.toolPart === toolPart) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
if (item.toolPart && item.ownsToolPart) {
|
|
157
|
+
item.toolPart.dispose();
|
|
158
|
+
}
|
|
159
|
+
item.toolPart = toolPart;
|
|
160
|
+
item.ownsToolPart = false;
|
|
161
|
+
this.watchExternalToolPart(item, toolPart);
|
|
162
|
+
if (this.items[this.activeIndex] === item) {
|
|
163
|
+
this.renderActiveContent();
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
watchExternalToolPart(item, toolPart) {
|
|
167
|
+
let isItemAlive = true;
|
|
168
|
+
item.disposables.add(toDisposable(() => isItemAlive = false));
|
|
169
|
+
const externalPartDisposeWatcher = ( new MutableDisposable());
|
|
170
|
+
externalPartDisposeWatcher.value = toDisposable(() => {
|
|
171
|
+
if (!isItemAlive || item.toolPart !== toolPart) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
item.toolPart = undefined;
|
|
175
|
+
item.ownsToolPart = true;
|
|
176
|
+
if (this.items[this.activeIndex] === item) {
|
|
177
|
+
this.renderActiveContent();
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
toolPart.addDisposable(externalPartDisposeWatcher);
|
|
181
|
+
item.disposables.add(toDisposable(() => externalPartDisposeWatcher.clear()));
|
|
182
|
+
}
|
|
183
|
+
dispose() {
|
|
184
|
+
for (const item of this.items) {
|
|
185
|
+
if (item.toolPart && item.ownsToolPart) {
|
|
186
|
+
item.toolPart.dispose();
|
|
187
|
+
}
|
|
188
|
+
item.disposables.dispose();
|
|
189
|
+
}
|
|
190
|
+
this.items.splice(0);
|
|
191
|
+
this.toolCallIds.clear();
|
|
192
|
+
super.dispose();
|
|
193
|
+
}
|
|
194
|
+
removeItem(toolCallId) {
|
|
195
|
+
const index = this.items.findIndex(i => i.toolCallId === toolCallId);
|
|
196
|
+
if (index < 0) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
const [removed] = this.items.splice(index, 1);
|
|
200
|
+
this.toolCallIds.delete(toolCallId);
|
|
201
|
+
if (removed.toolPart && removed.ownsToolPart) {
|
|
202
|
+
removed.toolPart.dispose();
|
|
203
|
+
}
|
|
204
|
+
removed.disposables.dispose();
|
|
205
|
+
if (this.items.length === 0) {
|
|
206
|
+
hide(this.domNode);
|
|
207
|
+
this._onDidEmpty.fire();
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
if (this.activeIndex >= this.items.length) {
|
|
211
|
+
this.activeIndex = this.items.length - 1;
|
|
212
|
+
}
|
|
213
|
+
this.updateUI();
|
|
214
|
+
this.renderActiveContent();
|
|
215
|
+
}
|
|
216
|
+
setActiveIndex(index) {
|
|
217
|
+
this.activeIndex = index;
|
|
218
|
+
this.updateUI();
|
|
219
|
+
this.renderActiveContent();
|
|
220
|
+
}
|
|
221
|
+
navigateRelative(delta) {
|
|
222
|
+
if (this.items.length <= 1) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
const newIndex = (this.activeIndex + delta + this.items.length) % this.items.length;
|
|
226
|
+
this.setActiveIndex(newIndex);
|
|
227
|
+
}
|
|
228
|
+
onKeydown(e) {
|
|
229
|
+
if (this.items.length === 0) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
if (this.shouldIgnoreNavigationKeydown(e.target)) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
const event = ( new StandardKeyboardEvent(e));
|
|
236
|
+
const focusContentAfterNavigation = isHTMLElement(e.target) && this.contentContainer.contains(e.target);
|
|
237
|
+
let didNavigate = false;
|
|
238
|
+
switch (event.keyCode) {
|
|
239
|
+
case KeyCode.LeftArrow:
|
|
240
|
+
this.navigateRelative(-1);
|
|
241
|
+
didNavigate = true;
|
|
242
|
+
break;
|
|
243
|
+
case KeyCode.RightArrow:
|
|
244
|
+
this.navigateRelative(1);
|
|
245
|
+
didNavigate = true;
|
|
246
|
+
break;
|
|
247
|
+
case KeyCode.Home:
|
|
248
|
+
this.setActiveIndex(0);
|
|
249
|
+
didNavigate = true;
|
|
250
|
+
break;
|
|
251
|
+
case KeyCode.End:
|
|
252
|
+
this.setActiveIndex(this.items.length - 1);
|
|
253
|
+
didNavigate = true;
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
if (!didNavigate) {
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
e.preventDefault();
|
|
260
|
+
e.stopPropagation();
|
|
261
|
+
if (focusContentAfterNavigation) {
|
|
262
|
+
this.focusActiveContent();
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
shouldIgnoreNavigationKeydown(target) {
|
|
266
|
+
if (!isHTMLElement(target)) {
|
|
267
|
+
return false;
|
|
268
|
+
}
|
|
269
|
+
return !!target.closest(
|
|
270
|
+
".monaco-editor, .interactive-result-editor, .chat-confirmation-widget-message, input, textarea, select, [contenteditable=\"true\"]"
|
|
271
|
+
);
|
|
272
|
+
}
|
|
273
|
+
focusActiveContent() {
|
|
274
|
+
this.domNode.focus();
|
|
275
|
+
}
|
|
276
|
+
updateUI() {
|
|
277
|
+
const item = this.items[this.activeIndex];
|
|
278
|
+
this.collapsedTitle.textContent = this.getToolTitle(item) ?? "";
|
|
279
|
+
setVisibility(!!this.collapsedTitle.textContent, this.collapsedTitle);
|
|
280
|
+
if (item?.agentName) {
|
|
281
|
+
this.agentLabel.textContent = `\u2014 ${item.agentName}`;
|
|
282
|
+
this.agentLabel.disabled = !item.subAgentInvocationId || !item.scrollToSubagent;
|
|
283
|
+
this.agentLabel.title = ( localize(7083, "Scroll to {0}", item.agentName));
|
|
284
|
+
this.agentLabel.setAttribute("aria-label", this.agentLabel.title);
|
|
285
|
+
show(this.agentLabel);
|
|
286
|
+
} else {
|
|
287
|
+
this.agentLabel.textContent = "";
|
|
288
|
+
this.agentLabel.title = "";
|
|
289
|
+
this.agentLabel.removeAttribute("aria-label");
|
|
290
|
+
hide(this.agentLabel);
|
|
291
|
+
}
|
|
292
|
+
this.stepIndicator.textContent = `${this.activeIndex + 1}/${this.items.length}`;
|
|
293
|
+
const multi = this.items.length > 1;
|
|
294
|
+
this.prevButton.enabled = multi;
|
|
295
|
+
this.nextButton.enabled = multi;
|
|
296
|
+
setVisibility(multi, this.stepIndicator);
|
|
297
|
+
setVisibility(multi, this.prevButton.element);
|
|
298
|
+
setVisibility(multi, this.nextButton.element);
|
|
299
|
+
setVisibility(multi, this.allowAllButton.element);
|
|
300
|
+
this.allowAllButton.label = multi ? ( localize(7078, "Allow All")) : ( localize(7084, "Allow"));
|
|
301
|
+
}
|
|
302
|
+
renderActiveContent() {
|
|
303
|
+
clearNode(this.contentContainer);
|
|
304
|
+
this.activeContentDisposables.clear();
|
|
305
|
+
const item = this.items[this.activeIndex];
|
|
306
|
+
if (!item) {
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
if (!item.toolPart) {
|
|
310
|
+
item.toolPart = this.toolPartFactory(item.tool);
|
|
311
|
+
if (item.ownsToolPart) {
|
|
312
|
+
item.disposables.add(item.toolPart);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
this.contentContainer.appendChild(item.toolPart.domNode);
|
|
316
|
+
}
|
|
317
|
+
updateMaxHeightStyle() {
|
|
318
|
+
if (this.maxHeight === undefined) {
|
|
319
|
+
this.domNode.style.removeProperty("max-height");
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
const maxHeight = this.getCollapsedMaxHeight();
|
|
323
|
+
this.domNode.style.maxHeight = `${Math.floor(maxHeight)}px`;
|
|
324
|
+
}
|
|
325
|
+
getCollapsedMaxHeight() {
|
|
326
|
+
const configuredMaxHeight = this.maxHeight === undefined ? Number.POSITIVE_INFINITY : Math.max(MIN_CAROUSEL_MAX_HEIGHT, this.maxHeight);
|
|
327
|
+
return Math.min(
|
|
328
|
+
configuredMaxHeight,
|
|
329
|
+
COLLAPSED_CAROUSEL_MAX_HEIGHT,
|
|
330
|
+
getWindow(this.domNode).innerHeight * 0.45
|
|
331
|
+
);
|
|
332
|
+
}
|
|
333
|
+
allowAll() {
|
|
334
|
+
for (const item of [...this.items]) {
|
|
335
|
+
IChatToolInvocation.confirmWith(item.tool, {
|
|
336
|
+
type: ToolConfirmKind.UserAction
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
skipAll() {
|
|
341
|
+
for (const item of [...this.items]) {
|
|
342
|
+
IChatToolInvocation.confirmWith(item.tool, {
|
|
343
|
+
type: ToolConfirmKind.Skipped
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
getToolTitle(item) {
|
|
348
|
+
if (!item) {
|
|
349
|
+
return undefined;
|
|
350
|
+
}
|
|
351
|
+
const messages = IChatToolInvocation.getConfirmationMessages(item.tool);
|
|
352
|
+
if (!messages?.title) {
|
|
353
|
+
return undefined;
|
|
354
|
+
}
|
|
355
|
+
return this.truncateTitle(this.toPlainText(messages.title));
|
|
356
|
+
}
|
|
357
|
+
truncateTitle(text) {
|
|
358
|
+
text = text.replace(/\s+/g, " ").trim();
|
|
359
|
+
const maxLength = 100;
|
|
360
|
+
return text.length > maxLength ? `${text.substring(0, maxLength)}\u2026` : text;
|
|
361
|
+
}
|
|
362
|
+
toPlainText(message) {
|
|
363
|
+
const markdown = typeof message === "string" ? message : message.value;
|
|
364
|
+
return markdown.replace(
|
|
365
|
+
/\[([^\]]*)\]\(([^)]+)\)/g,
|
|
366
|
+
(_match, text, url) => text || this.basename(url)
|
|
367
|
+
).replace(/\*\*([^*]+)\*\*/g, "$1").replace(/__([^_]+)__/g, "$1").replace(/`([^`]+)`/g, "$1").replace(/[\\*_#>]/g, "");
|
|
368
|
+
}
|
|
369
|
+
basename(url) {
|
|
370
|
+
try {
|
|
371
|
+
const path = decodeURIComponent(url.split("?")[0].split("#")[0]);
|
|
372
|
+
const segments = path.split("/").filter(Boolean);
|
|
373
|
+
return segments.at(-1) ?? url;
|
|
374
|
+
} catch {
|
|
375
|
+
return url;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
scrollToActiveSubagent() {
|
|
379
|
+
const item = this.items[this.activeIndex];
|
|
380
|
+
if (item?.subAgentInvocationId) {
|
|
381
|
+
item.scrollToSubagent?.(item.subAgentInvocationId);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
activateFirstToolForSubagent(subAgentInvocationId) {
|
|
385
|
+
const index = this.items.findIndex(i => i.subAgentInvocationId === subAgentInvocationId);
|
|
386
|
+
if (index >= 0) {
|
|
387
|
+
this.setActiveIndex(index);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
export { ChatToolConfirmationCarouselPart };
|
|
@@ -7,7 +7,6 @@ import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platf
|
|
|
7
7
|
import { IMarkdownRenderer } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer";
|
|
8
8
|
import { IMarkerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markers/common/markers.service";
|
|
9
9
|
import { IChatToolInvocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
10
|
-
import { CodeBlockModelCollection } from "../../../../common/widget/codeBlockModelCollection.js";
|
|
11
10
|
import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
|
|
12
11
|
import { ILanguageModelToolsConfirmationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service";
|
|
13
12
|
import { IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
@@ -20,7 +19,6 @@ export declare class ToolConfirmationSubPart extends AbstractToolConfirmationSub
|
|
|
20
19
|
private readonly renderer;
|
|
21
20
|
private readonly editorPool;
|
|
22
21
|
private readonly currentWidthDelegate;
|
|
23
|
-
private readonly codeBlockModelCollection;
|
|
24
22
|
private readonly codeBlockStartIndex;
|
|
25
23
|
private readonly languageService;
|
|
26
24
|
private readonly commandService;
|
|
@@ -29,7 +27,7 @@ export declare class ToolConfirmationSubPart extends AbstractToolConfirmationSub
|
|
|
29
27
|
private readonly confirmationService;
|
|
30
28
|
private markdownParts;
|
|
31
29
|
get codeblocks(): IChatCodeBlockInfo[];
|
|
32
|
-
constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, editorPool: EditorPool, currentWidthDelegate: () => number,
|
|
30
|
+
constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, editorPool: EditorPool, currentWidthDelegate: () => number, codeBlockStartIndex: number, instantiationService: IInstantiationService, keybindingService: IKeybindingService, languageService: ILanguageService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, commandService: ICommandService, markerService: IMarkerService, languageModelToolsService: ILanguageModelToolsService, chatMarkdownAnchorService: IChatMarkdownAnchorService, confirmationService: ILanguageModelToolsConfirmationService);
|
|
33
31
|
protected additionalPrimaryActions(): (Separator | import("./abstractToolConfirmationSubPart.js").IAbstractToolPrimaryAction)[];
|
|
34
32
|
protected useAllowOnceAsPrimary(): boolean;
|
|
35
33
|
protected createContentElement(): HTMLElement | string;
|
|
@@ -18,12 +18,13 @@ import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platf
|
|
|
18
18
|
import { MarkerSeverity } from '@codingame/monaco-vscode-api/vscode/vs/platform/markers/common/markers';
|
|
19
19
|
import { IMarkerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markers/common/markers.service';
|
|
20
20
|
import { IChatToolInvocation, ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
21
|
-
import {
|
|
21
|
+
import { createToolSchemaUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
|
|
22
22
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
|
|
23
23
|
import { ILanguageModelToolsConfirmationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service';
|
|
24
24
|
import { SkipToolConfirmationActionId, AcceptToolConfirmationActionId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
|
|
25
25
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
26
26
|
import { renderFileWidgets } from '../chatInlineAnchorWidget.js';
|
|
27
|
+
import { CodeBlockPart } from '../codeBlockPart.js';
|
|
27
28
|
import { IChatMarkdownAnchorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service';
|
|
28
29
|
import { ChatMarkdownContentPart } from '../chatMarkdownContentPart.js';
|
|
29
30
|
import { AbstractToolConfirmationSubPart } from './abstractToolConfirmationSubPart.js';
|
|
@@ -39,7 +40,6 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
39
40
|
renderer,
|
|
40
41
|
editorPool,
|
|
41
42
|
currentWidthDelegate,
|
|
42
|
-
codeBlockModelCollection,
|
|
43
43
|
codeBlockStartIndex,
|
|
44
44
|
instantiationService,
|
|
45
45
|
keybindingService,
|
|
@@ -68,7 +68,6 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
68
68
|
this.renderer = renderer;
|
|
69
69
|
this.editorPool = editorPool;
|
|
70
70
|
this.currentWidthDelegate = currentWidthDelegate;
|
|
71
|
-
this.codeBlockModelCollection = codeBlockModelCollection;
|
|
72
71
|
this.codeBlockStartIndex = codeBlockStartIndex;
|
|
73
72
|
this.languageService = languageService;
|
|
74
73
|
this.commandService = commandService;
|
|
@@ -79,8 +78,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
79
78
|
this.render({
|
|
80
79
|
allowActionId: AcceptToolConfirmationActionId,
|
|
81
80
|
skipActionId: SkipToolConfirmationActionId,
|
|
82
|
-
allowLabel: state.confirmationMessages.confirmResults ? ( localize(
|
|
83
|
-
skipLabel: ( localize(
|
|
81
|
+
allowLabel: state.confirmationMessages.confirmResults ? ( localize(7085, "Allow and Review Once")) : ( localize(7086, "Allow Once")),
|
|
82
|
+
skipLabel: ( localize(7087, "Proceed without running this tool")),
|
|
84
83
|
partType: "chatToolConfirmation",
|
|
85
84
|
subtitle: typeof toolInvocation.originMessage === "string" ? toolInvocation.originMessage : toolInvocation.originMessage?.value
|
|
86
85
|
});
|
|
@@ -95,7 +94,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
95
94
|
const approveCombination = state.confirmationMessages?.approveCombination;
|
|
96
95
|
const combination = approveCombination ? {
|
|
97
96
|
label: typeof approveCombination.label === "string" ? approveCombination.label : approveCombination.label.value,
|
|
98
|
-
key: approveCombination.key
|
|
97
|
+
key: approveCombination.key,
|
|
98
|
+
arguments: approveCombination.arguments
|
|
99
99
|
} : undefined;
|
|
100
100
|
const confirmActions = this.confirmationService.getPreConfirmActions({
|
|
101
101
|
toolId: this.toolInvocation.toolId,
|
|
@@ -125,7 +125,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
125
125
|
}
|
|
126
126
|
if (state.confirmationMessages?.confirmResults) {
|
|
127
127
|
actions.unshift({
|
|
128
|
-
label: ( localize(
|
|
128
|
+
label: ( localize(7088, "Allow and Skip Reviewing Result")),
|
|
129
129
|
data: () => {
|
|
130
130
|
state.confirmationMessages.confirmResults = undefined;
|
|
131
131
|
this.confirmWith(this.toolInvocation, {
|
|
@@ -167,11 +167,11 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
167
167
|
};
|
|
168
168
|
const elements = h("div", [h(".message@messageContainer", [
|
|
169
169
|
h(".message-wrapper@message"),
|
|
170
|
-
h(".see-more@showMore", [h("a", [( localize(
|
|
170
|
+
h(".see-more@showMore", [h("a", [( localize(7089, "Show More"))])])
|
|
171
171
|
]), h(".editor@editor"), h(".disclaimer@disclaimer")]);
|
|
172
172
|
if (toolInvocation.toolSpecificData?.kind === "input" && toolInvocation.toolSpecificData.rawInput && !isEmptyObject(toolInvocation.toolSpecificData.rawInput)) {
|
|
173
173
|
const titleEl = createElement("h3");
|
|
174
|
-
titleEl.textContent = ( localize(
|
|
174
|
+
titleEl.textContent = ( localize(7090, "Input"));
|
|
175
175
|
elements.editor.appendChild(titleEl);
|
|
176
176
|
const inputData = toolInvocation.toolSpecificData;
|
|
177
177
|
const codeBlockRenderOptions = {
|
|
@@ -188,13 +188,18 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
188
188
|
const langId = this.languageService.getLanguageIdByLanguageName("json");
|
|
189
189
|
const rawJsonInput = JSON.stringify(inputData.rawInput ?? {}, null, 1);
|
|
190
190
|
const canSeeMore = count(rawJsonInput, "\n") > 2;
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
191
|
+
const initialText = rawJsonInput.replace(/\n */g, " ");
|
|
192
|
+
const key = CodeBlockPart.poolKey(this.context.element.id, this.codeBlockStartIndex);
|
|
193
|
+
const editor = this._register(this.editorPool.get(key));
|
|
194
|
+
editor.object.render({
|
|
195
|
+
codeBlockIndex: this.codeBlockStartIndex,
|
|
196
|
+
element: this.context.element,
|
|
197
|
+
languageId: langId ?? "json",
|
|
198
|
+
text: initialText,
|
|
199
|
+
renderOptions: codeBlockRenderOptions,
|
|
200
|
+
chatSessionResource: this.context.element.sessionResource
|
|
201
|
+
}, this.currentWidthDelegate());
|
|
202
|
+
const model = editor.object.editor.getModel();
|
|
198
203
|
const markerOwner = generateUuid();
|
|
199
204
|
const schemaUri = createToolSchemaUri(toolInvocation.toolId);
|
|
200
205
|
const validator = ( new RunOnceScheduler(async () => {
|
|
@@ -219,16 +224,6 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
219
224
|
this._register(model.onDidChangeContent(() => validator.schedule()));
|
|
220
225
|
this._register(toDisposable(() => this.markerService.remove(markerOwner, [model.uri])));
|
|
221
226
|
this._register(validator);
|
|
222
|
-
const editor = this._register(this.editorPool.get());
|
|
223
|
-
editor.object.render({
|
|
224
|
-
codeBlockIndex: this.codeBlockStartIndex,
|
|
225
|
-
codeBlockPartIndex: 0,
|
|
226
|
-
element: this.context.element,
|
|
227
|
-
languageId: langId ?? "json",
|
|
228
|
-
renderOptions: codeBlockRenderOptions,
|
|
229
|
-
textModel: Promise.resolve(model),
|
|
230
|
-
chatSessionResource: this.context.element.sessionResource
|
|
231
|
-
}, this.currentWidthDelegate());
|
|
232
227
|
this.codeblocks.push({
|
|
233
228
|
codeBlockIndex: this.codeBlockStartIndex,
|
|
234
229
|
codemapperUri: undefined,
|
|
@@ -236,7 +231,6 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
236
231
|
focus: () => editor.object.focus(),
|
|
237
232
|
ownerMarkdownPartId: this.codeblocksPartId,
|
|
238
233
|
uri: model.uri,
|
|
239
|
-
uriPromise: Promise.resolve(model.uri),
|
|
240
234
|
chatSessionResource: this.context.element.sessionResource
|
|
241
235
|
});
|
|
242
236
|
this._register(model.onDidChangeContent(e => {
|
|
@@ -247,7 +241,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
247
241
|
elements.editor.append(editor.object.element);
|
|
248
242
|
if (canSeeMore) {
|
|
249
243
|
const seeMore = h("div.see-more", [h("a@link")]);
|
|
250
|
-
seeMore.link.textContent = ( localize(
|
|
244
|
+
seeMore.link.textContent = ( localize(7091, "See more"));
|
|
251
245
|
this._register(addDisposableGenericMouseDownListener(seeMore.link, () => {
|
|
252
246
|
try {
|
|
253
247
|
const parsed = JSON.parse(model.getValue());
|
|
@@ -301,7 +295,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
301
295
|
const part = this._register(this.instantiationService.createInstance(ChatMarkdownContentPart, {
|
|
302
296
|
kind: "markdownContent",
|
|
303
297
|
content: typeof message === "string" ? ( new MarkdownString()).appendMarkdown(message) : message
|
|
304
|
-
}, this.context, this.editorPool, false, this.codeBlockStartIndex, this.renderer, undefined, this.currentWidthDelegate(),
|
|
298
|
+
}, this.context, this.editorPool, false, this.codeBlockStartIndex, this.renderer, undefined, this.currentWidthDelegate(), {
|
|
305
299
|
codeBlockRenderOptions
|
|
306
300
|
}));
|
|
307
301
|
renderFileWidgets(
|
|
@@ -314,6 +308,6 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
314
308
|
return part;
|
|
315
309
|
}
|
|
316
310
|
};
|
|
317
|
-
ToolConfirmationSubPart = ( __decorate([( __param(
|
|
311
|
+
ToolConfirmationSubPart = ( __decorate([( __param(6, IInstantiationService)), ( __param(7, IKeybindingService)), ( __param(8, ILanguageService)), ( __param(9, IContextKeyService)), ( __param(10, IChatWidgetService)), ( __param(11, ICommandService)), ( __param(12, IMarkerService)), ( __param(13, ILanguageModelToolsService)), ( __param(14, IChatMarkdownAnchorService)), ( __param(15, ILanguageModelToolsConfirmationService))], ToolConfirmationSubPart));
|
|
318
312
|
|
|
319
313
|
export { ToolConfirmationSubPart };
|
|
@@ -4,7 +4,6 @@ import { IMarkdownRenderer } from "@codingame/monaco-vscode-api/vscode/vs/platfo
|
|
|
4
4
|
import { IChatToolInvocation, IChatToolInvocationSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
5
5
|
import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
|
|
6
6
|
import { IChatTodoListService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/chatTodoListService.service";
|
|
7
|
-
import { CodeBlockModelCollection } from "../../../../common/widget/codeBlockModelCollection.js";
|
|
8
7
|
import { ChatTreeItem, IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
9
8
|
import { EditorPool } from "../chatContentCodePools.js";
|
|
10
9
|
import { IChatContentPart, IChatContentPartRenderContext } from "../chatContentParts.js";
|
|
@@ -16,18 +15,18 @@ export declare class ChatToolInvocationPart extends Disposable implements IChatC
|
|
|
16
15
|
private readonly listPool;
|
|
17
16
|
private readonly editorPool;
|
|
18
17
|
private readonly currentWidthDelegate;
|
|
19
|
-
private readonly codeBlockModelCollection;
|
|
20
18
|
private readonly announcedToolProgressKeys;
|
|
21
19
|
private readonly codeBlockStartIndex;
|
|
22
20
|
private readonly instantiationService;
|
|
23
21
|
private readonly chatTodoListService;
|
|
24
22
|
readonly domNode: HTMLElement;
|
|
23
|
+
get toolCallId(): string;
|
|
25
24
|
get codeblocks(): IChatCodeBlockInfo[];
|
|
26
25
|
get codeblocksPartId(): string | undefined;
|
|
27
26
|
private subPart;
|
|
28
27
|
private mcpAppPart;
|
|
29
28
|
private readonly _onDidRemount;
|
|
30
|
-
constructor(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, listPool: CollapsibleListPool, editorPool: EditorPool, currentWidthDelegate: () => number,
|
|
29
|
+
constructor(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, listPool: CollapsibleListPool, editorPool: EditorPool, currentWidthDelegate: () => number, announcedToolProgressKeys: Set<string> | undefined, codeBlockStartIndex: number, instantiationService: IInstantiationService, chatTodoListService: IChatTodoListService);
|
|
31
30
|
private createToolInvocationSubPart;
|
|
32
31
|
/**
|
|
33
32
|
* Gets MCP App render data if this tool invocation has MCP App UI.
|