@codingame/monaco-vscode-katex-common 34.1.3 → 35.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +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
|
@@ -19,7 +19,10 @@ import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/
|
|
|
19
19
|
import { ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService';
|
|
20
20
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
21
21
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
22
|
+
import { IChatToolRiskAssessmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service';
|
|
22
23
|
import { ChatCustomConfirmationWidget } from '../chatConfirmationWidget.js';
|
|
24
|
+
import { renderFileWidgets } from '../chatInlineAnchorWidget.js';
|
|
25
|
+
import { IChatMarkdownAnchorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service';
|
|
23
26
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
24
27
|
import { AbstractToolConfirmationSubPart } from './abstractToolConfirmationSubPart.js';
|
|
25
28
|
|
|
@@ -34,8 +37,10 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
34
37
|
chatWidgetService,
|
|
35
38
|
languageModelToolsService,
|
|
36
39
|
markdownRendererService,
|
|
40
|
+
chatMarkdownAnchorService,
|
|
37
41
|
editorService,
|
|
38
|
-
commandService
|
|
42
|
+
commandService,
|
|
43
|
+
riskAssessmentService
|
|
39
44
|
) {
|
|
40
45
|
super(
|
|
41
46
|
toolInvocation,
|
|
@@ -44,10 +49,12 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
44
49
|
keybindingService,
|
|
45
50
|
contextKeyService,
|
|
46
51
|
chatWidgetService,
|
|
47
|
-
languageModelToolsService
|
|
52
|
+
languageModelToolsService,
|
|
53
|
+
riskAssessmentService
|
|
48
54
|
);
|
|
49
55
|
this.listPool = listPool;
|
|
50
56
|
this.markdownRendererService = markdownRendererService;
|
|
57
|
+
this.chatMarkdownAnchorService = chatMarkdownAnchorService;
|
|
51
58
|
this.editorService = editorService;
|
|
52
59
|
this.commandService = commandService;
|
|
53
60
|
this.codeblocks = [];
|
|
@@ -68,7 +75,8 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
68
75
|
}) ? tool.icon : Codicon.tools,
|
|
69
76
|
subtitle: typeof toolInvocation.originMessage === "string" ? toolInvocation.originMessage : toolInvocation.originMessage?.value,
|
|
70
77
|
buttons: this.createButtons(data.options),
|
|
71
|
-
message: this.createWidgetContentElement(state.confirmationMessages.message, data)
|
|
78
|
+
message: this.createWidgetContentElement(state.confirmationMessages.message, data),
|
|
79
|
+
footerBanner: this.createRiskBadgeDomNode(state.parameters)
|
|
72
80
|
})
|
|
73
81
|
);
|
|
74
82
|
const hasToolConfirmation = ChatContextKeys.Editing.hasToolConfirmation.bindTo(this.contextKeyService);
|
|
@@ -110,6 +118,12 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
110
118
|
const renderedMessage = this._register(
|
|
111
119
|
this.markdownRendererService.render(typeof message === "string" ? ( new MarkdownString(message)) : message)
|
|
112
120
|
);
|
|
121
|
+
renderFileWidgets(
|
|
122
|
+
renderedMessage.element,
|
|
123
|
+
this.instantiationService,
|
|
124
|
+
this.chatMarkdownAnchorService,
|
|
125
|
+
this._store
|
|
126
|
+
);
|
|
113
127
|
container.append(renderedMessage.element);
|
|
114
128
|
}
|
|
115
129
|
container.append(this.createModifiedFilesElement(data));
|
|
@@ -137,7 +151,7 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
137
151
|
const addedSpan = append(countsContainer, $(".working-set-lines-added"));
|
|
138
152
|
const removedSpan = append(countsContainer, $(".working-set-lines-removed"));
|
|
139
153
|
titleButton.element.appendChild(countsContainer);
|
|
140
|
-
const filesLabel = data.modifiedFiles.length === 1 ? ( localize(
|
|
154
|
+
const filesLabel = data.modifiedFiles.length === 1 ? ( localize(8076, "1 file changed")) : ( localize(8077, "{0} files changed", data.modifiedFiles.length));
|
|
141
155
|
titleButton.label = filesLabel;
|
|
142
156
|
let added = 0;
|
|
143
157
|
let removed = 0;
|
|
@@ -153,13 +167,13 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
153
167
|
addedSpan.textContent = `+${added}`;
|
|
154
168
|
removedSpan.textContent = `-${removed}`;
|
|
155
169
|
titleButton.element.setAttribute("aria-label", ( localize(
|
|
156
|
-
|
|
170
|
+
8078,
|
|
157
171
|
"{0}, {1} lines added, {2} lines removed",
|
|
158
172
|
filesLabel,
|
|
159
173
|
added,
|
|
160
174
|
removed
|
|
161
175
|
)));
|
|
162
|
-
countsContainer.setAttribute("aria-label", ( localize(
|
|
176
|
+
countsContainer.setAttribute("aria-label", ( localize(8079, "{0} lines added, {1} lines removed", added, removed)));
|
|
163
177
|
} else {
|
|
164
178
|
countsContainer.remove();
|
|
165
179
|
titleButton.element.setAttribute("aria-label", filesLabel);
|
|
@@ -169,8 +183,8 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
169
183
|
secondary: true,
|
|
170
184
|
small: true,
|
|
171
185
|
supportIcons: true,
|
|
172
|
-
ariaLabel: ( localize(
|
|
173
|
-
title: ( localize(
|
|
186
|
+
ariaLabel: ( localize(8080, "View All Changes")),
|
|
187
|
+
title: ( localize(8080, "View All Changes"))
|
|
174
188
|
})));
|
|
175
189
|
viewAllChangesButton.element.classList.add("default-colors");
|
|
176
190
|
viewAllChangesButton.icon = Codicon.diffMultiple;
|
|
@@ -260,7 +274,7 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
260
274
|
}
|
|
261
275
|
async openAllChanges(data) {
|
|
262
276
|
await this.commandService.executeCommand("_workbench.openMultiDiffEditor", {
|
|
263
|
-
title: ( localize(
|
|
277
|
+
title: ( localize(8081, "All Changes")),
|
|
264
278
|
resources: ( data.modifiedFiles.map(file => ({
|
|
265
279
|
originalUri: file.originalContentUri ? URI.revive(file.originalContentUri) : file.originalUri ? URI.revive(file.originalUri) : undefined,
|
|
266
280
|
modifiedUri: file.modifiedContentUri ? URI.revive(file.modifiedContentUri) : URI.revive(file.uri)
|
|
@@ -279,6 +293,6 @@ let ChatModifiedFilesConfirmationSubPart = class ChatModifiedFilesConfirmationSu
|
|
|
279
293
|
return typeof title === "string" ? title : title?.value ?? "";
|
|
280
294
|
}
|
|
281
295
|
};
|
|
282
|
-
ChatModifiedFilesConfirmationSubPart = ( __decorate([( __param(3, IInstantiationService)), ( __param(4, IKeybindingService)), ( __param(5, IContextKeyService)), ( __param(6, IChatWidgetService)), ( __param(7, ILanguageModelToolsService)), ( __param(8, IMarkdownRendererService)), ( __param(9,
|
|
296
|
+
ChatModifiedFilesConfirmationSubPart = ( __decorate([( __param(3, IInstantiationService)), ( __param(4, IKeybindingService)), ( __param(5, IContextKeyService)), ( __param(6, IChatWidgetService)), ( __param(7, ILanguageModelToolsService)), ( __param(8, IMarkdownRendererService)), ( __param(9, IChatMarkdownAnchorService)), ( __param(10, IEditorService)), ( __param(11, ICommandService)), ( __param(12, IChatToolRiskAssessmentService))], ChatModifiedFilesConfirmationSubPart));
|
|
283
297
|
|
|
284
298
|
export { ChatModifiedFilesConfirmationSubPart };
|
|
@@ -6,12 +6,13 @@ import { IChatToolInvocation, type IChatTerminalToolInvocationData } from "@codi
|
|
|
6
6
|
import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
|
|
7
7
|
import { IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
8
8
|
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
9
|
+
import { IChatToolRiskAssessmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service";
|
|
9
10
|
import { IChatContentPartRenderContext } from "../chatContentParts.js";
|
|
10
11
|
import { AbstractToolConfirmationSubPart } from "./abstractToolConfirmationSubPart.js";
|
|
11
|
-
export declare class
|
|
12
|
+
export declare class ChatSandboxPrerequisiteConfirmationSubPart extends AbstractToolConfirmationSubPart {
|
|
12
13
|
private readonly renderer;
|
|
13
14
|
readonly codeblocks: IChatCodeBlockInfo[];
|
|
14
|
-
constructor(toolInvocation: IChatToolInvocation,
|
|
15
|
+
constructor(toolInvocation: IChatToolInvocation, terminalData: IChatTerminalToolInvocationData, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, instantiationService: IInstantiationService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, languageModelToolsService: ILanguageModelToolsService, riskAssessmentService: IChatToolRiskAssessmentService);
|
|
15
16
|
protected createContentElement(): HTMLElement;
|
|
16
17
|
protected getTitle(): string;
|
|
17
18
|
}
|
|
@@ -10,19 +10,21 @@ import { IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/work
|
|
|
10
10
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
|
|
11
11
|
import { SkipToolConfirmationActionId, AcceptToolConfirmationActionId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
|
|
12
12
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
13
|
+
import { IChatToolRiskAssessmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service';
|
|
13
14
|
import { AbstractToolConfirmationSubPart } from './abstractToolConfirmationSubPart.js';
|
|
14
15
|
|
|
15
|
-
let
|
|
16
|
+
let ChatSandboxPrerequisiteConfirmationSubPart = class ChatSandboxPrerequisiteConfirmationSubPart extends AbstractToolConfirmationSubPart {
|
|
16
17
|
constructor(
|
|
17
18
|
toolInvocation,
|
|
18
|
-
|
|
19
|
+
terminalData,
|
|
19
20
|
context,
|
|
20
21
|
renderer,
|
|
21
22
|
instantiationService,
|
|
22
23
|
keybindingService,
|
|
23
24
|
contextKeyService,
|
|
24
25
|
chatWidgetService,
|
|
25
|
-
languageModelToolsService
|
|
26
|
+
languageModelToolsService,
|
|
27
|
+
riskAssessmentService
|
|
26
28
|
) {
|
|
27
29
|
super(
|
|
28
30
|
toolInvocation,
|
|
@@ -31,22 +33,24 @@ let ChatMissingSandboxDepsConfirmationSubPart = class ChatMissingSandboxDepsConf
|
|
|
31
33
|
keybindingService,
|
|
32
34
|
contextKeyService,
|
|
33
35
|
chatWidgetService,
|
|
34
|
-
languageModelToolsService
|
|
36
|
+
languageModelToolsService,
|
|
37
|
+
riskAssessmentService
|
|
35
38
|
);
|
|
36
39
|
this.renderer = renderer;
|
|
37
40
|
this.codeblocks = [];
|
|
41
|
+
const hasSandboxRemediations = !!terminalData.sandboxRemediations?.length;
|
|
38
42
|
this.render({
|
|
39
43
|
allowActionId: AcceptToolConfirmationActionId,
|
|
40
44
|
skipActionId: SkipToolConfirmationActionId,
|
|
41
|
-
allowLabel: ( localize(
|
|
42
|
-
skipLabel: ( localize(
|
|
43
|
-
partType: "chatMissingSandboxDepsConfirmation"
|
|
45
|
+
allowLabel: hasSandboxRemediations ? ( localize(8082, "Apply Fix and Retry")) : ( localize(8083, "Install")),
|
|
46
|
+
skipLabel: ( localize(8084, "Cancel")),
|
|
47
|
+
partType: hasSandboxRemediations ? "chatSandboxRemediationConfirmation" : "chatMissingSandboxDepsConfirmation"
|
|
44
48
|
});
|
|
45
49
|
}
|
|
46
50
|
createContentElement() {
|
|
47
51
|
const state = this.toolInvocation.state.get();
|
|
48
52
|
const message = state.type === IChatToolInvocation.StateKind.WaitingForConfirmation ? state.confirmationMessages?.message : undefined;
|
|
49
|
-
const container = $(".chat-
|
|
53
|
+
const container = $(".chat-sandbox-prerequisite-confirmation");
|
|
50
54
|
if (message) {
|
|
51
55
|
const mdMessage = typeof message === "string" ? ( new MarkdownString(message)) : message;
|
|
52
56
|
const rendered = this.renderer.render(mdMessage);
|
|
@@ -63,6 +67,6 @@ let ChatMissingSandboxDepsConfirmationSubPart = class ChatMissingSandboxDepsConf
|
|
|
63
67
|
return "";
|
|
64
68
|
}
|
|
65
69
|
};
|
|
66
|
-
|
|
70
|
+
ChatSandboxPrerequisiteConfirmationSubPart = ( __decorate([( __param(4, IInstantiationService)), ( __param(5, IKeybindingService)), ( __param(6, IContextKeyService)), ( __param(7, IChatWidgetService)), ( __param(8, ILanguageModelToolsService)), ( __param(9, IChatToolRiskAssessmentService))], ChatSandboxPrerequisiteConfirmationSubPart));
|
|
67
71
|
|
|
68
|
-
export {
|
|
72
|
+
export { ChatSandboxPrerequisiteConfirmationSubPart };
|
|
@@ -63,6 +63,5 @@ export declare class ChatTerminalToolConfirmationSubPart extends BaseChatToolInv
|
|
|
63
63
|
constructor(toolInvocation: IChatToolInvocation, terminalData: IChatTerminalToolInvocationData | ILegacyChatTerminalToolInvocationData, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, editorPool: EditorPool, currentWidthDelegate: () => number, codeBlockStartIndex: number, instantiationService: IInstantiationService, dialogService: IDialogService, keybindingService: IKeybindingService, languageService: ILanguageService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, preferencesService: IPreferencesService, storageService: IStorageService, terminalChatService: ITerminalChatService, hoverService: IHoverService, languageModelToolsService: ILanguageModelToolsService, riskAssessmentService: IChatToolRiskAssessmentService);
|
|
64
64
|
private _createButtons;
|
|
65
65
|
private _showAutoApproveWarning;
|
|
66
|
-
private _createRiskBadge;
|
|
67
66
|
private _appendMarkdownPart;
|
|
68
67
|
}
|
|
@@ -5,7 +5,6 @@ import { HoverStyle } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/
|
|
|
5
5
|
import { HoverPosition } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverWidget';
|
|
6
6
|
import { Separator } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
|
|
7
7
|
import { asArray } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
|
|
8
|
-
import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
9
8
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
10
9
|
import { ErrorNoTelemetry } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
11
10
|
import { MarkdownString, escapeMarkdownSyntaxTokens, createCommandUri } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
@@ -37,7 +36,7 @@ import { ChatCustomConfirmationWidget } from '../chatConfirmationWidget.js';
|
|
|
37
36
|
import { ChatMarkdownContentPart } from '../chatMarkdownContentPart.js';
|
|
38
37
|
import { CodeBlockPart } from '../codeBlockPart.js';
|
|
39
38
|
import { BaseChatToolInvocationSubPart } from './chatToolInvocationSubPart.js';
|
|
40
|
-
import {
|
|
39
|
+
import { createToolRiskBadge } from './toolRiskBadgeHelper.js';
|
|
41
40
|
|
|
42
41
|
var TerminalToolConfirmationStorageKeys;
|
|
43
42
|
(function(TerminalToolConfirmationStorageKeys) {
|
|
@@ -112,7 +111,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
112
111
|
moreActions = [];
|
|
113
112
|
if (!autoApproveWarningAccepted) {
|
|
114
113
|
moreActions.push({
|
|
115
|
-
label: ( localize(
|
|
114
|
+
label: ( localize(8085, "Enable Auto Approve...")),
|
|
116
115
|
data: {
|
|
117
116
|
type: "enable"
|
|
118
117
|
}
|
|
@@ -187,7 +186,15 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
187
186
|
hoverPosition: HoverPosition.LEFT
|
|
188
187
|
}
|
|
189
188
|
}));
|
|
190
|
-
const riskBadge =
|
|
189
|
+
const riskBadge = createToolRiskBadge(
|
|
190
|
+
this._store,
|
|
191
|
+
this.instantiationService,
|
|
192
|
+
this.riskAssessmentService,
|
|
193
|
+
this.languageModelToolsService,
|
|
194
|
+
this.toolInvocation.toolId,
|
|
195
|
+
state.parameters,
|
|
196
|
+
"terminal"
|
|
197
|
+
);
|
|
191
198
|
const confirmWidget = this._register(
|
|
192
199
|
this.instantiationService.createInstance(ChatCustomConfirmationWidget, this.context, {
|
|
193
200
|
title,
|
|
@@ -200,7 +207,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
200
207
|
const detailParts = [];
|
|
201
208
|
if (terminalData.requestUnsandboxedExecution) {
|
|
202
209
|
const reasonText = (terminalData.requestUnsandboxedExecutionReason && terminalData.requestUnsandboxedExecutionReason.trim()) || ( localize(
|
|
203
|
-
|
|
210
|
+
8086,
|
|
204
211
|
"The model did not provide a reason for requesting unsandboxed execution."
|
|
205
212
|
));
|
|
206
213
|
const inline = ( new MarkdownString(undefined, {
|
|
@@ -210,14 +217,14 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
210
217
|
inline.appendText(reasonText);
|
|
211
218
|
detailParts.push({
|
|
212
219
|
inline,
|
|
213
|
-
hoverLabel: ( localize(
|
|
220
|
+
hoverLabel: ( localize(8087, "Sandbox insufficient:")),
|
|
214
221
|
hoverBody: escapeMarkdownSyntaxTokens(reasonText),
|
|
215
222
|
isTrusted: undefined
|
|
216
223
|
});
|
|
217
224
|
}
|
|
218
225
|
if (terminalData.requestAllowNetwork) {
|
|
219
226
|
const reasonText = (terminalData.requestAllowNetworkReason && terminalData.requestAllowNetworkReason.trim()) || ( localize(
|
|
220
|
-
|
|
227
|
+
8088,
|
|
221
228
|
"The model did not provide a reason for requesting unrestricted network access in the sandbox."
|
|
222
229
|
));
|
|
223
230
|
const inline = ( new MarkdownString(undefined, {
|
|
@@ -227,7 +234,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
227
234
|
inline.appendText(reasonText);
|
|
228
235
|
detailParts.push({
|
|
229
236
|
inline,
|
|
230
|
-
hoverLabel: ( localize(
|
|
237
|
+
hoverLabel: ( localize(8089, "Unrestricted network access:")),
|
|
231
238
|
hoverBody: escapeMarkdownSyntaxTokens(reasonText),
|
|
232
239
|
isTrusted: undefined
|
|
233
240
|
});
|
|
@@ -237,7 +244,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
237
244
|
const hoverBody = inline.value.replace(/^\s*\$\([^)]+\)\s*/, "");
|
|
238
245
|
detailParts.push({
|
|
239
246
|
inline,
|
|
240
|
-
hoverLabel: ( localize(
|
|
247
|
+
hoverLabel: ( localize(8090, "Approval needed:")),
|
|
241
248
|
hoverBody,
|
|
242
249
|
isTrusted: inline.isTrusted
|
|
243
250
|
});
|
|
@@ -396,7 +403,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
396
403
|
}
|
|
397
404
|
const target = scope === "workspace" ? ConfigurationTarget.WORKSPACE : ConfigurationTarget.USER;
|
|
398
405
|
const settingsUri = createCommandUri(TerminalContribCommandId.OpenTerminalSettingsLink, target);
|
|
399
|
-
return `[\`${e.key}\`](${( settingsUri.toString())} "${( localize(
|
|
406
|
+
return `[\`${e.key}\`](${( settingsUri.toString())} "${( localize(8091, "View rule in settings"))}")`;
|
|
400
407
|
})).join(", ");
|
|
401
408
|
}
|
|
402
409
|
const mdTrustSettings = {
|
|
@@ -407,33 +414,33 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
407
414
|
const parts = [];
|
|
408
415
|
if (sessionRules.length > 0) {
|
|
409
416
|
parts.push(sessionRules.length === 1 ? ( localize(
|
|
410
|
-
|
|
417
|
+
8092,
|
|
411
418
|
"Session auto approve rule {0} added",
|
|
412
419
|
formatRuleLinks(sessionRules, "session")
|
|
413
420
|
)) : ( localize(
|
|
414
|
-
|
|
421
|
+
8093,
|
|
415
422
|
"Session auto approve rules {0} added",
|
|
416
423
|
formatRuleLinks(sessionRules, "session")
|
|
417
424
|
)));
|
|
418
425
|
}
|
|
419
426
|
if (workspaceRules.length > 0) {
|
|
420
427
|
parts.push(workspaceRules.length === 1 ? ( localize(
|
|
421
|
-
|
|
428
|
+
8094,
|
|
422
429
|
"Workspace auto approve rule {0} added",
|
|
423
430
|
formatRuleLinks(workspaceRules, "workspace")
|
|
424
431
|
)) : ( localize(
|
|
425
|
-
|
|
432
|
+
8095,
|
|
426
433
|
"Workspace auto approve rules {0} added",
|
|
427
434
|
formatRuleLinks(workspaceRules, "workspace")
|
|
428
435
|
)));
|
|
429
436
|
}
|
|
430
437
|
if (userRules.length > 0) {
|
|
431
438
|
parts.push(userRules.length === 1 ? ( localize(
|
|
432
|
-
|
|
439
|
+
8096,
|
|
433
440
|
"User auto approve rule {0} added",
|
|
434
441
|
formatRuleLinks(userRules, "user")
|
|
435
442
|
)) : ( localize(
|
|
436
|
-
|
|
443
|
+
8097,
|
|
437
444
|
"User auto approve rules {0} added",
|
|
438
445
|
formatRuleLinks(userRules, "user")
|
|
439
446
|
)));
|
|
@@ -463,7 +470,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
463
470
|
enabledCommands: [TerminalContribCommandId.DisableSessionAutoApproval]
|
|
464
471
|
}
|
|
465
472
|
};
|
|
466
|
-
terminalData.autoApproveInfo = ( new MarkdownString(`${( localize(
|
|
473
|
+
terminalData.autoApproveInfo = ( new MarkdownString(`${( localize(8098, "All commands will be auto approved for this session"))} ([${( localize(8099, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings));
|
|
467
474
|
toolConfirmKind = ToolConfirmKind.UserAction;
|
|
468
475
|
break;
|
|
469
476
|
}
|
|
@@ -489,11 +496,11 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
489
496
|
};
|
|
490
497
|
};
|
|
491
498
|
return [{
|
|
492
|
-
...getLabelAndTooltip(( localize(
|
|
499
|
+
...getLabelAndTooltip(( localize(8100, "Allow")), AcceptToolConfirmationActionId),
|
|
493
500
|
data: true,
|
|
494
501
|
moreActions
|
|
495
502
|
}, {
|
|
496
|
-
...getLabelAndTooltip(( localize(
|
|
503
|
+
...getLabelAndTooltip(( localize(8101, "Skip")), SkipToolConfirmationActionId, ( localize(8102, "Proceed without executing this command"))),
|
|
497
504
|
data: {
|
|
498
505
|
type: "skip"
|
|
499
506
|
},
|
|
@@ -503,9 +510,9 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
503
510
|
async _showAutoApproveWarning() {
|
|
504
511
|
const promptResult = await this.dialogService.prompt({
|
|
505
512
|
type: Severity.Info,
|
|
506
|
-
message: ( localize(
|
|
513
|
+
message: ( localize(8103, "Enable terminal auto approve?")),
|
|
507
514
|
buttons: [{
|
|
508
|
-
label: ( localize(
|
|
515
|
+
label: ( localize(8104, "Enable")),
|
|
509
516
|
run: () => true
|
|
510
517
|
}],
|
|
511
518
|
cancelButton: true,
|
|
@@ -513,52 +520,16 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
|
|
|
513
520
|
icon: Codicon.shield,
|
|
514
521
|
markdownDetails: [{
|
|
515
522
|
markdown: ( new MarkdownString(( localize(
|
|
516
|
-
|
|
523
|
+
8105,
|
|
517
524
|
"This will enable a configurable subset of commands to run in the terminal autonomously. It provides *best effort protections* and assumes the agent is not acting maliciously."
|
|
518
525
|
))))
|
|
519
526
|
}, {
|
|
520
|
-
markdown: ( new MarkdownString(`[${( localize(
|
|
527
|
+
markdown: ( new MarkdownString(`[${( localize(8106, "Learn more about the potential risks and how to avoid them."))}](https://code.visualstudio.com/docs/agents/security?referrer=in-product#_security-risks-to-be-aware-of)`))
|
|
521
528
|
}]
|
|
522
529
|
}
|
|
523
530
|
});
|
|
524
531
|
return promptResult.result === true;
|
|
525
532
|
}
|
|
526
|
-
_createRiskBadge(parameters) {
|
|
527
|
-
if (!this.riskAssessmentService.isEnabled()) {
|
|
528
|
-
return undefined;
|
|
529
|
-
}
|
|
530
|
-
const tool = this.languageModelToolsService.getTool(this.toolInvocation.toolId);
|
|
531
|
-
if (!tool) {
|
|
532
|
-
return undefined;
|
|
533
|
-
}
|
|
534
|
-
const widget = this._register(this.instantiationService.createInstance(ToolRiskBadgeWidget));
|
|
535
|
-
const cached = this.riskAssessmentService.getCached(tool, parameters);
|
|
536
|
-
if (cached) {
|
|
537
|
-
widget.setAssessment(cached);
|
|
538
|
-
} else {
|
|
539
|
-
widget.setLoading();
|
|
540
|
-
const cts = ( new CancellationTokenSource());
|
|
541
|
-
this._register(toDisposable(() => cts.dispose(true)));
|
|
542
|
-
(async () => {
|
|
543
|
-
try {
|
|
544
|
-
const result = await this.riskAssessmentService.assess(tool, parameters, cts.token);
|
|
545
|
-
if (cts.token.isCancellationRequested || widget.isDisposed) {
|
|
546
|
-
return;
|
|
547
|
-
}
|
|
548
|
-
if (!result) {
|
|
549
|
-
widget.setHidden();
|
|
550
|
-
return;
|
|
551
|
-
}
|
|
552
|
-
widget.setAssessment(result);
|
|
553
|
-
} catch {
|
|
554
|
-
if (!widget.isDisposed) {
|
|
555
|
-
widget.setHidden();
|
|
556
|
-
}
|
|
557
|
-
}
|
|
558
|
-
})();
|
|
559
|
-
}
|
|
560
|
-
return widget;
|
|
561
|
-
}
|
|
562
533
|
_appendMarkdownPart(container, message, codeBlockRenderOptions) {
|
|
563
534
|
const part = this._register(this.instantiationService.createInstance(ChatMarkdownContentPart, {
|
|
564
535
|
kind: "markdownContent",
|
|
@@ -146,6 +146,7 @@ export declare class ChatTerminalToolProgressPart extends BaseChatToolInvocation
|
|
|
146
146
|
export declare class ChatTerminalThinkingCollapsibleWrapper extends ChatCollapsibleContentPart {
|
|
147
147
|
private readonly _terminalContentElement;
|
|
148
148
|
private readonly _commandText;
|
|
149
|
+
private readonly _intention;
|
|
149
150
|
private readonly _isSandboxWrapped;
|
|
150
151
|
private _isComplete;
|
|
151
152
|
private readonly _isSkipped;
|
|
@@ -153,7 +154,7 @@ export declare class ChatTerminalThinkingCollapsibleWrapper extends ChatCollapsi
|
|
|
153
154
|
private readonly _onFocusTerminal;
|
|
154
155
|
private readonly _showLinkDisposables;
|
|
155
156
|
private _showLinkElement;
|
|
156
|
-
constructor(commandText: string, isSandboxWrapped: boolean, contentElement: HTMLElement, context: IChatContentPartRenderContext, initialExpanded: boolean, isComplete: boolean, isSkipped: boolean, isRunningInBackground: boolean, onFocusTerminal: (() => void) | undefined, hoverService: IHoverService, configurationService: IConfigurationService);
|
|
157
|
+
constructor(commandText: string, intention: string | undefined, isSandboxWrapped: boolean, contentElement: HTMLElement, context: IChatContentPartRenderContext, initialExpanded: boolean, isComplete: boolean, isSkipped: boolean, isRunningInBackground: boolean, onFocusTerminal: (() => void) | undefined, hoverService: IHoverService, configurationService: IConfigurationService);
|
|
157
158
|
private _setCodeFormattedTitle;
|
|
158
159
|
private _updateShowLink;
|
|
159
160
|
markComplete(): void;
|