@codingame/monaco-vscode-katex-common 26.2.2 → 28.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/platform/actionWidget/browser/actionWidgetDropdown.d.ts +10 -4
- package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +37 -11
- package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +3 -0
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +15 -4
- package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +576 -0
- package/vscode/src/vs/{workbench/contrib → platform}/mcp/common/modelContextProtocolApps.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +176 -17
- 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 +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +127 -64
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +106 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +105 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +69 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +35 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +187 -78
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +138 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +394 -87
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +28 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +38 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +113 -116
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +16 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +30 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +250 -132
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +1 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -110
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.d.ts +1 -1
- 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.d.ts +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 +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +9 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +7 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +22 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +11 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.d.ts +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.d.ts +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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +0 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +53 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +24 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +62 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +414 -129
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +19 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +263 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +14 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +98 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.d.ts +1 -1
- 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 +11 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +252 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +29 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +246 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +39 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +6 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +36 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +3 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +6 -260
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.d.ts +1 -1
- 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.d.ts +5 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +42 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +12 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +65 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +9 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +356 -415
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +14 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +102 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +68 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/codeBlockPart.css +48 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +47 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.d.ts +1 -1
- 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/chatInputOutputMarkdownProgressPart.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +0 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +57 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +24 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +103 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +44 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +85 -89
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +3 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +15 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +41 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +1 -1
- 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 +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +2 -1
- 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 +21 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +341 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +13 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +440 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +24 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +437 -241
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +77 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +521 -284
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +71 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +664 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +104 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +127 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +57 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +4 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +89 -49
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +87 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +213 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +15 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +563 -140
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +35 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +26 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +26 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +145 -79
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +36 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +35 -15
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +127 -30
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +20 -14
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +6 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +96 -34
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +11 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +68 -27
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +125 -13
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +8 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +54 -45
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +11 -10
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +172 -112
- 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/browser/media/inlineChat.css +2 -44
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +28 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +84 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +9 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +58 -41
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +1 -548
- 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/replNotebook/browser/replEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +6 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +0 -187
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
3
3
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
4
4
|
import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
5
|
+
import { alert } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
|
|
5
6
|
import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
6
7
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
7
8
|
import { isCodeEditor } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser';
|
|
@@ -32,6 +33,7 @@ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/
|
|
|
32
33
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
33
34
|
import { isAgentSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel';
|
|
34
35
|
import { AgentSessionProviders } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
36
|
+
import { IsSessionsWindowContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
35
37
|
|
|
36
38
|
class EditingSessionAction extends Action2 {
|
|
37
39
|
constructor(opts) {
|
|
@@ -84,7 +86,7 @@ registerAction2(class OpenFileInDiffAction extends WorkingSetAction {
|
|
|
84
86
|
constructor() {
|
|
85
87
|
super({
|
|
86
88
|
id: "chatEditing.openFileInDiff",
|
|
87
|
-
title: ( localize2(
|
|
89
|
+
title: ( localize2(5787, "Open Changes in Diff Editor")),
|
|
88
90
|
icon: Codicon.diffSingle,
|
|
89
91
|
menu: [{
|
|
90
92
|
id: MenuId.ChatEditingWidgetModifiedFilesToolbar,
|
|
@@ -115,7 +117,7 @@ registerAction2(class AcceptAction extends WorkingSetAction {
|
|
|
115
117
|
constructor() {
|
|
116
118
|
super({
|
|
117
119
|
id: "chatEditing.acceptFile",
|
|
118
|
-
title: ( localize2(
|
|
120
|
+
title: ( localize2(5788, "Keep")),
|
|
119
121
|
icon: Codicon.check,
|
|
120
122
|
menu: [{
|
|
121
123
|
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)), ContextKeyExpr.notIn(
|
|
@@ -141,7 +143,7 @@ registerAction2(class DiscardAction extends WorkingSetAction {
|
|
|
141
143
|
constructor() {
|
|
142
144
|
super({
|
|
143
145
|
id: "chatEditing.discardFile",
|
|
144
|
-
title: ( localize2(
|
|
146
|
+
title: ( localize2(5789, "Undo")),
|
|
145
147
|
icon: Codicon.discard,
|
|
146
148
|
menu: [{
|
|
147
149
|
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)), ContextKeyExpr.notIn(
|
|
@@ -167,9 +169,9 @@ class ChatEditingAcceptAllAction extends EditingSessionAction {
|
|
|
167
169
|
constructor() {
|
|
168
170
|
super({
|
|
169
171
|
id: "chatEditing.acceptAllFiles",
|
|
170
|
-
title: ( localize(
|
|
172
|
+
title: ( localize(5790, "Keep")),
|
|
171
173
|
icon: Codicon.check,
|
|
172
|
-
tooltip: ( localize(
|
|
174
|
+
tooltip: ( localize(5791, "Keep All Edits")),
|
|
173
175
|
precondition: hasUndecidedChatEditingResourceContextKey,
|
|
174
176
|
keybinding: {
|
|
175
177
|
primary: KeyMod.CtrlCmd | KeyCode.Enter,
|
|
@@ -193,9 +195,9 @@ class ChatEditingDiscardAllAction extends EditingSessionAction {
|
|
|
193
195
|
constructor() {
|
|
194
196
|
super({
|
|
195
197
|
id: "chatEditing.discardAllFiles",
|
|
196
|
-
title: ( localize(
|
|
198
|
+
title: ( localize(5792, "Undo")),
|
|
197
199
|
icon: Codicon.discard,
|
|
198
|
-
tooltip: ( localize(
|
|
200
|
+
tooltip: ( localize(5793, "Undo All Edits")),
|
|
199
201
|
precondition: hasUndecidedChatEditingResourceContextKey,
|
|
200
202
|
menu: [{
|
|
201
203
|
id: MenuId.ChatEditingWidgetToolbar,
|
|
@@ -226,8 +228,8 @@ class ToggleExplanationWidgetAction extends EditingSessionAction {
|
|
|
226
228
|
constructor() {
|
|
227
229
|
super({
|
|
228
230
|
id: ToggleExplanationWidgetAction.ID,
|
|
229
|
-
title: ( localize(
|
|
230
|
-
tooltip: ( localize(
|
|
231
|
+
title: ( localize(5794, "Explain")),
|
|
232
|
+
tooltip: ( localize(5795, "Toggle Change Explanations")),
|
|
231
233
|
precondition: hasUndecidedChatEditingResourceContextKey,
|
|
232
234
|
menu: [{
|
|
233
235
|
id: MenuId.ChatEditingWidgetToolbar,
|
|
@@ -251,17 +253,17 @@ async function discardAllEditsWithConfirmation(accessor, currentEditingSession)
|
|
|
251
253
|
const entries = currentEditingSession.entries.get().filter(e => e.state.get() === ModifiedFileEntryState.Modified);
|
|
252
254
|
if (entries.length > 0) {
|
|
253
255
|
const confirmation = await dialogService.confirm({
|
|
254
|
-
title: ( localize(
|
|
256
|
+
title: ( localize(5796, "Undo all edits?")),
|
|
255
257
|
message: entries.length === 1 ? ( localize(
|
|
256
|
-
|
|
258
|
+
5797,
|
|
257
259
|
"This will undo changes made in {0}. Do you want to proceed?",
|
|
258
260
|
basename(entries[0].modifiedURI)
|
|
259
261
|
)) : ( localize(
|
|
260
|
-
|
|
262
|
+
5798,
|
|
261
263
|
"This will undo changes made in {0} files. Do you want to proceed?",
|
|
262
264
|
entries.length
|
|
263
265
|
)),
|
|
264
|
-
primaryButton: ( localize(
|
|
266
|
+
primaryButton: ( localize(5799, "Yes")),
|
|
265
267
|
type: "info"
|
|
266
268
|
});
|
|
267
269
|
if (!confirmation.confirmed) {
|
|
@@ -276,7 +278,7 @@ class ChatEditingShowChangesAction extends EditingSessionAction {
|
|
|
276
278
|
this.ID = "chatEditing.viewChanges";
|
|
277
279
|
}
|
|
278
280
|
static {
|
|
279
|
-
this.LABEL = ( localize(
|
|
281
|
+
this.LABEL = ( localize(5800, "View All Edits"));
|
|
280
282
|
}
|
|
281
283
|
constructor() {
|
|
282
284
|
super({
|
|
@@ -309,7 +311,7 @@ class ViewAllSessionChangesAction extends Action2 {
|
|
|
309
311
|
constructor() {
|
|
310
312
|
super({
|
|
311
313
|
id: ViewAllSessionChangesAction.ID,
|
|
312
|
-
title: ( localize2(
|
|
314
|
+
title: ( localize2(5801, "View All Changes")),
|
|
313
315
|
icon: Codicon.diffMultiple,
|
|
314
316
|
category: CHAT_CATEGORY,
|
|
315
317
|
precondition: ChatContextKeys.hasAgentSessionChanges,
|
|
@@ -322,7 +324,7 @@ class ViewAllSessionChangesAction extends Action2 {
|
|
|
322
324
|
id: MenuId.AgentSessionItemToolbar,
|
|
323
325
|
group: "navigation",
|
|
324
326
|
order: 0,
|
|
325
|
-
when: ChatContextKeys.hasAgentSessionChanges
|
|
327
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.hasAgentSessionChanges, ( IsSessionsWindowContext.negate())))
|
|
326
328
|
}]
|
|
327
329
|
});
|
|
328
330
|
}
|
|
@@ -351,7 +353,7 @@ class ViewAllSessionChangesAction extends Action2 {
|
|
|
351
353
|
multiDiffSourceUri: sessionResource.with({
|
|
352
354
|
scheme: sessionResource.scheme + "-worktree-changes"
|
|
353
355
|
}),
|
|
354
|
-
title: ( localize(
|
|
356
|
+
title: ( localize(5802, "All Session Changes")),
|
|
355
357
|
resources
|
|
356
358
|
});
|
|
357
359
|
session?.setRead(true);
|
|
@@ -363,13 +365,13 @@ class ViewAllSessionChangesAction extends Action2 {
|
|
|
363
365
|
}
|
|
364
366
|
}
|
|
365
367
|
registerAction2(ViewAllSessionChangesAction);
|
|
366
|
-
async function
|
|
368
|
+
async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResource, requestId) {
|
|
367
369
|
const configurationService = accessor.get(IConfigurationService);
|
|
368
370
|
const dialogService = accessor.get(IDialogService);
|
|
369
371
|
const chatWidgetService = accessor.get(IChatWidgetService);
|
|
370
|
-
const widget = chatWidgetService.getWidgetBySessionResource(
|
|
372
|
+
const widget = chatWidgetService.getWidgetBySessionResource(sessionResource);
|
|
371
373
|
const chatService = accessor.get(IChatService);
|
|
372
|
-
const chatModel = chatService.getSession(
|
|
374
|
+
const chatModel = chatService.getSession(sessionResource);
|
|
373
375
|
if (!chatModel) {
|
|
374
376
|
return;
|
|
375
377
|
}
|
|
@@ -377,73 +379,80 @@ async function restoreSnapshotWithConfirmation(accessor, item) {
|
|
|
377
379
|
if (!session) {
|
|
378
380
|
return;
|
|
379
381
|
}
|
|
380
|
-
const
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
)
|
|
397
|
-
|
|
398
|
-
message = ( localize(
|
|
399
|
-
5303,
|
|
400
|
-
"This will remove your last request and undo edits made to {0} files in your working set. Do you want to proceed?",
|
|
401
|
-
entriesModifiedInRequestsToRemove.length
|
|
402
|
-
));
|
|
403
|
-
}
|
|
382
|
+
const chatRequests = chatModel.getRequests();
|
|
383
|
+
const itemIndex = chatRequests.findIndex(request => request.id === requestId);
|
|
384
|
+
if (itemIndex === -1) {
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
const editsToUndo = chatRequests.length - itemIndex;
|
|
388
|
+
const requestsToRemove = chatRequests.slice(itemIndex);
|
|
389
|
+
const requestIdsToRemove = ( new Set(( requestsToRemove.map(request => request.id))));
|
|
390
|
+
const entriesModifiedInRequestsToRemove = session.entries.get().filter(entry => ( requestIdsToRemove.has(entry.lastModifyingRequestId))) ?? [];
|
|
391
|
+
const shouldPrompt = entriesModifiedInRequestsToRemove.length > 0 && configurationService.getValue("chat.editing.confirmEditRequestRemoval") === true;
|
|
392
|
+
let message;
|
|
393
|
+
if (editsToUndo === 1) {
|
|
394
|
+
if (entriesModifiedInRequestsToRemove.length === 1) {
|
|
395
|
+
message = ( localize(
|
|
396
|
+
5803,
|
|
397
|
+
"This will remove your last request and undo the edits made to {0}. Do you want to proceed?",
|
|
398
|
+
basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
|
|
399
|
+
));
|
|
404
400
|
} else {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
)
|
|
417
|
-
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
401
|
+
message = ( localize(
|
|
402
|
+
5804,
|
|
403
|
+
"This will remove your last request and undo edits made to {0} files in your working set. Do you want to proceed?",
|
|
404
|
+
entriesModifiedInRequestsToRemove.length
|
|
405
|
+
));
|
|
406
|
+
}
|
|
407
|
+
} else {
|
|
408
|
+
if (entriesModifiedInRequestsToRemove.length === 1) {
|
|
409
|
+
message = ( localize(
|
|
410
|
+
5805,
|
|
411
|
+
"This will remove all subsequent requests and undo edits made to {0}. Do you want to proceed?",
|
|
412
|
+
basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
|
|
413
|
+
));
|
|
414
|
+
} else {
|
|
415
|
+
message = ( localize(
|
|
416
|
+
5806,
|
|
417
|
+
"This will remove all subsequent requests and undo edits made to {0} files in your working set. Do you want to proceed?",
|
|
418
|
+
entriesModifiedInRequestsToRemove.length
|
|
419
|
+
));
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
const confirmation = shouldPrompt ? await dialogService.confirm({
|
|
423
|
+
title: editsToUndo === 1 ? ( localize(5807, "Do you want to undo your last edit?")) : ( localize(5808, "Do you want to undo {0} edits?", editsToUndo)),
|
|
424
|
+
message: message,
|
|
425
|
+
primaryButton: ( localize(5809, "Yes")),
|
|
426
|
+
checkbox: {
|
|
427
|
+
label: ( localize(5810, "Don't ask again")),
|
|
428
|
+
checked: false
|
|
429
|
+
},
|
|
430
|
+
type: "info"
|
|
431
|
+
}) : {
|
|
432
|
+
confirmed: true
|
|
433
|
+
};
|
|
434
|
+
if (!confirmation.confirmed) {
|
|
435
|
+
widget?.viewModel?.model.setCheckpoint(undefined);
|
|
436
|
+
return;
|
|
440
437
|
}
|
|
438
|
+
if (confirmation.checkboxChecked) {
|
|
439
|
+
await configurationService.updateValue("chat.editing.confirmEditRequestRemoval", false);
|
|
440
|
+
}
|
|
441
|
+
const snapshotRequestId = chatRequests[itemIndex].id;
|
|
442
|
+
await session.restoreSnapshot(snapshotRequestId, undefined);
|
|
443
|
+
}
|
|
444
|
+
async function restoreSnapshotWithConfirmation(accessor, item) {
|
|
445
|
+
const requestId = isRequestVM(item) ? item.id : isResponseVM(item) ? item.requestId : undefined;
|
|
446
|
+
if (!requestId) {
|
|
447
|
+
return;
|
|
448
|
+
}
|
|
449
|
+
await restoreSnapshotWithConfirmationByRequestId(accessor, item.sessionResource, requestId);
|
|
441
450
|
}
|
|
442
451
|
registerAction2(class RemoveAction extends Action2 {
|
|
443
452
|
constructor() {
|
|
444
453
|
super({
|
|
445
454
|
id: "workbench.action.chat.undoEdits",
|
|
446
|
-
title: ( localize2(
|
|
455
|
+
title: ( localize2(5811, "Undo Requests")),
|
|
447
456
|
f1: false,
|
|
448
457
|
category: CHAT_CATEGORY,
|
|
449
458
|
icon: Codicon.discard,
|
|
@@ -452,7 +461,7 @@ registerAction2(class RemoveAction extends Action2 {
|
|
|
452
461
|
mac: {
|
|
453
462
|
primary: KeyMod.CtrlCmd | KeyCode.Backspace
|
|
454
463
|
},
|
|
455
|
-
when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( EditorContextKeys.textInputFocus.negate()))),
|
|
464
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( EditorContextKeys.textInputFocus.negate()), ( ChatContextKeys.inChatQuestionCarousel.negate()))),
|
|
456
465
|
weight: KeybindingWeight.WorkbenchContrib
|
|
457
466
|
},
|
|
458
467
|
menu: [{
|
|
@@ -485,8 +494,8 @@ registerAction2(class RestoreCheckpointAction extends Action2 {
|
|
|
485
494
|
constructor() {
|
|
486
495
|
super({
|
|
487
496
|
id: "workbench.action.chat.restoreCheckpoint",
|
|
488
|
-
title: ( localize2(
|
|
489
|
-
tooltip: ( localize2(
|
|
497
|
+
title: ( localize2(5812, "Restore Checkpoint")),
|
|
498
|
+
tooltip: ( localize2(5813, "Restores workspace and chat to this point")),
|
|
490
499
|
f1: false,
|
|
491
500
|
category: CHAT_CATEGORY,
|
|
492
501
|
keybinding: {
|
|
@@ -494,7 +503,7 @@ registerAction2(class RestoreCheckpointAction extends Action2 {
|
|
|
494
503
|
mac: {
|
|
495
504
|
primary: KeyMod.CtrlCmd | KeyCode.Backspace
|
|
496
505
|
},
|
|
497
|
-
when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( EditorContextKeys.textInputFocus.negate()))),
|
|
506
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( EditorContextKeys.textInputFocus.negate()), ( ChatContextKeys.inChatQuestionCarousel.negate()))),
|
|
498
507
|
weight: KeybindingWeight.WorkbenchContrib
|
|
499
508
|
},
|
|
500
509
|
menu: [{
|
|
@@ -527,20 +536,11 @@ registerAction2(class RestoreLastCheckpoint extends Action2 {
|
|
|
527
536
|
constructor() {
|
|
528
537
|
super({
|
|
529
538
|
id: "workbench.action.chat.restoreLastCheckpoint",
|
|
530
|
-
title: ( localize2(
|
|
531
|
-
f1:
|
|
539
|
+
title: ( localize2(5814, "Restore to Last Checkpoint")),
|
|
540
|
+
f1: true,
|
|
532
541
|
category: CHAT_CATEGORY,
|
|
533
542
|
icon: Codicon.discard,
|
|
534
|
-
|
|
535
|
-
id: MenuId.ChatMessageFooter,
|
|
536
|
-
group: "navigation",
|
|
537
|
-
order: 1,
|
|
538
|
-
when: ( ContextKeyExpr.and(
|
|
539
|
-
ContextKeyExpr.in(ChatContextKeys.itemId.key, ChatContextKeys.lastItemId.key),
|
|
540
|
-
( ContextKeyExpr.equals(`config.${ChatConfiguration.CheckpointsEnabled}`, true)),
|
|
541
|
-
( ChatContextKeys.lockedToCodingAgent.negate())
|
|
542
|
-
))
|
|
543
|
-
}]
|
|
543
|
+
precondition: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( ContextKeyExpr.equals(`config.${ChatConfiguration.CheckpointsEnabled}`, true)), ( ChatContextKeys.lockedToCodingAgent.negate())))
|
|
544
544
|
});
|
|
545
545
|
}
|
|
546
546
|
async run(accessor, ...args) {
|
|
@@ -551,33 +551,30 @@ registerAction2(class RestoreLastCheckpoint extends Action2 {
|
|
|
551
551
|
if (!isResponseVM(item) && !isRequestVM(item)) {
|
|
552
552
|
item = widget?.getFocus();
|
|
553
553
|
}
|
|
554
|
-
|
|
554
|
+
const sessionResource = widget?.viewModel?.sessionResource ?? (isChatTreeItem(item) ? item.sessionResource : undefined);
|
|
555
|
+
if (!sessionResource) {
|
|
555
556
|
return;
|
|
556
557
|
}
|
|
557
|
-
const chatModel = chatService.getSession(
|
|
558
|
-
if (!chatModel) {
|
|
558
|
+
const chatModel = chatService.getSession(sessionResource);
|
|
559
|
+
if (!chatModel?.editingSession) {
|
|
559
560
|
return;
|
|
560
561
|
}
|
|
561
|
-
const
|
|
562
|
-
if (!
|
|
562
|
+
const checkpointRequest = chatModel.checkpoint;
|
|
563
|
+
if (!checkpointRequest) {
|
|
564
|
+
alert(( localize(5815, "There is no checkpoint to restore.")));
|
|
563
565
|
return;
|
|
564
566
|
}
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
if (request) {
|
|
570
|
-
widget?.focusInput();
|
|
571
|
-
widget?.input.setValue(request.message.text, false);
|
|
572
|
-
}
|
|
573
|
-
}
|
|
567
|
+
widget?.viewModel?.model.setCheckpoint(checkpointRequest.id);
|
|
568
|
+
widget?.focusInput();
|
|
569
|
+
widget?.input.setValue(checkpointRequest.message.text, false);
|
|
570
|
+
await restoreSnapshotWithConfirmationByRequestId(accessor, sessionResource, checkpointRequest.id);
|
|
574
571
|
}
|
|
575
572
|
});
|
|
576
573
|
registerAction2(class EditAction extends Action2 {
|
|
577
574
|
constructor() {
|
|
578
575
|
super({
|
|
579
576
|
id: "workbench.action.chat.editRequests",
|
|
580
|
-
title: ( localize2(
|
|
577
|
+
title: ( localize2(5816, "Edit Request")),
|
|
581
578
|
f1: false,
|
|
582
579
|
category: CHAT_CATEGORY,
|
|
583
580
|
icon: Codicon.edit,
|
|
@@ -616,7 +613,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
|
|
|
616
613
|
constructor() {
|
|
617
614
|
super({
|
|
618
615
|
id: OpenWorkingSetHistoryAction.id,
|
|
619
|
-
title: ( localize(
|
|
616
|
+
title: ( localize(5817, "Open File")),
|
|
620
617
|
menu: [{
|
|
621
618
|
id: MenuId.ChatEditingCodeBlockContext,
|
|
622
619
|
group: "navigation",
|
|
@@ -642,7 +639,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
|
|
|
642
639
|
constructor() {
|
|
643
640
|
super({
|
|
644
641
|
id: OpenWorkingSetHistoryAction.id,
|
|
645
|
-
title: ( localize(
|
|
642
|
+
title: ( localize(5818, "Open File Snapshot")),
|
|
646
643
|
menu: [{
|
|
647
644
|
id: MenuId.ChatEditingCodeBlockContext,
|
|
648
645
|
group: "navigation",
|
|
@@ -666,7 +663,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
|
|
|
666
663
|
if (snapshot) {
|
|
667
664
|
const editor = await editorService.openEditor({
|
|
668
665
|
resource: snapshot,
|
|
669
|
-
label: ( localize(
|
|
666
|
+
label: ( localize(5819, "{0} (Snapshot)", basename(context.uri))),
|
|
670
667
|
options: {
|
|
671
668
|
activation: EditorActivation.ACTIVATE
|
|
672
669
|
}
|
|
@@ -683,7 +680,7 @@ registerAction2(class ResolveSymbolsContextAction extends EditingSessionAction {
|
|
|
683
680
|
constructor() {
|
|
684
681
|
super({
|
|
685
682
|
id: "workbench.action.edits.addFilesFromReferences",
|
|
686
|
-
title: ( localize2(
|
|
683
|
+
title: ( localize2(5820, "Add Files From References")),
|
|
687
684
|
f1: false,
|
|
688
685
|
category: CHAT_CATEGORY,
|
|
689
686
|
menu: {
|
|
@@ -747,7 +744,7 @@ class ViewPreviousEditsAction extends EditingSessionAction {
|
|
|
747
744
|
this.Id = "chatEditing.viewPreviousEdits";
|
|
748
745
|
}
|
|
749
746
|
static {
|
|
750
|
-
this.Label = ( localize(
|
|
747
|
+
this.Label = ( localize(5821, "View Previous Edits"));
|
|
751
748
|
}
|
|
752
749
|
constructor() {
|
|
753
750
|
super({
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js
CHANGED
|
@@ -4,6 +4,7 @@ import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/c
|
|
|
4
4
|
import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
5
5
|
import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
|
|
6
6
|
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
7
|
+
import { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility';
|
|
7
8
|
import { Action2, MenuId, registerAction2, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
8
9
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
9
10
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
@@ -63,7 +64,7 @@ class NavigateAction extends ChatEditingEditorAction {
|
|
|
63
64
|
constructor(next) {
|
|
64
65
|
super({
|
|
65
66
|
id: next ? "chatEditor.action.navigateNext" : "chatEditor.action.navigatePrevious",
|
|
66
|
-
title: next ? ( localize2(
|
|
67
|
+
title: next ? ( localize2(5823, "Go to Next Chat Edit")) : ( localize2(5824, "Go to Previous Chat Edit")),
|
|
67
68
|
icon: next ? Codicon.arrowDown : Codicon.arrowUp,
|
|
68
69
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ctxHasEditorModification)),
|
|
69
70
|
keybinding: {
|
|
@@ -127,9 +128,9 @@ class KeepOrUndoAction extends ChatEditingEditorAction {
|
|
|
127
128
|
constructor(id, _keep) {
|
|
128
129
|
super({
|
|
129
130
|
id,
|
|
130
|
-
title: _keep ? ( localize2(
|
|
131
|
-
shortTitle: _keep ? ( localize2(
|
|
132
|
-
tooltip: _keep ? ( localize2(
|
|
131
|
+
title: _keep ? ( localize2(5825, "Keep Chat Edits")) : ( localize2(5826, "Undo Chat Edits")),
|
|
132
|
+
shortTitle: _keep ? ( localize2(5827, "Keep")) : ( localize2(5828, "Undo")),
|
|
133
|
+
tooltip: _keep ? ( localize2(5829, "Keep Chat Edits in this File")) : ( localize2(5830, "Undo Chat Edits in this File")),
|
|
133
134
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
|
|
134
135
|
icon: _keep ? Codicon.check : Codicon.discard,
|
|
135
136
|
f1: true,
|
|
@@ -179,8 +180,8 @@ class AcceptRejectHunkAction extends ChatEditingEditorAction {
|
|
|
179
180
|
constructor(_accept) {
|
|
180
181
|
super({
|
|
181
182
|
id: _accept ? acceptHunkId : undoHunkId,
|
|
182
|
-
title: _accept ? ( localize2(
|
|
183
|
-
shortTitle: _accept ? ( localize2(
|
|
183
|
+
title: _accept ? ( localize2(5831, "Keep this Change")) : ( localize2(5832, "Undo this Change")),
|
|
184
|
+
shortTitle: _accept ? ( localize2(5833, "Keep")) : ( localize2(5834, "Undo")),
|
|
184
185
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
|
|
185
186
|
f1: true,
|
|
186
187
|
keybinding: {
|
|
@@ -227,7 +228,7 @@ class ToggleDiffAction extends ChatEditingEditorAction {
|
|
|
227
228
|
constructor() {
|
|
228
229
|
super({
|
|
229
230
|
id: "chatEditor.action.toggleDiff",
|
|
230
|
-
title: ( localize2(
|
|
231
|
+
title: ( localize2(5835, "Toggle Diff Editor for Chat Edits")),
|
|
231
232
|
category: CHAT_CATEGORY,
|
|
232
233
|
toggled: {
|
|
233
234
|
condition: ( ContextKeyExpr.or(EditorContextKeys.inDiffEditor, ( ActiveEditorContext.isEqualTo(TEXT_DIFF_EDITOR_ID)))),
|
|
@@ -264,11 +265,11 @@ class ToggleAccessibleDiffViewAction extends ChatEditingEditorAction {
|
|
|
264
265
|
constructor() {
|
|
265
266
|
super({
|
|
266
267
|
id: "chatEditor.action.showAccessibleDiffView",
|
|
267
|
-
title: ( localize2(
|
|
268
|
+
title: ( localize2(5836, "Show Accessible Diff View for Chat Edits")),
|
|
268
269
|
f1: true,
|
|
269
270
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
|
|
270
271
|
keybinding: {
|
|
271
|
-
when: EditorContextKeys.focus,
|
|
272
|
+
when: ( ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_ACCESSIBILITY_MODE_ENABLED)),
|
|
272
273
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
273
274
|
primary: KeyCode.F7
|
|
274
275
|
}
|
|
@@ -282,7 +283,7 @@ class ReviewChangesAction extends ChatEditingEditorAction {
|
|
|
282
283
|
constructor() {
|
|
283
284
|
super({
|
|
284
285
|
id: "chatEditor.action.reviewChanges",
|
|
285
|
-
title: ( localize2(
|
|
286
|
+
title: ( localize2(5837, "Review")),
|
|
286
287
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
|
|
287
288
|
menu: [{
|
|
288
289
|
id: MenuId.ChatEditingEditorContent,
|
|
@@ -303,8 +304,8 @@ class AcceptAllEditsAction extends ChatEditingEditorAction {
|
|
|
303
304
|
constructor() {
|
|
304
305
|
super({
|
|
305
306
|
id: AcceptAllEditsAction.ID,
|
|
306
|
-
title: ( localize2(
|
|
307
|
-
tooltip: ( localize2(
|
|
307
|
+
title: ( localize2(5838, "Keep All Chat Edits")),
|
|
308
|
+
tooltip: ( localize2(5839, "Keep All Chat Edits in this Session")),
|
|
308
309
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
|
|
309
310
|
icon: Codicon.checkAll,
|
|
310
311
|
f1: true,
|
|
@@ -323,7 +324,7 @@ class MultiDiffAcceptDiscardAction extends Action2 {
|
|
|
323
324
|
constructor(accept) {
|
|
324
325
|
super({
|
|
325
326
|
id: accept ? "chatEditing.multidiff.acceptAllFiles" : "chatEditing.multidiff.discardAllFiles",
|
|
326
|
-
title: accept ? ( localize(
|
|
327
|
+
title: accept ? ( localize(5840, "Keep All Edits")) : ( localize(5841, "Undo All Edits")),
|
|
327
328
|
icon: accept ? Codicon.check : Codicon.discard,
|
|
328
329
|
menu: {
|
|
329
330
|
when: ( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)),
|
|
@@ -374,7 +375,7 @@ class ExplainMultiDiffAction extends Action2 {
|
|
|
374
375
|
constructor() {
|
|
375
376
|
super({
|
|
376
377
|
id: "chatEditing.multidiff.explain",
|
|
377
|
-
title: ( localize(
|
|
378
|
+
title: ( localize(5842, "Explain")),
|
|
378
379
|
menu: {
|
|
379
380
|
when: ( ContextKeyExpr.and(( ContextKeyExpr.or(...( explainMultiDiffSchemes.map(scheme => ( ContextKeyExpr.equals("resourceScheme", scheme)))))), ( ContextKeyExpr.has(`config.${ChatConfiguration.ExplainChangesEnabled}`)))),
|
|
380
381
|
id: MenuId.MultiDiffEditorContent,
|
|
@@ -520,7 +521,7 @@ function registerChatEditorActions() {
|
|
|
520
521
|
MenuRegistry.appendMenuItem(MenuId.ChatEditingEditorContent, {
|
|
521
522
|
command: {
|
|
522
523
|
id: navigationBearingFakeActionId,
|
|
523
|
-
title: ( localize(
|
|
524
|
+
title: ( localize(5843, "Navigation Status")),
|
|
524
525
|
precondition: ( ContextKeyExpr.false())
|
|
525
526
|
},
|
|
526
527
|
group: "navigate",
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
2
2
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
3
3
|
import { IModifiedFileEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService";
|
|
4
|
-
import { ActionViewItem,
|
|
4
|
+
import { ActionViewItem, IActionViewItemOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems";
|
|
5
5
|
import { IAction, IActionRunner } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
|
|
6
6
|
import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
|
|
7
7
|
import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
|
|
@@ -12,7 +12,7 @@ export declare class ChatEditingAcceptRejectActionViewItem extends ActionViewIte
|
|
|
12
12
|
private readonly _keybindingService;
|
|
13
13
|
private readonly _primaryActionIds;
|
|
14
14
|
private readonly _reveal;
|
|
15
|
-
constructor(action: IAction, options:
|
|
15
|
+
constructor(action: IAction, options: IActionViewItemOptions, _entry: IObservable<IModifiedFileEntry | undefined>, _editor: {
|
|
16
16
|
focus(): void;
|
|
17
17
|
} | undefined, _keybindingService: IKeybindingService, _primaryActionIds?: readonly string[]);
|
|
18
18
|
render(container: HTMLElement): void;
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js
CHANGED
|
@@ -90,7 +90,7 @@ class ChatEditingAcceptRejectActionViewItem extends ActionViewItem {
|
|
|
90
90
|
}
|
|
91
91
|
getTooltip() {
|
|
92
92
|
const value = super.getTooltip();
|
|
93
|
-
if (!value
|
|
93
|
+
if (!value) {
|
|
94
94
|
return value;
|
|
95
95
|
}
|
|
96
96
|
return this._keybindingService.appendKeybinding(value, this._action.id);
|
|
@@ -200,9 +200,9 @@ let ChatEditorOverlayWidget = class ChatEditorOverlayWidget extends Disposable {
|
|
|
200
200
|
} = that._navigationBearings.read(r);
|
|
201
201
|
if (changeCount > 0) {
|
|
202
202
|
const n = activeIdx === -1 ? "1" : `${activeIdx + 1}`;
|
|
203
|
-
this.label.innerText = ( localize(
|
|
203
|
+
this.label.innerText = ( localize(5851, "{0} of {1}", n, changeCount));
|
|
204
204
|
} else {
|
|
205
|
-
this.label.innerText = ( localize(
|
|
205
|
+
this.label.innerText = ( localize(5852, "—"));
|
|
206
206
|
}
|
|
207
207
|
this.updateTooltip();
|
|
208
208
|
}));
|
|
@@ -217,18 +217,18 @@ let ChatEditorOverlayWidget = class ChatEditorOverlayWidget extends Disposable {
|
|
|
217
217
|
}
|
|
218
218
|
let result;
|
|
219
219
|
if (changeCount === 1 && entriesCount === 1) {
|
|
220
|
-
result = ( localize(
|
|
220
|
+
result = ( localize(5853, "1 change in 1 file"));
|
|
221
221
|
} else if (changeCount === 1) {
|
|
222
|
-
result = ( localize(
|
|
222
|
+
result = ( localize(5854, "1 change in {0} files", entriesCount));
|
|
223
223
|
} else if (entriesCount === 1) {
|
|
224
|
-
result = ( localize(
|
|
224
|
+
result = ( localize(5855, "{0} changes in 1 file", changeCount));
|
|
225
225
|
} else {
|
|
226
|
-
result = ( localize(
|
|
226
|
+
result = ( localize(5856, "{0} changes in {1} files", changeCount, entriesCount));
|
|
227
227
|
}
|
|
228
228
|
if (!that._isBusy.get()) {
|
|
229
229
|
return result;
|
|
230
230
|
}
|
|
231
|
-
return localize(
|
|
231
|
+
return localize(5857, "{0} - Working...", result);
|
|
232
232
|
}
|
|
233
233
|
})();
|
|
234
234
|
}
|