@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
package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js
CHANGED
|
@@ -25,7 +25,7 @@ const getToolConfirmationAlert = (accessor, toolInvocation) => {
|
|
|
25
25
|
if (state.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
|
|
26
26
|
const detail = isToolResultInputOutputDetails(state.resultDetails) ? state.resultDetails.input : isToolResultOutputDetails(state.resultDetails) ? undefined : toolContentToA11yString(state.contentForModel);
|
|
27
27
|
return {
|
|
28
|
-
title: ( localize(
|
|
28
|
+
title: ( localize(4675, "Approve results of tool")),
|
|
29
29
|
detail: detail
|
|
30
30
|
};
|
|
31
31
|
}
|
|
@@ -51,18 +51,18 @@ const getToolConfirmationAlert = (accessor, toolInvocation) => {
|
|
|
51
51
|
};
|
|
52
52
|
})).filter(isDefined);
|
|
53
53
|
let message = acceptKb && cancelKb ? ( localize(
|
|
54
|
-
|
|
54
|
+
4676,
|
|
55
55
|
"Chat confirmation required: {0}. Press {1} to accept or {2} to cancel.",
|
|
56
56
|
( text.map(t => t.title)).join(", "),
|
|
57
57
|
acceptKb,
|
|
58
58
|
cancelKb
|
|
59
59
|
)) : ( localize(
|
|
60
|
-
|
|
60
|
+
4677,
|
|
61
61
|
"Chat confirmation required: {0}",
|
|
62
62
|
( text.map(t => t.title)).join(", ")
|
|
63
63
|
));
|
|
64
64
|
if (( text.some(t => t.detail))) {
|
|
65
|
-
message += " " + ( localize(
|
|
65
|
+
message += " " + ( localize(4678, "Details: {0}", ( text.map(t => t.detail ? t.detail : "")).join(" ")));
|
|
66
66
|
}
|
|
67
67
|
return message;
|
|
68
68
|
};
|
|
@@ -78,7 +78,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
78
78
|
return "listitem";
|
|
79
79
|
}
|
|
80
80
|
getWidgetAriaLabel() {
|
|
81
|
-
return localize(
|
|
81
|
+
return localize(4679, "Chat");
|
|
82
82
|
}
|
|
83
83
|
getAriaLabel(element) {
|
|
84
84
|
if (isRequestVM(element)) {
|
|
@@ -109,10 +109,10 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
109
109
|
case 0:
|
|
110
110
|
break;
|
|
111
111
|
case 1:
|
|
112
|
-
tableCountHint = ( localize(
|
|
112
|
+
tableCountHint = ( localize(4680, "1 table "));
|
|
113
113
|
break;
|
|
114
114
|
default:
|
|
115
|
-
tableCountHint = ( localize(
|
|
115
|
+
tableCountHint = ( localize(4681, "{0} tables ", tableCount));
|
|
116
116
|
break;
|
|
117
117
|
}
|
|
118
118
|
const fileTreeCount = element.response.value.filter(v => v.kind === "treeData").length ?? 0;
|
|
@@ -121,10 +121,10 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
121
121
|
case 0:
|
|
122
122
|
break;
|
|
123
123
|
case 1:
|
|
124
|
-
fileTreeCountHint = ( localize(
|
|
124
|
+
fileTreeCountHint = ( localize(4682, "1 file tree "));
|
|
125
125
|
break;
|
|
126
126
|
default:
|
|
127
|
-
fileTreeCountHint = ( localize(
|
|
127
|
+
fileTreeCountHint = ( localize(4683, "{0} file trees ", fileTreeCount));
|
|
128
128
|
break;
|
|
129
129
|
}
|
|
130
130
|
const elicitationCount = element.response.value.filter(v => v.kind === "elicitation2" || v.kind === "elicitationSerialized");
|
|
@@ -138,7 +138,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
138
138
|
switch (codeBlockCount) {
|
|
139
139
|
case 0:
|
|
140
140
|
label = accessibleViewHint ? ( localize(
|
|
141
|
-
|
|
141
|
+
4684,
|
|
142
142
|
"{0}{1}{2}{3}{4} {5}",
|
|
143
143
|
toolInvocationHint,
|
|
144
144
|
fileTreeCountHint,
|
|
@@ -147,7 +147,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
147
147
|
(element.response.toString()),
|
|
148
148
|
accessibleViewHint
|
|
149
149
|
)) : ( localize(
|
|
150
|
-
|
|
150
|
+
4685,
|
|
151
151
|
"{0}{1}{2} {3}",
|
|
152
152
|
fileTreeCountHint,
|
|
153
153
|
elicitationHint,
|
|
@@ -157,7 +157,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
157
157
|
break;
|
|
158
158
|
case 1:
|
|
159
159
|
label = accessibleViewHint ? ( localize(
|
|
160
|
-
|
|
160
|
+
4686,
|
|
161
161
|
"{0}{1}{2}1 code block: {3} {4}{5}",
|
|
162
162
|
toolInvocationHint,
|
|
163
163
|
fileTreeCountHint,
|
|
@@ -166,7 +166,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
166
166
|
(element.response.toString()),
|
|
167
167
|
accessibleViewHint
|
|
168
168
|
)) : ( localize(
|
|
169
|
-
|
|
169
|
+
4687,
|
|
170
170
|
"{0}{1}1 code block: {2} {3}",
|
|
171
171
|
fileTreeCountHint,
|
|
172
172
|
elicitationHint,
|
|
@@ -176,7 +176,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
176
176
|
break;
|
|
177
177
|
default:
|
|
178
178
|
label = accessibleViewHint ? ( localize(
|
|
179
|
-
|
|
179
|
+
4688,
|
|
180
180
|
"{0}{1}{2}{3} code blocks: {4}{5} {6}",
|
|
181
181
|
toolInvocationHint,
|
|
182
182
|
fileTreeCountHint,
|
|
@@ -186,7 +186,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
186
186
|
(element.response.toString()),
|
|
187
187
|
accessibleViewHint
|
|
188
188
|
)) : ( localize(
|
|
189
|
-
|
|
189
|
+
4689,
|
|
190
190
|
"{0}{1}{2} code blocks: {3} {4}",
|
|
191
191
|
fileTreeCountHint,
|
|
192
192
|
elicitationHint,
|
|
@@ -42,6 +42,11 @@ export declare class ChatContinueInSessionActionItem extends ActionWidgetDropdow
|
|
|
42
42
|
export declare class CreateRemoteAgentJobAction {
|
|
43
43
|
constructor();
|
|
44
44
|
private openUntitledEditor;
|
|
45
|
+
/**
|
|
46
|
+
* Extracts the GitHub "owner/repo" NWO from the source session by checking
|
|
47
|
+
* multiple data sources: chat model repoData, session metadata, and session options.
|
|
48
|
+
*/
|
|
49
|
+
private extractRepoNwoFromSession;
|
|
45
50
|
run(accessor: ServicesAccessor, continuationTarget: IChatSessionsExtensionPoint, _widget?: IChatWidget): Promise<void>;
|
|
46
51
|
}
|
|
47
52
|
export declare class ContinueChatInSessionActionRendering extends Disposable implements IWorkbenchContribution {
|
|
@@ -4,6 +4,7 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
|
|
|
4
4
|
import { h } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
5
|
import { Disposable, markAsSingleton } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
6
|
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
7
|
+
import { isAbsolute } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
|
|
7
8
|
import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
8
9
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
9
10
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
@@ -19,24 +20,63 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
|
|
|
19
20
|
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
20
21
|
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
21
22
|
import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
|
|
22
|
-
import { ResourceContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
23
|
+
import { ResourceContextKey, IsSessionsWindowContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
23
24
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
25
|
+
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
24
26
|
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
|
|
25
27
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
26
28
|
import { chatEditingWidgetFileStateContextKey, ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService';
|
|
27
29
|
import { ChatRequestParser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatRequestParser';
|
|
30
|
+
import { getDynamicVariablesForWidget, getSelectedToolAndToolSetsForWidget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatVariables';
|
|
28
31
|
import { ChatSendResult } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
29
32
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
30
33
|
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
31
34
|
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
32
35
|
import { PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
33
|
-
import { AgentSessionProviders, getAgentSessionProviderName, getAgentSessionProviderIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
36
|
+
import { AgentSessionProviders, getAgentSessionProviderName, getAgentSessionProviderIcon, getAgentSessionProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
37
|
+
import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
|
|
38
|
+
import { isIChatViewViewContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
34
39
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
35
40
|
import { ctxHasEditorModification } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
|
|
36
41
|
import { CHAT_SETUP_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
37
42
|
import { toPromptFileVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
|
|
38
43
|
|
|
39
44
|
var ChatContinueInSessionActionItem_1;
|
|
45
|
+
function extractNwoFromRemoteUrl(remoteUrl) {
|
|
46
|
+
const match = remoteUrl.match(/(?:github\.com)[/:](?<owner>[^/]+)\/(?<repo>[^/.]+)/);
|
|
47
|
+
if (match?.groups) {
|
|
48
|
+
return `${match.groups.owner}/${match.groups.repo}`;
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
async function resolveGitRemoteNwo(repoPath, fileService) {
|
|
53
|
+
try {
|
|
54
|
+
const gitPath = `${repoPath}/.git`;
|
|
55
|
+
const gitUri = URI.file(gitPath);
|
|
56
|
+
let configUri;
|
|
57
|
+
try {
|
|
58
|
+
const stat = await fileService.stat(gitUri);
|
|
59
|
+
if (stat.isDirectory) {
|
|
60
|
+
configUri = URI.file(`${gitPath}/config`);
|
|
61
|
+
} else {
|
|
62
|
+
const gitFile = await fileService.readFile(gitUri);
|
|
63
|
+
const gitDir = ( gitFile.value.toString()).trim().replace(/^gitdir:\s*/, "");
|
|
64
|
+
const resolvedGitDir = gitDir.startsWith("/") ? gitDir : `${repoPath}/${gitDir}`;
|
|
65
|
+
const commonDir = resolvedGitDir.replace(/\/worktrees\/[^/]+$/, "");
|
|
66
|
+
configUri = URI.file(`${commonDir}/config`);
|
|
67
|
+
}
|
|
68
|
+
} catch {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
const content = await fileService.readFile(configUri);
|
|
72
|
+
const configText = ( content.value.toString());
|
|
73
|
+
const remoteMatch = configText.match(/\[remote\s+"origin"\][^[]*url\s*=\s*(.+)/m);
|
|
74
|
+
if (remoteMatch?.[1]) {
|
|
75
|
+
return extractNwoFromRemoteUrl(remoteMatch[1].trim());
|
|
76
|
+
}
|
|
77
|
+
} catch {}
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
40
80
|
var ActionLocation;
|
|
41
81
|
(function(ActionLocation) {
|
|
42
82
|
ActionLocation["ChatWidget"] = "chatWidget";
|
|
@@ -49,8 +89,8 @@ class ContinueChatInSessionAction extends Action2 {
|
|
|
49
89
|
constructor() {
|
|
50
90
|
super({
|
|
51
91
|
id: ContinueChatInSessionAction.ID,
|
|
52
|
-
title: ( localize2(
|
|
53
|
-
tooltip: ( localize(
|
|
92
|
+
title: ( localize2(4863, "Continue Chat in...")),
|
|
93
|
+
tooltip: ( localize(4863, "Continue Chat in...")),
|
|
54
94
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.requestInProgress.negate()), ( ChatContextKeys.remoteJobCreating.negate()), ChatContextKeys.hasCanDelegateProviders)),
|
|
55
95
|
menu: [{
|
|
56
96
|
id: MenuId.ChatExecute,
|
|
@@ -82,6 +122,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
82
122
|
actionProvider: ChatContinueInSessionActionItem_1.actionProvider(chatSessionsService, instantiationService, location),
|
|
83
123
|
actionBarActions: ChatContinueInSessionActionItem_1.getActionBarActions(openerService),
|
|
84
124
|
reporter: {
|
|
125
|
+
id: "ChatContinueInSession",
|
|
85
126
|
name: "ChatContinueInSession",
|
|
86
127
|
includeOptions: true
|
|
87
128
|
}
|
|
@@ -93,8 +134,8 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
93
134
|
const learnMoreUrl = "https://aka.ms/vscode-continue-chat-in";
|
|
94
135
|
return [{
|
|
95
136
|
id: "workbench.action.chat.continueChatInSession.learnMore",
|
|
96
|
-
label: ( localize(
|
|
97
|
-
tooltip: ( localize(
|
|
137
|
+
label: ( localize(4864, "Learn More")),
|
|
138
|
+
tooltip: ( localize(4864, "Learn More")),
|
|
98
139
|
class: undefined,
|
|
99
140
|
enabled: true,
|
|
100
141
|
run: async () => {
|
|
@@ -108,7 +149,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
108
149
|
const actions = [];
|
|
109
150
|
const contributions = chatSessionsService.getAllChatSessionContributions();
|
|
110
151
|
const backgroundContrib = contributions.find(contrib => contrib.type === AgentSessionProviders.Background);
|
|
111
|
-
if (backgroundContrib && backgroundContrib.canDelegate
|
|
152
|
+
if (backgroundContrib && backgroundContrib.canDelegate) {
|
|
112
153
|
actions.push(this.toAction(
|
|
113
154
|
AgentSessionProviders.Background,
|
|
114
155
|
backgroundContrib,
|
|
@@ -117,7 +158,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
117
158
|
));
|
|
118
159
|
}
|
|
119
160
|
const cloudContrib = contributions.find(contrib => contrib.type === AgentSessionProviders.Cloud);
|
|
120
|
-
if (cloudContrib && cloudContrib.canDelegate
|
|
161
|
+
if (cloudContrib && cloudContrib.canDelegate) {
|
|
121
162
|
actions.push(
|
|
122
163
|
this.toAction(AgentSessionProviders.Cloud, cloudContrib, instantiationService, location)
|
|
123
164
|
);
|
|
@@ -138,9 +179,9 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
138
179
|
class: undefined,
|
|
139
180
|
description: `@${contrib.name}`,
|
|
140
181
|
label: getAgentSessionProviderName(provider),
|
|
141
|
-
tooltip: ( localize(
|
|
182
|
+
tooltip: ( localize(4865, "Continue in {0}", getAgentSessionProviderName(provider))),
|
|
142
183
|
category: {
|
|
143
|
-
label: ( localize(
|
|
184
|
+
label: ( localize(4866, "Continue In")),
|
|
144
185
|
order: 0,
|
|
145
186
|
showHeader: true
|
|
146
187
|
},
|
|
@@ -159,9 +200,9 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
159
200
|
icon: getAgentSessionProviderIcon(provider),
|
|
160
201
|
class: undefined,
|
|
161
202
|
label: getAgentSessionProviderName(provider),
|
|
162
|
-
tooltip: ( localize(
|
|
203
|
+
tooltip: ( localize(4865, "Continue in {0}", getAgentSessionProviderName(provider))),
|
|
163
204
|
category: {
|
|
164
|
-
label: ( localize(
|
|
205
|
+
label: ( localize(4866, "Continue In")),
|
|
165
206
|
order: 0,
|
|
166
207
|
showHeader: true
|
|
167
208
|
},
|
|
@@ -175,7 +216,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
175
216
|
if (this.location === ActionLocation.Editor) {
|
|
176
217
|
const view = h("span.action-widget-delegate-label", [h("span", {
|
|
177
218
|
className: ThemeIcon.asClassName(Codicon.forward)
|
|
178
|
-
}), h("span", [( localize(
|
|
219
|
+
}), h("span", [( localize(4867, "Continue in..."))])]);
|
|
179
220
|
element.appendChild(view.root);
|
|
180
221
|
return null;
|
|
181
222
|
} else {
|
|
@@ -192,6 +233,80 @@ class CreateRemoteAgentJobAction {
|
|
|
192
233
|
openUntitledEditor(commandService, continuationTarget) {
|
|
193
234
|
commandService.executeCommand(`${NEW_CHAT_SESSION_ACTION_ID}.${continuationTarget.type}`);
|
|
194
235
|
}
|
|
236
|
+
async extractRepoNwoFromSession(
|
|
237
|
+
agentSessionsService,
|
|
238
|
+
chatSessionsService,
|
|
239
|
+
fileService,
|
|
240
|
+
sessionResource,
|
|
241
|
+
chatModel
|
|
242
|
+
) {
|
|
243
|
+
const repoData = chatModel.repoData;
|
|
244
|
+
if (repoData?.remoteUrl) {
|
|
245
|
+
const nwo = extractNwoFromRemoteUrl(repoData.remoteUrl);
|
|
246
|
+
if (nwo) {
|
|
247
|
+
return nwo;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
const agentSession = agentSessionsService.getSession(sessionResource);
|
|
251
|
+
if (agentSession?.metadata) {
|
|
252
|
+
const metadata = agentSession.metadata;
|
|
253
|
+
const owner = metadata.owner;
|
|
254
|
+
const name = metadata.name;
|
|
255
|
+
if (owner && name) {
|
|
256
|
+
return `${owner}/${name}`;
|
|
257
|
+
}
|
|
258
|
+
const repositoryNwo = metadata.repositoryNwo;
|
|
259
|
+
if (repositoryNwo?.includes("/")) {
|
|
260
|
+
return repositoryNwo;
|
|
261
|
+
}
|
|
262
|
+
const repositoryUrl = metadata.repositoryUrl;
|
|
263
|
+
if (repositoryUrl) {
|
|
264
|
+
const nwo = extractNwoFromRemoteUrl(repositoryUrl);
|
|
265
|
+
if (nwo) {
|
|
266
|
+
return nwo;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
const workingDir = (metadata.workingDirectoryPath ?? metadata.repositoryPath ?? metadata.worktreePath);
|
|
270
|
+
if (workingDir) {
|
|
271
|
+
const nwo = await resolveGitRemoteNwo(workingDir, fileService);
|
|
272
|
+
if (nwo) {
|
|
273
|
+
return nwo;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
for (const optionId of ["repositories", "repository"]) {
|
|
278
|
+
const repoOption = chatSessionsService.getSessionOption(sessionResource, optionId);
|
|
279
|
+
if (repoOption) {
|
|
280
|
+
const optionValue = typeof repoOption === "string" ? repoOption : repoOption.id;
|
|
281
|
+
if (optionValue) {
|
|
282
|
+
const segments = optionValue.split("/").filter(Boolean);
|
|
283
|
+
if (segments.length === 2) {
|
|
284
|
+
return optionValue;
|
|
285
|
+
}
|
|
286
|
+
const nwo = extractNwoFromRemoteUrl(optionValue);
|
|
287
|
+
if (nwo) {
|
|
288
|
+
return nwo;
|
|
289
|
+
}
|
|
290
|
+
try {
|
|
291
|
+
const uri = ( URI.parse(optionValue));
|
|
292
|
+
if (uri.authority === "github") {
|
|
293
|
+
const parts = uri.path.split("/").filter(Boolean);
|
|
294
|
+
if (parts.length >= 2) {
|
|
295
|
+
return `${parts[0]}/${parts[1]}`;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
} catch {}
|
|
299
|
+
if (isAbsolute(optionValue)) {
|
|
300
|
+
const nwoFromGit = await resolveGitRemoteNwo(optionValue, fileService);
|
|
301
|
+
if (nwoFromGit) {
|
|
302
|
+
return nwoFromGit;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return undefined;
|
|
309
|
+
}
|
|
195
310
|
async run(accessor, continuationTarget, _widget) {
|
|
196
311
|
const contextKeyService = accessor.get(IContextKeyService);
|
|
197
312
|
const commandService = accessor.get(ICommandService);
|
|
@@ -199,6 +314,9 @@ class CreateRemoteAgentJobAction {
|
|
|
199
314
|
const chatAgentService = accessor.get(IChatAgentService);
|
|
200
315
|
const chatService = accessor.get(IChatService);
|
|
201
316
|
const editorService = accessor.get(IEditorService);
|
|
317
|
+
const agentSessionsService = accessor.get(IAgentSessionsService);
|
|
318
|
+
const chatSessionsService = accessor.get(IChatSessionsService);
|
|
319
|
+
const fileService = accessor.get(IFileService);
|
|
202
320
|
const remoteJobCreatingKey = ChatContextKeys.remoteJobCreating.bindTo(contextKeyService);
|
|
203
321
|
try {
|
|
204
322
|
remoteJobCreatingKey.set(true);
|
|
@@ -219,7 +337,7 @@ class CreateRemoteAgentJobAction {
|
|
|
219
337
|
}
|
|
220
338
|
userPrompt = "implement this.";
|
|
221
339
|
}
|
|
222
|
-
const attachedContext = widget.input.getAttachedAndImplicitContext(
|
|
340
|
+
const attachedContext = widget.input.getAttachedAndImplicitContext();
|
|
223
341
|
widget.input.acceptInput(true);
|
|
224
342
|
if (widget.location === ChatAgentLocation.EditorInline) {
|
|
225
343
|
const activeEditor = editorService.activeTextEditorControl;
|
|
@@ -243,11 +361,52 @@ class CreateRemoteAgentJobAction {
|
|
|
243
361
|
}
|
|
244
362
|
}
|
|
245
363
|
}
|
|
364
|
+
const continuationTargetType = continuationTarget.type;
|
|
365
|
+
const isSessionsWindow = IsSessionsWindowContext.getValue(contextKeyService);
|
|
366
|
+
const sourceProvider = getAgentSessionProvider(sessionResource);
|
|
367
|
+
if (isSessionsWindow && sourceProvider && sourceProvider !== continuationTargetType) {
|
|
368
|
+
const isSidebar = isIChatViewViewContext(widget.viewContext);
|
|
369
|
+
const actionId = isSidebar ? `workbench.action.chat.openNewSessionSidebar.${continuationTargetType}` : `${NEW_CHAT_SESSION_ACTION_ID}.${continuationTargetType}`;
|
|
370
|
+
const maxTranscriptLength = 20_000;
|
|
371
|
+
let transcript = ( chatRequests.map(req => {
|
|
372
|
+
const userMsg = `User: ${req.message.text}`;
|
|
373
|
+
const respMsg = req.response?.response ? `Assistant: ${req.response.response.getMarkdown()}` : "";
|
|
374
|
+
return respMsg ? `${userMsg}\n${respMsg}` : userMsg;
|
|
375
|
+
})).join("\n\n");
|
|
376
|
+
if (transcript.length > maxTranscriptLength) {
|
|
377
|
+
transcript = transcript.substring(transcript.length - maxTranscriptLength);
|
|
378
|
+
}
|
|
379
|
+
const delegationPrompt = transcript ? `The following is the conversation history from a previous ${getAgentSessionProviderName(sourceProvider)} session. Continue working on it.\n\n${transcript}\n\nUser: ${userPrompt}` : userPrompt;
|
|
380
|
+
const initialSessionOptions = [];
|
|
381
|
+
const repoNwo = await this.extractRepoNwoFromSession(
|
|
382
|
+
agentSessionsService,
|
|
383
|
+
chatSessionsService,
|
|
384
|
+
fileService,
|
|
385
|
+
sessionResource,
|
|
386
|
+
chatModel
|
|
387
|
+
);
|
|
388
|
+
if (repoNwo) {
|
|
389
|
+
initialSessionOptions.push({
|
|
390
|
+
optionId: "repositories",
|
|
391
|
+
value: repoNwo
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
await commandService.executeCommand(actionId, {
|
|
395
|
+
prompt: delegationPrompt,
|
|
396
|
+
attachedContext: attachedContext.asArray(),
|
|
397
|
+
initialSessionOptions: initialSessionOptions.length > 0 ? initialSessionOptions : undefined
|
|
398
|
+
});
|
|
399
|
+
return;
|
|
400
|
+
}
|
|
246
401
|
const defaultAgent = chatAgentService.getDefaultAgent(ChatAgentLocation.Chat);
|
|
247
402
|
const instantiationService = accessor.get(IInstantiationService);
|
|
248
403
|
const requestParser = instantiationService.createInstance(ChatRequestParser);
|
|
249
|
-
const
|
|
250
|
-
|
|
404
|
+
const parsedRequest = requestParser.parseChatRequestWithReferences(
|
|
405
|
+
getDynamicVariablesForWidget(widget),
|
|
406
|
+
getSelectedToolAndToolSetsForWidget(widget),
|
|
407
|
+
userPrompt,
|
|
408
|
+
ChatAgentLocation.Chat
|
|
409
|
+
);
|
|
251
410
|
const addedRequest = chatModel.addRequest(parsedRequest, {
|
|
252
411
|
variables: attachedContext.asArray()
|
|
253
412
|
}, 0, undefined, defaultAgent);
|
|
@@ -262,7 +421,7 @@ class CreateRemoteAgentJobAction {
|
|
|
262
421
|
await widget.handleDelegationExitIfNeeded(defaultAgent, sendResult.data.agent);
|
|
263
422
|
}
|
|
264
423
|
} catch (e) {
|
|
265
|
-
console.error("Error creating remote coding agent job", e);
|
|
424
|
+
console.error("[Delegation] Error creating remote coding agent job", e);
|
|
266
425
|
throw e;
|
|
267
426
|
} finally {
|
|
268
427
|
remoteJobCreatingKey.set(false);
|
|
@@ -15,7 +15,7 @@ class AcceptElicitationRequestAction extends Action2 {
|
|
|
15
15
|
constructor() {
|
|
16
16
|
super({
|
|
17
17
|
id: AcceptElicitationRequestActionId,
|
|
18
|
-
title: ( localize2(
|
|
18
|
+
title: ( localize2(4875, "Accept Request")),
|
|
19
19
|
f1: false,
|
|
20
20
|
category: CHAT_CATEGORY,
|
|
21
21
|
keybinding: {
|
|
@@ -29,6 +29,11 @@ export declare class OpenModelPickerAction extends Action2 {
|
|
|
29
29
|
constructor();
|
|
30
30
|
run(accessor: ServicesAccessor, ...args: unknown[]): Promise<void>;
|
|
31
31
|
}
|
|
32
|
+
export declare class OpenPermissionPickerAction extends Action2 {
|
|
33
|
+
static readonly ID = "workbench.action.chat.openPermissionPicker";
|
|
34
|
+
constructor();
|
|
35
|
+
run(accessor: ServicesAccessor): Promise<void>;
|
|
36
|
+
}
|
|
32
37
|
export declare class OpenModePickerAction extends Action2 {
|
|
33
38
|
static readonly ID = "workbench.action.chat.openModePicker";
|
|
34
39
|
constructor();
|