@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
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
2
|
+
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
3
|
+
import { IMarkdownRenderer } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer";
|
|
4
|
+
import { IChatAutoModeResolutionPart } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
5
|
+
import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
|
|
6
|
+
import { ChatTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
7
|
+
import { ChatCollapsibleContentPart } from "./chatCollapsibleContentPart.js";
|
|
8
|
+
import { IChatContentPartRenderContext } from "./chatContentParts.js";
|
|
9
|
+
/**
|
|
10
|
+
* A collapsible content part that displays auto-mode model routing resolution.
|
|
11
|
+
* Collapsed: "Routed to <model>"
|
|
12
|
+
* Expanded: Explanation of auto routing + reasoning label with confidence.
|
|
13
|
+
*/
|
|
14
|
+
export declare class ChatAutoModeResolutionContentPart extends ChatCollapsibleContentPart {
|
|
15
|
+
private readonly content;
|
|
16
|
+
private readonly chatContentMarkdownRenderer;
|
|
17
|
+
constructor(content: IChatAutoModeResolutionPart, context: IChatContentPartRenderContext, chatContentMarkdownRenderer: IMarkdownRenderer, hoverService: IHoverService, configurationService: IConfigurationService);
|
|
18
|
+
protected initContent(): HTMLElement;
|
|
19
|
+
hasSameContent(other: IChatRendererContent, _followingContent: IChatRendererContent[], _element: ChatTreeItem): boolean;
|
|
20
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
|
|
2
|
+
import { registerCss } from '@codingame/monaco-vscode-api/css';
|
|
3
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
4
|
+
import { $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
|
+
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
6
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
7
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
8
|
+
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
9
|
+
import { ILanguageModelChatMetadata } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
|
|
10
|
+
import { ChatCollapsibleContentPart } from './chatCollapsibleContentPart.js';
|
|
11
|
+
import * as chatAutoModeResolution from './media/chatAutoModeResolution.css';
|
|
12
|
+
|
|
13
|
+
registerCss(chatAutoModeResolution);
|
|
14
|
+
let ChatAutoModeResolutionContentPart = class ChatAutoModeResolutionContentPart extends ChatCollapsibleContentPart {
|
|
15
|
+
constructor(
|
|
16
|
+
content,
|
|
17
|
+
context,
|
|
18
|
+
chatContentMarkdownRenderer,
|
|
19
|
+
hoverService,
|
|
20
|
+
configurationService
|
|
21
|
+
) {
|
|
22
|
+
super(( localize(7789, "Routed to {0}", content.resolvedModelName)), context, undefined, hoverService, configurationService);
|
|
23
|
+
this.content = content;
|
|
24
|
+
this.chatContentMarkdownRenderer = chatContentMarkdownRenderer;
|
|
25
|
+
}
|
|
26
|
+
initContent() {
|
|
27
|
+
const wrapper = $(".chat-auto-mode-resolution-content.chat-used-context-list");
|
|
28
|
+
const body = $(".chat-auto-mode-resolution-body");
|
|
29
|
+
const explanation = $(".chat-auto-mode-resolution-explanation");
|
|
30
|
+
const explanationMd = ( new MarkdownString(ILanguageModelChatMetadata.getAutoModelDescription()));
|
|
31
|
+
const rendered = this._register(this.chatContentMarkdownRenderer.render(explanationMd));
|
|
32
|
+
explanation.appendChild(rendered.element);
|
|
33
|
+
body.appendChild(explanation);
|
|
34
|
+
const detailLine = $(".chat-auto-mode-resolution-detail");
|
|
35
|
+
let detailText;
|
|
36
|
+
if (this.content.predictedLabel === "fallback") {
|
|
37
|
+
detailText = ( localize(7790, "Unable to resolve"));
|
|
38
|
+
} else {
|
|
39
|
+
const label = this.content.predictedLabel === "needs_reasoning" ? ( localize(7791, "Reasoning")) : ( localize(7792, "Non-reasoning"));
|
|
40
|
+
const confidencePercent = (this.content.confidence * 100).toFixed(0);
|
|
41
|
+
detailText = ( localize(7793, "{0} - Confidence {1}%", label, confidencePercent));
|
|
42
|
+
}
|
|
43
|
+
const detailRendered = this._register(this.chatContentMarkdownRenderer.render(( new MarkdownString(detailText))));
|
|
44
|
+
detailLine.appendChild(detailRendered.element);
|
|
45
|
+
body.appendChild(detailLine);
|
|
46
|
+
wrapper.appendChild(body);
|
|
47
|
+
return wrapper;
|
|
48
|
+
}
|
|
49
|
+
hasSameContent(other, _followingContent, _element) {
|
|
50
|
+
return other.kind === "autoModeResolution" && other.resolvedModel === this.content.resolvedModel && other.resolvedModelName === this.content.resolvedModelName && other.confidence === this.content.confidence && other.predictedLabel === this.content.predictedLabel;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
ChatAutoModeResolutionContentPart = ( __decorate([( __param(3, IHoverService)), ( __param(4, IConfigurationService))], ChatAutoModeResolutionContentPart));
|
|
54
|
+
|
|
55
|
+
export { ChatAutoModeResolutionContentPart };
|
|
@@ -2,11 +2,13 @@ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/
|
|
|
2
2
|
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
3
3
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
4
4
|
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
5
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
5
6
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
6
7
|
import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
|
|
7
8
|
import { IChatEditingSession, IEditSessionEntryDiff } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService";
|
|
8
9
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
9
10
|
import { IChatChangesSummaryPart as IChatFileChangesSummaryPart, IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
|
|
11
|
+
import { IChatResponseFileChangesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.service";
|
|
10
12
|
import { ChatTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
11
13
|
import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentParts.js";
|
|
12
14
|
export declare class ChatCheckpointFileChangesSummaryContentPart extends Disposable implements IChatContentPart {
|
|
@@ -14,15 +16,17 @@ export declare class ChatCheckpointFileChangesSummaryContentPart extends Disposa
|
|
|
14
16
|
private readonly hoverService;
|
|
15
17
|
private readonly chatService;
|
|
16
18
|
private readonly editorService;
|
|
19
|
+
private readonly configurationService;
|
|
17
20
|
private readonly instantiationService;
|
|
21
|
+
private readonly chatResponseFileChangesService;
|
|
18
22
|
readonly domNode: HTMLElement;
|
|
19
23
|
readonly ELEMENT_HEIGHT = 22;
|
|
20
24
|
readonly MAX_ITEMS_SHOWN = 6;
|
|
21
25
|
private readonly diffsBetweenRequests;
|
|
22
26
|
private fileChangesDiffsObservable;
|
|
23
27
|
private list;
|
|
24
|
-
private
|
|
25
|
-
constructor(content: IChatFileChangesSummaryPart, context: IChatContentPartRenderContext, hoverService: IHoverService, chatService: IChatService, editorService: IEditorService, instantiationService: IInstantiationService);
|
|
28
|
+
private readonly detailsElement;
|
|
29
|
+
constructor(content: IChatFileChangesSummaryPart, context: IChatContentPartRenderContext, hoverService: IHoverService, chatService: IChatService, editorService: IEditorService, configurationService: IConfigurationService, instantiationService: IInstantiationService, chatResponseFileChangesService: IChatResponseFileChangesService);
|
|
26
30
|
private computeFileChangesDiffs;
|
|
27
31
|
getCachedEntryDiffBetweenRequests(editSession: IChatEditingSession, uri: URI, startRequestId: string, stopRequestId: string): IObservable<IEditSessionEntryDiff | undefined> | undefined;
|
|
28
32
|
private renderHeader;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { $, addDisposableListener, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
|
-
import { ButtonWithIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
|
|
3
|
+
import { $, createElement, addDisposableListener, EventHelper, isMouseEvent, isKeyboardEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
4
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
6
5
|
import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
|
|
7
6
|
import { Disposable, DisposableStore, toDisposable, combinedDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
@@ -9,9 +8,10 @@ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/in
|
|
|
9
8
|
import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
10
9
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
11
10
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
12
|
-
import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
11
|
+
import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
13
12
|
import { FileKind } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
|
|
14
13
|
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
14
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
15
15
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
16
16
|
import { WorkbenchList } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
|
|
17
17
|
import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
|
|
@@ -20,7 +20,10 @@ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench
|
|
|
20
20
|
import { createFileIconThemableTreeContainerScope } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/files/browser/views/explorerView';
|
|
21
21
|
import { MultiDiffEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput';
|
|
22
22
|
import { MultiDiffEditorItem } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService';
|
|
23
|
+
import { ChatEditingSnapshotTextModelContentProvider } from '../../chatEditing/chatEditingTextModelContentProviders.js';
|
|
24
|
+
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
23
25
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
26
|
+
import { IChatResponseFileChangesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.service';
|
|
24
27
|
import { ResourcePool } from './chatCollections.js';
|
|
25
28
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
26
29
|
|
|
@@ -31,24 +34,34 @@ let ChatCheckpointFileChangesSummaryContentPart = class ChatCheckpointFileChange
|
|
|
31
34
|
hoverService,
|
|
32
35
|
chatService,
|
|
33
36
|
editorService,
|
|
34
|
-
|
|
37
|
+
configurationService,
|
|
38
|
+
instantiationService,
|
|
39
|
+
chatResponseFileChangesService
|
|
35
40
|
) {
|
|
36
41
|
super();
|
|
37
42
|
this.content = content;
|
|
38
43
|
this.hoverService = hoverService;
|
|
39
44
|
this.chatService = chatService;
|
|
40
45
|
this.editorService = editorService;
|
|
46
|
+
this.configurationService = configurationService;
|
|
41
47
|
this.instantiationService = instantiationService;
|
|
48
|
+
this.chatResponseFileChangesService = chatResponseFileChangesService;
|
|
42
49
|
this.ELEMENT_HEIGHT = 22;
|
|
43
50
|
this.MAX_ITEMS_SHOWN = 6;
|
|
44
51
|
this.diffsBetweenRequests = ( new Map());
|
|
45
|
-
this.isCollapsed = true;
|
|
46
52
|
this.fileChangesDiffsObservable = this.computeFileChangesDiffs(content);
|
|
47
|
-
|
|
48
|
-
this.
|
|
49
|
-
this.
|
|
53
|
+
this.domNode = $(".checkpoint-file-changes-summary.checkpoint-file-changes-compact");
|
|
54
|
+
this.detailsElement = createElement("details");
|
|
55
|
+
this.detailsElement.classList.add("checkpoint-file-changes-disclosure");
|
|
56
|
+
this.domNode.appendChild(this.detailsElement);
|
|
57
|
+
const headerDomNode = this.detailsElement.appendChild(createElement("summary"));
|
|
58
|
+
headerDomNode.classList.add("checkpoint-file-changes-summary-header");
|
|
59
|
+
this._register(autorun(r => {
|
|
60
|
+
const hasChanges = this.fileChangesDiffsObservable.read(r).length > 0;
|
|
61
|
+
this.domNode.style.display = hasChanges ? "" : "none";
|
|
62
|
+
}));
|
|
50
63
|
this._register(this.renderHeader(headerDomNode));
|
|
51
|
-
this._register(this.renderFilesList(this.
|
|
64
|
+
this._register(this.renderFilesList(this.detailsElement));
|
|
52
65
|
}
|
|
53
66
|
computeFileChangesDiffs(
|
|
54
67
|
{
|
|
@@ -56,6 +69,10 @@ let ChatCheckpointFileChangesSummaryContentPart = class ChatCheckpointFileChange
|
|
|
56
69
|
sessionResource
|
|
57
70
|
}
|
|
58
71
|
) {
|
|
72
|
+
const fromProvider = this.chatResponseFileChangesService.getChangesForRequest(sessionResource, requestId);
|
|
73
|
+
if (fromProvider) {
|
|
74
|
+
return fromProvider;
|
|
75
|
+
}
|
|
59
76
|
return ( ( ( this.chatService.chatModels.map(
|
|
60
77
|
models => Iterable.find(models, m => isEqual(m.sessionResource, sessionResource))
|
|
61
78
|
)).map(model => model?.editingSession?.getDiffsForFilesInRequest(requestId))).map((diffs, r) => diffs?.read(r) || Iterable.empty()));
|
|
@@ -70,41 +87,61 @@ let ChatCheckpointFileChangesSummaryContentPart = class ChatCheckpointFileChange
|
|
|
70
87
|
return observable;
|
|
71
88
|
}
|
|
72
89
|
renderHeader(container) {
|
|
73
|
-
const
|
|
74
|
-
const
|
|
90
|
+
const filesLabel = container.appendChild($("span.chat-file-changes-label"));
|
|
91
|
+
const counts = container.appendChild($("span.chat-file-changes-counts", {
|
|
92
|
+
"aria-hidden": "true"
|
|
93
|
+
}));
|
|
94
|
+
const addedLabel = counts.appendChild($("span.insertions"));
|
|
95
|
+
const removedLabel = counts.appendChild($("span.deletions"));
|
|
96
|
+
const disposables = ( new DisposableStore());
|
|
97
|
+
disposables.add(this.renderViewAllFileChangesButton(container));
|
|
98
|
+
const chevron = container.appendChild($("span.chat-file-changes-chevron.chat-collapsible-hover-chevron", {
|
|
99
|
+
"aria-hidden": "true"
|
|
100
|
+
}));
|
|
101
|
+
chevron.classList.add(...ThemeIcon.asClassNameArray(Codicon.chevronRight));
|
|
75
102
|
this._register(autorun(r => {
|
|
76
103
|
const diffs = this.fileChangesDiffsObservable.read(r);
|
|
77
|
-
|
|
104
|
+
const fileCountLabel = diffs.length === 1 ? ( localize(7794, "1 file changed")) : ( localize(7795, "{0} files changed", diffs.length));
|
|
105
|
+
const additions = diffs.reduce((total, diff) => total + diff.added, 0);
|
|
106
|
+
const deletions = diffs.reduce((total, diff) => total + diff.removed, 0);
|
|
107
|
+
filesLabel.textContent = fileCountLabel;
|
|
108
|
+
addedLabel.textContent = `+${additions}`;
|
|
109
|
+
removedLabel.textContent = `-${deletions}`;
|
|
110
|
+
container.setAttribute("aria-label", ( localize(
|
|
111
|
+
7796,
|
|
112
|
+
"{0}, {1} lines added, {2} lines deleted",
|
|
113
|
+
fileCountLabel,
|
|
114
|
+
additions,
|
|
115
|
+
deletions
|
|
116
|
+
)));
|
|
78
117
|
}));
|
|
79
118
|
const setExpansionState = () => {
|
|
80
|
-
|
|
81
|
-
|
|
119
|
+
container.setAttribute("aria-expanded", String(this.detailsElement.open));
|
|
120
|
+
chevron.classList.toggle("codicon-chevron-right", !this.detailsElement.open);
|
|
121
|
+
chevron.classList.toggle("codicon-chevron-down", this.detailsElement.open);
|
|
82
122
|
};
|
|
83
123
|
setExpansionState();
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
this.isCollapsed = !this.isCollapsed;
|
|
88
|
-
setExpansionState();
|
|
89
|
-
}));
|
|
90
|
-
disposables.add(this.renderViewAllFileChangesButton(viewListButton.element));
|
|
124
|
+
disposables.add(
|
|
125
|
+
addDisposableListener(this.detailsElement, "toggle", setExpansionState)
|
|
126
|
+
);
|
|
91
127
|
return toDisposable(() => disposables.dispose());
|
|
92
128
|
}
|
|
93
129
|
renderViewAllFileChangesButton(container) {
|
|
94
|
-
const button = container.appendChild(
|
|
130
|
+
const button = container.appendChild(createElement("button"));
|
|
131
|
+
button.classList.add("chat-view-changes-icon");
|
|
132
|
+
button.type = "button";
|
|
95
133
|
const hoverDisposable = this.hoverService.setupDelayedHover(button, () => ({
|
|
96
|
-
content: ( localize2(
|
|
134
|
+
content: ( localize2(7797, "View All File Changes"))
|
|
97
135
|
}));
|
|
98
136
|
button.classList.add(...ThemeIcon.asClassNameArray(Codicon.diffMultiple));
|
|
99
|
-
button.setAttribute("
|
|
100
|
-
button.tabIndex = 0;
|
|
137
|
+
button.setAttribute("aria-label", ( localize(7797, "View All File Changes")));
|
|
101
138
|
return combinedDisposable(hoverDisposable, addDisposableListener(button, "click", e => {
|
|
102
139
|
const resources = ( this.fileChangesDiffsObservable.get().map(diff => ({
|
|
103
140
|
originalUri: diff.originalURI,
|
|
104
141
|
modifiedUri: diff.modifiedURI
|
|
105
142
|
})));
|
|
106
143
|
const source = ( URI.parse(`multi-diff-editor:${( ( new Date()).getMilliseconds().toString()) + ( Math.random().toString())}`));
|
|
107
|
-
const input = this.instantiationService.createInstance(MultiDiffEditorInput, source, "Checkpoint File Changes", ( resources.map(resource => {
|
|
144
|
+
const input = this.instantiationService.createInstance(MultiDiffEditorInput, source, ( localize(7798, "Checkpoint File Changes")), ( resources.map(resource => {
|
|
108
145
|
return ( new MultiDiffEditorItem(resource.originalUri, resource.modifiedUri, undefined));
|
|
109
146
|
})), false);
|
|
110
147
|
this.editorService.openEditor(input);
|
|
@@ -123,7 +160,22 @@ let ChatCheckpointFileChangesSummaryContentPart = class ChatCheckpointFileChange
|
|
|
123
160
|
if (!diff) {
|
|
124
161
|
return;
|
|
125
162
|
}
|
|
126
|
-
const
|
|
163
|
+
const altKey = (isMouseEvent(item.browserEvent) || isKeyboardEvent(item.browserEvent)) && item.browserEvent.altKey;
|
|
164
|
+
const openInDiffEditorByDefault = this.configurationService.getValue(ChatConfiguration.OpenChangedFileInDiffEditor);
|
|
165
|
+
const openInDiffEditor = altKey ? !openInDiffEditorByDefault : openInDiffEditorByDefault;
|
|
166
|
+
if (!openInDiffEditor) {
|
|
167
|
+
const fileURI = ChatEditingSnapshotTextModelContentProvider.getOriginalFileURI(diff.modifiedURI);
|
|
168
|
+
if (fileURI) {
|
|
169
|
+
this.editorService.openEditor({
|
|
170
|
+
resource: fileURI,
|
|
171
|
+
options: {
|
|
172
|
+
preserveFocus: true
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
this.editorService.openEditor({
|
|
127
179
|
original: {
|
|
128
180
|
resource: diff.originalURI
|
|
129
181
|
},
|
|
@@ -133,8 +185,7 @@ let ChatCheckpointFileChangesSummaryContentPart = class ChatCheckpointFileChange
|
|
|
133
185
|
options: {
|
|
134
186
|
preserveFocus: true
|
|
135
187
|
}
|
|
136
|
-
};
|
|
137
|
-
this.editorService.openEditor(input);
|
|
188
|
+
});
|
|
138
189
|
}));
|
|
139
190
|
store.add(this.list.onContextMenu(e => {
|
|
140
191
|
EventHelper.stop(e.browserEvent, true);
|
|
@@ -156,7 +207,7 @@ let ChatCheckpointFileChangesSummaryContentPart = class ChatCheckpointFileChange
|
|
|
156
207
|
this._register(disposable);
|
|
157
208
|
}
|
|
158
209
|
};
|
|
159
|
-
ChatCheckpointFileChangesSummaryContentPart = ( __decorate([( __param(2, IHoverService)), ( __param(3, IChatService)), ( __param(4, IEditorService)), ( __param(5, IInstantiationService))], ChatCheckpointFileChangesSummaryContentPart));
|
|
210
|
+
ChatCheckpointFileChangesSummaryContentPart = ( __decorate([( __param(2, IHoverService)), ( __param(3, IChatService)), ( __param(4, IEditorService)), ( __param(5, IConfigurationService)), ( __param(6, IInstantiationService)), ( __param(7, IChatResponseFileChangesService))], ChatCheckpointFileChangesSummaryContentPart));
|
|
160
211
|
let CollapsibleChangesSummaryListPool = class CollapsibleChangesSummaryListPool extends Disposable {
|
|
161
212
|
constructor(instantiationService, themeService) {
|
|
162
213
|
super();
|
|
@@ -29,7 +29,7 @@ let ChatCodeCitationContentPart = class ChatCodeCitationContentPart extends Disp
|
|
|
29
29
|
buttonSecondaryHoverBackground: undefined,
|
|
30
30
|
buttonSeparator: undefined
|
|
31
31
|
})));
|
|
32
|
-
button.label = ( localize(
|
|
32
|
+
button.label = ( localize(7799, "View matches"));
|
|
33
33
|
this._register(button.onDidClick(() => {
|
|
34
34
|
const citationText = `# Code Citations\n\n` + ( citations.citations.map(c => `## License: ${c.license}\n${( c.value.toString())}\n\n\`\`\`\n${c.snippet}\n\`\`\`\n\n`)).join("\n");
|
|
35
35
|
this.editorService.openEditor({
|
|
@@ -23,7 +23,7 @@ let ChatCommandButtonContentPart = class ChatCommandButtonContentPart extends Di
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
renderButton(container, command, enabled, secondary) {
|
|
26
|
-
const tooltip = enabled ? command.tooltip : ( localize(
|
|
26
|
+
const tooltip = enabled ? command.tooltip : ( localize(7800, "Button not available in restored chat"));
|
|
27
27
|
const button = this._register(( new Button(container, {
|
|
28
28
|
...defaultButtonStyles,
|
|
29
29
|
supportIcons: true,
|
|
@@ -26,10 +26,10 @@ let ChatConfirmationContentPart = class ChatConfirmationContentPart extends Disp
|
|
|
26
26
|
data: confirmation.data,
|
|
27
27
|
isSecondary: button !== confirmation.buttons?.[0]
|
|
28
28
|
}))) : [{
|
|
29
|
-
label: ( localize(
|
|
29
|
+
label: ( localize(7801, "Accept")),
|
|
30
30
|
data: confirmation.data
|
|
31
31
|
}, {
|
|
32
|
-
label: ( localize(
|
|
32
|
+
label: ( localize(7802, "Dismiss")),
|
|
33
33
|
data: confirmation.data,
|
|
34
34
|
isSecondary: true
|
|
35
35
|
}];
|
|
@@ -507,12 +507,12 @@ function configureAccessibilityContainer(container, title, message, footerBanner
|
|
|
507
507
|
const messageAsString = typeof message === "string" ? message : message && "value" in message ? message.value : message && "textContent" in message ? message.textContent : "";
|
|
508
508
|
const bannerAsString = footerBanner?.textContent?.trim() ?? "";
|
|
509
509
|
container.setAttribute("aria-label", bannerAsString ? ( localize(
|
|
510
|
-
|
|
510
|
+
7803,
|
|
511
511
|
"Chat Confirmation Dialog {0} {1} {2}",
|
|
512
512
|
titleAsString,
|
|
513
513
|
messageAsString,
|
|
514
514
|
bannerAsString
|
|
515
|
-
)) : ( localize(
|
|
515
|
+
)) : ( localize(7804, "Chat Confirmation Dialog {0} {1}", titleAsString, messageAsString)));
|
|
516
516
|
container.classList.add("chat-confirmation-widget-container");
|
|
517
517
|
}
|
|
518
518
|
|
|
@@ -24,13 +24,13 @@ let ChatDisabledClaudeHooksContentPart = class ChatDisabledClaudeHooksContentPar
|
|
|
24
24
|
const icon = $(".chat-disabled-claude-hooks-icon");
|
|
25
25
|
icon.classList.add(...ThemeIcon.asClassNameArray(Codicon.info));
|
|
26
26
|
const enableLink = createMarkdownCommandLink({
|
|
27
|
-
text: ( localize(
|
|
27
|
+
text: ( localize(7805, "Enable")),
|
|
28
28
|
id: "workbench.action.openSettings",
|
|
29
29
|
arguments: [PromptsConfig.USE_CLAUDE_HOOKS],
|
|
30
|
-
tooltip: ( localize(
|
|
30
|
+
tooltip: ( localize(7806, "Open settings to enable Claude Code hooks"))
|
|
31
31
|
});
|
|
32
32
|
const message = ( localize(
|
|
33
|
-
|
|
33
|
+
7807,
|
|
34
34
|
"Claude Code hooks are available for this workspace. {0}",
|
|
35
35
|
enableLink
|
|
36
36
|
));
|
|
@@ -5,6 +5,7 @@ import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/th
|
|
|
5
5
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
6
6
|
import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service";
|
|
7
7
|
import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
|
|
8
|
+
import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service";
|
|
8
9
|
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
9
10
|
import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service";
|
|
10
11
|
import { IOpenEditorOptions } from "../../../../../../platform/editor/browser/editor.js";
|
|
@@ -91,3 +92,13 @@ export declare class ChatEditPillElement extends Disposable {
|
|
|
91
92
|
*/
|
|
92
93
|
setTooltip(tooltip: string): void;
|
|
93
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Resolves the given resource and reports whether it has no content, which is
|
|
97
|
+
* the case when a file was newly created or was empty before an edit.
|
|
98
|
+
*
|
|
99
|
+
* The pill consumers use this to decide whether opening a diff editor is
|
|
100
|
+
* meaningful: a pure addition into an empty (or non-existent) original has
|
|
101
|
+
* nothing to diff against, so the resulting file should open in a normal
|
|
102
|
+
* editor instead.
|
|
103
|
+
*/
|
|
104
|
+
export declare function isResourceContentEmpty(textModelService: ITextModelService, uri: URI): Promise<boolean>;
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.js
CHANGED
|
@@ -136,5 +136,17 @@ let ChatEditPillElement = class ChatEditPillElement extends Disposable {
|
|
|
136
136
|
}
|
|
137
137
|
};
|
|
138
138
|
ChatEditPillElement = ( __decorate([( __param(0, ILabelService)), ( __param(1, IModelService)), ( __param(2, ILanguageService)), ( __param(3, IHoverService))], ChatEditPillElement));
|
|
139
|
+
async function isResourceContentEmpty(textModelService, uri) {
|
|
140
|
+
try {
|
|
141
|
+
const ref = await textModelService.createModelReference(uri);
|
|
142
|
+
try {
|
|
143
|
+
return ref.object.textEditorModel.getValueLength() === 0;
|
|
144
|
+
} finally {
|
|
145
|
+
ref.dispose();
|
|
146
|
+
}
|
|
147
|
+
} catch {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
139
151
|
|
|
140
|
-
export { ChatEditPillElement };
|
|
152
|
+
export { ChatEditPillElement, isResourceContentEmpty };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { isMarkdownString, MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
4
|
-
import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
5
4
|
import { Disposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
5
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
7
6
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
@@ -14,7 +13,7 @@ import { IChatAccessibilityService } from '@codingame/monaco-vscode-api/vscode/v
|
|
|
14
13
|
import { AcceptElicitationRequestActionId } from '../../actions/chatElicitationActions.js';
|
|
15
14
|
import { IChatToolRiskAssessmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service';
|
|
16
15
|
import { ChatConfirmationWidget } from './chatConfirmationWidget.js';
|
|
17
|
-
import {
|
|
16
|
+
import { createToolRiskBadge } from './toolInvocationParts/toolRiskBadgeHelper.js';
|
|
18
17
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
19
18
|
|
|
20
19
|
let ChatElicitationContentPart = class ChatElicitationContentPart extends Disposable {
|
|
@@ -133,41 +132,18 @@ let ChatElicitationContentPart = class ChatElicitationContentPart extends Dispos
|
|
|
133
132
|
if (elicitation.kind !== "elicitation2" || !elicitation.riskAssessment) {
|
|
134
133
|
return undefined;
|
|
135
134
|
}
|
|
136
|
-
if (!this.riskAssessmentService.isEnabled()) {
|
|
137
|
-
return undefined;
|
|
138
|
-
}
|
|
139
135
|
const {
|
|
140
136
|
toolId,
|
|
141
137
|
parameters
|
|
142
138
|
} = elicitation.riskAssessment;
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
} else {
|
|
152
|
-
widget.setLoading();
|
|
153
|
-
const cts = this._register(( new CancellationTokenSource()));
|
|
154
|
-
(async () => {
|
|
155
|
-
try {
|
|
156
|
-
const result = await this.riskAssessmentService.assess(tool, parameters, cts.token);
|
|
157
|
-
if (cts.token.isCancellationRequested) {
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
if (!result) {
|
|
161
|
-
widget.setHidden();
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
widget.setAssessment(result);
|
|
165
|
-
} catch {
|
|
166
|
-
widget.setHidden();
|
|
167
|
-
}
|
|
168
|
-
})();
|
|
169
|
-
}
|
|
170
|
-
return widget.domNode;
|
|
139
|
+
return createToolRiskBadge(
|
|
140
|
+
this._store,
|
|
141
|
+
this.instantiationService,
|
|
142
|
+
this.riskAssessmentService,
|
|
143
|
+
this.languageModelToolsService,
|
|
144
|
+
toolId,
|
|
145
|
+
parameters
|
|
146
|
+
)?.domNode;
|
|
171
147
|
}
|
|
172
148
|
hasSameContent(other) {
|
|
173
149
|
return other === this.elicitation;
|
|
@@ -30,7 +30,7 @@ let ChatExtensionsContentPart = class ChatExtensionsContentPart extends Disposab
|
|
|
30
30
|
append(
|
|
31
31
|
loadingElement,
|
|
32
32
|
$(ThemeIcon.asCSSSelector(ThemeIcon.modify(Codicon.loading, "spin"))),
|
|
33
|
-
$("span.loading-message", undefined, ( localize(
|
|
33
|
+
$("span.loading-message", undefined, ( localize(7808, "Loading extensions...")))
|
|
34
34
|
);
|
|
35
35
|
const extensionsList = append(this.domNode, $(".extensions-list"));
|
|
36
36
|
const list = this._register(
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
2
2
|
import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service";
|
|
3
3
|
import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
|
|
4
|
+
import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service";
|
|
4
5
|
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
5
6
|
import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service";
|
|
6
7
|
import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
|
|
@@ -22,11 +23,14 @@ import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentPa
|
|
|
22
23
|
*
|
|
23
24
|
* Activation (click / Enter) opens the side-by-side diff editor when both
|
|
24
25
|
* `beforeContentUri` and `afterContentUri` are present, falling back to
|
|
25
|
-
* opening the resulting file otherwise.
|
|
26
|
+
* opening the resulting file otherwise. A pure addition into an empty (or
|
|
27
|
+
* non-existent) original is treated as the fallback case, since there is
|
|
28
|
+
* nothing meaningful to diff against.
|
|
26
29
|
*/
|
|
27
30
|
export declare class ChatExternalEditContentPart extends ChatEditPillElement implements IChatContentPart {
|
|
28
31
|
private readonly edit;
|
|
29
32
|
private readonly editorService;
|
|
33
|
+
private readonly textModelService;
|
|
30
34
|
private readonly _onDidChangeDiff;
|
|
31
35
|
/**
|
|
32
36
|
* Fires once with the static diff stats from the part data. Wired up by
|
|
@@ -39,7 +43,7 @@ export declare class ChatExternalEditContentPart extends ChatEditPillElement imp
|
|
|
39
43
|
*/
|
|
40
44
|
readonly onDidChangeDiff: Event<IEditSessionDiffStats>;
|
|
41
45
|
get domNode(): HTMLElement;
|
|
42
|
-
constructor(edit: IChatExternalEdit, _context: IChatContentPartRenderContext, labelService: ILabelService, modelService: IModelService, languageService: ILanguageService, hoverService: IHoverService, editorService: IEditorService);
|
|
46
|
+
constructor(edit: IChatExternalEdit, _context: IChatContentPartRenderContext, labelService: ILabelService, modelService: IModelService, languageService: ILanguageService, hoverService: IHoverService, editorService: IEditorService, textModelService: ITextModelService);
|
|
43
47
|
private render;
|
|
44
48
|
private openEdit;
|
|
45
49
|
hasSameContent(other: IChatRendererContent, _followingContent: IChatRendererContent[], _element: ChatTreeItem): boolean;
|