@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
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js
CHANGED
|
@@ -56,7 +56,7 @@ class TodoListRenderer {
|
|
|
56
56
|
statusIcon.style.color = this.getStatusIconColor(todo.status);
|
|
57
57
|
iconLabel.setLabel(todo.title);
|
|
58
58
|
const statusText = this.getStatusText(todo.status);
|
|
59
|
-
const ariaLabel = ( localize(
|
|
59
|
+
const ariaLabel = ( localize(8026, "{0}, {1}", todo.title, statusText));
|
|
60
60
|
todoElement.setAttribute("aria-label", ariaLabel);
|
|
61
61
|
}
|
|
62
62
|
disposeTemplate(templateData) {
|
|
@@ -65,12 +65,12 @@ class TodoListRenderer {
|
|
|
65
65
|
getStatusText(status) {
|
|
66
66
|
switch (status) {
|
|
67
67
|
case "completed":
|
|
68
|
-
return localize(
|
|
68
|
+
return localize(8027, "completed");
|
|
69
69
|
case "in-progress":
|
|
70
|
-
return localize(
|
|
70
|
+
return localize(8028, "in progress");
|
|
71
71
|
case "not-started":
|
|
72
72
|
default:
|
|
73
|
-
return localize(
|
|
73
|
+
return localize(8029, "not started");
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
getStatusIconClass(status) {
|
|
@@ -142,7 +142,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
142
142
|
this.expandIcon.setAttribute("aria-hidden", "true");
|
|
143
143
|
this.titleElement = $(".todo-list-title");
|
|
144
144
|
this.titleElement.id = "todo-list-title";
|
|
145
|
-
this.titleElement.textContent = ( localize(
|
|
145
|
+
this.titleElement.textContent = ( localize(8030, "Todos"));
|
|
146
146
|
this.clearButtonContainer = $(".todo-clear-button-container");
|
|
147
147
|
this.createClearButton();
|
|
148
148
|
titleSection.appendChild(this.expandIcon);
|
|
@@ -164,7 +164,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
164
164
|
createClearButton() {
|
|
165
165
|
this.clearButton = ( new Button(this.clearButtonContainer, {
|
|
166
166
|
supportIcons: true,
|
|
167
|
-
ariaLabel: ( localize(
|
|
167
|
+
ariaLabel: ( localize(8031, "Clear all todos"))
|
|
168
168
|
}));
|
|
169
169
|
this.clearButton.element.tabIndex = 0;
|
|
170
170
|
this.clearButton.icon = Codicon.clearAll;
|
|
@@ -249,9 +249,9 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
249
249
|
accessibilityProvider: {
|
|
250
250
|
getAriaLabel: todo => {
|
|
251
251
|
const statusText = this.getStatusText(todo.status);
|
|
252
|
-
return localize(
|
|
252
|
+
return localize(8026, "{0}, {1}", todo.title, statusText);
|
|
253
253
|
},
|
|
254
|
-
getWidgetAriaLabel: () => ( localize(
|
|
254
|
+
getWidgetAriaLabel: () => ( localize(8032, "Chat Todo List"))
|
|
255
255
|
}
|
|
256
256
|
}
|
|
257
257
|
));
|
|
@@ -307,9 +307,9 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
307
307
|
const shouldDisable = isRequestInProgress && hasInProgressTask;
|
|
308
308
|
this.clearButton.enabled = !shouldDisable;
|
|
309
309
|
if (shouldDisable) {
|
|
310
|
-
this.clearButton.setTitle(( localize(
|
|
310
|
+
this.clearButton.setTitle(( localize(8033, "Cannot clear todos while a task is in progress")));
|
|
311
311
|
} else {
|
|
312
|
-
this.clearButton.setTitle(( localize(
|
|
312
|
+
this.clearButton.setTitle(( localize(8031, "Clear all todos")));
|
|
313
313
|
}
|
|
314
314
|
}
|
|
315
315
|
updateTitleElement(titleElement, todoList) {
|
|
@@ -321,12 +321,12 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
321
321
|
const notStartedTodos = todoList.filter(todo => todo.status === "not-started");
|
|
322
322
|
const firstNotStartedTodo = notStartedTodos.length > 0 ? notStartedTodos[0] : undefined;
|
|
323
323
|
const currentTaskNumber = inProgressTodos.length > 0 ? completedCount + 1 : Math.max(1, completedCount);
|
|
324
|
-
const expandButtonLabel = this._isExpanded ? ( localize(
|
|
324
|
+
const expandButtonLabel = this._isExpanded ? ( localize(8034, "Collapse Todos")) : ( localize(8035, "Expand Todos"));
|
|
325
325
|
this.expandoButton.element.setAttribute("aria-label", expandButtonLabel);
|
|
326
326
|
this.expandoButton.element.setAttribute("aria-expanded", this._isExpanded ? "true" : "false");
|
|
327
327
|
if (this._isExpanded) {
|
|
328
328
|
const titleText = $("span");
|
|
329
|
-
titleText.textContent = totalCount > 0 ? ( localize(
|
|
329
|
+
titleText.textContent = totalCount > 0 ? ( localize(8036, "Todos ({0}/{1})", currentTaskNumber, totalCount)) : ( localize(8030, "Todos"));
|
|
330
330
|
titleElement.appendChild(titleText);
|
|
331
331
|
} else {
|
|
332
332
|
const todoToShow = firstInProgressTodo || firstNotStartedTodo;
|
|
@@ -343,7 +343,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
343
343
|
icon.style.verticalAlign = "middle";
|
|
344
344
|
titleElement.appendChild(icon);
|
|
345
345
|
const todoText = $("span");
|
|
346
|
-
todoText.textContent = ( localize(
|
|
346
|
+
todoText.textContent = ( localize(8037, "{0} ({1}/{2})", todoToShow.title, currentTaskNumber, totalCount));
|
|
347
347
|
todoText.style.verticalAlign = "middle";
|
|
348
348
|
todoText.style.overflow = "hidden";
|
|
349
349
|
todoText.style.textOverflow = "ellipsis";
|
|
@@ -353,7 +353,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
353
353
|
}
|
|
354
354
|
else if (completedCount > 0 && completedCount === totalCount) {
|
|
355
355
|
const doneText = $("span");
|
|
356
|
-
doneText.textContent = ( localize(
|
|
356
|
+
doneText.textContent = ( localize(8036, "Todos ({0}/{1})", totalCount, totalCount));
|
|
357
357
|
doneText.style.verticalAlign = "middle";
|
|
358
358
|
titleElement.appendChild(doneText);
|
|
359
359
|
}
|
|
@@ -362,12 +362,12 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
|
|
|
362
362
|
getStatusText(status) {
|
|
363
363
|
switch (status) {
|
|
364
364
|
case "completed":
|
|
365
|
-
return localize(
|
|
365
|
+
return localize(8027, "completed");
|
|
366
366
|
case "in-progress":
|
|
367
|
-
return localize(
|
|
367
|
+
return localize(8028, "in progress");
|
|
368
368
|
case "not-started":
|
|
369
369
|
default:
|
|
370
|
-
return localize(
|
|
370
|
+
return localize(8029, "not started");
|
|
371
371
|
}
|
|
372
372
|
}
|
|
373
373
|
};
|
|
@@ -49,6 +49,7 @@ export declare class ChatCollapsibleInputOutputContentPart extends Disposable {
|
|
|
49
49
|
private _outputSubPart;
|
|
50
50
|
readonly domNode: HTMLElement;
|
|
51
51
|
private _contentInitialized;
|
|
52
|
+
private _lastLayoutWidth;
|
|
52
53
|
get codeblocks(): IChatCodeBlockInfo[];
|
|
53
54
|
set title(s: string | IMarkdownString);
|
|
54
55
|
get title(): string | IMarkdownString;
|
|
@@ -57,6 +58,7 @@ export declare class ChatCollapsibleInputOutputContentPart extends Disposable {
|
|
|
57
58
|
constructor(title: IMarkdownString | string, subtitle: string | IMarkdownString | undefined, progressTooltip: IMarkdownString | string | undefined, context: IChatContentPartRenderContext, input: IChatCollapsibleInputData, output: IChatCollapsibleOutputData | undefined, isError: boolean, initiallyExpanded: boolean, shimmer: boolean, contextKeyService: IContextKeyService, _instantiationService: IInstantiationService, hoverService: IHoverService, configurationService: IConfigurationService);
|
|
58
59
|
private createMessageContents;
|
|
59
60
|
private addCodeBlock;
|
|
61
|
+
private layoutToMessageWidth;
|
|
60
62
|
hasSameContent(other: IChatRendererContent, followingContent: IChatRendererContent[], element: ChatTreeItem): boolean;
|
|
61
63
|
layout(width: number): void;
|
|
62
64
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { h, createElement,
|
|
3
|
+
import { h, createElement, $, DisposableResizeObserver, getContentWidth } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
4
|
import { ButtonWithIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
|
|
5
5
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
6
6
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
@@ -104,6 +104,12 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
|
|
|
104
104
|
const messageContainer = h(".chat-confirmation-widget-message");
|
|
105
105
|
messageContainer.root.appendChild(this.createMessageContents());
|
|
106
106
|
elements.root.appendChild(messageContainer.root);
|
|
107
|
+
const resizeObserver = this._register(new DisposableResizeObserver(
|
|
108
|
+
"ChatCollapsibleInputOutputContentPart.message",
|
|
109
|
+
() => this.layoutToMessageWidth(messageContainer.root)
|
|
110
|
+
));
|
|
111
|
+
this._register(resizeObserver.observe(messageContainer.root));
|
|
112
|
+
this.layoutToMessageWidth(messageContainer.root);
|
|
107
113
|
}
|
|
108
114
|
}));
|
|
109
115
|
const toggle = e => {
|
|
@@ -138,13 +144,13 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
|
|
|
138
144
|
input,
|
|
139
145
|
output
|
|
140
146
|
} = this;
|
|
141
|
-
contents.inputTitle.textContent = ( localize(
|
|
147
|
+
contents.inputTitle.textContent = ( localize(8038, "Input"));
|
|
142
148
|
this.addCodeBlock(input, contents.input);
|
|
143
149
|
if (!output) {
|
|
144
150
|
contents.output.remove();
|
|
145
151
|
contents.outputTitle.remove();
|
|
146
152
|
} else {
|
|
147
|
-
contents.outputTitle.textContent = ( localize(
|
|
153
|
+
contents.outputTitle.textContent = ( localize(8039, "Output"));
|
|
148
154
|
const outputSubPart = this._register(
|
|
149
155
|
this._instantiationService.createInstance(ChatToolOutputContentSubPart, this.context, output.parts)
|
|
150
156
|
);
|
|
@@ -169,6 +175,14 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
|
|
|
169
175
|
container.appendChild(editorReference.object.element);
|
|
170
176
|
this._editorReferences.push(editorReference);
|
|
171
177
|
}
|
|
178
|
+
layoutToMessageWidth(messageContainer) {
|
|
179
|
+
const width = getContentWidth(messageContainer);
|
|
180
|
+
if (width <= 0 || width === this._lastLayoutWidth) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
this._lastLayoutWidth = width;
|
|
184
|
+
this.layout(width);
|
|
185
|
+
}
|
|
172
186
|
hasSameContent(other, followingContent, element) {
|
|
173
187
|
return false;
|
|
174
188
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js
CHANGED
|
@@ -83,7 +83,7 @@ let TreePool = class TreePool extends Disposable {
|
|
|
83
83
|
},
|
|
84
84
|
accessibilityProvider: {
|
|
85
85
|
getAriaLabel: element => element.label,
|
|
86
|
-
getWidgetAriaLabel: () => ( localize(
|
|
86
|
+
getWidgetAriaLabel: () => ( localize(8040, "File Tree"))
|
|
87
87
|
},
|
|
88
88
|
alwaysConsumeMouseWheel: false
|
|
89
89
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
3
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
4
|
+
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
5
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
6
|
+
import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
|
|
7
|
+
import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
|
|
8
|
+
import { IChatRendererContent, IChatTurnPillsPart } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
|
|
9
|
+
import { ChatTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
10
|
+
import { IChatResponseFileChangesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.service";
|
|
11
|
+
import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentParts.js";
|
|
12
|
+
/**
|
|
13
|
+
* Renders the turn's status pills (changes + preview) inside a completed chat
|
|
14
|
+
* response, mirroring the floating pills shown above the input while the turn
|
|
15
|
+
* streams. Fed by the per-request diffs from {@link IChatResponseFileChangesService}
|
|
16
|
+
* (agent host sessions), so it reflects the same authoritative per-turn changes as
|
|
17
|
+
* the "Changed N files" summary. The part self-hides when the turn produced no
|
|
18
|
+
* changes.
|
|
19
|
+
*/
|
|
20
|
+
export declare class ChatTurnPillsContentPart extends Disposable implements IChatContentPart {
|
|
21
|
+
private readonly _content;
|
|
22
|
+
private readonly _editorService;
|
|
23
|
+
private readonly _instantiationService;
|
|
24
|
+
readonly domNode: HTMLElement;
|
|
25
|
+
private readonly _diffs;
|
|
26
|
+
constructor(_content: IChatTurnPillsPart, _context: IChatContentPartRenderContext, chatResponseFileChangesService: IChatResponseFileChangesService, commandService: ICommandService, openerService: IOpenerService, logService: ILogService, _editorService: IEditorService, configurationService: IConfigurationService, _instantiationService: IInstantiationService);
|
|
27
|
+
private _openChanges;
|
|
28
|
+
hasSameContent(other: IChatRendererContent, _followingContent: IChatRendererContent[], _element: ChatTreeItem): boolean;
|
|
29
|
+
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
5
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
6
|
+
import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
7
|
+
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
8
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
9
|
+
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
10
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
11
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
12
|
+
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
13
|
+
import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
|
|
14
|
+
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
15
|
+
import { MultiDiffEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput';
|
|
16
|
+
import { MultiDiffEditorItem } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService';
|
|
17
|
+
import { IChatResponseFileChangesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.service';
|
|
18
|
+
import { diffStatsEqual, EMPTY_DIFF_STATS, previewFilesEqual, previewKind, observeTurnStatusPillsConfig, openChatPreviewFile, ChatTurnPillsWidget } from '../chatTurnPills.js';
|
|
19
|
+
import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
|
|
20
|
+
import { derivedOpts, derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
21
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
22
|
+
|
|
23
|
+
let ChatTurnPillsContentPart = class ChatTurnPillsContentPart extends Disposable {
|
|
24
|
+
constructor(
|
|
25
|
+
_content,
|
|
26
|
+
_context,
|
|
27
|
+
chatResponseFileChangesService,
|
|
28
|
+
commandService,
|
|
29
|
+
openerService,
|
|
30
|
+
logService,
|
|
31
|
+
_editorService,
|
|
32
|
+
configurationService,
|
|
33
|
+
_instantiationService
|
|
34
|
+
) {
|
|
35
|
+
super();
|
|
36
|
+
this._content = _content;
|
|
37
|
+
this._editorService = _editorService;
|
|
38
|
+
this._instantiationService = _instantiationService;
|
|
39
|
+
this.domNode = $(".chat-turn-pills-part");
|
|
40
|
+
this._diffs = chatResponseFileChangesService.getChangesForRequest(_content.sessionResource, _content.requestId) ?? constObservable([]);
|
|
41
|
+
const stats = derivedOpts({
|
|
42
|
+
owner: this,
|
|
43
|
+
equalsFn: diffStatsEqual
|
|
44
|
+
}, reader => {
|
|
45
|
+
const diffs = this._diffs.read(reader);
|
|
46
|
+
if (diffs.length === 0) {
|
|
47
|
+
return EMPTY_DIFF_STATS;
|
|
48
|
+
}
|
|
49
|
+
let insertions = 0, deletions = 0;
|
|
50
|
+
for (const diff of diffs) {
|
|
51
|
+
insertions += diff.added;
|
|
52
|
+
deletions += diff.removed;
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
files: diffs.length,
|
|
56
|
+
insertions,
|
|
57
|
+
deletions
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
const previewFiles = derivedOpts({
|
|
61
|
+
owner: this,
|
|
62
|
+
equalsFn: previewFilesEqual
|
|
63
|
+
}, reader => {
|
|
64
|
+
const created = [];
|
|
65
|
+
const edited = [];
|
|
66
|
+
for (const diff of this._diffs.read(reader)) {
|
|
67
|
+
const kind = previewKind(diff.modifiedURI);
|
|
68
|
+
if (!kind) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const isCreated = isEqual(diff.originalURI, diff.modifiedURI);
|
|
72
|
+
(isCreated ? created : edited).push({
|
|
73
|
+
uri: diff.modifiedURI,
|
|
74
|
+
kind,
|
|
75
|
+
created: isCreated
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return [...created, ...edited];
|
|
79
|
+
});
|
|
80
|
+
const pillsConfig = observeTurnStatusPillsConfig(configurationService);
|
|
81
|
+
const model = {
|
|
82
|
+
stats,
|
|
83
|
+
previewFiles,
|
|
84
|
+
changesEnabled: derived(reader => pillsConfig.read(reader).changes),
|
|
85
|
+
previewEnabled: derived(reader => pillsConfig.read(reader).preview),
|
|
86
|
+
openChanges: () => this._openChanges(),
|
|
87
|
+
openPreviewFile: file => openChatPreviewFile(file, commandService, openerService, logService)
|
|
88
|
+
};
|
|
89
|
+
const widget = this._register(this._instantiationService.createInstance(ChatTurnPillsWidget, model));
|
|
90
|
+
this.domNode.appendChild(widget.element);
|
|
91
|
+
this._register(autorun(reader => {
|
|
92
|
+
this.domNode.style.display = widget.isVisible.read(reader) ? "" : "none";
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
_openChanges() {
|
|
96
|
+
const diffs = this._diffs.get();
|
|
97
|
+
if (diffs.length === 0) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const source = ( URI.parse(`multi-diff-editor:${( Date.now().toString())}-${( Math.random().toString(36)).slice(2)}`));
|
|
101
|
+
const input = this._instantiationService.createInstance(MultiDiffEditorInput, source, ( localize(8041, "Turn File Changes")), ( diffs.map(diff => ( new MultiDiffEditorItem(diff.originalURI, diff.modifiedURI, undefined)))), false);
|
|
102
|
+
this._editorService.openEditor(input);
|
|
103
|
+
}
|
|
104
|
+
hasSameContent(other, _followingContent, _element) {
|
|
105
|
+
return other.kind === "turnPills" && other.requestId === this._content.requestId && isEqual(other.sessionResource, this._content.sessionResource);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
ChatTurnPillsContentPart = ( __decorate([( __param(2, IChatResponseFileChangesService)), ( __param(3, ICommandService)), ( __param(4, IOpenerService)), ( __param(5, ILogService)), ( __param(6, IEditorService)), ( __param(7, IConfigurationService)), ( __param(8, IInstantiationService))], ChatTurnPillsContentPart));
|
|
109
|
+
|
|
110
|
+
export { ChatTurnPillsContentPart };
|
|
@@ -45,15 +45,15 @@ let ChatWorkspaceEditContentPart = class ChatWorkspaceEditContentPart extends Di
|
|
|
45
45
|
for (const edit of workspaceEdit.edits) {
|
|
46
46
|
if (edit.oldResource && !edit.newResource) {
|
|
47
47
|
renderEntry(( localize(
|
|
48
|
-
|
|
48
|
+
8042,
|
|
49
49
|
"Deleted `{0}`",
|
|
50
50
|
this.labelService.getUriBasenameLabel(edit.oldResource)
|
|
51
51
|
)), Codicon.trash);
|
|
52
52
|
} else if (!edit.oldResource && edit.newResource) {
|
|
53
|
-
renderEntry(( localize(
|
|
53
|
+
renderEntry(( localize(8043, "Created []({0})", (edit.newResource.toString()))), Codicon.newFile);
|
|
54
54
|
} else if (edit.oldResource && edit.newResource) {
|
|
55
55
|
renderEntry(( localize(
|
|
56
|
-
|
|
56
|
+
8044,
|
|
57
57
|
"Renamed {0} to []({1})",
|
|
58
58
|
this.labelService.getUriBasenameLabel(edit.oldResource),
|
|
59
59
|
(edit.newResource.toString())
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js
CHANGED
|
@@ -135,7 +135,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
135
135
|
multipleDefinitions: "goto",
|
|
136
136
|
multipleImplementations: "goto"
|
|
137
137
|
},
|
|
138
|
-
ariaLabel: ( localize(
|
|
138
|
+
ariaLabel: ( localize(8045, "Code block")),
|
|
139
139
|
overflowWidgetsDomNode,
|
|
140
140
|
tabFocusMode: true,
|
|
141
141
|
...this.getEditorOptionsFromConfig()
|
|
@@ -387,11 +387,11 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
387
387
|
});
|
|
388
388
|
if (!this.editor.getOption(EditorOption.ariaLabel)) {
|
|
389
389
|
this.editor.updateOptions({
|
|
390
|
-
ariaLabel: ( localize(
|
|
390
|
+
ariaLabel: ( localize(8046, "Code block {0}", data.codeBlockIndex + 1))
|
|
391
391
|
});
|
|
392
392
|
}
|
|
393
393
|
this.layout(width);
|
|
394
|
-
const toolbarAriaLabel = ( localize(
|
|
394
|
+
const toolbarAriaLabel = ( localize(8047, "Code block {0}", data.codeBlockIndex + 1));
|
|
395
395
|
if (this.toolbar) {
|
|
396
396
|
this.toolbar.setAriaLabel(toolbarAriaLabel);
|
|
397
397
|
} else {
|
|
@@ -454,7 +454,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
454
454
|
if (!this.currentCodeBlockData || !this.currentCodeBlockData.vulns) {
|
|
455
455
|
return "";
|
|
456
456
|
}
|
|
457
|
-
const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ? ( localize(
|
|
457
|
+
const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ? ( localize(8048, "{0} vulnerabilities", this.currentCodeBlockData.vulns.length)) : ( localize(8049, "{0} vulnerability", 1));
|
|
458
458
|
const icon = element => element.vulnerabilitiesListExpanded ? Codicon.chevronDown : Codicon.chevronRight;
|
|
459
459
|
return `${referencesLabel} $(${icon(this.currentCodeBlockData.element).id})`;
|
|
460
460
|
}
|
|
@@ -589,7 +589,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
589
589
|
multipleDefinitions: "goto",
|
|
590
590
|
multipleImplementations: "goto"
|
|
591
591
|
},
|
|
592
|
-
ariaLabel: ( localize(
|
|
592
|
+
ariaLabel: ( localize(8045, "Code block")),
|
|
593
593
|
overflowWidgetsDomNode,
|
|
594
594
|
...this.getEditorOptionsFromConfig()
|
|
595
595
|
});
|
|
@@ -668,8 +668,8 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
668
668
|
stickyScroll: {
|
|
669
669
|
enabled: false
|
|
670
670
|
},
|
|
671
|
-
originalAriaLabel: ( localize(
|
|
672
|
-
modifiedAriaLabel: ( localize(
|
|
671
|
+
originalAriaLabel: ( localize(8050, "Original")),
|
|
672
|
+
modifiedAriaLabel: ( localize(8051, "Modified")),
|
|
673
673
|
diffAlgorithm: "advanced",
|
|
674
674
|
readOnly: false,
|
|
675
675
|
isInEmbeddedEditor: true,
|
|
@@ -710,7 +710,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
710
710
|
const toolbarElt = this.toolbar.getElement();
|
|
711
711
|
toolbarElt.style.display = "block";
|
|
712
712
|
if (this.accessibilityService.isScreenReaderOptimized()) {
|
|
713
|
-
toolbarElt.ariaLabel = ( localize(
|
|
713
|
+
toolbarElt.ariaLabel = ( localize(8052, "Code block toolbar"));
|
|
714
714
|
}
|
|
715
715
|
}
|
|
716
716
|
getEditorOptionsFromConfig() {
|
|
@@ -751,7 +751,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
751
751
|
await this.updateEditor(data, token);
|
|
752
752
|
this.layout(width);
|
|
753
753
|
this.diffEditor.updateOptions({
|
|
754
|
-
ariaLabel: ( localize(
|
|
754
|
+
ariaLabel: ( localize(8053, "Code Edits")),
|
|
755
755
|
readOnly: !!data.isReadOnly
|
|
756
756
|
});
|
|
757
757
|
this.resourceLabel.element.setFile(data.edit.uri, {
|
|
@@ -786,12 +786,12 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
786
786
|
});
|
|
787
787
|
let template;
|
|
788
788
|
if (data.edit.state.applied === 1) {
|
|
789
|
-
template = ( localize(
|
|
789
|
+
template = ( localize(8054, "Applied 1 change in [[``{0}``]]", uriLabel));
|
|
790
790
|
} else if (data.edit.state.applied < 0) {
|
|
791
|
-
template = ( localize(
|
|
791
|
+
template = ( localize(8055, "Edits in [[``{0}``]] have been rejected", uriLabel));
|
|
792
792
|
} else {
|
|
793
793
|
template = ( localize(
|
|
794
|
-
|
|
794
|
+
8056,
|
|
795
795
|
"Applied {0} changes in [[``{1}``]]",
|
|
796
796
|
data.edit.state.applied,
|
|
797
797
|
uriLabel
|
|
@@ -921,8 +921,8 @@ let DefaultChatTextEditor = class DefaultChatTextEditor {
|
|
|
921
921
|
async _checkSha1(model, item) {
|
|
922
922
|
if (item.state?.sha1 && this._sha1.computeSHA1(model) && this._sha1.computeSHA1(model) !== item.state.sha1) {
|
|
923
923
|
const result = await this.dialogService.confirm({
|
|
924
|
-
message: ( localize(
|
|
925
|
-
detail: ( localize(
|
|
924
|
+
message: ( localize(8057, "The original file has been modified.")),
|
|
925
|
+
detail: ( localize(8058, "Do you want to apply the changes anyway?"))
|
|
926
926
|
});
|
|
927
927
|
if (!result.confirmed) {
|
|
928
928
|
return false;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
.chat-agent-feedback-review-list {
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
gap: var(--vscode-spacing-size40);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.chat-agent-feedback-review-empty {
|
|
13
|
+
color: var(--vscode-descriptionForeground);
|
|
14
|
+
padding: var(--vscode-spacing-size40) 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.chat-agent-feedback-review-row {
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: flex-start;
|
|
20
|
+
gap: var(--vscode-spacing-size80);
|
|
21
|
+
padding: var(--vscode-spacing-size60);
|
|
22
|
+
border: var(--vscode-strokeThickness) solid var(--vscode-widget-border);
|
|
23
|
+
border-radius: var(--vscode-cornerRadius-small);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.chat-agent-feedback-review-row .monaco-checkbox {
|
|
27
|
+
margin-top: var(--vscode-spacing-size20);
|
|
28
|
+
flex: 0 0 auto;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.chat-agent-feedback-review-main {
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-direction: column;
|
|
34
|
+
gap: var(--vscode-spacing-size20);
|
|
35
|
+
min-width: 0;
|
|
36
|
+
flex: 1 1 auto;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.chat-agent-feedback-review-header {
|
|
40
|
+
display: flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
gap: var(--vscode-spacing-size60);
|
|
43
|
+
min-width: 0;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.chat-agent-feedback-review-kind {
|
|
47
|
+
flex: 0 0 auto;
|
|
48
|
+
padding: 0 var(--vscode-spacing-size40);
|
|
49
|
+
border-radius: var(--vscode-cornerRadius-xSmall);
|
|
50
|
+
background: color-mix(in srgb, var(--vscode-charts-purple) 22%, var(--vscode-editorWidget-background));
|
|
51
|
+
color: var(--vscode-charts-purple);
|
|
52
|
+
font-size: var(--vscode-bodyFontSize-xSmall);
|
|
53
|
+
text-transform: uppercase;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.chat-agent-feedback-review-file {
|
|
57
|
+
flex: 1 1 auto;
|
|
58
|
+
min-width: 0;
|
|
59
|
+
overflow: hidden;
|
|
60
|
+
font-size: var(--vscode-bodyFontSize-small);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.chat-agent-feedback-review-text-container {
|
|
64
|
+
position: relative;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.chat-agent-feedback-review-text {
|
|
68
|
+
white-space: pre-wrap;
|
|
69
|
+
word-break: break-word;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.chat-agent-feedback-review-text-container.collapsed .chat-agent-feedback-review-text {
|
|
73
|
+
display: -webkit-box;
|
|
74
|
+
-webkit-line-clamp: 2;
|
|
75
|
+
line-clamp: 2;
|
|
76
|
+
-webkit-box-orient: vertical;
|
|
77
|
+
overflow: hidden;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* Fade affordance shown only when the comment is collapsed and overflowing, making it clear there is more text below the two visible lines. */
|
|
81
|
+
.chat-agent-feedback-review-text-container.collapsed.overflowing::after {
|
|
82
|
+
content: '';
|
|
83
|
+
position: absolute;
|
|
84
|
+
left: 0;
|
|
85
|
+
right: 0;
|
|
86
|
+
bottom: 0;
|
|
87
|
+
height: 1.4em;
|
|
88
|
+
pointer-events: none;
|
|
89
|
+
background: linear-gradient(to bottom, transparent, var(--vscode-chat-requestBackground));
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.chat-agent-feedback-review-expand-toggle {
|
|
93
|
+
display: none;
|
|
94
|
+
position: absolute;
|
|
95
|
+
bottom: 0;
|
|
96
|
+
right: 0;
|
|
97
|
+
align-items: center;
|
|
98
|
+
justify-content: center;
|
|
99
|
+
width: 18px;
|
|
100
|
+
height: 18px;
|
|
101
|
+
padding: 0;
|
|
102
|
+
border: none;
|
|
103
|
+
border-radius: var(--vscode-cornerRadius-xSmall);
|
|
104
|
+
background: transparent;
|
|
105
|
+
color: var(--vscode-icon-foreground);
|
|
106
|
+
cursor: pointer;
|
|
107
|
+
z-index: 1;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.chat-agent-feedback-review-text-container.overflowing .chat-agent-feedback-review-expand-toggle {
|
|
111
|
+
display: flex;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.chat-agent-feedback-review-expand-toggle:hover {
|
|
115
|
+
background: var(--vscode-toolbar-hoverBackground);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.chat-agent-feedback-review-expand-toggle:focus-visible {
|
|
119
|
+
outline: 1px solid var(--vscode-focusBorder);
|
|
120
|
+
outline-offset: -1px;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.chat-agent-feedback-review-actions {
|
|
124
|
+
flex: 0 0 auto;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.chat-agent-feedback-review-actions .monaco-action-bar .action-label {
|
|
128
|
+
color: var(--vscode-icon-foreground);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.chat-confirmation-widget2 .chat-confirmation-widget-message:has(.chat-agent-feedback-review-list) {
|
|
132
|
+
padding: var(--vscode-spacing-size60) var(--vscode-spacing-size120) var(--vscode-spacing-size60) var(--vscode-spacing-size60);
|
|
133
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
.chat-auto-mode-resolution-content {
|
|
7
|
+
border: none;
|
|
8
|
+
border-radius: 0;
|
|
9
|
+
padding-top: 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.chat-auto-mode-resolution-body {
|
|
13
|
+
border-left: var(--vscode-strokeThickness) solid var(--vscode-chat-requestBorder);
|
|
14
|
+
margin-left: 4px;
|
|
15
|
+
padding-left: 12px;
|
|
16
|
+
padding-top: 2px;
|
|
17
|
+
padding-bottom: 2px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.chat-auto-mode-resolution-body p {
|
|
21
|
+
margin: 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.chat-auto-mode-resolution-explanation {
|
|
25
|
+
color: var(--vscode-descriptionForeground);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.chat-auto-mode-resolution-detail {
|
|
29
|
+
margin-top: 4px;
|
|
30
|
+
}
|