@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
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
3
|
-
import { hash } from '@codingame/monaco-vscode-api/vscode/vs/base/common/hash';
|
|
4
3
|
import { KeyCode, KeyMod } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
5
4
|
import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
6
5
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
@@ -14,22 +13,27 @@ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/
|
|
|
14
13
|
import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
15
14
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
16
15
|
import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
16
|
+
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
17
17
|
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
18
|
+
import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
19
|
+
import { IsSessionsWindowContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
18
20
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
21
|
+
import { getModeNameForTelemetry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
|
|
19
22
|
import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
|
|
20
23
|
import { chatVariableLeader } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatParserTypes';
|
|
24
|
+
import { ChatStopCancellationNoopEventName } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
21
25
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
22
|
-
import { ChatModeKind,
|
|
26
|
+
import { ChatModeKind, ChatAgentLocation, ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
23
27
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
|
|
24
|
-
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
25
28
|
import { isInClaudeAgentsFolder } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
26
29
|
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
27
30
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
28
31
|
import { AgentSessionProviders, getAgentSessionProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
29
32
|
import { getEditingSessionContext } from '../chatEditing/chatEditingActions.js';
|
|
30
33
|
import { ctxHasEditorModification, ctxIsGlobalEditingSession, ctxHasRequestInProgress } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
|
|
31
|
-
import { CHAT_CATEGORY, handleModeSwitch, ACTION_ID_NEW_CHAT, handleCurrentEditingSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
34
|
+
import { CHAT_CATEGORY, handleModeSwitch, ACTION_ID_NEW_CHAT, handleCurrentEditingSession, clearChatSessionPreservingType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
32
35
|
import { CreateRemoteAgentJobAction } from './chatContinueInAction.js';
|
|
36
|
+
import { CTX_HOVER_MODE } from '../../../inlineChat/common/inlineChat.js';
|
|
33
37
|
|
|
34
38
|
class SubmitAction extends Action2 {
|
|
35
39
|
async run(accessor, ...args) {
|
|
@@ -66,13 +70,13 @@ class SubmitAction extends Action2 {
|
|
|
66
70
|
if (editsToUndo === 1) {
|
|
67
71
|
if (entriesModifiedInRequestsToRemove.length === 1) {
|
|
68
72
|
message = ( localize(
|
|
69
|
-
|
|
73
|
+
4876,
|
|
70
74
|
"This will remove your last request and undo the edits made to {0}. Do you want to proceed?",
|
|
71
75
|
basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
|
|
72
76
|
));
|
|
73
77
|
} else {
|
|
74
78
|
message = ( localize(
|
|
75
|
-
|
|
79
|
+
4877,
|
|
76
80
|
"This will remove your last request and undo edits made to {0} files in your working set. Do you want to proceed?",
|
|
77
81
|
entriesModifiedInRequestsToRemove.length
|
|
78
82
|
));
|
|
@@ -80,24 +84,24 @@ class SubmitAction extends Action2 {
|
|
|
80
84
|
} else {
|
|
81
85
|
if (entriesModifiedInRequestsToRemove.length === 1) {
|
|
82
86
|
message = ( localize(
|
|
83
|
-
|
|
87
|
+
4878,
|
|
84
88
|
"This will remove all subsequent requests and undo edits made to {0}. Do you want to proceed?",
|
|
85
89
|
basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
|
|
86
90
|
));
|
|
87
91
|
} else {
|
|
88
92
|
message = ( localize(
|
|
89
|
-
|
|
93
|
+
4879,
|
|
90
94
|
"This will remove all subsequent requests and undo edits made to {0} files in your working set. Do you want to proceed?",
|
|
91
95
|
entriesModifiedInRequestsToRemove.length
|
|
92
96
|
));
|
|
93
97
|
}
|
|
94
98
|
}
|
|
95
99
|
const confirmation = shouldPrompt ? await dialogService.confirm({
|
|
96
|
-
title: editsToUndo === 1 ? ( localize(
|
|
100
|
+
title: editsToUndo === 1 ? ( localize(4880, "Do you want to undo your last edit?")) : ( localize(4881, "Do you want to undo {0} edits?", editsToUndo)),
|
|
97
101
|
message: message,
|
|
98
|
-
primaryButton: ( localize(
|
|
102
|
+
primaryButton: ( localize(4882, "Yes")),
|
|
99
103
|
checkbox: {
|
|
100
|
-
label: ( localize(
|
|
104
|
+
label: ( localize(4883, "Don't ask again")),
|
|
101
105
|
checked: false
|
|
102
106
|
},
|
|
103
107
|
type: "info"
|
|
@@ -149,9 +153,13 @@ class SubmitAction extends Action2 {
|
|
|
149
153
|
}
|
|
150
154
|
const requestInProgressOrPendingToolCall = ( ContextKeyExpr.or(
|
|
151
155
|
ChatContextKeys.requestInProgress,
|
|
152
|
-
ChatContextKeys.Editing.hasToolConfirmation
|
|
156
|
+
ChatContextKeys.Editing.hasToolConfirmation,
|
|
157
|
+
ChatContextKeys.Editing.hasQuestionCarousel
|
|
153
158
|
));
|
|
154
|
-
const
|
|
159
|
+
const requestInProgressWithoutInput = ( ContextKeyExpr.and(ChatContextKeys.requestInProgress, ( ChatContextKeys.inputHasText.negate())));
|
|
160
|
+
const pendingToolCall = ( ContextKeyExpr.or(ChatContextKeys.Editing.hasToolConfirmation, ( ContextKeyExpr.and(ChatContextKeys.Editing.hasQuestionCarousel, ( ChatContextKeys.inputHasText.negate())))));
|
|
161
|
+
const noQuestionCarouselOrHasInput = ( ContextKeyExpr.or(( ChatContextKeys.Editing.hasQuestionCarousel.negate()), ChatContextKeys.inputHasText));
|
|
162
|
+
const whenNotInProgress = ( ChatContextKeys.requestInProgress.negate());
|
|
155
163
|
class ChatSubmitAction extends SubmitAction {
|
|
156
164
|
static {
|
|
157
165
|
this.ID = "workbench.action.chat.submit";
|
|
@@ -165,15 +173,15 @@ class ChatSubmitAction extends SubmitAction {
|
|
|
165
173
|
));
|
|
166
174
|
super({
|
|
167
175
|
id: ChatSubmitAction.ID,
|
|
168
|
-
title: ( localize2(
|
|
176
|
+
title: ( localize2(4884, "Send")),
|
|
169
177
|
f1: false,
|
|
170
178
|
category: CHAT_CATEGORY,
|
|
171
|
-
icon: Codicon.
|
|
179
|
+
icon: Codicon.arrowUp,
|
|
172
180
|
precondition,
|
|
173
181
|
toggled: {
|
|
174
182
|
condition: ChatContextKeys.lockedToCodingAgent,
|
|
175
|
-
icon: Codicon.
|
|
176
|
-
tooltip: ( localize(
|
|
183
|
+
icon: Codicon.arrowUp,
|
|
184
|
+
tooltip: ( localize(4885, "Send to Agent"))
|
|
177
185
|
},
|
|
178
186
|
keybinding: {
|
|
179
187
|
when: ( ContextKeyExpr.and(ChatContextKeys.inChatInput, ( ChatContextKeys.withinEditSessionDiff.negate()))),
|
|
@@ -183,11 +191,11 @@ class ChatSubmitAction extends SubmitAction {
|
|
|
183
191
|
menu: [{
|
|
184
192
|
id: MenuId.ChatExecute,
|
|
185
193
|
order: 4,
|
|
186
|
-
when: ( ContextKeyExpr.and(whenNotInProgress, menuCondition, ( ChatContextKeys.withinEditSessionDiff.negate()))),
|
|
194
|
+
when: ( ContextKeyExpr.and(whenNotInProgress, menuCondition, ( ChatContextKeys.withinEditSessionDiff.negate()), noQuestionCarouselOrHasInput)),
|
|
187
195
|
group: "navigation",
|
|
188
196
|
alt: {
|
|
189
197
|
id: "workbench.action.chat.sendToNewChat",
|
|
190
|
-
title: ( localize2(
|
|
198
|
+
title: ( localize2(4886, "Send to New Chat")),
|
|
191
199
|
icon: Codicon.plus
|
|
192
200
|
}
|
|
193
201
|
}, {
|
|
@@ -207,7 +215,7 @@ class ToggleChatModeAction extends Action2 {
|
|
|
207
215
|
constructor() {
|
|
208
216
|
super({
|
|
209
217
|
id: ToggleChatModeAction.ID,
|
|
210
|
-
title: ( localize2(
|
|
218
|
+
title: ( localize2(4887, "Switch to Next Agent")),
|
|
211
219
|
f1: true,
|
|
212
220
|
category: CHAT_CATEGORY,
|
|
213
221
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.requestInProgress.negate())))
|
|
@@ -215,7 +223,6 @@ class ToggleChatModeAction extends Action2 {
|
|
|
215
223
|
}
|
|
216
224
|
async run(accessor, ...args) {
|
|
217
225
|
const commandService = accessor.get(ICommandService);
|
|
218
|
-
const configurationService = accessor.get(IConfigurationService);
|
|
219
226
|
const instaService = accessor.get(IInstantiationService);
|
|
220
227
|
const modeService = accessor.get(IChatModeService);
|
|
221
228
|
const telemetryService = accessor.get(ITelemetryService);
|
|
@@ -232,7 +239,7 @@ class ToggleChatModeAction extends Action2 {
|
|
|
232
239
|
}
|
|
233
240
|
const chatSession = widget.viewModel?.model;
|
|
234
241
|
const requestCount = chatSession?.getRequests().length ?? 0;
|
|
235
|
-
const switchToMode = (arg && (modeService.findModeById(arg.modeId) || modeService.findModeByName(arg.modeId))) ?? this.getNextMode(widget, requestCount,
|
|
242
|
+
const switchToMode = (arg && (modeService.findModeById(arg.modeId) || modeService.findModeByName(arg.modeId))) ?? this.getNextMode(widget, requestCount, modeService);
|
|
236
243
|
const currentMode = widget.input.currentModeObs.get();
|
|
237
244
|
if (switchToMode.id === currentMode.id) {
|
|
238
245
|
return;
|
|
@@ -251,13 +258,6 @@ class ToggleChatModeAction extends Action2 {
|
|
|
251
258
|
const extensionId = switchToMode.source?.storage === "extension" ? switchToMode.source.extensionId.value : undefined;
|
|
252
259
|
const toolsCount = switchToMode.customTools?.get()?.length ?? 0;
|
|
253
260
|
const handoffsCount = switchToMode.handOffs?.get()?.length ?? 0;
|
|
254
|
-
const getModeNameForTelemetry = mode => {
|
|
255
|
-
const modeStorage = mode.source?.storage;
|
|
256
|
-
if (modeStorage === PromptsStorage.local || modeStorage === PromptsStorage.user) {
|
|
257
|
-
return String(hash(mode.name.get()));
|
|
258
|
-
}
|
|
259
|
-
return mode.name.get();
|
|
260
|
-
};
|
|
261
261
|
const modeUri = switchToMode.uri?.get();
|
|
262
262
|
const isClaudeAgent = modeUri ? isInClaudeAgentsFolder(modeUri) : undefined;
|
|
263
263
|
telemetryService.publicLog2("chat.modeChange", {
|
|
@@ -275,10 +275,10 @@ class ToggleChatModeAction extends Action2 {
|
|
|
275
275
|
await commandService.executeCommand(ACTION_ID_NEW_CHAT);
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
|
-
getNextMode(chatWidget, requestCount,
|
|
278
|
+
getNextMode(chatWidget, requestCount, modeService) {
|
|
279
279
|
const modes = modeService.getModes();
|
|
280
280
|
const flat = [...modes.builtin.filter(mode => {
|
|
281
|
-
return mode.kind !== ChatModeKind.Edit ||
|
|
281
|
+
return mode.kind !== ChatModeKind.Edit || requestCount === 0;
|
|
282
282
|
}), ...(modes.custom ?? [])];
|
|
283
283
|
const curModeIndex = flat.findIndex(mode => mode.id === chatWidget.input.currentModeObs.get().id);
|
|
284
284
|
const newMode = flat[(curModeIndex + 1) % flat.length];
|
|
@@ -292,7 +292,7 @@ class SwitchToNextModelAction extends Action2 {
|
|
|
292
292
|
constructor() {
|
|
293
293
|
super({
|
|
294
294
|
id: SwitchToNextModelAction.ID,
|
|
295
|
-
title: ( localize2(
|
|
295
|
+
title: ( localize2(4888, "Switch to Next Model")),
|
|
296
296
|
category: CHAT_CATEGORY,
|
|
297
297
|
f1: true,
|
|
298
298
|
precondition: ChatContextKeys.enabled
|
|
@@ -311,7 +311,7 @@ class OpenModelPickerAction extends Action2 {
|
|
|
311
311
|
constructor() {
|
|
312
312
|
super({
|
|
313
313
|
id: OpenModelPickerAction.ID,
|
|
314
|
-
title: ( localize2(
|
|
314
|
+
title: ( localize2(4889, "Open Model Picker")),
|
|
315
315
|
category: CHAT_CATEGORY,
|
|
316
316
|
f1: false,
|
|
317
317
|
keybinding: {
|
|
@@ -324,8 +324,8 @@ class OpenModelPickerAction extends Action2 {
|
|
|
324
324
|
id: MenuId.ChatInput,
|
|
325
325
|
order: 3,
|
|
326
326
|
group: "navigation",
|
|
327
|
-
when: ( ContextKeyExpr.and(( ChatContextKeys.lockedToCodingAgent.negate()), ( ContextKeyExpr.or(( ContextKeyExpr.equals(ChatContextKeys.location.key, ChatAgentLocation.Chat)), ( ContextKeyExpr.equals(ChatContextKeys.location.key, ChatAgentLocation.EditorInline)), ( ContextKeyExpr.equals(ChatContextKeys.location.key, ChatAgentLocation.Notebook)), ( ContextKeyExpr.equals(ChatContextKeys.location.key, ChatAgentLocation.Terminal)))), (
|
|
328
|
-
ContextKeyExpr.or(( ChatContextKeys.inAgentSessionsWelcome.negate()), ( ChatContextKeys.agentSessionType.isEqualTo(AgentSessionProviders.Local))))))
|
|
327
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeys.chatSessionHasTargetedModels)), ( ContextKeyExpr.or(( ContextKeyExpr.equals(ChatContextKeys.location.key, ChatAgentLocation.Chat)), ( ContextKeyExpr.equals(ChatContextKeys.location.key, ChatAgentLocation.EditorInline)), ( ContextKeyExpr.equals(ChatContextKeys.location.key, ChatAgentLocation.Notebook)), ( ContextKeyExpr.equals(ChatContextKeys.location.key, ChatAgentLocation.Terminal)))), (
|
|
328
|
+
ContextKeyExpr.or(( ChatContextKeys.inAgentSessionsWelcome.negate()), ChatContextKeys.chatSessionHasTargetedModels, ( ChatContextKeys.agentSessionType.isEqualTo(AgentSessionProviders.Local))))))
|
|
329
329
|
}
|
|
330
330
|
});
|
|
331
331
|
}
|
|
@@ -338,6 +338,34 @@ class OpenModelPickerAction extends Action2 {
|
|
|
338
338
|
}
|
|
339
339
|
}
|
|
340
340
|
}
|
|
341
|
+
class OpenPermissionPickerAction extends Action2 {
|
|
342
|
+
static {
|
|
343
|
+
this.ID = "workbench.action.chat.openPermissionPicker";
|
|
344
|
+
}
|
|
345
|
+
constructor() {
|
|
346
|
+
super({
|
|
347
|
+
id: OpenPermissionPickerAction.ID,
|
|
348
|
+
title: ( localize2(4890, "Open Permission Picker")),
|
|
349
|
+
tooltip: ( localize(4891, "Set Permissions")),
|
|
350
|
+
category: CHAT_CATEGORY,
|
|
351
|
+
f1: false,
|
|
352
|
+
precondition: ChatContextKeys.enabled,
|
|
353
|
+
menu: {
|
|
354
|
+
id: MenuId.ChatInputSecondary,
|
|
355
|
+
order: 10,
|
|
356
|
+
group: "navigation",
|
|
357
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)), ( ChatContextKeys.chatModeKind.notEqualsTo(ChatModeKind.Ask)), ( ChatContextKeys.inQuickChat.negate()), ( ChatContextKeys.lockedToCodingAgent.negate()), ( IsSessionsWindowContext.negate())))
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
async run(accessor) {
|
|
362
|
+
const widgetService = accessor.get(IChatWidgetService);
|
|
363
|
+
const widget = widgetService.lastFocusedWidget;
|
|
364
|
+
if (widget) {
|
|
365
|
+
widget.input.openPermissionPicker();
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
341
369
|
class OpenModePickerAction extends Action2 {
|
|
342
370
|
static {
|
|
343
371
|
this.ID = "workbench.action.chat.openModePicker";
|
|
@@ -345,8 +373,8 @@ class OpenModePickerAction extends Action2 {
|
|
|
345
373
|
constructor() {
|
|
346
374
|
super({
|
|
347
375
|
id: OpenModePickerAction.ID,
|
|
348
|
-
title: ( localize2(
|
|
349
|
-
tooltip: ( localize(
|
|
376
|
+
title: ( localize2(4892, "Open Agent Picker")),
|
|
377
|
+
tooltip: ( localize(4893, "Set Agent")),
|
|
350
378
|
category: CHAT_CATEGORY,
|
|
351
379
|
f1: false,
|
|
352
380
|
precondition: ChatContextKeys.enabled,
|
|
@@ -359,7 +387,7 @@ class OpenModePickerAction extends Action2 {
|
|
|
359
387
|
id: MenuId.ChatInput,
|
|
360
388
|
order: 1,
|
|
361
389
|
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)), ( ChatContextKeys.inQuickChat.negate()), ( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeys.chatSessionHasCustomAgentTarget)), (
|
|
362
|
-
ContextKeyExpr.or(( ChatContextKeys.inAgentSessionsWelcome.negate()), ( ChatContextKeys.agentSessionType.isEqualTo(AgentSessionProviders.Local)))))),
|
|
390
|
+
ContextKeyExpr.or(( ChatContextKeys.inAgentSessionsWelcome.negate()), ChatContextKeys.chatSessionHasCustomAgentTarget, ( ChatContextKeys.agentSessionType.isEqualTo(AgentSessionProviders.Local)))))),
|
|
363
391
|
group: "navigation"
|
|
364
392
|
}]
|
|
365
393
|
});
|
|
@@ -379,15 +407,20 @@ class OpenSessionTargetPickerAction extends Action2 {
|
|
|
379
407
|
constructor() {
|
|
380
408
|
super({
|
|
381
409
|
id: OpenSessionTargetPickerAction.ID,
|
|
382
|
-
title: ( localize2(
|
|
383
|
-
tooltip: ( localize(
|
|
410
|
+
title: ( localize2(4894, "Open Session Target Picker")),
|
|
411
|
+
tooltip: ( localize(4895, "Set Session Target")),
|
|
384
412
|
category: CHAT_CATEGORY,
|
|
385
413
|
f1: false,
|
|
386
414
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(ChatContextKeys.chatSessionIsEmpty, ChatContextKeys.inAgentSessionsWelcome)), ( ChatContextKeys.currentlyEditingInput.negate()), ( ChatContextKeys.currentlyEditing.negate()))),
|
|
387
415
|
menu: [{
|
|
388
416
|
id: MenuId.ChatInput,
|
|
389
417
|
order: 0,
|
|
390
|
-
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)), ( ChatContextKeys.inQuickChat.negate()), ChatContextKeys.chatSessionIsEmpty)),
|
|
418
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)), ( ChatContextKeys.inQuickChat.negate()), ChatContextKeys.chatSessionIsEmpty, IsSessionsWindowContext)),
|
|
419
|
+
group: "navigation"
|
|
420
|
+
}, {
|
|
421
|
+
id: MenuId.ChatInputSecondary,
|
|
422
|
+
order: 0,
|
|
423
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)), ( ChatContextKeys.inQuickChat.negate()), ( IsSessionsWindowContext.negate()), ChatContextKeys.chatSessionIsEmpty)),
|
|
391
424
|
group: "navigation"
|
|
392
425
|
}]
|
|
393
426
|
});
|
|
@@ -407,15 +440,20 @@ class OpenDelegationPickerAction extends Action2 {
|
|
|
407
440
|
constructor() {
|
|
408
441
|
super({
|
|
409
442
|
id: OpenDelegationPickerAction.ID,
|
|
410
|
-
title: ( localize2(
|
|
411
|
-
tooltip: ( localize(
|
|
443
|
+
title: ( localize2(4896, "Open Delegation Picker")),
|
|
444
|
+
tooltip: ( localize(4897, "Delegate Session")),
|
|
412
445
|
category: CHAT_CATEGORY,
|
|
413
446
|
f1: false,
|
|
414
447
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.chatSessionIsEmpty.negate()), ( ChatContextKeys.currentlyEditingInput.negate()), ( ChatContextKeys.currentlyEditing.negate()))),
|
|
415
448
|
menu: [{
|
|
416
449
|
id: MenuId.ChatInput,
|
|
417
450
|
order: 0.5,
|
|
418
|
-
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)), ( ChatContextKeys.inQuickChat.negate()), ( ChatContextKeys.chatSessionIsEmpty.negate()))),
|
|
451
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)), ( ChatContextKeys.inQuickChat.negate()), ( ChatContextKeys.chatSessionIsEmpty.negate()), IsSessionsWindowContext)),
|
|
452
|
+
group: "navigation"
|
|
453
|
+
}, {
|
|
454
|
+
id: MenuId.ChatInputSecondary,
|
|
455
|
+
order: 0.5,
|
|
456
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)), ( ChatContextKeys.inQuickChat.negate()), ( ChatContextKeys.chatSessionIsEmpty.negate()), ( IsSessionsWindowContext.negate()))),
|
|
419
457
|
group: "navigation"
|
|
420
458
|
}]
|
|
421
459
|
});
|
|
@@ -435,15 +473,20 @@ class OpenWorkspacePickerAction extends Action2 {
|
|
|
435
473
|
constructor() {
|
|
436
474
|
super({
|
|
437
475
|
id: OpenWorkspacePickerAction.ID,
|
|
438
|
-
title: ( localize2(
|
|
439
|
-
tooltip: ( localize(
|
|
476
|
+
title: ( localize2(4898, "Open Workspace Picker")),
|
|
477
|
+
tooltip: ( localize(4899, "Select Target Workspace")),
|
|
440
478
|
category: CHAT_CATEGORY,
|
|
441
479
|
f1: false,
|
|
442
480
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ChatContextKeys.inAgentSessionsWelcome)),
|
|
443
481
|
menu: [{
|
|
444
482
|
id: MenuId.ChatInput,
|
|
445
483
|
order: 0.6,
|
|
446
|
-
when: ( ContextKeyExpr.and(ChatContextKeys.inAgentSessionsWelcome, ( ChatContextKeys.chatSessionType.isEqualTo("local")))),
|
|
484
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.inAgentSessionsWelcome, ( ChatContextKeys.chatSessionType.isEqualTo("local")), IsSessionsWindowContext)),
|
|
485
|
+
group: "navigation"
|
|
486
|
+
}, {
|
|
487
|
+
id: MenuId.ChatInputSecondary,
|
|
488
|
+
order: 0.6,
|
|
489
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.inAgentSessionsWelcome, ( ChatContextKeys.chatSessionType.isEqualTo("local")), ( IsSessionsWindowContext.negate()))),
|
|
447
490
|
group: "navigation"
|
|
448
491
|
}]
|
|
449
492
|
});
|
|
@@ -457,7 +500,7 @@ class ChatSessionPrimaryPickerAction extends Action2 {
|
|
|
457
500
|
constructor() {
|
|
458
501
|
super({
|
|
459
502
|
id: ChatSessionPrimaryPickerAction.ID,
|
|
460
|
-
title: ( localize2(
|
|
503
|
+
title: ( localize2(4900, "Open Primary Session Picker")),
|
|
461
504
|
category: CHAT_CATEGORY,
|
|
462
505
|
f1: false,
|
|
463
506
|
precondition: ChatContextKeys.enabled,
|
|
@@ -485,7 +528,7 @@ class ChangeChatModelAction extends Action2 {
|
|
|
485
528
|
constructor() {
|
|
486
529
|
super({
|
|
487
530
|
id: ChangeChatModelAction.ID,
|
|
488
|
-
title: ( localize2(
|
|
531
|
+
title: ( localize2(4901, "Change Model")),
|
|
489
532
|
category: CHAT_CATEGORY,
|
|
490
533
|
f1: false,
|
|
491
534
|
precondition: ChatContextKeys.enabled
|
|
@@ -517,19 +560,19 @@ class ChatEditingSessionSubmitAction extends SubmitAction {
|
|
|
517
560
|
));
|
|
518
561
|
super({
|
|
519
562
|
id: ChatEditingSessionSubmitAction.ID,
|
|
520
|
-
title: ( localize2(
|
|
563
|
+
title: ( localize2(4902, "Send")),
|
|
521
564
|
f1: false,
|
|
522
565
|
category: CHAT_CATEGORY,
|
|
523
|
-
icon: Codicon.
|
|
566
|
+
icon: Codicon.arrowUp,
|
|
524
567
|
precondition,
|
|
525
568
|
menu: [{
|
|
526
569
|
id: MenuId.ChatExecute,
|
|
527
570
|
order: 4,
|
|
528
|
-
when: ( ContextKeyExpr.and(notInProgressOrEditing, menuCondition)),
|
|
571
|
+
when: ( ContextKeyExpr.and(notInProgressOrEditing, menuCondition, noQuestionCarouselOrHasInput)),
|
|
529
572
|
group: "navigation",
|
|
530
573
|
alt: {
|
|
531
574
|
id: "workbench.action.chat.sendToNewChat",
|
|
532
|
-
title: ( localize2(
|
|
575
|
+
title: ( localize2(4886, "Send to New Chat")),
|
|
533
576
|
icon: Codicon.plus
|
|
534
577
|
}
|
|
535
578
|
}]
|
|
@@ -544,7 +587,7 @@ class SubmitWithoutDispatchingAction extends Action2 {
|
|
|
544
587
|
const precondition = ( ContextKeyExpr.and(ChatContextKeys.inputHasText, whenNotInProgress, ( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Ask))));
|
|
545
588
|
super({
|
|
546
589
|
id: SubmitWithoutDispatchingAction.ID,
|
|
547
|
-
title: ( localize2(
|
|
590
|
+
title: ( localize2(4903, "Send")),
|
|
548
591
|
f1: false,
|
|
549
592
|
category: CHAT_CATEGORY,
|
|
550
593
|
precondition,
|
|
@@ -572,7 +615,7 @@ class ChatSubmitWithCodebaseAction extends Action2 {
|
|
|
572
615
|
const precondition = ( ContextKeyExpr.and(ChatContextKeys.inputHasText, whenNotInProgress));
|
|
573
616
|
super({
|
|
574
617
|
id: ChatSubmitWithCodebaseAction.ID,
|
|
575
|
-
title: ( localize2(
|
|
618
|
+
title: ( localize2(4904, "Send with {0}", `${chatVariableLeader}codebase`)),
|
|
576
619
|
precondition,
|
|
577
620
|
keybinding: {
|
|
578
621
|
when: ChatContextKeys.inChatInput,
|
|
@@ -609,7 +652,7 @@ class SendToNewChatAction extends Action2 {
|
|
|
609
652
|
const precondition = ChatContextKeys.inputHasText;
|
|
610
653
|
super({
|
|
611
654
|
id: "workbench.action.chat.sendToNewChat",
|
|
612
|
-
title: ( localize2(
|
|
655
|
+
title: ( localize2(4886, "Send to New Chat")),
|
|
613
656
|
precondition,
|
|
614
657
|
category: CHAT_CATEGORY,
|
|
615
658
|
f1: false,
|
|
@@ -623,6 +666,7 @@ class SendToNewChatAction extends Action2 {
|
|
|
623
666
|
async run(accessor, ...args) {
|
|
624
667
|
const context = args[0];
|
|
625
668
|
const widgetService = accessor.get(IChatWidgetService);
|
|
669
|
+
const viewsService = accessor.get(IViewsService);
|
|
626
670
|
const dialogService = accessor.get(IDialogService);
|
|
627
671
|
const chatService = accessor.get(IChatService);
|
|
628
672
|
const widget = context?.widget ?? widgetService.lastFocusedWidget;
|
|
@@ -631,14 +675,15 @@ class SendToNewChatAction extends Action2 {
|
|
|
631
675
|
}
|
|
632
676
|
const inputBeforeClear = widget.getInput();
|
|
633
677
|
if (widget.viewModel) {
|
|
634
|
-
chatService.cancelCurrentRequestForSession(widget.viewModel.sessionResource);
|
|
678
|
+
chatService.cancelCurrentRequestForSession(widget.viewModel.sessionResource, "newSessionAction");
|
|
635
679
|
}
|
|
636
680
|
if (widget.viewModel?.model) {
|
|
637
681
|
if (!(await handleCurrentEditingSession(widget.viewModel.model, undefined, dialogService))) {
|
|
638
682
|
return;
|
|
639
683
|
}
|
|
640
684
|
}
|
|
641
|
-
|
|
685
|
+
widget.setInput("");
|
|
686
|
+
await clearChatSessionPreservingType(widget, viewsService);
|
|
642
687
|
widget.acceptInput(inputBeforeClear, {
|
|
643
688
|
storeToHistory: true
|
|
644
689
|
});
|
|
@@ -652,18 +697,18 @@ class CancelAction extends Action2 {
|
|
|
652
697
|
constructor() {
|
|
653
698
|
super({
|
|
654
699
|
id: CancelAction.ID,
|
|
655
|
-
title: ( localize2(
|
|
700
|
+
title: ( localize2(4905, "Cancel")),
|
|
656
701
|
f1: false,
|
|
657
702
|
category: CHAT_CATEGORY,
|
|
658
703
|
icon: Codicon.stopCircle,
|
|
659
704
|
menu: [{
|
|
660
705
|
id: MenuId.ChatExecute,
|
|
661
|
-
when: ( ContextKeyExpr.and(
|
|
706
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.or(requestInProgressWithoutInput, pendingToolCall)), ( ChatContextKeys.remoteJobCreating.negate()), ( ChatContextKeys.currentlyEditing.negate()))),
|
|
662
707
|
order: 4,
|
|
663
708
|
group: "navigation"
|
|
664
709
|
}, {
|
|
665
710
|
id: MenuId.ChatEditorInlineExecute,
|
|
666
|
-
when: ( ContextKeyExpr.and(( ctxIsGlobalEditingSession.negate()), ctxHasRequestInProgress)),
|
|
711
|
+
when: ( ContextKeyExpr.and(( ctxIsGlobalEditingSession.negate()), ctxHasRequestInProgress, ( CTX_HOVER_MODE.negate()))),
|
|
667
712
|
order: 4,
|
|
668
713
|
group: "navigation"
|
|
669
714
|
}],
|
|
@@ -680,13 +725,30 @@ class CancelAction extends Action2 {
|
|
|
680
725
|
run(accessor, ...args) {
|
|
681
726
|
const context = args[0];
|
|
682
727
|
const widgetService = accessor.get(IChatWidgetService);
|
|
728
|
+
const logService = accessor.get(ILogService);
|
|
729
|
+
const telemetryService = accessor.get(ITelemetryService);
|
|
683
730
|
const widget = context?.widget ?? widgetService.lastFocusedWidget;
|
|
684
731
|
if (!widget) {
|
|
732
|
+
telemetryService.publicLog2(ChatStopCancellationNoopEventName, {
|
|
733
|
+
source: "cancelAction",
|
|
734
|
+
reason: "noWidget",
|
|
735
|
+
requestInProgress: "unknown",
|
|
736
|
+
pendingRequests: 0
|
|
737
|
+
});
|
|
738
|
+
logService.info("ChatCancelAction#run: No focused chat widget was found");
|
|
685
739
|
return;
|
|
686
740
|
}
|
|
687
741
|
const chatService = accessor.get(IChatService);
|
|
688
742
|
if (widget.viewModel) {
|
|
689
|
-
chatService.cancelCurrentRequestForSession(widget.viewModel.sessionResource);
|
|
743
|
+
chatService.cancelCurrentRequestForSession(widget.viewModel.sessionResource, "cancelAction");
|
|
744
|
+
} else {
|
|
745
|
+
telemetryService.publicLog2(ChatStopCancellationNoopEventName, {
|
|
746
|
+
source: "cancelAction",
|
|
747
|
+
reason: "noViewModel",
|
|
748
|
+
requestInProgress: "unknown",
|
|
749
|
+
pendingRequests: 0
|
|
750
|
+
});
|
|
751
|
+
logService.info("ChatCancelAction#run: Canceled chat widget has no view model");
|
|
690
752
|
}
|
|
691
753
|
}
|
|
692
754
|
}
|
|
@@ -698,7 +760,7 @@ class CancelEdit extends Action2 {
|
|
|
698
760
|
constructor() {
|
|
699
761
|
super({
|
|
700
762
|
id: CancelEdit.ID,
|
|
701
|
-
title: ( localize2(
|
|
763
|
+
title: ( localize2(4906, "Cancel Edit")),
|
|
702
764
|
f1: false,
|
|
703
765
|
category: CHAT_CATEGORY,
|
|
704
766
|
icon: Codicon.x,
|
|
@@ -739,6 +801,7 @@ function registerChatExecuteActions() {
|
|
|
739
801
|
registerAction2(ToggleChatModeAction);
|
|
740
802
|
registerAction2(SwitchToNextModelAction);
|
|
741
803
|
registerAction2(OpenModelPickerAction);
|
|
804
|
+
registerAction2(OpenPermissionPickerAction);
|
|
742
805
|
registerAction2(OpenModePickerAction);
|
|
743
806
|
registerAction2(OpenSessionTargetPickerAction);
|
|
744
807
|
registerAction2(OpenDelegationPickerAction);
|
|
@@ -748,4 +811,4 @@ function registerChatExecuteActions() {
|
|
|
748
811
|
registerAction2(CancelEdit);
|
|
749
812
|
}
|
|
750
813
|
|
|
751
|
-
export { CancelAction, CancelChatActionId, CancelChatEditId, CancelEdit, ChangeChatModelActionId, ChatEditingSessionSubmitAction, ChatSessionPrimaryPickerAction, ChatSubmitAction, ChatSubmitWithCodebaseAction, OpenDelegationPickerAction, OpenModePickerAction, OpenModelPickerAction, OpenSessionTargetPickerAction, OpenWorkspacePickerAction, ToggleAgentModeActionId, registerChatExecuteActions };
|
|
814
|
+
export { CancelAction, CancelChatActionId, CancelChatEditId, CancelEdit, ChangeChatModelActionId, ChatEditingSessionSubmitAction, ChatSessionPrimaryPickerAction, ChatSubmitAction, ChatSubmitWithCodebaseAction, OpenDelegationPickerAction, OpenModePickerAction, OpenModelPickerAction, OpenPermissionPickerAction, OpenSessionTargetPickerAction, OpenWorkspacePickerAction, ToggleAgentModeActionId, registerChatExecuteActions };
|
|
@@ -22,6 +22,7 @@ import { ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/c
|
|
|
22
22
|
import { IChatWidgetService, IChatAccessibilityService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
23
23
|
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
24
24
|
|
|
25
|
+
const MarkHelpfulActionId = "workbench.action.chat.markHelpful";
|
|
25
26
|
const MarkUnhelpfulActionId = "workbench.action.chat.markUnhelpful";
|
|
26
27
|
const enableFeedbackConfig = "config.telemetry.feedback.enabled";
|
|
27
28
|
function registerChatTitleActions() {
|
|
@@ -29,7 +30,7 @@ function registerChatTitleActions() {
|
|
|
29
30
|
constructor() {
|
|
30
31
|
super({
|
|
31
32
|
id: "workbench.action.chat.markHelpful",
|
|
32
|
-
title: ( localize2(
|
|
33
|
+
title: ( localize2(4963, "Helpful")),
|
|
33
34
|
f1: false,
|
|
34
35
|
category: CHAT_CATEGORY,
|
|
35
36
|
icon: Codicon.thumbsup,
|
|
@@ -83,7 +84,7 @@ function registerChatTitleActions() {
|
|
|
83
84
|
constructor() {
|
|
84
85
|
super({
|
|
85
86
|
id: MarkUnhelpfulActionId,
|
|
86
|
-
title: ( localize2(
|
|
87
|
+
title: ( localize2(4964, "Unhelpful")),
|
|
87
88
|
f1: false,
|
|
88
89
|
category: CHAT_CATEGORY,
|
|
89
90
|
icon: Codicon.thumbsdown,
|
|
@@ -140,7 +141,7 @@ function registerChatTitleActions() {
|
|
|
140
141
|
constructor() {
|
|
141
142
|
super({
|
|
142
143
|
id: "workbench.action.chat.reportIssueForBug",
|
|
143
|
-
title: ( localize2(
|
|
144
|
+
title: ( localize2(4965, "Report Issue")),
|
|
144
145
|
f1: false,
|
|
145
146
|
category: CHAT_CATEGORY,
|
|
146
147
|
icon: Codicon.report,
|
|
@@ -187,7 +188,7 @@ function registerChatTitleActions() {
|
|
|
187
188
|
constructor() {
|
|
188
189
|
super({
|
|
189
190
|
id: "workbench.action.chat.retry",
|
|
190
|
-
title: ( localize2(
|
|
191
|
+
title: ( localize2(4966, "Retry")),
|
|
191
192
|
f1: false,
|
|
192
193
|
category: CHAT_CATEGORY,
|
|
193
194
|
icon: Codicon.refresh,
|
|
@@ -235,19 +236,19 @@ function registerChatTitleActions() {
|
|
|
235
236
|
const entriesModifiedInLastRequest = currentEditingSession.entries.get().filter(entry => entry.lastModifyingRequestId === item.requestId);
|
|
236
237
|
const shouldPrompt = entriesModifiedInLastRequest.length > 0 && configurationService.getValue("chat.editing.confirmEditRequestRetry") === true;
|
|
237
238
|
const confirmation = shouldPrompt ? await dialogService.confirm({
|
|
238
|
-
title: ( localize(
|
|
239
|
+
title: ( localize(4967, "Do you want to retry your last request?")),
|
|
239
240
|
message: entriesModifiedInLastRequest.length === 1 ? ( localize(
|
|
240
|
-
|
|
241
|
+
4968,
|
|
241
242
|
"This will undo edits made to {0} since this request.",
|
|
242
243
|
basename(entriesModifiedInLastRequest[0].modifiedURI)
|
|
243
244
|
)) : ( localize(
|
|
244
|
-
|
|
245
|
+
4969,
|
|
245
246
|
"This will undo edits made to {0} files in your working set since this request. Do you want to proceed?",
|
|
246
247
|
entriesModifiedInLastRequest.length
|
|
247
248
|
)),
|
|
248
|
-
primaryButton: ( localize(
|
|
249
|
+
primaryButton: ( localize(4970, "Yes")),
|
|
249
250
|
checkbox: {
|
|
250
|
-
label: ( localize(
|
|
251
|
+
label: ( localize(4971, "Don't ask again")),
|
|
251
252
|
checked: false
|
|
252
253
|
},
|
|
253
254
|
type: "info"
|
|
@@ -279,7 +280,7 @@ function registerChatTitleActions() {
|
|
|
279
280
|
constructor() {
|
|
280
281
|
super({
|
|
281
282
|
id: "workbench.action.chat.insertIntoNotebook",
|
|
282
|
-
title: ( localize2(
|
|
283
|
+
title: ( localize2(4972, "Insert into Notebook")),
|
|
283
284
|
f1: false,
|
|
284
285
|
category: CHAT_CATEGORY,
|
|
285
286
|
icon: Codicon.insert,
|
|
@@ -366,4 +367,4 @@ function splitMarkdownAndCodeBlocks(markdown) {
|
|
|
366
367
|
return splitContent;
|
|
367
368
|
}
|
|
368
369
|
|
|
369
|
-
export { MarkUnhelpfulActionId, registerChatTitleActions };
|
|
370
|
+
export { MarkHelpfulActionId, MarkUnhelpfulActionId, registerChatTitleActions };
|
package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
3
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
4
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
5
|
+
import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service";
|
|
6
|
+
export interface IAgentSessionApprovalInfo {
|
|
7
|
+
readonly label: string;
|
|
8
|
+
readonly languageId: string | undefined;
|
|
9
|
+
confirm(): void;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Tracks approval state for all live chat sessions. For each session,
|
|
13
|
+
* exposes an observable that emits {@link IAgentSessionApprovalInfo}
|
|
14
|
+
* when a tool invocation is waiting for user confirmation, or `undefined`
|
|
15
|
+
* when no approval is needed.
|
|
16
|
+
*/
|
|
17
|
+
export declare class AgentSessionApprovalModel extends Disposable {
|
|
18
|
+
private readonly _chatService;
|
|
19
|
+
private readonly _languageService;
|
|
20
|
+
private readonly _approvals;
|
|
21
|
+
private readonly _modelTrackers;
|
|
22
|
+
constructor(_chatService: IChatService, _languageService: ILanguageService);
|
|
23
|
+
getApproval(sessionResource: URI): IObservable<IAgentSessionApprovalInfo | undefined>;
|
|
24
|
+
private _getOrCreateApproval;
|
|
25
|
+
private _trackModel;
|
|
26
|
+
}
|