@codingame/monaco-vscode-katex-common 34.1.3 → 35.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 +2 -2
- package/vscode/src/vs/base/browser/animationSync.d.ts +36 -0
- package/vscode/src/vs/base/browser/animationSync.js +23 -0
- package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.js +23 -2
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +3 -2
- package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.d.ts +5 -5
- package/vscode/src/vs/platform/agentHost/common/fileEditDiff.d.ts +32 -0
- package/vscode/src/vs/platform/agentHost/common/fileEditDiff.js +33 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAnnotations.d.ts +90 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAttachments.d.ts +30 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentToolCallMeta.d.ts +65 -0
- package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.d.ts +16 -5
- package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.js +3 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-resource-watch/reducer.d.ts +21 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +8 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionReducers.d.ts +9 -0
- package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +2 -2
- 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 +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +105 -28
- 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 +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +74 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +98 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +31 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +45 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +163 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.js +172 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionReferenceAttachment.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.d.ts +116 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.js +348 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.d.ts +211 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +13 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +30 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +29 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +24 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +119 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.d.ts +63 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.js +97 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +105 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +46 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +98 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatTurnPills.css +162 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +95 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +22 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +151 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +20 -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 +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +61 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +81 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.js +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +9 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.js +21 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +40 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.js +140 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.js +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +29 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +44 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +12 -66
- 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 +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +167 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +1 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +9 -86
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.js +23 -0
- 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 +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +141 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +17 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAgentFeedbackReviewConfirmation.css +133 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAutoModeResolution.css +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +18 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +23 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +33 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +21 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAgentFeedbackReviewConfirmationSubPart.d.ts +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAgentFeedbackReviewConfirmationSubPart.js +279 -0
- 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.d.ts +43 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +53 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +7 -9
- 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/chatModifiedFilesConfirmationSubPart.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +24 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/{chatMissingSandboxDepsConfirmationSubPart.d.ts → chatSandboxPrerequisiteConfirmationSubPart.d.ts} +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/{chatMissingSandboxDepsConfirmationSubPart.js → chatSandboxPrerequisiteConfirmationSubPart.js} +14 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +30 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +41 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +12 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +43 -35
- 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.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +11 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.js +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +18 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +266 -98
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +8 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.js +135 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.d.ts +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.js +275 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +84 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +52 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +187 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +435 -139
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.js +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.d.ts +50 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.js +49 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.d.ts +79 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.js +127 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +84 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +658 -430
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +72 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +82 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +23 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatGoalBannerWidget.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +28 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +60 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +18 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +49 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +141 -81
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +7 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +30 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerInputActionItem.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerInputActionItem.js +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +469 -148
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +11 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +79 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +71 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +107 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.d.ts +110 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +13 -11
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +57 -21
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +18 -18
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +30 -30
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.d.ts +39 -8
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.js +168 -72
- 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/chat/browser/widget/input/chatInputStatusActionViewItem.d.ts +0 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.js +0 -147
|
@@ -1,7 +1,7 @@
|
|
|
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 { h, addDisposableListener, EventType, DisposableResizeObserver, clearNode, getActiveWindow, getComputedStyle, createTextNode, createElement,
|
|
4
|
+
import { h, addDisposableListener, EventType, DisposableResizeObserver, clearNode, getActiveWindow, getComputedStyle, $, createTextNode, createElement, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
5
|
import { createPixelSpinner } from '../../../../../../../base/browser/ui/pixelSpinner/pixelSpinner.js';
|
|
6
6
|
import { MarkdownString, isMarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
7
7
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
@@ -333,7 +333,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
333
333
|
const markdownOptions = {
|
|
334
334
|
codeBlockRenderOptions,
|
|
335
335
|
accessibilityOptions: pastTenseMessage ? {
|
|
336
|
-
statusMessage: ( localize(
|
|
336
|
+
statusMessage: ( localize(8107, "{0}", stripIcons(pastTenseMessage)))
|
|
337
337
|
} : undefined
|
|
338
338
|
};
|
|
339
339
|
this.markdownPart = this._register(_instantiationService.createInstance(
|
|
@@ -436,6 +436,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
436
436
|
const wrapper = this._register(this._instantiationService.createInstance(
|
|
437
437
|
ChatTerminalThinkingCollapsibleWrapper,
|
|
438
438
|
truncatedCommand,
|
|
439
|
+
this._terminalData.intention,
|
|
439
440
|
this._terminalData.commandLine.isSandboxWrapped === true,
|
|
440
441
|
contentElement,
|
|
441
442
|
context,
|
|
@@ -551,12 +552,12 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
551
552
|
this._actionBarActions.clear();
|
|
552
553
|
const actions = [];
|
|
553
554
|
if (this._toolbarCanContinueInBackground) {
|
|
554
|
-
const action = ( new Action(TerminalContribCommandId.ContinueInBackground, ( localize(
|
|
555
|
+
const action = ( new Action(TerminalContribCommandId.ContinueInBackground, ( localize(8108, "Continue in Background")), ThemeIcon.asClassName(Codicon.debugContinueSmall), true, () => this.continueInBackground()));
|
|
555
556
|
this._actionBarActions.add(action);
|
|
556
557
|
actions.push(action);
|
|
557
558
|
}
|
|
558
559
|
if (this._toolbarHasInstance) {
|
|
559
|
-
const focusLabel = this._toolbarIsHiddenTerminal ? ( localize(
|
|
560
|
+
const focusLabel = this._toolbarIsHiddenTerminal ? ( localize(8109, "Show and Focus Terminal")) : ( localize(8110, "Focus Terminal"));
|
|
560
561
|
const action = ( new Action(
|
|
561
562
|
TerminalContribCommandId.FocusChatInstanceAction,
|
|
562
563
|
focusLabel,
|
|
@@ -569,7 +570,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
569
570
|
}
|
|
570
571
|
if (this._toolbarHasOutput && !this._usesCollapsibleWrapper) {
|
|
571
572
|
const toggleIcon = this._toolbarOutputExpanded ? Codicon.chevronDown : Codicon.chevronRight;
|
|
572
|
-
const toggleLabel = this._toolbarOutputExpanded ? ( localize(
|
|
573
|
+
const toggleLabel = this._toolbarOutputExpanded ? ( localize(8111, "Hide Output")) : ( localize(8112, "Show Output"));
|
|
573
574
|
const action = ( new Action(
|
|
574
575
|
TerminalContribCommandId.ToggleChatTerminalOutput,
|
|
575
576
|
toggleLabel,
|
|
@@ -1016,7 +1017,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1016
1017
|
if (!commandText) {
|
|
1017
1018
|
return;
|
|
1018
1019
|
}
|
|
1019
|
-
const ariaLabel = ( localize(
|
|
1020
|
+
const ariaLabel = ( localize(8113, "Terminal output for {0}", commandText));
|
|
1020
1021
|
const scrollableDomNode = this._scrollableContainer.getDomNode();
|
|
1021
1022
|
scrollableDomNode.setAttribute("role", "region");
|
|
1022
1023
|
const accessibleViewHint = this._accessibleViewService.getOpenAriaHint(AccessibilityVerbositySettingId.TerminalChatOutput);
|
|
@@ -1029,26 +1030,26 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1029
1030
|
if (!commandText) {
|
|
1030
1031
|
return undefined;
|
|
1031
1032
|
}
|
|
1032
|
-
const commandHeader = ( localize(
|
|
1033
|
+
const commandHeader = ( localize(8114, "Command: {0}", commandText));
|
|
1033
1034
|
if (command) {
|
|
1034
1035
|
const rawOutput = command.getOutput();
|
|
1035
1036
|
if (!rawOutput || rawOutput.trim().length === 0) {
|
|
1036
|
-
return `${commandHeader}\n${( localize(
|
|
1037
|
+
return `${commandHeader}\n${( localize(8115, "No output was produced by the command."))}`;
|
|
1037
1038
|
}
|
|
1038
1039
|
const lines = rawOutput.split("\n");
|
|
1039
1040
|
return `${commandHeader}\n${lines.join("\n").trimEnd()}`;
|
|
1040
1041
|
}
|
|
1041
1042
|
const snapshot = this._getTerminalCommandOutput();
|
|
1042
1043
|
if (!snapshot) {
|
|
1043
|
-
return `${commandHeader}\n${( localize(
|
|
1044
|
+
return `${commandHeader}\n${( localize(8116, "Command output is no longer available."))}`;
|
|
1044
1045
|
}
|
|
1045
1046
|
const plain = removeAnsiEscapeCodes((snapshot.text ?? ""));
|
|
1046
1047
|
if (!plain.trim().length) {
|
|
1047
|
-
return `${commandHeader}\n${( localize(
|
|
1048
|
+
return `${commandHeader}\n${( localize(8115, "No output was produced by the command."))}`;
|
|
1048
1049
|
}
|
|
1049
1050
|
let outputText = plain.trimEnd();
|
|
1050
1051
|
if (snapshot.truncated) {
|
|
1051
|
-
outputText += `\n${( localize(
|
|
1052
|
+
outputText += `\n${( localize(8117, "Output truncated."))}`;
|
|
1052
1053
|
}
|
|
1053
1054
|
return `${commandHeader}\n${outputText}`;
|
|
1054
1055
|
}
|
|
@@ -1160,7 +1161,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1160
1161
|
}
|
|
1161
1162
|
if (!hasOutput) {
|
|
1162
1163
|
if (commandFinished) {
|
|
1163
|
-
this._showEmptyMessage(( localize(
|
|
1164
|
+
this._showEmptyMessage(( localize(8115, "No output was produced by the command.")));
|
|
1164
1165
|
}
|
|
1165
1166
|
} else {
|
|
1166
1167
|
this._hideEmptyMessage();
|
|
@@ -1187,7 +1188,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1187
1188
|
if (hasText) {
|
|
1188
1189
|
this._hideEmptyMessage();
|
|
1189
1190
|
} else {
|
|
1190
|
-
this._showEmptyMessage(( localize(
|
|
1191
|
+
this._showEmptyMessage(( localize(8115, "No output was produced by the command.")));
|
|
1191
1192
|
}
|
|
1192
1193
|
const lineCount = result?.lineCount ?? snapshot.lineCount ?? 0;
|
|
1193
1194
|
this._layoutOutput(lineCount);
|
|
@@ -1196,9 +1197,9 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1196
1197
|
clearNode(this._terminalContainer);
|
|
1197
1198
|
this._lastRenderedLineCount = undefined;
|
|
1198
1199
|
if (!liveTerminalInstance) {
|
|
1199
|
-
this._showEmptyMessage(( localize(
|
|
1200
|
+
this._showEmptyMessage(( localize(8118, "Terminal is no longer available.")));
|
|
1200
1201
|
} else {
|
|
1201
|
-
this._showEmptyMessage(( localize(
|
|
1202
|
+
this._showEmptyMessage(( localize(8119, "Command information is not available.")));
|
|
1202
1203
|
}
|
|
1203
1204
|
}
|
|
1204
1205
|
async _resolveLiveTerminal() {
|
|
@@ -1314,6 +1315,7 @@ ChatTerminalToolOutputSection = ( __decorate([( __param(6, IAccessibleViewServic
|
|
|
1314
1315
|
let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsibleWrapper extends ChatCollapsibleContentPart {
|
|
1315
1316
|
constructor(
|
|
1316
1317
|
commandText,
|
|
1318
|
+
intention,
|
|
1317
1319
|
isSandboxWrapped,
|
|
1318
1320
|
contentElement,
|
|
1319
1321
|
context,
|
|
@@ -1325,11 +1327,14 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1325
1327
|
hoverService,
|
|
1326
1328
|
configurationService
|
|
1327
1329
|
) {
|
|
1328
|
-
const
|
|
1330
|
+
const intentionText = intention && !isSkipped ? intention : undefined;
|
|
1331
|
+
const stateTitle = isSkipped ? ( localize(8120, "Skipped {0}", commandText)) : isRunningInBackground ? ( localize(8121, "Running {0} in background", commandText)) : isComplete ? ( localize(8122, "Ran {0}", commandText)) : ( localize(8123, "Running {0}", commandText));
|
|
1332
|
+
const title = intentionText ? isRunningInBackground ? `${intentionText} ${commandText}${( localize(8124, " in background"))}` : `${intentionText} ${commandText}` : stateTitle;
|
|
1329
1333
|
super(title, context, undefined, hoverService, configurationService);
|
|
1330
1334
|
this._showLinkDisposables = this._register(( new MutableDisposable()));
|
|
1331
1335
|
this._terminalContentElement = contentElement;
|
|
1332
1336
|
this._commandText = commandText;
|
|
1337
|
+
this._intention = intentionText;
|
|
1333
1338
|
this._isSandboxWrapped = isSandboxWrapped;
|
|
1334
1339
|
this._isComplete = isComplete;
|
|
1335
1340
|
this._isSkipped = isSkipped;
|
|
@@ -1349,24 +1354,31 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1349
1354
|
}
|
|
1350
1355
|
const labelElement = this._collapseButton.labelElement;
|
|
1351
1356
|
labelElement.textContent = "";
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
const
|
|
1357
|
+
const suffixText = this._isSandboxWrapped ? this._isRunningInBackground ? ( localize(8125, " in sandbox (background)")) : ( localize(8126, " in sandbox")) : this._isRunningInBackground ? ( localize(8124, " in background")) : undefined;
|
|
1358
|
+
this.domNode.classList.toggle("chat-terminal-has-intention", !!this._intention);
|
|
1359
|
+
if (this._intention) {
|
|
1360
|
+
const row = $("span.chat-terminal-label-flex");
|
|
1361
|
+
const intentionElement = $("span.chat-terminal-intention");
|
|
1362
|
+
intentionElement.textContent = this._intention;
|
|
1363
|
+
const codeElement = $("code.chat-terminal-command");
|
|
1357
1364
|
codeElement.textContent = this._commandText;
|
|
1358
|
-
|
|
1359
|
-
|
|
1365
|
+
row.appendChild(intentionElement);
|
|
1366
|
+
row.appendChild(codeElement);
|
|
1367
|
+
if (suffixText) {
|
|
1368
|
+
const suffixElement = $("span.chat-terminal-label-suffix");
|
|
1369
|
+
suffixElement.textContent = suffixText;
|
|
1370
|
+
row.appendChild(suffixElement);
|
|
1371
|
+
}
|
|
1372
|
+
labelElement.appendChild(row);
|
|
1360
1373
|
return;
|
|
1361
1374
|
}
|
|
1362
|
-
const prefixText = this._isSkipped ? ( localize(
|
|
1363
|
-
|
|
1375
|
+
const prefixText = this._isSandboxWrapped ? this._isSkipped ? ( localize(8127, "Skipped ")) : this._isComplete ? ( localize(8128, "Ran ")) : ( localize(8129, "Running ")) : this._isSkipped ? ( localize(8130, "Skipped ")) : this._isComplete ? ( localize(8131, "Ran ")) : ( localize(8132, "Running "));
|
|
1376
|
+
labelElement.appendChild(createTextNode(prefixText));
|
|
1364
1377
|
const codeElement = createElement("code");
|
|
1365
1378
|
codeElement.textContent = this._commandText;
|
|
1366
|
-
labelElement.appendChild(ranText);
|
|
1367
1379
|
labelElement.appendChild(codeElement);
|
|
1368
1380
|
if (this._isRunningInBackground) {
|
|
1369
|
-
labelElement.appendChild(createTextNode(( localize(
|
|
1381
|
+
labelElement.appendChild(createTextNode(( localize(8124, " in background"))));
|
|
1370
1382
|
}
|
|
1371
1383
|
}
|
|
1372
1384
|
_updateShowLink() {
|
|
@@ -1382,7 +1394,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1382
1394
|
const container = $("span.chat-terminal-show-link-container");
|
|
1383
1395
|
container.appendChild(createTextNode(" — "));
|
|
1384
1396
|
const showLink = $("span.chat-terminal-show-link");
|
|
1385
|
-
showLink.textContent = ( localize(
|
|
1397
|
+
showLink.textContent = ( localize(8133, "Show"));
|
|
1386
1398
|
showLink.role = "button";
|
|
1387
1399
|
showLink.tabIndex = 0;
|
|
1388
1400
|
store.add(addDisposableListener(showLink, EventType.CLICK, e => {
|
|
@@ -1422,6 +1434,6 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1422
1434
|
return false;
|
|
1423
1435
|
}
|
|
1424
1436
|
};
|
|
1425
|
-
ChatTerminalThinkingCollapsibleWrapper = ( __decorate([( __param(
|
|
1437
|
+
ChatTerminalThinkingCollapsibleWrapper = ( __decorate([( __param(10, IHoverService)), ( __param(11, IConfigurationService))], ChatTerminalThinkingCollapsibleWrapper));
|
|
1426
1438
|
|
|
1427
1439
|
export { ChatTerminalThinkingCollapsibleWrapper, ChatTerminalToolProgressPart };
|
|
@@ -54,7 +54,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
54
54
|
this.domNode = elements.root;
|
|
55
55
|
this.domNode.tabIndex = -1;
|
|
56
56
|
this.domNode.setAttribute("role", "group");
|
|
57
|
-
this.domNode.setAttribute("aria-label", ( localize(
|
|
57
|
+
this.domNode.setAttribute("aria-label", ( localize(8134, "Tool confirmation carousel")));
|
|
58
58
|
this.collapsedTitle = elements.collapsedTitle;
|
|
59
59
|
this.agentLabel = elements.agentLabel;
|
|
60
60
|
this.contentContainer = elements.content;
|
|
@@ -74,7 +74,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
74
74
|
small: true
|
|
75
75
|
})));
|
|
76
76
|
this.allowAllButton.element.classList.add("chat-tool-carousel-allow-all-button");
|
|
77
|
-
this.allowAllButton.label = ( localize(
|
|
77
|
+
this.allowAllButton.label = ( localize(8135, "Allow All"));
|
|
78
78
|
this._register(this.allowAllButton.onDidClick(() => this.allowAll()));
|
|
79
79
|
this.expandContentButton = this._register(( new Button(elements.overlayActions, {
|
|
80
80
|
...defaultButtonStyles,
|
|
@@ -96,7 +96,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
96
96
|
})));
|
|
97
97
|
this.dismissButton.element.classList.add("chat-tool-carousel-dismiss-button");
|
|
98
98
|
this.dismissButton.label = `$(${Codicon.close.id})`;
|
|
99
|
-
const dismissButtonLabel = this.items.length === 1 ? ( localize(
|
|
99
|
+
const dismissButtonLabel = this.items.length === 1 ? ( localize(8136, "Skip")) : ( localize(8137, "Skip All"));
|
|
100
100
|
this.dismissButton.element.setAttribute("aria-label", dismissButtonLabel);
|
|
101
101
|
this.dismissButton.element.title = dismissButtonLabel;
|
|
102
102
|
this._register(this.dismissButton.onDidClick(() => this.skipAll()));
|
|
@@ -107,7 +107,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
107
107
|
})));
|
|
108
108
|
this.prevButton.element.classList.add("chat-tool-carousel-nav-arrow");
|
|
109
109
|
this.prevButton.label = `$(${Codicon.chevronLeft.id})`;
|
|
110
|
-
this.prevButton.element.setAttribute("aria-label", ( localize(
|
|
110
|
+
this.prevButton.element.setAttribute("aria-label", ( localize(8138, "Previous")));
|
|
111
111
|
this._register(this.prevButton.onDidClick(() => this.navigateRelative(-1)));
|
|
112
112
|
this.nextButton = this._register(( new Button(elements.navArrows, {
|
|
113
113
|
...defaultButtonStyles,
|
|
@@ -116,7 +116,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
116
116
|
})));
|
|
117
117
|
this.nextButton.element.classList.add("chat-tool-carousel-nav-arrow");
|
|
118
118
|
this.nextButton.label = `$(${Codicon.chevronRight.id})`;
|
|
119
|
-
this.nextButton.element.setAttribute("aria-label", ( localize(
|
|
119
|
+
this.nextButton.element.setAttribute("aria-label", ( localize(8139, "Next")));
|
|
120
120
|
this._register(this.nextButton.onDidClick(() => this.navigateRelative(1)));
|
|
121
121
|
this._register(addDisposableListener(this.agentLabel, "click", e => {
|
|
122
122
|
e.preventDefault();
|
|
@@ -308,7 +308,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
308
308
|
if (item?.agentName) {
|
|
309
309
|
this.agentLabel.textContent = `\u2014 ${item.agentName}`;
|
|
310
310
|
this.agentLabel.disabled = !item.subAgentInvocationId || !item.scrollToSubagent;
|
|
311
|
-
this.agentLabel.title = ( localize(
|
|
311
|
+
this.agentLabel.title = ( localize(8140, "Scroll to {0}", item.agentName));
|
|
312
312
|
this.agentLabel.setAttribute("aria-label", this.agentLabel.title);
|
|
313
313
|
show(this.agentLabel);
|
|
314
314
|
} else {
|
|
@@ -326,7 +326,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
326
326
|
setVisibility(multi, this.nextButton.element);
|
|
327
327
|
setVisibility(multi, this.allowAllButton.element);
|
|
328
328
|
setVisibility(this.canExpandContent, this.expandContentButton.element);
|
|
329
|
-
this.allowAllButton.label = multi ? ( localize(
|
|
329
|
+
this.allowAllButton.label = multi ? ( localize(8135, "Allow All")) : ( localize(8141, "Allow"));
|
|
330
330
|
this.updateExpandContentButton();
|
|
331
331
|
}
|
|
332
332
|
renderActiveContent() {
|
|
@@ -381,7 +381,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
|
|
|
381
381
|
}
|
|
382
382
|
updateExpandContentButton() {
|
|
383
383
|
const expanded = this.canExpandContent && this._isContentExpanded;
|
|
384
|
-
const label = expanded ? ( localize(
|
|
384
|
+
const label = expanded ? ( localize(8142, "Restore Confirmation Size")) : ( localize(8143, "Expand Confirmation Up"));
|
|
385
385
|
this.expandContentButton.label = expanded ? `$(${Codicon.screenNormal.id})` : `$(${Codicon.screenFull.id})`;
|
|
386
386
|
this.expandContentButton.element.setAttribute("aria-label", label);
|
|
387
387
|
this.expandContentButton.element.setAttribute("aria-expanded", String(expanded));
|
|
@@ -11,6 +11,7 @@ import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/
|
|
|
11
11
|
import { ILanguageModelToolsConfirmationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service";
|
|
12
12
|
import { IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
13
13
|
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
14
|
+
import { IChatToolRiskAssessmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service";
|
|
14
15
|
import { IChatContentPartRenderContext } from "../chatContentParts.js";
|
|
15
16
|
import { IChatMarkdownAnchorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service";
|
|
16
17
|
import { AbstractToolConfirmationSubPart } from "./abstractToolConfirmationSubPart.js";
|
|
@@ -27,7 +28,7 @@ export declare class ToolConfirmationSubPart extends AbstractToolConfirmationSub
|
|
|
27
28
|
private readonly confirmationService;
|
|
28
29
|
private markdownParts;
|
|
29
30
|
get codeblocks(): IChatCodeBlockInfo[];
|
|
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);
|
|
31
|
+
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, riskAssessmentService: IChatToolRiskAssessmentService);
|
|
31
32
|
protected additionalPrimaryActions(): (Separator | import("./abstractToolConfirmationSubPart.js").IAbstractToolPrimaryAction)[];
|
|
32
33
|
protected useAllowOnceAsPrimary(): boolean;
|
|
33
34
|
protected createContentElement(): HTMLElement | string;
|
|
@@ -23,6 +23,7 @@ import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/
|
|
|
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
|
+
import { IChatToolRiskAssessmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service';
|
|
26
27
|
import { renderFileWidgets } from '../chatInlineAnchorWidget.js';
|
|
27
28
|
import { CodeBlockPart } from '../codeBlockPart.js';
|
|
28
29
|
import { IChatMarkdownAnchorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service';
|
|
@@ -50,7 +51,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
50
51
|
markerService,
|
|
51
52
|
languageModelToolsService,
|
|
52
53
|
chatMarkdownAnchorService,
|
|
53
|
-
confirmationService
|
|
54
|
+
confirmationService,
|
|
55
|
+
riskAssessmentService
|
|
54
56
|
) {
|
|
55
57
|
const state = toolInvocation.state.get();
|
|
56
58
|
if (state.type !== IChatToolInvocation.StateKind.WaitingForConfirmation || !state.confirmationMessages?.title) {
|
|
@@ -63,7 +65,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
63
65
|
keybindingService,
|
|
64
66
|
contextKeyService,
|
|
65
67
|
chatWidgetService,
|
|
66
|
-
languageModelToolsService
|
|
68
|
+
languageModelToolsService,
|
|
69
|
+
riskAssessmentService
|
|
67
70
|
);
|
|
68
71
|
this.renderer = renderer;
|
|
69
72
|
this.editorPool = editorPool;
|
|
@@ -78,8 +81,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
78
81
|
this.render({
|
|
79
82
|
allowActionId: AcceptToolConfirmationActionId,
|
|
80
83
|
skipActionId: SkipToolConfirmationActionId,
|
|
81
|
-
allowLabel: state.confirmationMessages.confirmResults ? ( localize(
|
|
82
|
-
skipLabel: ( localize(
|
|
84
|
+
allowLabel: state.confirmationMessages.confirmResults ? ( localize(8144, "Allow and Review Once")) : ( localize(8145, "Allow Once")),
|
|
85
|
+
skipLabel: ( localize(8146, "Proceed without running this tool")),
|
|
83
86
|
partType: "chatToolConfirmation",
|
|
84
87
|
subtitle: typeof toolInvocation.originMessage === "string" ? toolInvocation.originMessage : toolInvocation.originMessage?.value
|
|
85
88
|
});
|
|
@@ -125,7 +128,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
125
128
|
}
|
|
126
129
|
if (state.confirmationMessages?.confirmResults) {
|
|
127
130
|
actions.unshift({
|
|
128
|
-
label: ( localize(
|
|
131
|
+
label: ( localize(8147, "Allow and Skip Reviewing Result")),
|
|
129
132
|
data: () => {
|
|
130
133
|
state.confirmationMessages.confirmResults = undefined;
|
|
131
134
|
this.confirmWith(this.toolInvocation, {
|
|
@@ -167,11 +170,11 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
167
170
|
};
|
|
168
171
|
const elements = h("div", [h(".message@messageContainer", [
|
|
169
172
|
h(".message-wrapper@message"),
|
|
170
|
-
h(".see-more@showMore", [h("a", [( localize(
|
|
173
|
+
h(".see-more@showMore", [h("a", [( localize(8148, "Show More"))])])
|
|
171
174
|
]), h(".editor@editor"), h(".disclaimer@disclaimer")]);
|
|
172
175
|
if (toolInvocation.toolSpecificData?.kind === "input" && toolInvocation.toolSpecificData.rawInput && !isEmptyObject(toolInvocation.toolSpecificData.rawInput)) {
|
|
173
176
|
const titleEl = createElement("h3");
|
|
174
|
-
titleEl.textContent = ( localize(
|
|
177
|
+
titleEl.textContent = ( localize(8149, "Input"));
|
|
175
178
|
elements.editor.appendChild(titleEl);
|
|
176
179
|
const inputData = toolInvocation.toolSpecificData;
|
|
177
180
|
const codeBlockRenderOptions = {
|
|
@@ -241,7 +244,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
241
244
|
elements.editor.append(editor.object.element);
|
|
242
245
|
if (canSeeMore) {
|
|
243
246
|
const seeMore = h("div.see-more", [h("a@link")]);
|
|
244
|
-
seeMore.link.textContent = ( localize(
|
|
247
|
+
seeMore.link.textContent = ( localize(8150, "See more"));
|
|
245
248
|
this._register(addDisposableGenericMouseDownListener(seeMore.link, () => {
|
|
246
249
|
try {
|
|
247
250
|
const parsed = JSON.parse(model.getValue());
|
|
@@ -308,6 +311,6 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
308
311
|
return part;
|
|
309
312
|
}
|
|
310
313
|
};
|
|
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));
|
|
314
|
+
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)), ( __param(16, IChatToolRiskAssessmentService))], ToolConfirmationSubPart));
|
|
312
315
|
|
|
313
316
|
export { ToolConfirmationSubPart };
|
|
@@ -24,7 +24,7 @@ export declare class ChatToolInvocationPart extends Disposable implements IChatC
|
|
|
24
24
|
get codeblocks(): IChatCodeBlockInfo[];
|
|
25
25
|
get codeblocksPartId(): string | undefined;
|
|
26
26
|
private subPart;
|
|
27
|
-
private mcpAppPart;
|
|
27
|
+
private readonly mcpAppPart;
|
|
28
28
|
private readonly _onDidRemount;
|
|
29
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);
|
|
30
30
|
private createToolInvocationSubPart;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { $, createElement, hide, show, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
4
|
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
5
|
-
import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
5
|
+
import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
6
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
7
7
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
8
8
|
import { IChatToolInvocation, ToolConfirmKind, isLegacyChatTerminalToolInvocationData } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
@@ -13,8 +13,9 @@ import { ChatInputOutputMarkdownProgressPart } from './chatInputOutputMarkdownPr
|
|
|
13
13
|
import { ChatMcpAppSubPart } from './chatMcpAppSubPart.js';
|
|
14
14
|
import { ChatResultListSubPart } from './chatResultListSubPart.js';
|
|
15
15
|
import { ChatSimpleToolProgressPart } from './chatSimpleToolProgressPart.js';
|
|
16
|
-
import {
|
|
16
|
+
import { ChatSandboxPrerequisiteConfirmationSubPart } from './chatSandboxPrerequisiteConfirmationSubPart.js';
|
|
17
17
|
import { ChatModifiedFilesConfirmationSubPart } from './chatModifiedFilesConfirmationSubPart.js';
|
|
18
|
+
import { ChatAgentFeedbackReviewConfirmationSubPart } from './chatAgentFeedbackReviewConfirmationSubPart.js';
|
|
18
19
|
import { ChatTerminalToolConfirmationSubPart } from './chatTerminalToolConfirmationSubPart.js';
|
|
19
20
|
import { ChatTerminalToolProgressPart } from './chatTerminalToolProgressPart.js';
|
|
20
21
|
import { ToolConfirmationSubPart } from './chatToolConfirmationSubPart.js';
|
|
@@ -23,7 +24,7 @@ import { ChatToolPostExecuteConfirmationPart } from './chatToolPostExecuteConfir
|
|
|
23
24
|
import { ChatToolProgressSubPart } from './chatToolProgressPart.js';
|
|
24
25
|
import { ChatToolStreamingSubPart } from './chatToolStreamingSubPart.js';
|
|
25
26
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
26
|
-
import {
|
|
27
|
+
import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
|
|
27
28
|
|
|
28
29
|
let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
|
|
29
30
|
get toolCallId() {
|
|
@@ -32,7 +33,7 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
|
|
|
32
33
|
get codeblocks() {
|
|
33
34
|
const codeblocks = this.subPart?.codeblocks ?? [];
|
|
34
35
|
if (this.mcpAppPart) {
|
|
35
|
-
codeblocks.push(...this.mcpAppPart.codeblocks);
|
|
36
|
+
codeblocks.push(...(this.mcpAppPart.value?.codeblocks ?? []));
|
|
36
37
|
}
|
|
37
38
|
return codeblocks;
|
|
38
39
|
}
|
|
@@ -62,6 +63,7 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
|
|
|
62
63
|
this.codeBlockStartIndex = codeBlockStartIndex;
|
|
63
64
|
this.instantiationService = instantiationService;
|
|
64
65
|
this.chatTodoListService = chatTodoListService;
|
|
66
|
+
this.mcpAppPart = this._register(( new MutableDisposable()));
|
|
65
67
|
this._onDidRemount = this._register(( new Emitter()));
|
|
66
68
|
this.domNode = $(".chat-tool-invocation-part");
|
|
67
69
|
if (toolInvocation.presentation === "hidden") {
|
|
@@ -80,6 +82,7 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
|
|
|
80
82
|
}));
|
|
81
83
|
this.chatTodoListService.setTodos(sessionResource, todos);
|
|
82
84
|
}
|
|
85
|
+
let appData = constObservable(undefined);
|
|
83
86
|
if (toolInvocation.kind === "toolInvocation") {
|
|
84
87
|
const initialState = toolInvocation.state.get().type;
|
|
85
88
|
const initialDataKind = toolInvocation.toolSpecificDataKind.get();
|
|
@@ -90,6 +93,13 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
|
|
|
90
93
|
render();
|
|
91
94
|
}
|
|
92
95
|
}));
|
|
96
|
+
appData = ( ( toolInvocation.toolSpecificDataKind.map(() => this.getMcpAppRenderData())).map((data, reader) => {
|
|
97
|
+
if (!data) {
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
const outcome = IChatToolInvocation.executionConfirmedOrDenied(toolInvocation, reader);
|
|
101
|
+
return !!outcome && outcome.type !== ToolConfirmKind.Denied && outcome.type !== ToolConfirmKind.Skipped ? data : undefined;
|
|
102
|
+
}));
|
|
93
103
|
}
|
|
94
104
|
const partStore = this._register(( new DisposableStore()));
|
|
95
105
|
let subPartDomNode = createElement("div");
|
|
@@ -104,35 +114,29 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
|
|
|
104
114
|
this.subPart = partStore.add(this.createToolInvocationSubPart());
|
|
105
115
|
subPartDomNode.replaceWith(this.subPart.domNode);
|
|
106
116
|
subPartDomNode = this.subPart.domNode;
|
|
107
|
-
const isConfirmation = this.subPart instanceof ToolConfirmationSubPart || this.subPart instanceof ChatTerminalToolConfirmationSubPart || this.subPart instanceof ChatModifiedFilesConfirmationSubPart || this.subPart instanceof
|
|
117
|
+
const isConfirmation = this.subPart instanceof ToolConfirmationSubPart || this.subPart instanceof ChatTerminalToolConfirmationSubPart || this.subPart instanceof ChatModifiedFilesConfirmationSubPart || this.subPart instanceof ChatSandboxPrerequisiteConfirmationSubPart || this.subPart instanceof ExtensionsInstallConfirmationWidgetSubPart || this.subPart instanceof ChatToolPostExecuteConfirmationPart;
|
|
108
118
|
this.domNode.classList.toggle("has-confirmation", isConfirmation);
|
|
109
119
|
partStore.add(this.subPart.onNeedsRerender(render));
|
|
110
120
|
};
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
} else {
|
|
131
|
-
this.mcpAppPart = undefined;
|
|
132
|
-
clearNode(appDomNode);
|
|
133
|
-
}
|
|
134
|
-
}));
|
|
135
|
-
}
|
|
121
|
+
let appDomNode = createElement("div");
|
|
122
|
+
this.domNode.appendChild(appDomNode);
|
|
123
|
+
this._register(autorun(r => {
|
|
124
|
+
const data = appData.read(r);
|
|
125
|
+
if (!data) {
|
|
126
|
+
this.mcpAppPart.clear();
|
|
127
|
+
clearNode(appDomNode);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this.mcpAppPart.value = this.instantiationService.createInstance(
|
|
131
|
+
ChatMcpAppSubPart,
|
|
132
|
+
this.toolInvocation,
|
|
133
|
+
this._onDidRemount.event,
|
|
134
|
+
context,
|
|
135
|
+
data
|
|
136
|
+
);
|
|
137
|
+
appDomNode.replaceWith(this.mcpAppPart.value.domNode);
|
|
138
|
+
appDomNode = this.mcpAppPart.value.domNode;
|
|
139
|
+
}));
|
|
136
140
|
render();
|
|
137
141
|
}
|
|
138
142
|
createToolInvocationSubPart() {
|
|
@@ -149,9 +153,9 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
|
|
|
149
153
|
return this.instantiationService.createInstance(ChatToolStreamingSubPart, this.toolInvocation, this.context, this.renderer);
|
|
150
154
|
}
|
|
151
155
|
if (state.type === IChatToolInvocation.StateKind.WaitingForConfirmation) {
|
|
152
|
-
if (this.toolInvocation.toolSpecificData?.kind === "terminal" && !isLegacyChatTerminalToolInvocationData(this.toolInvocation.toolSpecificData) && this.toolInvocation.toolSpecificData.missingSandboxDependencies?.length) {
|
|
156
|
+
if (this.toolInvocation.toolSpecificData?.kind === "terminal" && !isLegacyChatTerminalToolInvocationData(this.toolInvocation.toolSpecificData) && (this.toolInvocation.toolSpecificData.missingSandboxDependencies?.length || this.toolInvocation.toolSpecificData.sandboxRemediations?.length)) {
|
|
153
157
|
return this.instantiationService.createInstance(
|
|
154
|
-
|
|
158
|
+
ChatSandboxPrerequisiteConfirmationSubPart,
|
|
155
159
|
this.toolInvocation,
|
|
156
160
|
this.toolInvocation.toolSpecificData,
|
|
157
161
|
this.context,
|
|
@@ -175,6 +179,12 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
|
|
|
175
179
|
this.context,
|
|
176
180
|
this.listPool
|
|
177
181
|
);
|
|
182
|
+
} else if (this.toolInvocation.toolSpecificData?.kind === "agentFeedbackReviewConfirmation") {
|
|
183
|
+
return this.instantiationService.createInstance(
|
|
184
|
+
ChatAgentFeedbackReviewConfirmationSubPart,
|
|
185
|
+
this.toolInvocation,
|
|
186
|
+
this.context
|
|
187
|
+
);
|
|
178
188
|
} else {
|
|
179
189
|
return this.instantiationService.createInstance(
|
|
180
190
|
ToolConfirmationSubPart,
|
|
@@ -285,9 +295,7 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
|
|
|
285
295
|
if (toolSpecificData?.kind === "input" && toolSpecificData.mcpAppData) {
|
|
286
296
|
const rawInput = typeof toolSpecificData.rawInput === "string" ? toolSpecificData.rawInput : JSON.stringify(toolSpecificData.rawInput, null, 2);
|
|
287
297
|
return {
|
|
288
|
-
|
|
289
|
-
serverDefinitionId: toolSpecificData.mcpAppData.serverDefinitionId,
|
|
290
|
-
collectionId: toolSpecificData.mcpAppData.collectionId,
|
|
298
|
+
...toolSpecificData.mcpAppData,
|
|
291
299
|
input: rawInput,
|
|
292
300
|
sessionResource: this.context.element.sessionResource
|
|
293
301
|
};
|
|
@@ -67,7 +67,7 @@ let ChatToolOutputSubPart = class ChatToolOutputSubPart extends BaseChatToolInvo
|
|
|
67
67
|
parent.style.height = `${partState.height}px`;
|
|
68
68
|
}
|
|
69
69
|
const progressMessage = $("span");
|
|
70
|
-
progressMessage.textContent = ( localize(
|
|
70
|
+
progressMessage.textContent = ( localize(8151, "Rendering tool output..."));
|
|
71
71
|
const progressPart = this._register(this.instantiationService.createInstance(
|
|
72
72
|
ChatProgressSubPart,
|
|
73
73
|
progressMessage,
|
|
@@ -110,7 +110,7 @@ let ChatToolOutputSubPart = class ChatToolOutputSubPart extends BaseChatToolInvo
|
|
|
110
110
|
iconElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.error));
|
|
111
111
|
errorHeaderNode.append(iconElement);
|
|
112
112
|
const errorTitleNode = $(".output-error-title");
|
|
113
|
-
errorTitleNode.textContent = ( localize(
|
|
113
|
+
errorTitleNode.textContent = ( localize(8152, "Error rendering the tool output"));
|
|
114
114
|
errorHeaderNode.append(errorTitleNode);
|
|
115
115
|
const errorMessageNode = $(".output-error-details");
|
|
116
116
|
errorMessageNode.textContent = error?.message || String(error);
|
|
@@ -29,20 +29,20 @@ function getApprovalMessageFromReason(reason) {
|
|
|
29
29
|
let md;
|
|
30
30
|
switch (reason.type) {
|
|
31
31
|
case ToolConfirmKind.Setting:
|
|
32
|
-
md = ( localize(
|
|
32
|
+
md = ( localize(8153, "Auto approved by {0}", createMarkdownCommandLink({
|
|
33
33
|
text: "`" + reason.id + "`",
|
|
34
34
|
id: "workbench.action.openSettings",
|
|
35
35
|
arguments: [reason.id],
|
|
36
|
-
tooltip: ( localize(
|
|
36
|
+
tooltip: ( localize(8154, "Open settings"))
|
|
37
37
|
}, false)));
|
|
38
38
|
break;
|
|
39
39
|
case ToolConfirmKind.LmServicePerTool:
|
|
40
|
-
md = reason.scope === "session" ? ( localize(
|
|
40
|
+
md = reason.scope === "session" ? ( localize(8155, "Auto approved for this session")) : reason.scope === "workspace" ? ( localize(8156, "Auto approved for this workspace")) : ( localize(8157, "Auto approved for this profile"));
|
|
41
41
|
md += " (" + createMarkdownCommandLink({
|
|
42
|
-
text: ( localize(
|
|
42
|
+
text: ( localize(8158, "Edit")),
|
|
43
43
|
id: "workbench.action.chat.editToolApproval",
|
|
44
44
|
arguments: [reason.scope],
|
|
45
|
-
tooltip: ( localize(
|
|
45
|
+
tooltip: ( localize(8159, "Edit tool approval settings"))
|
|
46
46
|
}) + ")";
|
|
47
47
|
break;
|
|
48
48
|
case ToolConfirmKind.ConfirmationNotNeeded:
|
|
@@ -7,13 +7,14 @@ import { ILanguageModelToolsConfirmationService } from "@codingame/monaco-vscode
|
|
|
7
7
|
import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
|
|
8
8
|
import { IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
9
9
|
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
10
|
+
import { IChatToolRiskAssessmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service";
|
|
10
11
|
import { IChatContentPartRenderContext } from "../chatContentParts.js";
|
|
11
12
|
import { AbstractToolConfirmationSubPart } from "./abstractToolConfirmationSubPart.js";
|
|
12
13
|
export declare class ChatToolPostExecuteConfirmationPart extends AbstractToolConfirmationSubPart {
|
|
13
14
|
private readonly confirmationService;
|
|
14
15
|
private _codeblocks;
|
|
15
16
|
get codeblocks(): IChatCodeBlockInfo[];
|
|
16
|
-
constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, instantiationService: IInstantiationService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, languageModelToolsService: ILanguageModelToolsService, confirmationService: ILanguageModelToolsConfirmationService);
|
|
17
|
+
constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, instantiationService: IInstantiationService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, languageModelToolsService: ILanguageModelToolsService, confirmationService: ILanguageModelToolsConfirmationService, riskAssessmentService: IChatToolRiskAssessmentService);
|
|
17
18
|
protected createContentElement(): HTMLElement;
|
|
18
19
|
protected getTitle(): string;
|
|
19
20
|
protected additionalPrimaryActions(): (Separator | import("./abstractToolConfirmationSubPart.js").IAbstractToolPrimaryAction)[];
|