@codingame/monaco-vscode-katex-common 34.1.3 → 35.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/vscode/src/vs/base/browser/animationSync.d.ts +36 -0
- package/vscode/src/vs/base/browser/animationSync.js +23 -0
- package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.js +23 -2
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +3 -2
- package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.d.ts +5 -5
- package/vscode/src/vs/platform/agentHost/common/fileEditDiff.d.ts +32 -0
- package/vscode/src/vs/platform/agentHost/common/fileEditDiff.js +33 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAnnotations.d.ts +90 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAttachments.d.ts +30 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentToolCallMeta.d.ts +65 -0
- package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.d.ts +16 -5
- package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.js +3 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-resource-watch/reducer.d.ts +21 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +8 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionReducers.d.ts +9 -0
- package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +105 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +74 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +98 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +31 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +45 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +163 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.js +172 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionReferenceAttachment.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.d.ts +116 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.js +348 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.d.ts +211 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +13 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +30 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +29 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +24 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +119 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.d.ts +63 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.js +97 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +105 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +46 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +98 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatTurnPills.css +162 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +95 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +22 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +151 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +20 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +61 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +81 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.js +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +9 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.js +21 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +40 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.js +140 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.js +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +29 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +44 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +12 -66
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +167 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +1 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +9 -86
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.js +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +141 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +17 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAgentFeedbackReviewConfirmation.css +133 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAutoModeResolution.css +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +18 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +23 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +33 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +21 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAgentFeedbackReviewConfirmationSubPart.d.ts +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAgentFeedbackReviewConfirmationSubPart.js +279 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +43 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +53 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +7 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +24 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/{chatMissingSandboxDepsConfirmationSubPart.d.ts → chatSandboxPrerequisiteConfirmationSubPart.d.ts} +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/{chatMissingSandboxDepsConfirmationSubPart.js → chatSandboxPrerequisiteConfirmationSubPart.js} +14 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +30 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +41 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +12 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +43 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +11 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.js +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +18 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +266 -98
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +8 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.js +135 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.d.ts +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.js +275 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +84 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +52 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +187 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +435 -139
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.js +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.d.ts +50 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.js +49 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.d.ts +79 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.js +127 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +84 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +658 -430
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +72 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +82 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +23 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatGoalBannerWidget.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +28 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +60 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +18 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +49 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +141 -81
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +7 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +30 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerInputActionItem.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerInputActionItem.js +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +469 -148
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +11 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +79 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +71 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +107 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.d.ts +110 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +13 -11
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +57 -21
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +18 -18
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +30 -30
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.d.ts +39 -8
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.js +168 -72
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.d.ts +0 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.js +0 -147
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { ErrorInfo } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state";
|
|
2
|
+
import { ChatEntitlement } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService";
|
|
3
|
+
import { IChatResponseErrorDetails } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
4
|
+
/**
|
|
5
|
+
* Mirror of the Copilot extension's `ChatFetchResponseType` (see
|
|
6
|
+
* `extensions/copilot/src/platform/chat/common/commonTypes.ts`). These string
|
|
7
|
+
* values are forwarded verbatim from the agent host harnesses (Copilot CLI,
|
|
8
|
+
* Claude, Codex) over `_meta`, so they MUST stay in sync with the extension.
|
|
9
|
+
*/
|
|
10
|
+
export declare enum ChatFetchResponseType {
|
|
11
|
+
OffTopic = "offTopic",
|
|
12
|
+
Canceled = "canceled",
|
|
13
|
+
Filtered = "filtered",
|
|
14
|
+
FilteredRetry = "filteredRetry",
|
|
15
|
+
PromptFiltered = "promptFiltered",
|
|
16
|
+
Length = "length",
|
|
17
|
+
RateLimited = "rateLimited",
|
|
18
|
+
QuotaExceeded = "quotaExceeded",
|
|
19
|
+
ExtensionBlocked = "extensionBlocked",
|
|
20
|
+
BadRequest = "badRequest",
|
|
21
|
+
NotFound = "notFound",
|
|
22
|
+
Failed = "failed",
|
|
23
|
+
Unknown = "unknown",
|
|
24
|
+
NetworkError = "networkError",
|
|
25
|
+
AgentUnauthorized = "agent_unauthorized",
|
|
26
|
+
AgentFailedDependency = "agent_failed_dependency",
|
|
27
|
+
InvalidStatefulMarker = "invalid_stateful_marker",
|
|
28
|
+
Success = "success"
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Mirror of the Copilot extension's `FilterReason` (see
|
|
32
|
+
* `extensions/copilot/src/platform/networking/common/openai.ts`).
|
|
33
|
+
*/
|
|
34
|
+
export declare enum FilterReason {
|
|
35
|
+
Hate = "hate",
|
|
36
|
+
SelfHarm = "self_harm",
|
|
37
|
+
Sexual = "sexual",
|
|
38
|
+
Violence = "violence",
|
|
39
|
+
Copyright = "snippy",
|
|
40
|
+
Prompt = "prompt"
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Raw error payload forwarded from an agent host harness. This is the
|
|
44
|
+
* serialized `ChatFetchError` from the Copilot extension. Because it crosses
|
|
45
|
+
* the extension/core boundary as untyped JSON inside `_meta`, every field is
|
|
46
|
+
* optional and consumers type-cast based on `type`.
|
|
47
|
+
*/
|
|
48
|
+
export interface IChatFetchErrorPayload {
|
|
49
|
+
readonly type: ChatFetchResponseType | string;
|
|
50
|
+
readonly reason?: string;
|
|
51
|
+
readonly reasonDetail?: string;
|
|
52
|
+
readonly requestId?: string;
|
|
53
|
+
readonly serverRequestId?: string | undefined;
|
|
54
|
+
readonly category?: FilterReason | string;
|
|
55
|
+
readonly retryAfter?: number;
|
|
56
|
+
readonly rateLimitKey?: string;
|
|
57
|
+
readonly isAuto?: boolean;
|
|
58
|
+
readonly capiError?: {
|
|
59
|
+
code?: string;
|
|
60
|
+
message?: string;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The full forwarded chat error payload, including the user-context fields that
|
|
65
|
+
* the extension would normally read from the Copilot token. This is the value
|
|
66
|
+
* placed at `_meta.chatError` by the harnesses.
|
|
67
|
+
*/
|
|
68
|
+
export interface IForwardedChatError {
|
|
69
|
+
readonly fetchError: IChatFetchErrorPayload;
|
|
70
|
+
readonly copilotPlan?: string;
|
|
71
|
+
readonly isUsageBasedBilling?: boolean;
|
|
72
|
+
readonly quotaResetDate?: string;
|
|
73
|
+
}
|
|
74
|
+
export declare function getQuotaMessageForPlan(copilotPlan: string | undefined, isUsageBasedBilling?: boolean, quotaResetDate?: string): string;
|
|
75
|
+
export declare function getFilteredMessage(category: FilterReason | string, supportsMarkdown?: boolean): string;
|
|
76
|
+
/**
|
|
77
|
+
* Builds the user-facing {@link IChatResponseErrorDetails} from a forwarded raw
|
|
78
|
+
* chat fetch error. This is the core analog of the Copilot extension's
|
|
79
|
+
* `getErrorDetailsFromChatFetchError`. Unlike the extension, core has no
|
|
80
|
+
* access to the GitHub outage status, so the outage note is never appended
|
|
81
|
+
* (assume no outage).
|
|
82
|
+
*/
|
|
83
|
+
export declare function getChatErrorDetailsFromFetchError(fetchError: IChatFetchErrorPayload, copilotPlan: string | undefined, isUsageBasedBilling?: boolean, quotaResetDate?: string): IChatResponseErrorDetails;
|
|
84
|
+
/**
|
|
85
|
+
* Extracts and formats {@link IChatResponseErrorDetails} from the `_meta`
|
|
86
|
+
* forwarded by an agent host harness, if present. Returns `undefined` when no
|
|
87
|
+
* forwarded chat error is found so callers can fall back to their existing
|
|
88
|
+
* error handling.
|
|
89
|
+
*
|
|
90
|
+
* The agent host does not know the signed-in user's plan, so callers in core
|
|
91
|
+
* pass an {@link IChatErrorContext} (resolved from `IChatEntitlementService`)
|
|
92
|
+
* whose fields take precedence over the values forwarded in `_meta`.
|
|
93
|
+
*/
|
|
94
|
+
export declare function getChatErrorDetailsFromMeta(error: ErrorInfo | undefined, context?: IChatErrorContext): IChatResponseErrorDetails | undefined;
|
|
95
|
+
/**
|
|
96
|
+
* User-context overrides for {@link getChatErrorDetailsFromMeta}. When a field
|
|
97
|
+
* is set it takes precedence over the value forwarded by the agent host. Core
|
|
98
|
+
* resolves these from `IChatEntitlementService`.
|
|
99
|
+
*/
|
|
100
|
+
export interface IChatErrorContext {
|
|
101
|
+
readonly copilotPlan?: string;
|
|
102
|
+
readonly isUsageBasedBilling?: boolean;
|
|
103
|
+
readonly quotaResetDate?: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Maps a core {@link ChatEntitlement} to the Copilot plan string understood by
|
|
107
|
+
* the quota/rate-limit message helpers (mirrors the Copilot extension's
|
|
108
|
+
* `CopilotToken.copilotPlan` values).
|
|
109
|
+
*/
|
|
110
|
+
export declare function getCopilotPlanFromEntitlement(entitlement: ChatEntitlement): string | undefined;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
|
|
2
|
+
import '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
3
|
+
import '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
|
|
4
|
+
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
5
|
+
|
|
6
|
+
var ChatFetchResponseType;
|
|
7
|
+
(function(ChatFetchResponseType) {
|
|
8
|
+
ChatFetchResponseType["OffTopic"] = "offTopic";
|
|
9
|
+
ChatFetchResponseType["Canceled"] = "canceled";
|
|
10
|
+
ChatFetchResponseType["Filtered"] = "filtered";
|
|
11
|
+
ChatFetchResponseType["FilteredRetry"] = "filteredRetry";
|
|
12
|
+
ChatFetchResponseType["PromptFiltered"] = "promptFiltered";
|
|
13
|
+
ChatFetchResponseType["Length"] = "length";
|
|
14
|
+
ChatFetchResponseType["RateLimited"] = "rateLimited";
|
|
15
|
+
ChatFetchResponseType["QuotaExceeded"] = "quotaExceeded";
|
|
16
|
+
ChatFetchResponseType["ExtensionBlocked"] = "extensionBlocked";
|
|
17
|
+
ChatFetchResponseType["BadRequest"] = "badRequest";
|
|
18
|
+
ChatFetchResponseType["NotFound"] = "notFound";
|
|
19
|
+
ChatFetchResponseType["Failed"] = "failed";
|
|
20
|
+
ChatFetchResponseType["Unknown"] = "unknown";
|
|
21
|
+
ChatFetchResponseType["NetworkError"] = "networkError";
|
|
22
|
+
ChatFetchResponseType["AgentUnauthorized"] = "agent_unauthorized";
|
|
23
|
+
ChatFetchResponseType["AgentFailedDependency"] = "agent_failed_dependency";
|
|
24
|
+
ChatFetchResponseType["InvalidStatefulMarker"] = "invalid_stateful_marker";
|
|
25
|
+
ChatFetchResponseType["Success"] = "success";
|
|
26
|
+
})(ChatFetchResponseType || (ChatFetchResponseType = {}));
|
|
27
|
+
var FilterReason;
|
|
28
|
+
(function(FilterReason) {
|
|
29
|
+
FilterReason["Hate"] = "hate";
|
|
30
|
+
FilterReason["SelfHarm"] = "self_harm";
|
|
31
|
+
FilterReason["Sexual"] = "sexual";
|
|
32
|
+
FilterReason["Violence"] = "violence";
|
|
33
|
+
FilterReason["Copyright"] = "snippy";
|
|
34
|
+
FilterReason["Prompt"] = "prompt";
|
|
35
|
+
})(FilterReason || (FilterReason = {}));
|
|
36
|
+
|
|
37
|
+
export { ChatFetchResponseType, FilterReason };
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { VSBuffer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/buffer";
|
|
2
|
+
import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
|
|
2
3
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
3
4
|
import { IChatResponseViewModel, IChatRequestViewModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
|
|
4
5
|
import { IChatToolInvocation, IChatToolInvocationSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
6
|
+
import { type IChatRequestVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
|
|
5
7
|
export interface IChatExtractedImage {
|
|
6
8
|
readonly id: string;
|
|
7
9
|
readonly uri: URI;
|
|
@@ -9,7 +11,7 @@ export interface IChatExtractedImage {
|
|
|
9
11
|
readonly mimeType: string;
|
|
10
12
|
readonly data: VSBuffer;
|
|
11
13
|
readonly source: string;
|
|
12
|
-
readonly caption: string | undefined;
|
|
14
|
+
readonly caption: string | IMarkdownString | undefined;
|
|
13
15
|
}
|
|
14
16
|
export interface IChatExtractedImageCollection {
|
|
15
17
|
readonly id: string;
|
|
@@ -29,3 +31,4 @@ export declare function coerceImageBuffer(value: unknown): Uint8Array | undefine
|
|
|
29
31
|
* Extract images from a chat request's variable attachments (user-attached images).
|
|
30
32
|
*/
|
|
31
33
|
export declare function extractImagesFromChatRequest(request: IChatRequestViewModel): IChatExtractedImage[];
|
|
34
|
+
export declare function extractImagesFromChatVariables(variables: readonly IChatRequestVariableEntry[]): IChatExtractedImage[];
|
|
@@ -26,7 +26,7 @@ async function extractImagesFromChatResponse(response, readFile) {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
const request = response.session.getItems().find(item => isRequestVM(item) && item.id === response.requestId);
|
|
29
|
-
const title = request ? request.messageText.trim() || getExplicitFileOrImageAttachmentSummary(request.variables) || ( localize(
|
|
29
|
+
const title = request ? request.messageText.trim() || getExplicitFileOrImageAttachmentSummary(request.variables) || ( localize(8522, "Images")) : ( localize(8522, "Images"));
|
|
30
30
|
return {
|
|
31
31
|
id: ( response.sessionResource.toString()) + "_" + response.id,
|
|
32
32
|
title,
|
|
@@ -36,8 +36,7 @@ async function extractImagesFromChatResponse(response, readFile) {
|
|
|
36
36
|
function extractImagesFromToolInvocationOutputDetails(toolInvocation, sessionResource) {
|
|
37
37
|
const images = [];
|
|
38
38
|
const resultDetails = IChatToolInvocation.resultDetails(toolInvocation);
|
|
39
|
-
const
|
|
40
|
-
const caption = msg ? (typeof msg === "string" ? msg : msg.value) : undefined;
|
|
39
|
+
const caption = toolInvocation.pastTenseMessage ?? toolInvocation.invocationMessage;
|
|
41
40
|
const pushImage = (mimeType, data, outputIndex) => {
|
|
42
41
|
const ext = getExtensionForMimeType(mimeType);
|
|
43
42
|
const permalinkBasename = ext ? `file${ext}` : "file.bin";
|
|
@@ -45,10 +44,10 @@ function extractImagesFromToolInvocationOutputDetails(toolInvocation, sessionRes
|
|
|
45
44
|
images.push({
|
|
46
45
|
id: `${toolInvocation.toolCallId}_${outputIndex}`,
|
|
47
46
|
uri,
|
|
48
|
-
name: ( localize(
|
|
47
|
+
name: ( localize(8523, "Image {0}", images.length + 1)),
|
|
49
48
|
mimeType,
|
|
50
49
|
data,
|
|
51
|
-
source: ( localize(
|
|
50
|
+
source: ( localize(8524, "Tool: {0}", toolInvocation.toolId)),
|
|
52
51
|
caption
|
|
53
52
|
});
|
|
54
53
|
};
|
|
@@ -93,8 +92,8 @@ async function extractImagesFromToolInvocationMessages(toolInvocation, readFile)
|
|
|
93
92
|
name,
|
|
94
93
|
mimeType,
|
|
95
94
|
data,
|
|
96
|
-
source: ( localize(
|
|
97
|
-
caption: message
|
|
95
|
+
source: ( localize(8524, "Tool: {0}", toolInvocation.toolId)),
|
|
96
|
+
caption: message
|
|
98
97
|
});
|
|
99
98
|
}
|
|
100
99
|
}
|
|
@@ -131,7 +130,7 @@ async function extractImageFromInlineReference(part, readFile) {
|
|
|
131
130
|
name,
|
|
132
131
|
mimeType: mime,
|
|
133
132
|
data,
|
|
134
|
-
source: ( localize(
|
|
133
|
+
source: ( localize(8525, "File")),
|
|
135
134
|
caption: undefined
|
|
136
135
|
};
|
|
137
136
|
}
|
|
@@ -139,8 +138,11 @@ function coerceImageBuffer(value) {
|
|
|
139
138
|
return value instanceof Uint8Array ? value : value instanceof ArrayBuffer ? ( new Uint8Array(value)) : (value && typeof value === "object" && !Array.isArray(value)) ? ( new Uint8Array(( ( Object.keys(value)).sort((a, b) => Number(a) - Number(b)).map(key => value[key])))) : undefined;
|
|
140
139
|
}
|
|
141
140
|
function extractImagesFromChatRequest(request) {
|
|
141
|
+
return extractImagesFromChatVariables(request.variables);
|
|
142
|
+
}
|
|
143
|
+
function extractImagesFromChatVariables(variables) {
|
|
142
144
|
const images = [];
|
|
143
|
-
for (const variable of
|
|
145
|
+
for (const variable of variables) {
|
|
144
146
|
if (!isImageVariableEntry(variable)) {
|
|
145
147
|
continue;
|
|
146
148
|
}
|
|
@@ -160,11 +162,11 @@ function extractImagesFromChatRequest(request) {
|
|
|
160
162
|
name: variable.name,
|
|
161
163
|
mimeType,
|
|
162
164
|
data: VSBuffer.wrap(buffer),
|
|
163
|
-
source: ( localize(
|
|
165
|
+
source: ( localize(8526, "Attachment")),
|
|
164
166
|
caption: undefined
|
|
165
167
|
});
|
|
166
168
|
}
|
|
167
169
|
return images;
|
|
168
170
|
}
|
|
169
171
|
|
|
170
|
-
export { coerceImageBuffer, extractImagesFromChatRequest, extractImagesFromChatResponse, extractImagesFromToolInvocationMessages, extractImagesFromToolInvocationOutputDetails };
|
|
172
|
+
export { coerceImageBuffer, extractImagesFromChatRequest, extractImagesFromChatResponse, extractImagesFromChatVariables, extractImagesFromToolInvocationMessages, extractImagesFromToolInvocationOutputDetails };
|
|
@@ -23,5 +23,12 @@ export declare function hasShownElevatedWarning(level: ChatPermissionLevel, stor
|
|
|
23
23
|
* When the user ticks "Don't show again", the choice is persisted in
|
|
24
24
|
* `StorageScope.PROFILE`, which is shared across the workbench and Agents
|
|
25
25
|
* windows so a dismissal in one applies to the other.
|
|
26
|
+
*
|
|
27
|
+
* `options.defaultSettingKey` controls which "make this the default" setting
|
|
28
|
+
* the dialog links to — local chat uses `chat.permissions.default` (the
|
|
29
|
+
* default), while agent-host sessions pass
|
|
30
|
+
* `chat.defaultConfiguration`.
|
|
26
31
|
*/
|
|
27
|
-
export declare function maybeConfirmElevatedPermissionLevel(level: ChatPermissionLevel, dialogService: IDialogService, storageService: IStorageService
|
|
32
|
+
export declare function maybeConfirmElevatedPermissionLevel(level: ChatPermissionLevel, dialogService: IDialogService, storageService: IStorageService, options?: {
|
|
33
|
+
readonly defaultSettingKey?: string;
|
|
34
|
+
}): Promise<boolean>;
|
|
@@ -20,48 +20,84 @@ function dontShowAgainKey(level) {
|
|
|
20
20
|
function resetShownWarnings() {
|
|
21
21
|
shownWarnings.clear();
|
|
22
22
|
}
|
|
23
|
+
const ELEVATION_RANK = ( new Map([[ChatPermissionLevel.AutoApprove, 1], [ChatPermissionLevel.Autopilot, 1]]));
|
|
23
24
|
function hasShownElevatedWarning(level, storageService) {
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
const rank = ELEVATION_RANK.get(level);
|
|
26
|
+
if (rank === undefined) {
|
|
27
|
+
return false;
|
|
26
28
|
}
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
for (const [candidate, candidateRank] of ELEVATION_RANK) {
|
|
30
|
+
if (candidateRank < rank) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
if (( shownWarnings.has(candidate))) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
const key = dontShowAgainKey(candidate);
|
|
37
|
+
if (key && storageService.getBoolean(key, StorageScope.PROFILE, false)) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
30
40
|
}
|
|
31
41
|
return false;
|
|
32
42
|
}
|
|
33
|
-
|
|
43
|
+
function getElevatedWarningCopy(level, defaultSettingKey) {
|
|
44
|
+
switch (level) {
|
|
45
|
+
case ChatPermissionLevel.Autopilot:
|
|
46
|
+
return {
|
|
47
|
+
title: ( localize(8530, "Enable Autopilot?")),
|
|
48
|
+
confirm: ( localize(8531, "Enable")),
|
|
49
|
+
icon: Codicon.rocket,
|
|
50
|
+
detail: ( localize(
|
|
51
|
+
8532,
|
|
52
|
+
"Autopilot will auto-approve all tool calls and continue working autonomously until the task is complete. This includes terminal commands, file edits, and external tool calls. The agent will make decisions on your behalf without asking for confirmation.\n\nYou can stop the agent at any time by clicking the stop button. This applies to the current session only.\n\nTo make this the starting permission level for new sessions, change the [{0}](command:workbench.action.openSettings?%5B%22{0}%22%5D) setting.",
|
|
53
|
+
defaultSettingKey
|
|
54
|
+
))
|
|
55
|
+
};
|
|
56
|
+
case ChatPermissionLevel.AutoApprove:
|
|
57
|
+
return {
|
|
58
|
+
title: ( localize(8533, "Enable Bypass Approvals?")),
|
|
59
|
+
confirm: ( localize(8534, "Enable")),
|
|
60
|
+
icon: Codicon.warning,
|
|
61
|
+
detail: ( localize(
|
|
62
|
+
8535,
|
|
63
|
+
"Bypass Approvals will auto-approve all tool calls without asking for confirmation. This includes file edits, terminal commands, and external tool calls.\n\nTo make this the starting permission level for new sessions, change the [{0}](command:workbench.action.openSettings?%5B%22{0}%22%5D) setting.",
|
|
64
|
+
defaultSettingKey
|
|
65
|
+
))
|
|
66
|
+
};
|
|
67
|
+
default:
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async function maybeConfirmElevatedPermissionLevel(level, dialogService, storageService, options) {
|
|
34
72
|
const key = dontShowAgainKey(level);
|
|
35
73
|
if (!key || hasShownElevatedWarning(level, storageService)) {
|
|
36
74
|
return true;
|
|
37
75
|
}
|
|
38
|
-
const
|
|
76
|
+
const copy = getElevatedWarningCopy(
|
|
77
|
+
level,
|
|
78
|
+
options?.defaultSettingKey ?? ChatConfiguration.DefaultPermissionLevel
|
|
79
|
+
);
|
|
80
|
+
if (!copy) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
39
83
|
const result = await dialogService.prompt({
|
|
40
84
|
type: Severity.Warning,
|
|
41
|
-
message:
|
|
85
|
+
message: copy.title,
|
|
42
86
|
buttons: [{
|
|
43
|
-
label:
|
|
87
|
+
label: copy.confirm,
|
|
44
88
|
run: () => true
|
|
45
89
|
}, {
|
|
46
|
-
label:
|
|
90
|
+
label: ( localize(8536, "Cancel")),
|
|
47
91
|
run: () => false
|
|
48
92
|
}],
|
|
49
93
|
checkbox: {
|
|
50
|
-
label: ( localize(
|
|
94
|
+
label: ( localize(8537, "Don't show again")),
|
|
51
95
|
checked: false
|
|
52
96
|
},
|
|
53
97
|
custom: {
|
|
54
|
-
icon:
|
|
98
|
+
icon: copy.icon,
|
|
55
99
|
markdownDetails: [{
|
|
56
|
-
markdown: ( new MarkdownString(
|
|
57
|
-
7937,
|
|
58
|
-
"Autopilot will auto-approve all tool calls and continue working autonomously until the task is complete. This includes terminal commands, file edits, and external tool calls. The agent will make decisions on your behalf without asking for confirmation.\n\nYou can stop the agent at any time by clicking the stop button. This applies to the current session only.\n\nTo make this the starting permission level for new chat sessions, change the [{0}](command:workbench.action.openSettings?%5B%22{0}%22%5D) setting.",
|
|
59
|
-
ChatConfiguration.DefaultPermissionLevel
|
|
60
|
-
)) : ( localize(
|
|
61
|
-
7938,
|
|
62
|
-
"Bypass Approvals will auto-approve all tool calls without asking for confirmation. This includes file edits, terminal commands, and external tool calls.\n\nTo make this the starting permission level for new chat sessions, change the [{0}](command:workbench.action.openSettings?%5B%22{0}%22%5D) setting.",
|
|
63
|
-
ChatConfiguration.DefaultPermissionLevel
|
|
64
|
-
)), {
|
|
100
|
+
markdown: ( new MarkdownString(copy.detail, {
|
|
65
101
|
isTrusted: {
|
|
66
102
|
enabledCommands: ["workbench.action.openSettings"]
|
|
67
103
|
}
|
|
@@ -18,45 +18,45 @@ registerColor("agentStatusIndicator.background", {
|
|
|
18
18
|
light: ( Color.black.transparent(0.05)),
|
|
19
19
|
hcDark: null,
|
|
20
20
|
hcLight: null
|
|
21
|
-
}, ( localize(
|
|
21
|
+
}, ( localize(9011, "Background color of the agent status indicator in the titlebar.")));
|
|
22
22
|
registerColor("chat.requestBorder", {
|
|
23
23
|
dark: ( new Color(( new RGBA(255, 255, 255, 0.10)))),
|
|
24
24
|
light: ( new Color(( new RGBA(0, 0, 0, 0.10)))),
|
|
25
25
|
hcDark: contrastBorder,
|
|
26
26
|
hcLight: contrastBorder
|
|
27
|
-
}, ( localize(
|
|
27
|
+
}, ( localize(9012, "The border color of a chat request.")));
|
|
28
28
|
const chatRequestBackground = registerColor("chat.requestBackground", {
|
|
29
29
|
dark: ( transparent(editorBackground, 0.62)),
|
|
30
30
|
light: ( transparent(editorBackground, 0.62)),
|
|
31
31
|
hcDark: editorWidgetBackground,
|
|
32
32
|
hcLight: null
|
|
33
|
-
}, ( localize(
|
|
33
|
+
}, ( localize(9013, "The background color of a chat request.")));
|
|
34
34
|
const chatSlashCommandBackground = registerColor("chat.slashCommandBackground", {
|
|
35
35
|
dark: "#26477866",
|
|
36
36
|
light: "#adceff7a",
|
|
37
37
|
hcDark: Color.white,
|
|
38
38
|
hcLight: badgeBackground
|
|
39
|
-
}, ( localize(
|
|
39
|
+
}, ( localize(9014, "The background color of a chat slash command.")));
|
|
40
40
|
const chatSlashCommandForeground = registerColor("chat.slashCommandForeground", {
|
|
41
41
|
dark: "#85b6ff",
|
|
42
42
|
light: "#26569e",
|
|
43
43
|
hcDark: Color.black,
|
|
44
44
|
hcLight: badgeForeground
|
|
45
|
-
}, ( localize(
|
|
45
|
+
}, ( localize(9015, "The foreground color of a chat slash command.")));
|
|
46
46
|
registerColor("chat.avatarBackground", {
|
|
47
47
|
dark: "#1f1f1f",
|
|
48
48
|
light: "#f2f2f2",
|
|
49
49
|
hcDark: Color.black,
|
|
50
50
|
hcLight: Color.white
|
|
51
|
-
}, ( localize(
|
|
52
|
-
registerColor("chat.avatarForeground", foreground, ( localize(
|
|
51
|
+
}, ( localize(9016, "The background color of a chat avatar.")));
|
|
52
|
+
registerColor("chat.avatarForeground", foreground, ( localize(9017, "The foreground color of a chat avatar.")));
|
|
53
53
|
registerColor("chat.editedFileForeground", {
|
|
54
54
|
light: "#895503",
|
|
55
55
|
dark: "#E2C08D",
|
|
56
56
|
hcDark: "#E2C08D",
|
|
57
57
|
hcLight: "#895503"
|
|
58
58
|
}, ( localize(
|
|
59
|
-
|
|
59
|
+
9018,
|
|
60
60
|
"The foreground color of a chat edited file in the edited file list."
|
|
61
61
|
)));
|
|
62
62
|
registerColor("chat.requestCodeBorder", {
|
|
@@ -64,50 +64,50 @@ registerColor("chat.requestCodeBorder", {
|
|
|
64
64
|
light: "#0e639c40",
|
|
65
65
|
hcDark: null,
|
|
66
66
|
hcLight: null
|
|
67
|
-
}, ( localize(
|
|
67
|
+
}, ( localize(9019, "Border color of code blocks within the chat request bubble.")), true);
|
|
68
68
|
registerColor("chat.requestBubbleBackground", {
|
|
69
69
|
light: ( transparent(editorSelectionBackground, 0.3)),
|
|
70
70
|
dark: ( transparent(editorSelectionBackground, 0.3)),
|
|
71
71
|
hcDark: null,
|
|
72
72
|
hcLight: null
|
|
73
|
-
}, ( localize(
|
|
73
|
+
}, ( localize(9020, "Background color of the chat request bubble.")), true);
|
|
74
74
|
registerColor("chat.requestBubbleHoverBackground", {
|
|
75
75
|
dark: ( transparent(editorSelectionBackground, 0.6)),
|
|
76
76
|
light: ( transparent(editorSelectionBackground, 0.6)),
|
|
77
77
|
hcDark: null,
|
|
78
78
|
hcLight: null
|
|
79
|
-
}, ( localize(
|
|
79
|
+
}, ( localize(9021, "Background color of the chat request bubble on hover.")), true);
|
|
80
80
|
registerColor("chat.checkpointSeparator", {
|
|
81
81
|
dark: "#585858",
|
|
82
82
|
light: "#a9a9a9",
|
|
83
83
|
hcDark: "#a9a9a9",
|
|
84
84
|
hcLight: "#a5a5a5"
|
|
85
|
-
}, ( localize(
|
|
85
|
+
}, ( localize(9022, "Chat checkpoint separator color.")));
|
|
86
86
|
registerColor("chat.linesAddedForeground", {
|
|
87
87
|
dark: "#54B054",
|
|
88
88
|
light: "#107C10",
|
|
89
89
|
hcDark: "#54B054",
|
|
90
90
|
hcLight: "#107C10"
|
|
91
|
-
}, ( localize(
|
|
91
|
+
}, ( localize(9023, "Foreground color of lines added in chat code block pill.")), true);
|
|
92
92
|
registerColor("chat.linesRemovedForeground", {
|
|
93
93
|
dark: "#FC6A6A",
|
|
94
94
|
light: "#BC2F32",
|
|
95
95
|
hcDark: "#F48771",
|
|
96
96
|
hcLight: "#B5200D"
|
|
97
|
-
}, ( localize(
|
|
97
|
+
}, ( localize(9024, "Foreground color of lines removed in chat code block pill.")), true);
|
|
98
98
|
registerColor("chat.thinkingShimmer", {
|
|
99
99
|
dark: "#ffffff",
|
|
100
100
|
light: "#000000",
|
|
101
101
|
hcDark: "#ffffff",
|
|
102
102
|
hcLight: "#000000"
|
|
103
|
-
}, ( localize(
|
|
103
|
+
}, ( localize(9025, "Shimmer highlight for thinking/working labels.")), true);
|
|
104
104
|
registerColor("chat.inputWorkingBorderColor1", {
|
|
105
105
|
dark: buttonBackground,
|
|
106
106
|
light: buttonBackground,
|
|
107
107
|
hcDark: "#FFFFFF",
|
|
108
108
|
hcLight: "#000000"
|
|
109
109
|
}, ( localize(
|
|
110
|
-
|
|
110
|
+
9026,
|
|
111
111
|
"First color stop of the animated chat input border shown while a request is in flight."
|
|
112
112
|
)), true);
|
|
113
113
|
registerColor("chat.inputWorkingBorderColor2", {
|
|
@@ -116,7 +116,7 @@ registerColor("chat.inputWorkingBorderColor2", {
|
|
|
116
116
|
hcDark: "#A0A0A0",
|
|
117
117
|
hcLight: "#555555"
|
|
118
118
|
}, ( localize(
|
|
119
|
-
|
|
119
|
+
9027,
|
|
120
120
|
"Secondary accent color used by other animated chat input affordances. Not used by the in-flight chat input border."
|
|
121
121
|
)), true);
|
|
122
122
|
registerColor("chat.inputWorkingBorderColor3", {
|
|
@@ -125,7 +125,7 @@ registerColor("chat.inputWorkingBorderColor3", {
|
|
|
125
125
|
hcDark: "#000000",
|
|
126
126
|
hcLight: "#000000"
|
|
127
127
|
}, ( localize(
|
|
128
|
-
|
|
128
|
+
9028,
|
|
129
129
|
"Tertiary accent color used by other animated chat input affordances. Not used by the in-flight chat input border."
|
|
130
130
|
)), true);
|
|
131
131
|
|
|
@@ -266,7 +266,7 @@ let InlineChatController = class InlineChatController {
|
|
|
266
266
|
}
|
|
267
267
|
}));
|
|
268
268
|
const defaultPlaceholderObs = ( visibleSessionObs.map((session, r) => {
|
|
269
|
-
return session?.initialSelection.isEmpty() ? ( localize(
|
|
269
|
+
return session?.initialSelection.isEmpty() ? ( localize(11330, "Generate code")) : ( localize(11331, "Modify selected code"));
|
|
270
270
|
}));
|
|
271
271
|
this.#store.add(autorun(r => {
|
|
272
272
|
const session = visibleSessionObs.read(r);
|
|
@@ -379,7 +379,7 @@ let InlineChatController = class InlineChatController {
|
|
|
379
379
|
if (lastProgress) {
|
|
380
380
|
placeholder = renderAsPlaintext(lastProgress.content);
|
|
381
381
|
}
|
|
382
|
-
this.#zone.rawValue?.widget.chatWidget.setInputPlaceholder(placeholder || ( localize(
|
|
382
|
+
this.#zone.rawValue?.widget.chatWidget.setInputPlaceholder(placeholder || ( localize(11332, "Working...")));
|
|
383
383
|
}
|
|
384
384
|
}));
|
|
385
385
|
this.#store.add(autorun(r => {
|
|
@@ -455,7 +455,7 @@ let InlineChatController = class InlineChatController {
|
|
|
455
455
|
}
|
|
456
456
|
if (entries.length > 0) {
|
|
457
457
|
this.#zone.value.widget.chatWidget.attachmentModel.addContext(...entries);
|
|
458
|
-
const msg = entries.length > 1 ? ( localize(
|
|
458
|
+
const msg = entries.length > 1 ? ( localize(11333, "Fix the attached problems")) : ( localize(11334, "Fix the attached problem"));
|
|
459
459
|
this.#zone.value.widget.chatWidget.input.setValue(msg, true);
|
|
460
460
|
arg.message = msg;
|
|
461
461
|
this.#zone.value.widget.chatWidget.inputEditor.setSelection(( new Selection(1, 1, Number.MAX_SAFE_INTEGER, 1)));
|
|
@@ -488,7 +488,7 @@ let InlineChatController = class InlineChatController {
|
|
|
488
488
|
this.#zone.value.widget.chatWidget.input.setCurrentLanguageModel({
|
|
489
489
|
metadata: model,
|
|
490
490
|
identifier: id
|
|
491
|
-
});
|
|
491
|
+
}, true);
|
|
492
492
|
}
|
|
493
493
|
if (arg.message) {
|
|
494
494
|
this.#zone.value.widget.chatWidget.setInput(arg.message);
|
|
@@ -257,7 +257,7 @@ let InlineChatWidget = class InlineChatWidget {
|
|
|
257
257
|
);
|
|
258
258
|
this._store.add(this.#chatService.onDidPerformUserAction(e => {
|
|
259
259
|
if (isEqual(e.sessionResource, this.chatWidget.viewModel?.model.sessionResource) && e.action.kind === "vote") {
|
|
260
|
-
this.updateStatus(( localize(
|
|
260
|
+
this.updateStatus(( localize(11341, "Thank you for your feedback!")), {
|
|
261
261
|
resetAfter: 1250
|
|
262
262
|
});
|
|
263
263
|
}
|
|
@@ -270,11 +270,11 @@ let InlineChatWidget = class InlineChatWidget {
|
|
|
270
270
|
if (this.#configurationService.getValue(AccessibilityVerbositySettingId.InlineChat)) {
|
|
271
271
|
const kbLabel = this.#keybindingService.lookupKeybinding(AccessibilityCommandId.OpenAccessibilityHelp)?.getLabel();
|
|
272
272
|
label = kbLabel ? ( localize(
|
|
273
|
-
|
|
273
|
+
11342,
|
|
274
274
|
"Inline Chat Input, Use {0} for Inline Chat Accessibility Help.",
|
|
275
275
|
kbLabel
|
|
276
276
|
)) : ( localize(
|
|
277
|
-
|
|
277
|
+
11343,
|
|
278
278
|
"Inline Chat Input, Run the Inline Chat Accessibility Help command for more information."
|
|
279
279
|
));
|
|
280
280
|
}
|
|
@@ -295,7 +295,7 @@ let InlineChatWidget = class InlineChatWidget {
|
|
|
295
295
|
this._elements.disclaimerLabel.classList.toggle("hidden", !showDisclaimer);
|
|
296
296
|
if (showDisclaimer) {
|
|
297
297
|
const renderedMarkdown = disposables.add(this.#markdownRendererService.render(( new MarkdownString(( localize(
|
|
298
|
-
|
|
298
|
+
11344,
|
|
299
299
|
"By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
|
|
300
300
|
product.defaultChatAgent?.provider?.default?.name ?? "",
|
|
301
301
|
product.defaultChatAgent?.provider?.default?.name ?? "",
|
|
@@ -417,7 +417,7 @@ let InlineChatWidget = class InlineChatWidget {
|
|
|
417
417
|
}
|
|
418
418
|
};
|
|
419
419
|
InlineChatWidget = ( __decorate([( __param(2, IInstantiationService)), ( __param(3, IContextKeyService)), ( __param(4, IKeybindingService)), ( __param(5, IAccessibilityService)), ( __param(6, IConfigurationService)), ( __param(7, IAccessibleViewService)), ( __param(8, ITextModelService)), ( __param(9, IChatService)), ( __param(10, IHoverService)), ( __param(11, IChatEntitlementService)), ( __param(12, IMarkdownRendererService))], InlineChatWidget));
|
|
420
|
-
const defaultAriaLabel = ( localize(
|
|
420
|
+
const defaultAriaLabel = ( localize(11345, "Inline Chat Input"));
|
|
421
421
|
let EditorBasedInlineChatWidget = class EditorBasedInlineChatWidget extends InlineChatWidget {
|
|
422
422
|
constructor(
|
|
423
423
|
location,
|
|
@@ -421,7 +421,7 @@ let InlineChatZoneWidget = class InlineChatZoneWidget extends ZoneWidget {
|
|
|
421
421
|
this.widget.domNode.style.display = "";
|
|
422
422
|
this.widget.chatWidget.setVisible(false);
|
|
423
423
|
super.hide();
|
|
424
|
-
status(( localize(
|
|
424
|
+
status(( localize(11346, "Closed inline chat widget")));
|
|
425
425
|
scrollState.restore(this.editor);
|
|
426
426
|
}
|
|
427
427
|
};
|