@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
|
@@ -96,7 +96,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
96
96
|
});
|
|
97
97
|
this.domNode.tabIndex = 0;
|
|
98
98
|
this.domNode.setAttribute("role", "region");
|
|
99
|
-
this.domNode.setAttribute("aria-roledescription", ( localize(
|
|
99
|
+
this.domNode.setAttribute("aria-roledescription", ( localize(7897, "chat question")));
|
|
100
100
|
this._updateAriaLabel();
|
|
101
101
|
if (carousel instanceof ChatQuestionCarouselData) {
|
|
102
102
|
if (typeof carousel.draftCurrentIndex === "number") {
|
|
@@ -128,7 +128,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
128
128
|
this._questionContainer = $(".chat-question-carousel-content");
|
|
129
129
|
this.domNode.append(this._questionContainer);
|
|
130
130
|
this._headerActionsContainer = $(".chat-question-header-actions");
|
|
131
|
-
const collapseToggleTitle = ( localize(
|
|
131
|
+
const collapseToggleTitle = ( localize(7898, "Collapse Questions"));
|
|
132
132
|
const collapseButton = interactiveStore.add(( new Button(this._headerActionsContainer, {
|
|
133
133
|
...defaultButtonStyles,
|
|
134
134
|
secondary: true,
|
|
@@ -139,7 +139,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
139
139
|
this._collapseButton = collapseButton;
|
|
140
140
|
if (carousel.allowSkip) {
|
|
141
141
|
this._closeButtonContainer = $(".chat-question-close-container");
|
|
142
|
-
const skipAllTitle = ( localize(
|
|
142
|
+
const skipAllTitle = ( localize(7899, "Skip all questions"));
|
|
143
143
|
const skipAllButton = interactiveStore.add(( new Button(this._closeButtonContainer, {
|
|
144
144
|
...defaultButtonStyles,
|
|
145
145
|
secondary: true,
|
|
@@ -155,9 +155,9 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
155
155
|
}
|
|
156
156
|
if (carousel.terminalId) {
|
|
157
157
|
this._focusTerminalButtonContainer = $(".chat-question-focus-terminal-container");
|
|
158
|
-
const focusTerminalTitle = ( localize(
|
|
158
|
+
const focusTerminalTitle = ( localize(7900, "Focus Terminal"));
|
|
159
159
|
const kbLabel = this._keybindingService.lookupKeybinding("workbench.action.chat.focusQuestionCarouselTerminal")?.getLabel();
|
|
160
|
-
const focusTerminalAriaLabel = kbLabel ? ( localize(
|
|
160
|
+
const focusTerminalAriaLabel = kbLabel ? ( localize(7901, "Focus Terminal ({0})", kbLabel)) : focusTerminalTitle;
|
|
161
161
|
const focusTerminalButton = interactiveStore.add(( new Button(this._focusTerminalButtonContainer, {
|
|
162
162
|
...defaultButtonStyles,
|
|
163
163
|
secondary: true,
|
|
@@ -257,7 +257,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
257
257
|
this.domNode.classList.toggle("chat-question-carousel-collapsed", this._isCollapsed);
|
|
258
258
|
if (this._collapseButton) {
|
|
259
259
|
const collapsed = this._isCollapsed;
|
|
260
|
-
const buttonTitle = collapsed ? ( localize(
|
|
260
|
+
const buttonTitle = collapsed ? ( localize(7902, "Expand Questions")) : ( localize(7898, "Collapse Questions"));
|
|
261
261
|
const contentId = this.domNode.id;
|
|
262
262
|
this._collapseButton.label = collapsed ? `$(${Codicon.chevronUp.id})` : `$(${Codicon.chevronDown.id})`;
|
|
263
263
|
this._collapseButton.element.setAttribute("aria-label", buttonTitle);
|
|
@@ -312,7 +312,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
312
312
|
const messageContent = this.getQuestionText(questionText);
|
|
313
313
|
const questionCount = this.carousel.questions.length;
|
|
314
314
|
const alertMessage = questionCount === 1 ? messageContent : ( localize(
|
|
315
|
-
|
|
315
|
+
7903,
|
|
316
316
|
"Question {0} of {1}: {2}",
|
|
317
317
|
this._currentIndex + 1,
|
|
318
318
|
questionCount,
|
|
@@ -460,7 +460,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
460
460
|
_updateAriaLabel() {
|
|
461
461
|
const question = this.carousel.questions[this._currentIndex];
|
|
462
462
|
if (!question) {
|
|
463
|
-
this.domNode.setAttribute("aria-label", ( localize(
|
|
463
|
+
this.domNode.setAttribute("aria-label", ( localize(7904, "Chat question")));
|
|
464
464
|
return;
|
|
465
465
|
}
|
|
466
466
|
const questionText = question.message ?? question.title;
|
|
@@ -468,10 +468,10 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
468
468
|
const questionCount = this.carousel.questions.length;
|
|
469
469
|
let label;
|
|
470
470
|
if (questionCount === 1) {
|
|
471
|
-
label = ( localize(
|
|
471
|
+
label = ( localize(7905, "Chat question: {0}", messageContent));
|
|
472
472
|
} else {
|
|
473
473
|
label = ( localize(
|
|
474
|
-
|
|
474
|
+
7906,
|
|
475
475
|
"Chat question {0} of {1}: {2}",
|
|
476
476
|
this._currentIndex + 1,
|
|
477
477
|
questionCount,
|
|
@@ -482,10 +482,10 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
482
482
|
if (verbose && this.carousel.terminalId) {
|
|
483
483
|
const kbLabel = this._keybindingService.lookupKeybinding("workbench.action.chat.focusQuestionCarouselTerminal")?.getLabel();
|
|
484
484
|
if (kbLabel) {
|
|
485
|
-
label = ( localize(
|
|
485
|
+
label = ( localize(7907, "{0} Use {1} to focus the terminal.", label, kbLabel));
|
|
486
486
|
} else {
|
|
487
487
|
label = ( localize(
|
|
488
|
-
|
|
488
|
+
7908,
|
|
489
489
|
"{0} Use the Focus Terminal from Question Carousel command to focus the terminal.",
|
|
490
490
|
label
|
|
491
491
|
));
|
|
@@ -659,9 +659,9 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
659
659
|
this._footerRow = $(".chat-question-footer-row");
|
|
660
660
|
const leftControls = $(".chat-question-footer-left.chat-question-carousel-nav");
|
|
661
661
|
leftControls.setAttribute("role", "navigation");
|
|
662
|
-
leftControls.setAttribute("aria-label", ( localize(
|
|
662
|
+
leftControls.setAttribute("aria-label", ( localize(7909, "Question navigation")));
|
|
663
663
|
const arrowsContainer = $(".chat-question-nav-arrows");
|
|
664
|
-
const previousLabel = this.getLabelWithKeybinding(( localize(
|
|
664
|
+
const previousLabel = this.getLabelWithKeybinding(( localize(7910, "Previous")), PREVIOUS_QUESTION_ACTION_ID);
|
|
665
665
|
const prevButton = interactiveStore.add(( new Button(arrowsContainer, {
|
|
666
666
|
...defaultButtonStyles,
|
|
667
667
|
secondary: true,
|
|
@@ -675,7 +675,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
675
675
|
}));
|
|
676
676
|
interactiveStore.add(prevButton.onDidClick(() => this.navigate(-1)));
|
|
677
677
|
this._prevButton = prevButton;
|
|
678
|
-
const nextLabel = this.getLabelWithKeybinding(( localize(
|
|
678
|
+
const nextLabel = this.getLabelWithKeybinding(( localize(7911, "Next")), NEXT_QUESTION_ACTION_ID);
|
|
679
679
|
const nextButton = interactiveStore.add(( new Button(arrowsContainer, {
|
|
680
680
|
...defaultButtonStyles,
|
|
681
681
|
secondary: true,
|
|
@@ -695,14 +695,14 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
695
695
|
this._footerRow.appendChild(leftControls);
|
|
696
696
|
const rightControls = $(".chat-question-footer-right");
|
|
697
697
|
const hint = $("span.chat-question-submit-hint");
|
|
698
|
-
hint.textContent = isMacintosh ? ( localize(
|
|
698
|
+
hint.textContent = isMacintosh ? ( localize(7912, "⌘⏎ to submit")) : ( localize(7913, "Ctrl+Enter to submit"));
|
|
699
699
|
rightControls.appendChild(hint);
|
|
700
700
|
this._submitHint = hint;
|
|
701
701
|
const submitButton = interactiveStore.add(( new Button(rightControls, {
|
|
702
702
|
...defaultButtonStyles
|
|
703
703
|
})));
|
|
704
704
|
submitButton.element.classList.add("chat-question-submit-button");
|
|
705
|
-
submitButton.label = ( localize(
|
|
705
|
+
submitButton.label = ( localize(7914, "Submit"));
|
|
706
706
|
interactiveStore.add(submitButton.onDidClick(() => this.submit()));
|
|
707
707
|
this._submitButton = submitButton;
|
|
708
708
|
this._footerRow.appendChild(rightControls);
|
|
@@ -723,7 +723,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
723
723
|
this._nextButton.enabled = canAdvance && (!question?.required || hasAnswer) && !hasValidationError;
|
|
724
724
|
}
|
|
725
725
|
if (this._stepIndicator) {
|
|
726
|
-
this._stepIndicator.textContent = ( localize(
|
|
726
|
+
this._stepIndicator.textContent = ( localize(7915, "{0}/{1}", this._currentIndex + 1, this.carousel.questions.length));
|
|
727
727
|
}
|
|
728
728
|
if (this._submitButton) {
|
|
729
729
|
const isLastQuestion = this._currentIndex === this.carousel.questions.length - 1;
|
|
@@ -742,18 +742,18 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
742
742
|
this._footerRow = $(".chat-question-footer-row");
|
|
743
743
|
const leftControls = $(".chat-question-footer-left.chat-question-carousel-nav");
|
|
744
744
|
leftControls.setAttribute("role", "navigation");
|
|
745
|
-
leftControls.setAttribute("aria-label", ( localize(
|
|
745
|
+
leftControls.setAttribute("aria-label", ( localize(7909, "Question navigation")));
|
|
746
746
|
this._footerRow.appendChild(leftControls);
|
|
747
747
|
const rightControls = $(".chat-question-footer-right");
|
|
748
748
|
const hint = $("span.chat-question-submit-hint");
|
|
749
|
-
hint.textContent = isMacintosh ? ( localize(
|
|
749
|
+
hint.textContent = isMacintosh ? ( localize(7912, "⌘⏎ to submit")) : ( localize(7913, "Ctrl+Enter to submit"));
|
|
750
750
|
rightControls.appendChild(hint);
|
|
751
751
|
this._submitHint = hint;
|
|
752
752
|
const submitButton = interactiveStore.add(( new Button(rightControls, {
|
|
753
753
|
...defaultButtonStyles
|
|
754
754
|
})));
|
|
755
755
|
submitButton.element.classList.add("chat-question-submit-button");
|
|
756
|
-
submitButton.label = ( localize(
|
|
756
|
+
submitButton.label = ( localize(7914, "Submit"));
|
|
757
757
|
interactiveStore.add(submitButton.onDidClick(() => this.submit()));
|
|
758
758
|
this._submitButton = submitButton;
|
|
759
759
|
this._footerRow.appendChild(rightControls);
|
|
@@ -762,7 +762,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
762
762
|
}
|
|
763
763
|
getLabelWithKeybinding(label, actionId) {
|
|
764
764
|
const keybindingLabel = this._keybindingService.lookupKeybinding(actionId, this._contextKeyService)?.getLabel();
|
|
765
|
-
return keybindingLabel ? ( localize(
|
|
765
|
+
return keybindingLabel ? ( localize(7916, "{0} ({1})", label, keybindingLabel)) : label;
|
|
766
766
|
}
|
|
767
767
|
renderInput(container, question) {
|
|
768
768
|
switch (question.type) {
|
|
@@ -791,7 +791,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
791
791
|
}
|
|
792
792
|
renderTextInput(container, question) {
|
|
793
793
|
const inputBox = this._inputBoxes.add(( new InputBox(container, undefined, {
|
|
794
|
-
placeholder: ( localize(
|
|
794
|
+
placeholder: ( localize(7917, "Enter your answer")),
|
|
795
795
|
inputBoxStyles: defaultInputBoxStyles,
|
|
796
796
|
validationOptions: question.validation ? {
|
|
797
797
|
validation: value => {
|
|
@@ -882,7 +882,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
882
882
|
const listItem = $(".chat-question-list-item");
|
|
883
883
|
listItem.setAttribute("role", "option");
|
|
884
884
|
listItem.setAttribute("aria-selected", String(isSelected));
|
|
885
|
-
listItem.setAttribute("aria-label", ( localize(
|
|
885
|
+
listItem.setAttribute("aria-label", ( localize(7918, "Option {0}: {1}", index + 1, option.label)));
|
|
886
886
|
listItem.id = `option-${question.id}-${index}`;
|
|
887
887
|
listItem.tabIndex = -1;
|
|
888
888
|
const number = $(".chat-question-list-number");
|
|
@@ -948,7 +948,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
948
948
|
freeformNumber.textContent = `${orderedOptions.length + 1}`;
|
|
949
949
|
freeformContainer.appendChild(freeformNumber);
|
|
950
950
|
freeformTextarea = $("textarea.chat-question-freeform-textarea");
|
|
951
|
-
freeformTextarea.placeholder = ( localize(
|
|
951
|
+
freeformTextarea.placeholder = ( localize(7919, "Enter custom answer"));
|
|
952
952
|
freeformTextarea.rows = 1;
|
|
953
953
|
if (previousFreeform !== undefined) {
|
|
954
954
|
freeformTextarea.value = previousFreeform;
|
|
@@ -1060,7 +1060,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1060
1060
|
const listItem = $(".chat-question-list-item.multi-select");
|
|
1061
1061
|
listItem.setAttribute("role", "option");
|
|
1062
1062
|
listItem.setAttribute("aria-selected", String(isChecked));
|
|
1063
|
-
listItem.setAttribute("aria-label", ( localize(
|
|
1063
|
+
listItem.setAttribute("aria-label", ( localize(7918, "Option {0}: {1}", index + 1, option.label)));
|
|
1064
1064
|
listItem.id = `option-${question.id}-${index}`;
|
|
1065
1065
|
listItem.tabIndex = -1;
|
|
1066
1066
|
const number = $(".chat-question-list-number");
|
|
@@ -1125,7 +1125,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1125
1125
|
freeformNumber.textContent = `${orderedOptions.length + 1}`;
|
|
1126
1126
|
freeformContainer.appendChild(freeformNumber);
|
|
1127
1127
|
freeformTextarea = $("textarea.chat-question-freeform-textarea");
|
|
1128
|
-
freeformTextarea.placeholder = ( localize(
|
|
1128
|
+
freeformTextarea.placeholder = ( localize(7919, "Enter custom answer"));
|
|
1129
1129
|
freeformTextarea.rows = 1;
|
|
1130
1130
|
if (previousFreeform !== undefined) {
|
|
1131
1131
|
freeformTextarea.value = previousFreeform;
|
|
@@ -1293,7 +1293,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1293
1293
|
const skippedContainer = $(".chat-question-carousel-summary");
|
|
1294
1294
|
const skippedMessage = $(".chat-question-summary-skipped");
|
|
1295
1295
|
const isDismissedByTerminal = this.carousel instanceof ChatQuestionCarouselData && this.carousel.dismissedByTerminalInput;
|
|
1296
|
-
skippedMessage.textContent = isDismissedByTerminal ? ( localize(
|
|
1296
|
+
skippedMessage.textContent = isDismissedByTerminal ? ( localize(7920, "Deferring to user's input in the terminal")) : ( localize(7921, "Skipped"));
|
|
1297
1297
|
skippedContainer.appendChild(skippedMessage);
|
|
1298
1298
|
this.domNode.appendChild(skippedContainer);
|
|
1299
1299
|
}
|
|
@@ -1312,16 +1312,16 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1312
1312
|
const questionText = question.message ?? question.title;
|
|
1313
1313
|
let labelText = typeof questionText === "string" ? questionText : questionText.value;
|
|
1314
1314
|
labelText = labelText.replace(/[:\s]+$/, "");
|
|
1315
|
-
questionRow.textContent = ( localize(
|
|
1315
|
+
questionRow.textContent = ( localize(7922, "Q: {0}", labelText));
|
|
1316
1316
|
summaryItem.appendChild(questionRow);
|
|
1317
1317
|
if (answer !== undefined) {
|
|
1318
1318
|
const formattedAnswer = this.formatAnswerForSummary(question, answer);
|
|
1319
1319
|
const answerRow = $("div.chat-question-summary-answer-title");
|
|
1320
|
-
answerRow.textContent = ( localize(
|
|
1320
|
+
answerRow.textContent = ( localize(7923, "A: {0}", formattedAnswer));
|
|
1321
1321
|
summaryItem.appendChild(answerRow);
|
|
1322
1322
|
} else {
|
|
1323
1323
|
const unanswered = $("div.chat-question-summary-unanswered");
|
|
1324
|
-
unanswered.textContent = ( localize(
|
|
1324
|
+
unanswered.textContent = ( localize(7924, "Not answered yet"));
|
|
1325
1325
|
summaryItem.appendChild(unanswered);
|
|
1326
1326
|
}
|
|
1327
1327
|
summaryContainer.appendChild(summaryItem);
|
|
@@ -1361,7 +1361,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1361
1361
|
if (freeformValue) {
|
|
1362
1362
|
labels.push(freeformValue);
|
|
1363
1363
|
}
|
|
1364
|
-
return labels.join(( localize(
|
|
1364
|
+
return labels.join(( localize(7925, ", ")));
|
|
1365
1365
|
}
|
|
1366
1366
|
return String(answer);
|
|
1367
1367
|
}
|
|
@@ -1380,7 +1380,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1380
1380
|
}
|
|
1381
1381
|
const answer = this._answers.get(question.id);
|
|
1382
1382
|
if (question.required && (answer === undefined || answer === "")) {
|
|
1383
|
-
this.showValidationError(( localize(
|
|
1383
|
+
this.showValidationError(( localize(7926, "This field is required")));
|
|
1384
1384
|
return false;
|
|
1385
1385
|
}
|
|
1386
1386
|
if (question.type === "text" && question.validation && typeof answer === "string" && answer !== "") {
|
|
@@ -1405,7 +1405,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1405
1405
|
this._currentIndex = i;
|
|
1406
1406
|
this.persistDraftState();
|
|
1407
1407
|
this.renderCurrentQuestion(true);
|
|
1408
|
-
this.showValidationError(( localize(
|
|
1408
|
+
this.showValidationError(( localize(7926, "This field is required")));
|
|
1409
1409
|
return false;
|
|
1410
1410
|
}
|
|
1411
1411
|
}
|
|
@@ -1413,34 +1413,34 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1413
1413
|
}
|
|
1414
1414
|
getValidationError(value, validation) {
|
|
1415
1415
|
if (validation.minLength !== undefined && value.length < validation.minLength) {
|
|
1416
|
-
return localize(
|
|
1416
|
+
return localize(7927, "Minimum length is {0}", validation.minLength);
|
|
1417
1417
|
}
|
|
1418
1418
|
if (validation.maxLength !== undefined && value.length > validation.maxLength) {
|
|
1419
|
-
return localize(
|
|
1419
|
+
return localize(7928, "Maximum length is {0}", validation.maxLength);
|
|
1420
1420
|
}
|
|
1421
1421
|
if (validation.format) {
|
|
1422
1422
|
switch (validation.format) {
|
|
1423
1423
|
case "email":
|
|
1424
1424
|
if (!value.includes("@")) {
|
|
1425
|
-
return localize(
|
|
1425
|
+
return localize(7929, "Please enter a valid email address");
|
|
1426
1426
|
}
|
|
1427
1427
|
break;
|
|
1428
1428
|
case "uri":
|
|
1429
1429
|
if (!URL.canParse(value)) {
|
|
1430
|
-
return localize(
|
|
1430
|
+
return localize(7930, "Please enter a valid URI");
|
|
1431
1431
|
}
|
|
1432
1432
|
break;
|
|
1433
1433
|
case "date":
|
|
1434
1434
|
{
|
|
1435
1435
|
const dateRegex = /^\d{4}-\d{2}-\d{2}$/;
|
|
1436
1436
|
if (!dateRegex.test(value) || isNaN(( new Date(value)).getTime())) {
|
|
1437
|
-
return localize(
|
|
1437
|
+
return localize(7931, "Please enter a valid date (YYYY-MM-DD)");
|
|
1438
1438
|
}
|
|
1439
1439
|
break;
|
|
1440
1440
|
}
|
|
1441
1441
|
case "date-time":
|
|
1442
1442
|
if (isNaN(( new Date(value)).getTime())) {
|
|
1443
|
-
return localize(
|
|
1443
|
+
return localize(7932, "Please enter a valid date-time");
|
|
1444
1444
|
}
|
|
1445
1445
|
break;
|
|
1446
1446
|
}
|
|
@@ -1448,16 +1448,16 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
|
|
|
1448
1448
|
if (validation.isInteger !== undefined || validation.minimum !== undefined || validation.maximum !== undefined) {
|
|
1449
1449
|
const num = Number(value);
|
|
1450
1450
|
if (isNaN(num)) {
|
|
1451
|
-
return localize(
|
|
1451
|
+
return localize(7933, "Please enter a valid number");
|
|
1452
1452
|
}
|
|
1453
1453
|
if (validation.isInteger && !Number.isInteger(num)) {
|
|
1454
|
-
return localize(
|
|
1454
|
+
return localize(7934, "Please enter a valid integer");
|
|
1455
1455
|
}
|
|
1456
1456
|
if (validation.minimum !== undefined && num < validation.minimum) {
|
|
1457
|
-
return localize(
|
|
1457
|
+
return localize(7935, "Minimum value is {0}", validation.minimum);
|
|
1458
1458
|
}
|
|
1459
1459
|
if (validation.maximum !== undefined && num > validation.maximum) {
|
|
1460
|
-
return localize(
|
|
1460
|
+
return localize(7936, "Maximum value is {0}", validation.maximum);
|
|
1461
1461
|
}
|
|
1462
1462
|
}
|
|
1463
1463
|
return undefined;
|
|
@@ -4,12 +4,11 @@ import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform
|
|
|
4
4
|
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
5
5
|
import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
|
|
6
6
|
import { IChatErrorDetailsPart, IChatRendererContent, IChatResponseViewModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
|
|
7
|
-
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
8
7
|
import { IChatContentPart } from "./chatContentParts.js";
|
|
9
8
|
export declare class ChatQuotaExceededPart extends Disposable implements IChatContentPart {
|
|
10
9
|
private readonly content;
|
|
11
10
|
readonly domNode: HTMLElement;
|
|
12
|
-
constructor(element: IChatResponseViewModel, content: IChatErrorDetailsPart, renderer: IMarkdownRenderer,
|
|
11
|
+
constructor(element: IChatResponseViewModel, content: IChatErrorDetailsPart, renderer: IMarkdownRenderer, commandService: ICommandService, telemetryService: ITelemetryService, chatEntitlementService: IChatEntitlementService);
|
|
13
12
|
hasSameContent(other: IChatRendererContent): boolean;
|
|
14
13
|
addDisposable(disposable: IDisposable): void;
|
|
15
14
|
}
|
|
@@ -11,30 +11,15 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
|
11
11
|
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
12
12
|
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
13
13
|
import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
|
|
14
|
-
import { asCssVariable } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
|
|
15
|
-
import { textLinkForeground } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/baseColors';
|
|
16
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/chartsColors';
|
|
17
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/editorColors';
|
|
18
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/inputColors';
|
|
19
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/listColors';
|
|
20
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/menuColors';
|
|
21
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/minimapColors';
|
|
22
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/miscColors';
|
|
23
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
24
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
|
|
25
14
|
import { ChatEntitlement } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
|
|
26
15
|
import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
|
|
27
|
-
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
28
16
|
|
|
29
17
|
const $ = $$1;
|
|
30
|
-
let shouldShowRetryButton = false;
|
|
31
|
-
let shouldShowWaitWarning = false;
|
|
32
18
|
let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
|
|
33
19
|
constructor(
|
|
34
20
|
element,
|
|
35
21
|
content,
|
|
36
22
|
renderer,
|
|
37
|
-
chatWidgetService,
|
|
38
23
|
commandService,
|
|
39
24
|
telemetryService,
|
|
40
25
|
chatEntitlementService
|
|
@@ -49,53 +34,18 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
|
|
|
49
34
|
const messageContainer = append(this.domNode, $(".chat-quota-error-message"));
|
|
50
35
|
const markdownContent = this._register(renderer.render(( new MarkdownString(errorDetails.message))));
|
|
51
36
|
append(messageContainer, markdownContent.element);
|
|
52
|
-
const isAdditionalSpendLimitReached = errorDetails.code === "additional_spend_limit_reached";
|
|
53
37
|
let primaryButtonLabel;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
case ChatEntitlement.Free:
|
|
65
|
-
primaryButtonLabel = ( localize(7392, "Upgrade to GitHub Copilot Pro"));
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
38
|
+
switch (chatEntitlementService.entitlement) {
|
|
39
|
+
case ChatEntitlement.EDU:
|
|
40
|
+
case ChatEntitlement.Pro:
|
|
41
|
+
case ChatEntitlement.ProPlus:
|
|
42
|
+
case ChatEntitlement.Max:
|
|
43
|
+
primaryButtonLabel = ( localize(7937, "Manage Budget"));
|
|
44
|
+
break;
|
|
45
|
+
case ChatEntitlement.Free:
|
|
46
|
+
primaryButtonLabel = ( localize(7938, "Upgrade to GitHub Copilot Pro"));
|
|
47
|
+
break;
|
|
68
48
|
}
|
|
69
|
-
let hasAddedWaitWarning = false;
|
|
70
|
-
const addWaitWarningIfNeeded = () => {
|
|
71
|
-
if (!shouldShowWaitWarning || hasAddedWaitWarning) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
hasAddedWaitWarning = true;
|
|
75
|
-
append(messageContainer, $(".chat-quota-wait-warning", undefined, ( localize(7393, "Changes may take a few minutes to take effect."))));
|
|
76
|
-
};
|
|
77
|
-
let hasAddedRetryButton = false;
|
|
78
|
-
const addRetryButtonIfNeeded = () => {
|
|
79
|
-
if (!shouldShowRetryButton || hasAddedRetryButton) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
hasAddedRetryButton = true;
|
|
83
|
-
const retryButton = this._register(( new Button(messageContainer, {
|
|
84
|
-
buttonBackground: undefined,
|
|
85
|
-
buttonForeground: asCssVariable(textLinkForeground)
|
|
86
|
-
})));
|
|
87
|
-
retryButton.element.classList.add("chat-quota-error-secondary-button");
|
|
88
|
-
retryButton.label = ( localize(7394, "Click to Retry"));
|
|
89
|
-
this._register(retryButton.onDidClick(() => {
|
|
90
|
-
const widget = chatWidgetService.getWidgetBySessionResource(element.sessionResource);
|
|
91
|
-
if (!widget) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
widget.rerunLastRequest();
|
|
95
|
-
shouldShowWaitWarning = true;
|
|
96
|
-
addWaitWarningIfNeeded();
|
|
97
|
-
}));
|
|
98
|
-
};
|
|
99
49
|
if (primaryButtonLabel) {
|
|
100
50
|
const primaryButton = this._register(( new Button(messageContainer, {
|
|
101
51
|
...defaultButtonStyles,
|
|
@@ -104,18 +54,14 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
|
|
|
104
54
|
primaryButton.label = primaryButtonLabel;
|
|
105
55
|
primaryButton.element.classList.add("chat-quota-error-button");
|
|
106
56
|
this._register(primaryButton.onDidClick(async () => {
|
|
107
|
-
const commandId = chatEntitlementService.entitlement === ChatEntitlement.Free
|
|
57
|
+
const commandId = chatEntitlementService.entitlement === ChatEntitlement.Free ? "workbench.action.chat.upgradePlan" : "workbench.action.chat.manageAdditionalSpend";
|
|
108
58
|
telemetryService.publicLog2("workbenchActionExecuted", {
|
|
109
59
|
id: commandId,
|
|
110
60
|
from: "chat-response"
|
|
111
61
|
});
|
|
112
62
|
await commandService.executeCommand(commandId);
|
|
113
|
-
shouldShowRetryButton = true;
|
|
114
|
-
addRetryButtonIfNeeded();
|
|
115
63
|
}));
|
|
116
64
|
}
|
|
117
|
-
addRetryButtonIfNeeded();
|
|
118
|
-
addWaitWarningIfNeeded();
|
|
119
65
|
}
|
|
120
66
|
hasSameContent(other) {
|
|
121
67
|
return other.kind === this.content.kind && !!other.errorDetails.isQuotaExceeded;
|
|
@@ -124,6 +70,6 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
|
|
|
124
70
|
this._register(disposable);
|
|
125
71
|
}
|
|
126
72
|
};
|
|
127
|
-
ChatQuotaExceededPart = ( __decorate([( __param(3,
|
|
73
|
+
ChatQuotaExceededPart = ( __decorate([( __param(3, ICommandService)), ( __param(4, ITelemetryService)), ( __param(5, IChatEntitlementService))], ChatQuotaExceededPart));
|
|
128
74
|
|
|
129
75
|
export { ChatQuotaExceededPart };
|
|
@@ -57,7 +57,7 @@ let ChatCollapsibleListContentPart = class ChatCollapsibleListContentPart extend
|
|
|
57
57
|
hoverService,
|
|
58
58
|
configurationService
|
|
59
59
|
) {
|
|
60
|
-
super(labelOverride ?? (data.length > 1 ? ( localize(
|
|
60
|
+
super(labelOverride ?? (data.length > 1 ? ( localize(7939, "Used {0} references", data.length)) : ( localize(7940, "Used {0} reference", 1))), context, hoverMessage, hoverService, configurationService);
|
|
61
61
|
this.data = data;
|
|
62
62
|
this.contentReferencesListPool = contentReferencesListPool;
|
|
63
63
|
this.openerService = openerService;
|
|
@@ -215,7 +215,7 @@ let CollapsibleListPool = class CollapsibleListPool extends Disposable {
|
|
|
215
215
|
return basename(reference.uri.path);
|
|
216
216
|
}
|
|
217
217
|
},
|
|
218
|
-
getWidgetAriaLabel: () => ( localize(
|
|
218
|
+
getWidgetAriaLabel: () => ( localize(7941, "Collapsible Chat References List"))
|
|
219
219
|
},
|
|
220
220
|
dnd: {
|
|
221
221
|
getDragURI: element => getResourceForElement(element)?.toString() ?? null,
|
|
@@ -404,7 +404,7 @@ let CollapsibleListRenderer = class CollapsibleListRenderer {
|
|
|
404
404
|
name: settingId
|
|
405
405
|
}, {
|
|
406
406
|
icon: Codicon.settingsGear,
|
|
407
|
-
title: ( localize(
|
|
407
|
+
title: ( localize(7942, "Open setting '{0}'", settingId)),
|
|
408
408
|
strikethrough: data.excluded,
|
|
409
409
|
extraClasses
|
|
410
410
|
});
|
|
@@ -449,7 +449,7 @@ let CollapsibleListRenderer = class CollapsibleListRenderer {
|
|
|
449
449
|
templateData.addedSpan.textContent = `+${diffMeta.added}`;
|
|
450
450
|
templateData.removedSpan.textContent = `-${diffMeta.removed}`;
|
|
451
451
|
templateData.fileDiffsContainer.setAttribute("aria-label", ( localize(
|
|
452
|
-
|
|
452
|
+
7943,
|
|
453
453
|
"{0} lines added, {1} lines removed",
|
|
454
454
|
diffMeta.added,
|
|
455
455
|
diffMeta.removed
|
|
@@ -530,7 +530,7 @@ registerAction2(class AddToChatAction extends Action2 {
|
|
|
530
530
|
super({
|
|
531
531
|
id: AddToChatAction.id,
|
|
532
532
|
title: {
|
|
533
|
-
...( localize2(
|
|
533
|
+
...( localize2(7944, "Add File to Chat"))
|
|
534
534
|
},
|
|
535
535
|
f1: false,
|
|
536
536
|
menu: [{
|
|
@@ -560,7 +560,7 @@ registerAction2(class OpenChatReferenceLinkAction extends Action2 {
|
|
|
560
560
|
super({
|
|
561
561
|
id: OpenChatReferenceLinkAction.id,
|
|
562
562
|
title: {
|
|
563
|
-
...( localize2(
|
|
563
|
+
...( localize2(7945, "Copy Link"))
|
|
564
564
|
},
|
|
565
565
|
f1: false,
|
|
566
566
|
menu: [{
|
|
@@ -198,7 +198,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
198
198
|
constructor() {
|
|
199
199
|
super({
|
|
200
200
|
id: SaveResourcesAction.ID,
|
|
201
|
-
title: ( localize2(
|
|
201
|
+
title: ( localize2(7946, "Save...")),
|
|
202
202
|
icon: Codicon.cloudDownload,
|
|
203
203
|
menu: [{
|
|
204
204
|
id: MenuId.ChatToolOutputResourceToolbar,
|
|
@@ -228,14 +228,14 @@ class SaveResourcesAction extends Action2 {
|
|
|
228
228
|
await fileService.writeFile(target, contents.value);
|
|
229
229
|
}
|
|
230
230
|
} catch (e) {
|
|
231
|
-
notificationService.error(( localize(
|
|
231
|
+
notificationService.error(( localize(7947, "Failed to save {0}: {1}", basename(part.uri), e)));
|
|
232
232
|
}
|
|
233
233
|
};
|
|
234
234
|
const withProgress = async (thenReveal, todo) => {
|
|
235
235
|
await progressService.withProgress({
|
|
236
236
|
location: ProgressLocation.Notification,
|
|
237
237
|
delay: 5_000,
|
|
238
|
-
title: ( localize(
|
|
238
|
+
title: ( localize(7948, "Saving resources..."))
|
|
239
239
|
}, async report => {
|
|
240
240
|
for (const task of todo) {
|
|
241
241
|
await task();
|
|
@@ -248,7 +248,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
248
248
|
if (workspaceContextService.isInsideWorkspace(thenReveal)) {
|
|
249
249
|
commandService.executeCommand(REVEAL_IN_EXPLORER_COMMAND_ID, thenReveal);
|
|
250
250
|
} else {
|
|
251
|
-
notificationService.info(( localize(
|
|
251
|
+
notificationService.info(( localize(7949, "Saved resources to {0}", labelService.getUriLabel(thenReveal))));
|
|
252
252
|
}
|
|
253
253
|
};
|
|
254
254
|
if (context.parts.length === 1) {
|
|
@@ -260,7 +260,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
260
260
|
await withProgress(uri, [() => savePart(part, false, uri)]);
|
|
261
261
|
} else {
|
|
262
262
|
const uris = await fileDialog.showOpenDialog({
|
|
263
|
-
title: ( localize(
|
|
263
|
+
title: ( localize(7950, "Pick folder to save resources")),
|
|
264
264
|
canSelectFiles: false,
|
|
265
265
|
canSelectFolders: true,
|
|
266
266
|
canSelectMany: false,
|