@codingame/monaco-vscode-katex-common 34.1.2 → 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
|
@@ -95,6 +95,7 @@ registerCss(chat);
|
|
|
95
95
|
registerCss(chatAgentHover);
|
|
96
96
|
registerCss(chatViewWelcome);
|
|
97
97
|
const $ = $$1;
|
|
98
|
+
const SESSIONS_CHAT_ITEM_HORIZONTAL_PADDING = 64;
|
|
98
99
|
function isQuickChat(widget) {
|
|
99
100
|
return isIChatResourceViewContext(widget.viewContext) && Boolean(widget.viewContext.isQuickChat);
|
|
100
101
|
}
|
|
@@ -116,7 +117,7 @@ const supportsAllAttachments = {
|
|
|
116
117
|
supportsHandOffs: true,
|
|
117
118
|
supportsCheckpoints: true
|
|
118
119
|
};
|
|
119
|
-
const DISCLAIMER = ( localize(
|
|
120
|
+
const DISCLAIMER = ( localize(8223, "AI responses may be inaccurate"));
|
|
120
121
|
let ChatWidget = class ChatWidget extends Disposable {
|
|
121
122
|
static {
|
|
122
123
|
ChatWidget_1 = this;
|
|
@@ -293,6 +294,7 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
293
294
|
this._gettingStartedTipPart = this._register(( new MutableDisposable()));
|
|
294
295
|
this.visibleChangeCount = 0;
|
|
295
296
|
this._visible = false;
|
|
297
|
+
this._inputVisible = true;
|
|
296
298
|
this._isRenderingWelcome = false;
|
|
297
299
|
this._attachmentCapabilities = supportsAllAttachments;
|
|
298
300
|
this._goalBannerDismissedForCurrentRequest = false;
|
|
@@ -302,6 +304,9 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
302
304
|
this._viewModelObs = observableFromEvent(this, this.onDidChangeViewModel, () => this.viewModel);
|
|
303
305
|
this._lockedToCodingAgentContextKey = ChatContextKeys.lockedToCodingAgent.bindTo(this.contextKeyService);
|
|
304
306
|
this._lockedCodingAgentIdContextKey = ChatContextKeys.lockedCodingAgentId.bindTo(this.contextKeyService);
|
|
307
|
+
this._readOnlyContextKey = ChatContextKeys.readOnly.bindTo(this.contextKeyService);
|
|
308
|
+
this._chatIsAgentHostSessionContextKey = ChatContextKeys.chatIsAgentHostSession.bindTo(this.contextKeyService);
|
|
309
|
+
this._chatAgentHostProviderIdContextKey = ChatContextKeys.chatAgentHostProviderId.bindTo(this.contextKeyService);
|
|
305
310
|
this._chatSessionSupportsForkContextKey = ChatContextKeys.chatSessionSupportsFork.bindTo(this.contextKeyService);
|
|
306
311
|
this._agentSupportsAttachmentsContextKey = ChatContextKeys.agentSupportsAttachments.bindTo(this.contextKeyService);
|
|
307
312
|
this._sessionIsEmptyContextKey = ChatContextKeys.chatSessionIsEmpty.bindTo(this.contextKeyService);
|
|
@@ -616,6 +621,7 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
616
621
|
this.renderWelcomeViewContentIfNeeded();
|
|
617
622
|
this.createList(this.listContainer, {
|
|
618
623
|
editable: !isInlineChat(this) && !isQuickChat(this),
|
|
624
|
+
contentHorizontalPadding: this.viewOptions.isSessionsWindow ? SESSIONS_CHAT_ITEM_HORIZONTAL_PADDING : undefined,
|
|
619
625
|
...this.viewOptions.rendererOptions,
|
|
620
626
|
renderStyle
|
|
621
627
|
});
|
|
@@ -686,6 +692,11 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
686
692
|
}
|
|
687
693
|
}
|
|
688
694
|
focusInput() {
|
|
695
|
+
if (!this._inputVisible) {
|
|
696
|
+
this.listWidget.focusLastItem(true);
|
|
697
|
+
this._onDidFocus.fire();
|
|
698
|
+
return;
|
|
699
|
+
}
|
|
689
700
|
this.input.focus();
|
|
690
701
|
this._onDidFocus.fire();
|
|
691
702
|
}
|
|
@@ -807,7 +818,8 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
807
818
|
this.lockToCodingAgent(
|
|
808
819
|
this._lockedAgent.name,
|
|
809
820
|
this._lockedAgent.displayName,
|
|
810
|
-
this._lockedAgent.id
|
|
821
|
+
this._lockedAgent.id,
|
|
822
|
+
this._lockedAgent.agentHostProviderId
|
|
811
823
|
);
|
|
812
824
|
} else {
|
|
813
825
|
this.unlockFromCodingAgent();
|
|
@@ -880,7 +892,7 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
880
892
|
if (this.chatEntitlementService.anonymous && !this.chatEntitlementService.sentiment.completed) {
|
|
881
893
|
const providers = product.defaultChatAgent.provider;
|
|
882
894
|
additionalMessage = ( new MarkdownString(( localize(
|
|
883
|
-
|
|
895
|
+
8224,
|
|
884
896
|
"By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3}).",
|
|
885
897
|
providers.default.name,
|
|
886
898
|
providers.default.name,
|
|
@@ -962,7 +974,7 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
962
974
|
return ( new MarkdownString(""));
|
|
963
975
|
} else if (this._instructionFilesExist === false) {
|
|
964
976
|
return (new MarkdownString(localize(
|
|
965
|
-
|
|
977
|
+
8225,
|
|
966
978
|
"[Generate Agent Instructions]({0}) to onboard AI onto your codebase.",
|
|
967
979
|
`command:${GENERATE_AGENT_INSTRUCTIONS_COMMAND_ID}`
|
|
968
980
|
), {
|
|
@@ -988,19 +1000,19 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
988
1000
|
const providerTitle = contribution?.welcomeTitle;
|
|
989
1001
|
const providerMessage = contribution?.welcomeMessage;
|
|
990
1002
|
const message = providerMessage ? ( new MarkdownString(providerMessage)) : (this._lockedAgent?.prefix === "@copilot " ? ( new MarkdownString(( localize(
|
|
991
|
-
|
|
1003
|
+
8226,
|
|
992
1004
|
"This chat session will be forwarded to the {0} [coding agent]({1}) where work is completed in the background. ",
|
|
993
1005
|
this._lockedAgent.prefix,
|
|
994
1006
|
"https://aka.ms/coding-agent-docs"
|
|
995
1007
|
)) + DISCLAIMER, {
|
|
996
1008
|
isTrusted: true
|
|
997
1009
|
})) : ( new MarkdownString(( localize(
|
|
998
|
-
|
|
1010
|
+
8227,
|
|
999
1011
|
"This chat session will be forwarded to the {0} coding agent where work is completed in the background. ",
|
|
1000
1012
|
this._lockedAgent?.prefix
|
|
1001
1013
|
)) + DISCLAIMER)));
|
|
1002
1014
|
return {
|
|
1003
|
-
title: providerTitle ?? ( localize(
|
|
1015
|
+
title: providerTitle ?? ( localize(8228, "Delegate to {0}", this._lockedAgent?.prefix)),
|
|
1004
1016
|
message,
|
|
1005
1017
|
icon: providerIcon ?? Codicon.sendToRemoteAgent,
|
|
1006
1018
|
additionalMessage,
|
|
@@ -1009,11 +1021,11 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
1009
1021
|
}
|
|
1010
1022
|
let title;
|
|
1011
1023
|
if (this.input.currentModeKind === ChatModeKind.Ask) {
|
|
1012
|
-
title = ( localize(
|
|
1024
|
+
title = ( localize(8229, "Ask about your code"));
|
|
1013
1025
|
} else if (this.input.currentModeKind === ChatModeKind.Edit) {
|
|
1014
|
-
title = ( localize(
|
|
1026
|
+
title = ( localize(8230, "Edit in context"));
|
|
1015
1027
|
} else {
|
|
1016
|
-
title = ( localize(
|
|
1028
|
+
title = ( localize(8231, "Build with Agent"));
|
|
1017
1029
|
}
|
|
1018
1030
|
return {
|
|
1019
1031
|
title,
|
|
@@ -1059,8 +1071,6 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
1059
1071
|
const modes = this.input.currentChatModesObs.get();
|
|
1060
1072
|
if (modeInfo?.modeInstructions?.name) {
|
|
1061
1073
|
responseMode = modes.findModeByName(modeInfo.modeInstructions.name);
|
|
1062
|
-
} else if (modeInfo?.modeId) {
|
|
1063
|
-
responseMode = modes.findModeById(modeInfo.modeId);
|
|
1064
1074
|
} else {
|
|
1065
1075
|
responseMode = this.input.currentModeObs.get();
|
|
1066
1076
|
}
|
|
@@ -1259,6 +1269,24 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
1259
1269
|
);
|
|
1260
1270
|
}
|
|
1261
1271
|
}
|
|
1272
|
+
setReadOnly(readOnly) {
|
|
1273
|
+
this._readOnlyContextKey.set(readOnly);
|
|
1274
|
+
this.setInputVisible(!readOnly);
|
|
1275
|
+
}
|
|
1276
|
+
setInputVisible(visible) {
|
|
1277
|
+
const changed = this._inputVisible !== visible;
|
|
1278
|
+
this._inputVisible = visible;
|
|
1279
|
+
this._applyInputVisibility();
|
|
1280
|
+
if (changed && this.bodyDimension) {
|
|
1281
|
+
this._layoutListForInputHeight();
|
|
1282
|
+
}
|
|
1283
|
+
}
|
|
1284
|
+
_applyInputVisibility() {
|
|
1285
|
+
const inputElement = this.inputPartDisposable.value?.element;
|
|
1286
|
+
if (inputElement) {
|
|
1287
|
+
inputElement.style.display = this._inputVisible ? "" : "none";
|
|
1288
|
+
}
|
|
1289
|
+
}
|
|
1262
1290
|
setVisible(visible) {
|
|
1263
1291
|
const wasVisible = this._visible;
|
|
1264
1292
|
this._visible = visible;
|
|
@@ -1388,14 +1416,14 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
1388
1416
|
this.input.setPermissionLevel(
|
|
1389
1417
|
this.inputPart.currentModeInfo.permissionLevel ?? ChatPermissionLevel.Default
|
|
1390
1418
|
);
|
|
1391
|
-
if (currentElement.modelId) {
|
|
1392
|
-
this.input.switchModelByIdentifier(currentElement.modelId);
|
|
1393
|
-
}
|
|
1394
1419
|
this.input.setEditing(true, isEditingSentRequest);
|
|
1395
1420
|
this._onDidChangeActiveInputEditor.fire();
|
|
1396
1421
|
} else {
|
|
1397
1422
|
this.inputPart.element.classList.add("editing");
|
|
1398
1423
|
}
|
|
1424
|
+
if (currentElement.modelId) {
|
|
1425
|
+
this.input.switchModelByIdentifier(currentElement.modelId);
|
|
1426
|
+
}
|
|
1399
1427
|
this.inputPart.toggleChatInputOverlay(!isInput);
|
|
1400
1428
|
if (currentContext.length > 0) {
|
|
1401
1429
|
this.input.attachmentModel.addContext(...currentContext);
|
|
@@ -1548,6 +1576,7 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
1548
1576
|
}));
|
|
1549
1577
|
}
|
|
1550
1578
|
this.input.render(container, "", this);
|
|
1579
|
+
this._applyInputVisibility();
|
|
1551
1580
|
if (this.bodyDimension?.width) {
|
|
1552
1581
|
this.input.layout(this.bodyDimension.width);
|
|
1553
1582
|
}
|
|
@@ -1730,7 +1759,7 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
1730
1759
|
let placeholder = this.chatSessionsService.getChatSessionContribution(this._lockedAgent.id)?.inputPlaceholder;
|
|
1731
1760
|
if (!placeholder) {
|
|
1732
1761
|
placeholder = ( localize(
|
|
1733
|
-
|
|
1762
|
+
8232,
|
|
1734
1763
|
"Chat with {0}",
|
|
1735
1764
|
this._lockedAgent.displayName || this._lockedAgent.name
|
|
1736
1765
|
));
|
|
@@ -1793,7 +1822,7 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
1793
1822
|
this._hasPendingRequestsContextKey.set(pendingCount > 0);
|
|
1794
1823
|
const steeringCount = pendingRequests.filter(pending => pending.kind === ChatRequestQueueKind.Steering).length;
|
|
1795
1824
|
if (announceSteering && steeringCount > 0 && lastSteeringCount === 0) {
|
|
1796
|
-
status(( localize(
|
|
1825
|
+
status(( localize(8233, "Steering")));
|
|
1797
1826
|
}
|
|
1798
1827
|
lastSteeringCount = steeringCount;
|
|
1799
1828
|
};
|
|
@@ -1867,18 +1896,21 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
1867
1896
|
getContrib(id) {
|
|
1868
1897
|
return this.contribs.find(c => c.id === id);
|
|
1869
1898
|
}
|
|
1870
|
-
lockToCodingAgent(name, displayName, agentId) {
|
|
1871
|
-
if (this._lockedAgent?.id === agentId && this._lockedAgent.name === name && this._lockedAgent.displayName === displayName) {
|
|
1899
|
+
lockToCodingAgent(name, displayName, agentId, agentHostProviderId) {
|
|
1900
|
+
if (this._lockedAgent?.id === agentId && this._lockedAgent.name === name && this._lockedAgent.displayName === displayName && this._lockedAgent.agentHostProviderId === agentHostProviderId) {
|
|
1872
1901
|
return;
|
|
1873
1902
|
}
|
|
1874
1903
|
this._lockedAgent = {
|
|
1875
1904
|
id: agentId,
|
|
1876
1905
|
name,
|
|
1877
1906
|
prefix: `@${name} `,
|
|
1878
|
-
displayName
|
|
1907
|
+
displayName,
|
|
1908
|
+
agentHostProviderId
|
|
1879
1909
|
};
|
|
1880
1910
|
this._lockedToCodingAgentContextKey.set(true);
|
|
1881
1911
|
this._lockedCodingAgentIdContextKey.set(agentId);
|
|
1912
|
+
this._chatIsAgentHostSessionContextKey.set(!!agentHostProviderId);
|
|
1913
|
+
this._chatAgentHostProviderIdContextKey.set(agentHostProviderId ?? "");
|
|
1882
1914
|
this.renderWelcomeViewContentIfNeeded();
|
|
1883
1915
|
const agent = this.chatAgentService.getAgent(agentId);
|
|
1884
1916
|
this._updateAgentCapabilitiesContextKeys(agent);
|
|
@@ -1900,6 +1932,8 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
1900
1932
|
this._lockedAgent = undefined;
|
|
1901
1933
|
this._lockedToCodingAgentContextKey.set(false);
|
|
1902
1934
|
this._lockedCodingAgentIdContextKey.set("");
|
|
1935
|
+
this._chatIsAgentHostSessionContextKey.set(false);
|
|
1936
|
+
this._chatAgentHostProviderIdContextKey.set("");
|
|
1903
1937
|
this._chatSessionSupportsForkContextKey.set(false);
|
|
1904
1938
|
this._updateAgentCapabilitiesContextKeys(undefined);
|
|
1905
1939
|
this.renderWelcomeViewContentIfNeeded();
|
|
@@ -1948,6 +1982,7 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
1948
1982
|
attempt: lastRequest.attempt + 1,
|
|
1949
1983
|
location: this.location,
|
|
1950
1984
|
userSelectedModelId: this.input.currentLanguageModel,
|
|
1985
|
+
userSelectedModelConfiguration: this.input.currentLanguageModel ? this.input.getModelConfiguration(this.input.currentLanguageModel) : undefined,
|
|
1951
1986
|
modeInfo: this.input.currentModeInfo
|
|
1952
1987
|
};
|
|
1953
1988
|
const result = await this.chatService.resendRequest(lastRequest, options);
|
|
@@ -1981,9 +2016,11 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
1981
2016
|
if (!inputPart) {
|
|
1982
2017
|
return;
|
|
1983
2018
|
}
|
|
2019
|
+
const sessionResource = this.viewModel?.model.sessionResource;
|
|
2020
|
+
const isLocalHarness = !!sessionResource && getChatSessionType(sessionResource) === localChatSessionType;
|
|
1984
2021
|
const permissionLevel = inputPart.currentModeInfo?.permissionLevel;
|
|
1985
2022
|
const goalModeOn = this.configurationService.getValue(ChatConfiguration.AutopilotAdvancedEnabled) === true;
|
|
1986
|
-
if (permissionLevel !== ChatPermissionLevel.Autopilot || !goalModeOn) {
|
|
2023
|
+
if (!isLocalHarness || permissionLevel !== ChatPermissionLevel.Autopilot || !goalModeOn) {
|
|
1987
2024
|
this._cancelGoalSummary();
|
|
1988
2025
|
inputPart.clearGoalBanner();
|
|
1989
2026
|
return;
|
|
@@ -2097,15 +2134,19 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
2097
2134
|
};
|
|
2098
2135
|
const isUserQuery = !query;
|
|
2099
2136
|
const isEditing = this.viewModel?.editing;
|
|
2137
|
+
let cancelledCurrentRequest = false;
|
|
2100
2138
|
if (isEditing) {
|
|
2101
2139
|
this.inputPart?.clearToolConfirmationCarousel();
|
|
2102
2140
|
const editingPendingRequest = this.viewModel.editing.pendingKind;
|
|
2103
2141
|
if (editingPendingRequest !== undefined) {
|
|
2104
2142
|
const editingRequestId = this.viewModel.editing.id;
|
|
2105
2143
|
this.chatService.removePendingRequest(this.viewModel.sessionResource, editingRequestId);
|
|
2106
|
-
options.
|
|
2144
|
+
if (!options.cancelCurrentRequest) {
|
|
2145
|
+
options.queue ??= editingPendingRequest;
|
|
2146
|
+
}
|
|
2107
2147
|
} else {
|
|
2108
2148
|
await this.chatService.cancelCurrentRequestForSession(this.viewModel.sessionResource, "acceptInput-editing");
|
|
2149
|
+
cancelledCurrentRequest = true;
|
|
2109
2150
|
options.queue = undefined;
|
|
2110
2151
|
}
|
|
2111
2152
|
const preserveCheckpoint = this._lockedAgent && !!this._attachmentCapabilities.supportsCheckpoints;
|
|
@@ -2118,12 +2159,17 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
2118
2159
|
}
|
|
2119
2160
|
}
|
|
2120
2161
|
const model = this.viewModel.model;
|
|
2162
|
+
if (options.cancelCurrentRequest && model.requestInProgress.get() && !cancelledCurrentRequest) {
|
|
2163
|
+
await this.chatService.cancelCurrentRequestForSession(this.viewModel.sessionResource, "acceptInput-stopAndSend");
|
|
2164
|
+
cancelledCurrentRequest = true;
|
|
2165
|
+
options.queue = undefined;
|
|
2166
|
+
}
|
|
2121
2167
|
const requestInProgress = model.requestInProgress.get();
|
|
2122
|
-
if (model.requestNeedsInput.get() && !model.getPendingRequests().length) {
|
|
2168
|
+
if (!options.cancelCurrentRequest && model.requestNeedsInput.get() && !model.getPendingRequests().length) {
|
|
2123
2169
|
await this.chatService.cancelCurrentRequestForSession(this.viewModel.sessionResource, "acceptInput-needsInput");
|
|
2124
2170
|
options.queue ??= ChatRequestQueueKind.Queued;
|
|
2125
2171
|
}
|
|
2126
|
-
if (requestInProgress) {
|
|
2172
|
+
if (requestInProgress && !options.cancelCurrentRequest) {
|
|
2127
2173
|
options.queue ??= ChatRequestQueueKind.Queued;
|
|
2128
2174
|
}
|
|
2129
2175
|
if (!requestInProgress && !isEditing && !(await this.confirmPendingRequestsBeforeSend(model, options))) {
|
|
@@ -2165,32 +2211,33 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
2165
2211
|
}
|
|
2166
2212
|
this.viewModel.model.setCheckpoint(undefined);
|
|
2167
2213
|
}
|
|
2168
|
-
const enabledTools = this.input.currentModeKind === ChatModeKind.Agent ? this.input.selectedToolsModel.userSelectedTools.get() : undefined;
|
|
2169
|
-
const enabledSubAgents = this.input.currentModeKind === ChatModeKind.Agent ? this.input.currentModeObs.get().agents?.get() : undefined;
|
|
2170
2214
|
const resolvedImageVariables = await this._resolveDirectoryImageAttachments(requestInputs.attachedContext.asArray());
|
|
2171
2215
|
const submittedSessionResource = this.viewModel.sessionResource;
|
|
2172
2216
|
const contribution = this._lockedAgent ? this.chatSessionsService.getChatSessionContribution(this._lockedAgent.id) : undefined;
|
|
2173
2217
|
const autoAttachEnabled = contribution ? contribution.autoAttachReferences === true : true;
|
|
2218
|
+
const modeKind = this.input.currentModeKind;
|
|
2219
|
+
const modeInfo = this.input.currentModeInfo;
|
|
2174
2220
|
const result = await this.chatService.sendRequest(this.viewModel.sessionResource, requestInputs.input, {
|
|
2175
2221
|
userSelectedModelId: this.input.currentLanguageModel,
|
|
2222
|
+
userSelectedModelConfiguration: this.input.currentLanguageModel ? this.input.getModelConfiguration(this.input.currentLanguageModel) : undefined,
|
|
2176
2223
|
location: this.location,
|
|
2177
2224
|
locationData: this._location.resolveData?.(),
|
|
2178
2225
|
parserContext: {
|
|
2179
2226
|
selectedAgent: this._lastSelectedAgent,
|
|
2180
|
-
mode:
|
|
2227
|
+
mode: modeKind,
|
|
2181
2228
|
attachmentCapabilities: this._lastSelectedAgent?.capabilities ?? this.attachmentCapabilities
|
|
2182
2229
|
},
|
|
2183
2230
|
attachedContext: requestInputs.attachedContext.asArray(),
|
|
2184
2231
|
resolvedVariables: resolvedImageVariables,
|
|
2185
2232
|
noCommandDetection: options?.noCommandDetection,
|
|
2186
2233
|
...this.getModeRequestOptions(),
|
|
2187
|
-
modeInfo
|
|
2234
|
+
modeInfo,
|
|
2188
2235
|
agentIdSilent: this._lockedAgent?.id,
|
|
2189
2236
|
queue: options?.queue,
|
|
2190
2237
|
instructionContext: autoAttachEnabled ? {
|
|
2191
|
-
modeKind
|
|
2192
|
-
enabledTools,
|
|
2193
|
-
enabledSubAgents
|
|
2238
|
+
modeKind,
|
|
2239
|
+
enabledTools: modeKind === ChatModeKind.Agent ? this.input.selectedToolsModel.userSelectedTools.get() : undefined,
|
|
2240
|
+
enabledSubAgents: modeKind === ChatModeKind.Agent ? this.input.currentModeObs.get().agents?.get() : undefined
|
|
2194
2241
|
} : undefined
|
|
2195
2242
|
});
|
|
2196
2243
|
if (ChatSendResult.isRejected(result)) {
|
|
@@ -2198,7 +2245,7 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
2198
2245
|
}
|
|
2199
2246
|
this.logThinkingStyleUsage("submit");
|
|
2200
2247
|
this.updateChatViewVisibility();
|
|
2201
|
-
this.input.acceptInput(options?.storeToHistory ?? isUserQuery);
|
|
2248
|
+
this.input.acceptInput(options?.storeToHistory ?? isUserQuery, options?.preserveFocus);
|
|
2202
2249
|
this._maybeStartGoalSummary(requestInputs.input);
|
|
2203
2250
|
const sent = ChatSendResult.isQueued(result) ? await result.deferred : result;
|
|
2204
2251
|
if (!ChatSendResult.isSent(sent)) {
|
|
@@ -2265,16 +2312,16 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
2265
2312
|
}
|
|
2266
2313
|
const promptResult = await this.dialogService.prompt({
|
|
2267
2314
|
type: "question",
|
|
2268
|
-
message: ( localize(
|
|
2315
|
+
message: ( localize(8234, "You already have pending requests.")),
|
|
2269
2316
|
detail: ( localize(
|
|
2270
|
-
|
|
2317
|
+
8235,
|
|
2271
2318
|
"Do you want to keep them in the queue or remove them before sending this message?"
|
|
2272
2319
|
)),
|
|
2273
2320
|
buttons: [{
|
|
2274
|
-
label: ( localize(
|
|
2321
|
+
label: ( localize(8236, "Keep Pending Requests")),
|
|
2275
2322
|
run: () => "keep"
|
|
2276
2323
|
}, {
|
|
2277
|
-
label: ( localize(
|
|
2324
|
+
label: ( localize(8237, "Remove Pending Requests")),
|
|
2278
2325
|
run: () => "remove"
|
|
2279
2326
|
}],
|
|
2280
2327
|
cancelButton: true
|
|
@@ -2357,7 +2404,7 @@ let ChatWidget = class ChatWidget extends Disposable {
|
|
|
2357
2404
|
width
|
|
2358
2405
|
} = this.bodyDimension;
|
|
2359
2406
|
const chatSuggestNextWidgetHeight = this.chatSuggestNextWidget.height;
|
|
2360
|
-
const inputHeight = this.inputPart.height.get();
|
|
2407
|
+
const inputHeight = this._inputVisible ? this.inputPart.height.get() : 0;
|
|
2361
2408
|
const lastElementVisible = this.listWidget.isScrolledToBottom;
|
|
2362
2409
|
const lastItem = this.listWidget.lastItem;
|
|
2363
2410
|
const contentHeight = Math.max(0, height - inputHeight - chatSuggestNextWidgetHeight);
|
|
@@ -45,7 +45,7 @@ let ChatFollowups = class ChatFollowups extends Disposable {
|
|
|
45
45
|
} else if (followup.kind === "command") {
|
|
46
46
|
button.element.classList.add("interactive-followup-command");
|
|
47
47
|
}
|
|
48
|
-
button.element.ariaLabel = ( localize(
|
|
48
|
+
button.element.ariaLabel = ( localize(8238, "Follow up question: {0}", baseTitle));
|
|
49
49
|
button.label = ( new MarkdownString(baseTitle));
|
|
50
50
|
this._register(button.onDidClick(() => this.clickHandler(followup)));
|
|
51
51
|
}
|
|
@@ -20,11 +20,11 @@ class ChatGoalBannerWidget extends Disposable {
|
|
|
20
20
|
const iconEl = append(this._bannerEl, $(".chat-goal-banner-icon"));
|
|
21
21
|
iconEl.appendChild($(ThemeIcon.asCSSSelector(Codicon.target)));
|
|
22
22
|
const labelEl = append(this._bannerEl, $(".chat-goal-banner-label"));
|
|
23
|
-
labelEl.textContent = ( localize(
|
|
23
|
+
labelEl.textContent = ( localize(8239, "Goal"));
|
|
24
24
|
this._textEl = append(this._bannerEl, $(".chat-goal-banner-text"));
|
|
25
25
|
const dismissBtn = append(this._bannerEl, $("button.chat-goal-banner-dismiss"));
|
|
26
|
-
dismissBtn.title = ( localize(
|
|
27
|
-
dismissBtn.setAttribute("aria-label", ( localize(
|
|
26
|
+
dismissBtn.title = ( localize(8240, "Dismiss"));
|
|
27
|
+
dismissBtn.setAttribute("aria-label", ( localize(8240, "Dismiss")));
|
|
28
28
|
dismissBtn.appendChild($(ThemeIcon.asCSSSelector(Codicon.close)));
|
|
29
29
|
this._register(addDisposableListener(dismissBtn, EventType.CLICK, () => {
|
|
30
30
|
this.clear();
|
|
@@ -33,7 +33,7 @@ class ChatGoalBannerWidget extends Disposable {
|
|
|
33
33
|
this.clear();
|
|
34
34
|
}
|
|
35
35
|
setLoading() {
|
|
36
|
-
this._textEl.textContent = ( localize(
|
|
36
|
+
this._textEl.textContent = ( localize(8241, "Determining goal…"));
|
|
37
37
|
this._textEl.classList.add("loading");
|
|
38
38
|
this._show();
|
|
39
39
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts
CHANGED
|
@@ -11,8 +11,16 @@ export interface IChatInputNotificationAction {
|
|
|
11
11
|
readonly commandId: string;
|
|
12
12
|
readonly commandArgs?: unknown[];
|
|
13
13
|
}
|
|
14
|
+
export interface IChatInputNotificationMuteAction {
|
|
15
|
+
/** Command executed when the user clicks the mute (bell-slash) button. */
|
|
16
|
+
readonly commandId: string;
|
|
17
|
+
readonly commandArgs?: unknown[];
|
|
18
|
+
/** Tooltip and accessible label for the mute button. */
|
|
19
|
+
readonly tooltip: string;
|
|
20
|
+
}
|
|
14
21
|
export interface IChatInputNotification {
|
|
15
22
|
readonly id: string;
|
|
23
|
+
readonly telemetryId?: string;
|
|
16
24
|
readonly severity: ChatInputNotificationSeverity;
|
|
17
25
|
readonly message: string | IMarkdownString;
|
|
18
26
|
readonly description: string | undefined;
|
|
@@ -26,6 +34,12 @@ export interface IChatInputNotification {
|
|
|
26
34
|
* list will render it.
|
|
27
35
|
*/
|
|
28
36
|
readonly sessionTypes?: readonly string[];
|
|
37
|
+
/**
|
|
38
|
+
* Optional "mute" affordance rendered as a bell-slash icon button next to
|
|
39
|
+
* the dismiss (X) button. Use for a "stop showing this entirely" action
|
|
40
|
+
* that is distinct from a one-off dismissal. Omit to hide the button.
|
|
41
|
+
*/
|
|
42
|
+
readonly mute?: IChatInputNotificationMuteAction;
|
|
29
43
|
}
|
|
30
44
|
export declare class ChatInputNotificationService extends Disposable implements IChatInputNotificationService {
|
|
31
45
|
readonly _serviceBrand: undefined;
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
2
|
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
3
|
+
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
3
4
|
import { IMarkdownRendererService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service";
|
|
4
5
|
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
5
6
|
import { IChatInputNotificationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.service";
|
|
@@ -13,8 +14,10 @@ export declare class ChatInputNotificationWidget extends Disposable {
|
|
|
13
14
|
private readonly _commandService;
|
|
14
15
|
private readonly _telemetryService;
|
|
15
16
|
private readonly _markdownRendererService;
|
|
17
|
+
private readonly _hoverService;
|
|
16
18
|
readonly domNode: HTMLElement;
|
|
17
19
|
private readonly _contentDisposables;
|
|
20
|
+
private _lastShownTelemetryData;
|
|
18
21
|
/**
|
|
19
22
|
* Optional provider that returns the current session type of the owning
|
|
20
23
|
* chat input part. When set and a notification specifies a `sessionTypes`
|
|
@@ -22,10 +25,12 @@ export declare class ChatInputNotificationWidget extends Disposable {
|
|
|
22
25
|
* session type matches.
|
|
23
26
|
*/
|
|
24
27
|
private readonly _sessionTypeProvider;
|
|
25
|
-
constructor(sessionTypeProvider: (() => string | undefined) | undefined, _notificationService: IChatInputNotificationService, _commandService: ICommandService, _telemetryService: ITelemetryService, _markdownRendererService: IMarkdownRendererService);
|
|
28
|
+
constructor(sessionTypeProvider: (() => string | undefined) | undefined, _notificationService: IChatInputNotificationService, _commandService: ICommandService, _telemetryService: ITelemetryService, _markdownRendererService: IMarkdownRendererService, _hoverService: IHoverService);
|
|
26
29
|
/** Re-evaluates which notification (if any) to display. Safe to call externally when the owner's session type changes. */
|
|
27
30
|
rerender(): void;
|
|
28
31
|
private _render;
|
|
29
32
|
private _matchesSession;
|
|
30
33
|
private _renderNotification;
|
|
34
|
+
private _logShownTelemetry;
|
|
35
|
+
private _getTelemetryData;
|
|
31
36
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js
CHANGED
|
@@ -3,12 +3,14 @@ import { registerCss } from '@codingame/monaco-vscode-api/css';
|
|
|
3
3
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
4
4
|
import { $ as $$1, clearNode, append, addDisposableListener, EventType } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
5
|
import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
|
|
6
|
+
import { getDefaultHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
|
|
6
7
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
7
8
|
import { isMarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
8
9
|
import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
9
10
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
10
11
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
11
12
|
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
13
|
+
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
12
14
|
import { IMarkdownRendererService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service';
|
|
13
15
|
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
14
16
|
import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
|
|
@@ -34,13 +36,15 @@ let ChatInputNotificationWidget = class ChatInputNotificationWidget extends Disp
|
|
|
34
36
|
_notificationService,
|
|
35
37
|
_commandService,
|
|
36
38
|
_telemetryService,
|
|
37
|
-
_markdownRendererService
|
|
39
|
+
_markdownRendererService,
|
|
40
|
+
_hoverService
|
|
38
41
|
) {
|
|
39
42
|
super();
|
|
40
43
|
this._notificationService = _notificationService;
|
|
41
44
|
this._commandService = _commandService;
|
|
42
45
|
this._telemetryService = _telemetryService;
|
|
43
46
|
this._markdownRendererService = _markdownRendererService;
|
|
47
|
+
this._hoverService = _hoverService;
|
|
44
48
|
this._contentDisposables = this._register(( new DisposableStore()));
|
|
45
49
|
this._sessionTypeProvider = sessionTypeProvider;
|
|
46
50
|
this.domNode = $(".chat-input-notification-widget");
|
|
@@ -56,10 +60,12 @@ let ChatInputNotificationWidget = class ChatInputNotificationWidget extends Disp
|
|
|
56
60
|
const notification = this._notificationService.getActiveNotification(n => this._matchesSession(n));
|
|
57
61
|
if (!notification) {
|
|
58
62
|
this.domNode.parentElement?.classList.remove("has-notification");
|
|
63
|
+
this._lastShownTelemetryData = undefined;
|
|
59
64
|
return;
|
|
60
65
|
}
|
|
61
66
|
this.domNode.parentElement?.classList.add("has-notification");
|
|
62
67
|
this._renderNotification(notification);
|
|
68
|
+
this._logShownTelemetry(notification);
|
|
63
69
|
}
|
|
64
70
|
_matchesSession(notification) {
|
|
65
71
|
if (!notification.sessionTypes || notification.sessionTypes.length === 0) {
|
|
@@ -83,13 +89,41 @@ let ChatInputNotificationWidget = class ChatInputNotificationWidget extends Disp
|
|
|
83
89
|
titleElement.textContent = notification.message;
|
|
84
90
|
}
|
|
85
91
|
const ariaTitle = isMarkdownString(notification.message) ? notification.message.value : notification.message;
|
|
92
|
+
if (notification.mute) {
|
|
93
|
+
const mute = notification.mute;
|
|
94
|
+
const muteButton = append(headerRow, $(".chat-input-notification-mute"));
|
|
95
|
+
muteButton.appendChild($$1(ThemeIcon.asCSSSelector(Codicon.bellSlash)));
|
|
96
|
+
muteButton.tabIndex = 0;
|
|
97
|
+
muteButton.role = "button";
|
|
98
|
+
muteButton.ariaLabel = mute.tooltip;
|
|
99
|
+
this._contentDisposables.add(
|
|
100
|
+
this._hoverService.setupManagedHover(getDefaultHoverDelegate("element"), muteButton, mute.tooltip)
|
|
101
|
+
);
|
|
102
|
+
const doMute = () => queueMicrotask(() => {
|
|
103
|
+
this._telemetryService.publicLog2("workbenchActionExecuted", {
|
|
104
|
+
id: mute.commandId,
|
|
105
|
+
from: "chatInputNotification"
|
|
106
|
+
});
|
|
107
|
+
this._commandService.executeCommand(mute.commandId, ...(mute.commandArgs ?? []));
|
|
108
|
+
});
|
|
109
|
+
this._contentDisposables.add(addDisposableListener(muteButton, EventType.CLICK, doMute));
|
|
110
|
+
this._contentDisposables.add(addDisposableListener(muteButton, EventType.KEY_DOWN, e => {
|
|
111
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
112
|
+
e.preventDefault();
|
|
113
|
+
doMute();
|
|
114
|
+
}
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
86
117
|
if (notification.dismissible) {
|
|
87
118
|
const dismissButton = append(headerRow, $(".chat-input-notification-dismiss"));
|
|
88
119
|
dismissButton.appendChild($$1(ThemeIcon.asCSSSelector(Codicon.close)));
|
|
89
120
|
dismissButton.tabIndex = 0;
|
|
90
121
|
dismissButton.role = "button";
|
|
91
|
-
dismissButton.ariaLabel = ( localize(
|
|
92
|
-
const dismiss = () => queueMicrotask(() =>
|
|
122
|
+
dismissButton.ariaLabel = ( localize(8242, "Dismiss notification"));
|
|
123
|
+
const dismiss = () => queueMicrotask(() => {
|
|
124
|
+
this._telemetryService.publicLog2("chatInputNotificationDismissed", this._getTelemetryData(notification));
|
|
125
|
+
this._notificationService.dismissNotification(notification.id);
|
|
126
|
+
});
|
|
93
127
|
this._contentDisposables.add(addDisposableListener(dismissButton, EventType.CLICK, dismiss));
|
|
94
128
|
this._contentDisposables.add(addDisposableListener(dismissButton, EventType.KEY_DOWN, e => {
|
|
95
129
|
if (e.key === "Enter" || e.key === " ") {
|
|
@@ -138,7 +172,21 @@ let ChatInputNotificationWidget = class ChatInputNotificationWidget extends Disp
|
|
|
138
172
|
}
|
|
139
173
|
}
|
|
140
174
|
}
|
|
175
|
+
_logShownTelemetry(notification) {
|
|
176
|
+
const data = this._getTelemetryData(notification);
|
|
177
|
+
if (this._lastShownTelemetryData?.id === data.id && this._lastShownTelemetryData.telemetryId === data.telemetryId) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
this._lastShownTelemetryData = data;
|
|
181
|
+
this._telemetryService.publicLog2("chatInputNotificationShown", data);
|
|
182
|
+
}
|
|
183
|
+
_getTelemetryData(notification) {
|
|
184
|
+
return {
|
|
185
|
+
id: notification.id,
|
|
186
|
+
telemetryId: notification.telemetryId
|
|
187
|
+
};
|
|
188
|
+
}
|
|
141
189
|
};
|
|
142
|
-
ChatInputNotificationWidget = ( __decorate([( __param(1, IChatInputNotificationService)), ( __param(2, ICommandService)), ( __param(3, ITelemetryService)), ( __param(4, IMarkdownRendererService))], ChatInputNotificationWidget));
|
|
190
|
+
ChatInputNotificationWidget = ( __decorate([( __param(1, IChatInputNotificationService)), ( __param(2, ICommandService)), ( __param(3, ITelemetryService)), ( __param(4, IMarkdownRendererService)), ( __param(5, IHoverService))], ChatInputNotificationWidget));
|
|
143
191
|
|
|
144
192
|
export { ChatInputNotificationWidget };
|