@codingame/monaco-vscode-katex-common 34.1.2 → 35.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/vscode/src/vs/base/browser/animationSync.d.ts +36 -0
- package/vscode/src/vs/base/browser/animationSync.js +23 -0
- package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.js +23 -2
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +3 -2
- package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.d.ts +5 -5
- package/vscode/src/vs/platform/agentHost/common/fileEditDiff.d.ts +32 -0
- package/vscode/src/vs/platform/agentHost/common/fileEditDiff.js +33 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAnnotations.d.ts +90 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAttachments.d.ts +30 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentToolCallMeta.d.ts +65 -0
- package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.d.ts +16 -5
- package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.js +3 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-resource-watch/reducer.d.ts +21 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +8 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionReducers.d.ts +9 -0
- package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +105 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +74 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +98 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +31 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +45 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +163 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.js +172 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionReferenceAttachment.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.d.ts +116 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.js +348 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.d.ts +211 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +13 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +30 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +29 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +24 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +119 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.d.ts +63 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.js +97 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +105 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +46 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +98 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatTurnPills.css +162 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +95 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +22 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +151 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +20 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +61 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +81 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.js +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +9 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.js +21 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +40 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.js +140 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.js +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +29 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +44 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +12 -66
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +167 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +1 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +9 -86
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.js +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +141 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +17 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAgentFeedbackReviewConfirmation.css +133 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAutoModeResolution.css +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +18 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +23 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +33 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +21 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAgentFeedbackReviewConfirmationSubPart.d.ts +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAgentFeedbackReviewConfirmationSubPart.js +279 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +43 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +53 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +7 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +24 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/{chatMissingSandboxDepsConfirmationSubPart.d.ts → chatSandboxPrerequisiteConfirmationSubPart.d.ts} +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/{chatMissingSandboxDepsConfirmationSubPart.js → chatSandboxPrerequisiteConfirmationSubPart.js} +14 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +30 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +41 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +12 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +43 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +11 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.js +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +18 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +266 -98
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +8 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.js +135 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.d.ts +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.js +275 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +84 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +52 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +187 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +435 -139
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.js +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.d.ts +50 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.js +49 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.d.ts +79 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.js +127 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +84 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +658 -430
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +72 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +82 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +23 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatGoalBannerWidget.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +28 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +60 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +18 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +49 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +141 -81
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +7 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +30 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerInputActionItem.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerInputActionItem.js +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +469 -148
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +11 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +79 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +71 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +107 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.d.ts +110 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +13 -11
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +57 -21
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +18 -18
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +30 -30
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.d.ts +39 -8
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.js +168 -72
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.d.ts +0 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.js +0 -147
package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js
CHANGED
|
@@ -26,7 +26,7 @@ const getToolConfirmationAlert = (accessor, toolInvocation) => {
|
|
|
26
26
|
if (state.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
|
|
27
27
|
const detail = isToolResultInputOutputDetails(state.resultDetails) ? state.resultDetails.input : isToolResultOutputDetails(state.resultDetails) ? undefined : toolContentToA11yString(state.contentForModel);
|
|
28
28
|
return {
|
|
29
|
-
title: ( localize(
|
|
29
|
+
title: ( localize(5024, "Approve results of tool")),
|
|
30
30
|
detail: detail
|
|
31
31
|
};
|
|
32
32
|
}
|
|
@@ -43,7 +43,7 @@ const getToolConfirmationAlert = (accessor, toolInvocation) => {
|
|
|
43
43
|
} else if (v.toolSpecificData.kind === "input") {
|
|
44
44
|
input = JSON.stringify(v.toolSpecificData.rawInput);
|
|
45
45
|
} else if (v.toolSpecificData.kind === "modifiedFilesConfirmation") {
|
|
46
|
-
input = ( localize(
|
|
46
|
+
input = ( localize(5025, "{0} files", v.toolSpecificData.modifiedFiles.length));
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
const titleObj = state.confirmationMessages?.title;
|
|
@@ -54,18 +54,18 @@ const getToolConfirmationAlert = (accessor, toolInvocation) => {
|
|
|
54
54
|
};
|
|
55
55
|
})).filter(isDefined);
|
|
56
56
|
let message = acceptKb && cancelKb ? ( localize(
|
|
57
|
-
|
|
57
|
+
5026,
|
|
58
58
|
"Chat confirmation required: {0}. Press {1} to accept or {2} to cancel.",
|
|
59
59
|
( text.map(t => t.title)).join(", "),
|
|
60
60
|
acceptKb,
|
|
61
61
|
cancelKb
|
|
62
62
|
)) : ( localize(
|
|
63
|
-
|
|
63
|
+
5027,
|
|
64
64
|
"Chat confirmation required: {0}",
|
|
65
65
|
( text.map(t => t.title)).join(", ")
|
|
66
66
|
));
|
|
67
67
|
if (( text.some(t => t.detail))) {
|
|
68
|
-
message += " " + ( localize(
|
|
68
|
+
message += " " + ( localize(5028, "Details: {0}", ( text.map(t => t.detail ? t.detail : "")).join(" ")));
|
|
69
69
|
}
|
|
70
70
|
return message;
|
|
71
71
|
};
|
|
@@ -81,7 +81,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
81
81
|
return "listitem";
|
|
82
82
|
}
|
|
83
83
|
getWidgetAriaLabel() {
|
|
84
|
-
return localize(
|
|
84
|
+
return localize(5029, "Chat");
|
|
85
85
|
}
|
|
86
86
|
getAriaLabel(element) {
|
|
87
87
|
if (isRequestVM(element)) {
|
|
@@ -112,10 +112,10 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
112
112
|
case 0:
|
|
113
113
|
break;
|
|
114
114
|
case 1:
|
|
115
|
-
tableCountHint = ( localize(
|
|
115
|
+
tableCountHint = ( localize(5030, "1 table "));
|
|
116
116
|
break;
|
|
117
117
|
default:
|
|
118
|
-
tableCountHint = ( localize(
|
|
118
|
+
tableCountHint = ( localize(5031, "{0} tables ", tableCount));
|
|
119
119
|
break;
|
|
120
120
|
}
|
|
121
121
|
const fileTreeCount = element.response.value.filter(v => v.kind === "treeData").length ?? 0;
|
|
@@ -124,10 +124,10 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
124
124
|
case 0:
|
|
125
125
|
break;
|
|
126
126
|
case 1:
|
|
127
|
-
fileTreeCountHint = ( localize(
|
|
127
|
+
fileTreeCountHint = ( localize(5032, "1 file tree "));
|
|
128
128
|
break;
|
|
129
129
|
default:
|
|
130
|
-
fileTreeCountHint = ( localize(
|
|
130
|
+
fileTreeCountHint = ( localize(5033, "{0} file trees ", fileTreeCount));
|
|
131
131
|
break;
|
|
132
132
|
}
|
|
133
133
|
const elicitationCount = element.response.value.filter(v => v.kind === "elicitation2" || v.kind === "elicitationSerialized");
|
|
@@ -141,7 +141,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
141
141
|
switch (codeBlockCount) {
|
|
142
142
|
case 0:
|
|
143
143
|
label = accessibleViewHint ? ( localize(
|
|
144
|
-
|
|
144
|
+
5034,
|
|
145
145
|
"{0}{1}{2}{3}{4} {5}",
|
|
146
146
|
toolInvocationHint,
|
|
147
147
|
fileTreeCountHint,
|
|
@@ -150,7 +150,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
150
150
|
(element.response.toString()),
|
|
151
151
|
accessibleViewHint
|
|
152
152
|
)) : ( localize(
|
|
153
|
-
|
|
153
|
+
5035,
|
|
154
154
|
"{0}{1}{2} {3}",
|
|
155
155
|
fileTreeCountHint,
|
|
156
156
|
elicitationHint,
|
|
@@ -160,7 +160,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
160
160
|
break;
|
|
161
161
|
case 1:
|
|
162
162
|
label = accessibleViewHint ? ( localize(
|
|
163
|
-
|
|
163
|
+
5036,
|
|
164
164
|
"{0}{1}{2}1 code block: {3} {4}{5}",
|
|
165
165
|
toolInvocationHint,
|
|
166
166
|
fileTreeCountHint,
|
|
@@ -169,7 +169,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
169
169
|
(element.response.toString()),
|
|
170
170
|
accessibleViewHint
|
|
171
171
|
)) : ( localize(
|
|
172
|
-
|
|
172
|
+
5037,
|
|
173
173
|
"{0}{1}1 code block: {2} {3}",
|
|
174
174
|
fileTreeCountHint,
|
|
175
175
|
elicitationHint,
|
|
@@ -179,7 +179,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
179
179
|
break;
|
|
180
180
|
default:
|
|
181
181
|
label = accessibleViewHint ? ( localize(
|
|
182
|
-
|
|
182
|
+
5038,
|
|
183
183
|
"{0}{1}{2}{3} code blocks: {4}{5} {6}",
|
|
184
184
|
toolInvocationHint,
|
|
185
185
|
fileTreeCountHint,
|
|
@@ -189,7 +189,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
|
|
|
189
189
|
(element.response.toString()),
|
|
190
190
|
accessibleViewHint
|
|
191
191
|
)) : ( localize(
|
|
192
|
-
|
|
192
|
+
5039,
|
|
193
193
|
"{0}{1}{2} code blocks: {3} {4}",
|
|
194
194
|
fileTreeCountHint,
|
|
195
195
|
elicitationHint,
|
|
@@ -15,6 +15,7 @@ import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/wor
|
|
|
15
15
|
import { ISCMService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service";
|
|
16
16
|
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
17
17
|
import { IChatWidget } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
18
|
+
import { IChatRequestPasteVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
|
|
18
19
|
export declare enum ActionLocation {
|
|
19
20
|
ChatWidget = "chatWidget",
|
|
20
21
|
Editor = "editor"
|
|
@@ -41,6 +42,34 @@ export declare class ChatContinueInSessionActionItem extends ActionWidgetDropdow
|
|
|
41
42
|
private static toSetupAction;
|
|
42
43
|
protected renderLabel(element: HTMLElement): IDisposable | null;
|
|
43
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Minimal shape of a chat request needed to build a delegation transcript.
|
|
47
|
+
* Kept structural so {@link buildDelegationTranscript} can be unit-tested
|
|
48
|
+
* without constructing a full chat model.
|
|
49
|
+
*/
|
|
50
|
+
export interface IDelegationTranscriptRequest {
|
|
51
|
+
readonly message: {
|
|
52
|
+
readonly text: string;
|
|
53
|
+
};
|
|
54
|
+
readonly response?: {
|
|
55
|
+
readonly response?: {
|
|
56
|
+
getMarkdown(): string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Builds a plain-text transcript of a prior conversation for handing off
|
|
62
|
+
* (delegating) to another session type. The transcript is truncated to the
|
|
63
|
+
* most recent {@link maxLength} characters to avoid exceeding the target
|
|
64
|
+
* model's token limits.
|
|
65
|
+
*/
|
|
66
|
+
export declare function buildDelegationTranscript(requests: readonly IDelegationTranscriptRequest[], maxLength?: number): string;
|
|
67
|
+
/**
|
|
68
|
+
* Wraps a conversation transcript as a paste attachment so it can be passed via
|
|
69
|
+
* `attachedContext` to a delegated session, keeping the user's prompt clean.
|
|
70
|
+
* Returns `undefined` when the transcript is empty.
|
|
71
|
+
*/
|
|
72
|
+
export declare function createDelegationTranscriptAttachment(transcript: string, sourceName: string): IChatRequestPasteVariableEntry | undefined;
|
|
44
73
|
export declare class CreateRemoteAgentJobAction {
|
|
45
74
|
constructor();
|
|
46
75
|
private openUntitledEditor;
|
|
@@ -8,6 +8,7 @@ import { isAbsolute } from '@codingame/monaco-vscode-api/vscode/vs/base/common/p
|
|
|
8
8
|
import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
9
9
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
10
10
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
11
|
+
import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
|
|
11
12
|
import { isITextModel } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
|
|
12
13
|
import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
13
14
|
import { ActionWidgetDropdownActionViewItem } from '../../../../../platform/actions/browser/actionWidgetDropdownActionViewItem.js';
|
|
@@ -33,7 +34,7 @@ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/c
|
|
|
33
34
|
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
34
35
|
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
35
36
|
import { PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
36
|
-
import { AgentSessionProviders, getAgentSessionProviderName, getAgentSessionProviderIcon, getAgentSessionProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
37
|
+
import { AgentSessionProviders, getAgentSessionProviderName, getAgentSessionProviderIcon, getAgentSessionProvider, CHAT_DELEGATE_TO_AGENT_HOST_SESSION_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
37
38
|
import { ISCMService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service';
|
|
38
39
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
39
40
|
import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
|
|
@@ -41,8 +42,10 @@ import { isIChatViewViewContext } from '@codingame/monaco-vscode-api/vscode/vs/w
|
|
|
41
42
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
42
43
|
import { ctxHasEditorModification } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
|
|
43
44
|
import { CHAT_SETUP_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
44
|
-
import { toPromptFileVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
|
|
45
|
+
import { toPasteVariableEntry, toPromptFileVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
|
|
45
46
|
import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
47
|
+
import { openChatSession, ChatSessionPosition } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution';
|
|
48
|
+
import { isAgentHostTarget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
46
49
|
|
|
47
50
|
var ChatContinueInSessionActionItem_1;
|
|
48
51
|
function extractNwoFromRemoteUrl(remoteUrl) {
|
|
@@ -92,8 +95,8 @@ class ContinueChatInSessionAction extends Action2 {
|
|
|
92
95
|
constructor() {
|
|
93
96
|
super({
|
|
94
97
|
id: ContinueChatInSessionAction.ID,
|
|
95
|
-
title: ( localize2(
|
|
96
|
-
tooltip: ( localize(
|
|
98
|
+
title: ( localize2(5226, "Continue Chat in...")),
|
|
99
|
+
tooltip: ( localize(5226, "Continue Chat in...")),
|
|
97
100
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.requestInProgress.negate()), ( ChatContextKeys.remoteJobCreating.negate()), ChatContextKeys.hasCanDelegateProviders)),
|
|
98
101
|
menu: [{
|
|
99
102
|
id: MenuId.ChatExecute,
|
|
@@ -145,8 +148,8 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
145
148
|
const learnMoreUrl = "https://aka.ms/vscode-continue-chat-in";
|
|
146
149
|
return [{
|
|
147
150
|
id: "workbench.action.chat.continueChatInSession.learnMore",
|
|
148
|
-
label: ( localize(
|
|
149
|
-
tooltip: ( localize(
|
|
151
|
+
label: ( localize(5227, "Learn More")),
|
|
152
|
+
tooltip: ( localize(5227, "Learn More")),
|
|
150
153
|
class: undefined,
|
|
151
154
|
enabled: true,
|
|
152
155
|
run: async () => {
|
|
@@ -194,6 +197,11 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
194
197
|
hasGitRepo
|
|
195
198
|
));
|
|
196
199
|
}
|
|
200
|
+
for (const contrib of contributions) {
|
|
201
|
+
if (contrib.canDelegate && isAgentHostTarget(contrib.type)) {
|
|
202
|
+
actions.push(this.toAction(contrib.type, contrib, instantiationService, location));
|
|
203
|
+
}
|
|
204
|
+
}
|
|
197
205
|
if (actions.length === 0) {
|
|
198
206
|
actions.push(this.toSetupAction(AgentSessionProviders.Background, instantiationService));
|
|
199
207
|
actions.push(this.toSetupAction(AgentSessionProviders.Cloud, instantiationService));
|
|
@@ -203,16 +211,18 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
203
211
|
};
|
|
204
212
|
}
|
|
205
213
|
static toAction(provider, contrib, instantiationService, location, enabled = true) {
|
|
214
|
+
const providerName = getAgentSessionProviderName(provider);
|
|
215
|
+
const label = providerName === provider ? (contrib.displayName ?? providerName) : providerName;
|
|
206
216
|
return {
|
|
207
217
|
id: contrib.type,
|
|
208
218
|
enabled,
|
|
209
219
|
icon: getAgentSessionProviderIcon(provider),
|
|
210
220
|
class: undefined,
|
|
211
221
|
description: `@${contrib.name}`,
|
|
212
|
-
label
|
|
213
|
-
tooltip: ( localize(
|
|
222
|
+
label,
|
|
223
|
+
tooltip: ( localize(5228, "Continue in {0}", label)),
|
|
214
224
|
category: {
|
|
215
|
-
label: ( localize(
|
|
225
|
+
label: ( localize(5229, "Continue In")),
|
|
216
226
|
order: 0,
|
|
217
227
|
showHeader: true
|
|
218
228
|
},
|
|
@@ -231,9 +241,9 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
231
241
|
icon: getAgentSessionProviderIcon(provider),
|
|
232
242
|
class: undefined,
|
|
233
243
|
label: getAgentSessionProviderName(provider),
|
|
234
|
-
tooltip: ( localize(
|
|
244
|
+
tooltip: ( localize(5228, "Continue in {0}", getAgentSessionProviderName(provider))),
|
|
235
245
|
category: {
|
|
236
|
-
label: ( localize(
|
|
246
|
+
label: ( localize(5229, "Continue In")),
|
|
237
247
|
order: 0,
|
|
238
248
|
showHeader: true
|
|
239
249
|
},
|
|
@@ -247,7 +257,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
247
257
|
if (this.location === ActionLocation.Editor) {
|
|
248
258
|
const view = h("span.action-widget-delegate-label", [h("span", {
|
|
249
259
|
className: ThemeIcon.asClassName(Codicon.forward)
|
|
250
|
-
}), h("span", [( localize(
|
|
260
|
+
}), h("span", [( localize(5230, "Continue in..."))])]);
|
|
251
261
|
element.appendChild(view.root);
|
|
252
262
|
return null;
|
|
253
263
|
} else {
|
|
@@ -259,6 +269,37 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
259
269
|
};
|
|
260
270
|
ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = ( __decorate([( __param(2, IActionWidgetService)), ( __param(3, IContextKeyService)), ( __param(4, IKeybindingService)), ( __param(5, IChatSessionsService)), ( __param(6, IInstantiationService)), ( __param(7, IOpenerService)), ( __param(8, ITelemetryService)), ( __param(9, ISCMService)), ( __param(10, IWorkspaceContextService))], ChatContinueInSessionActionItem));
|
|
261
271
|
const NEW_CHAT_SESSION_ACTION_ID = "workbench.action.chat.openNewSessionEditor";
|
|
272
|
+
const MAX_DELEGATION_TRANSCRIPT_LENGTH = 20_000;
|
|
273
|
+
function buildDelegationTranscript(requests, maxLength = MAX_DELEGATION_TRANSCRIPT_LENGTH) {
|
|
274
|
+
let transcript = ( requests.map(req => {
|
|
275
|
+
const userMsg = `User: ${req.message.text}`;
|
|
276
|
+
const respMsg = req.response?.response ? `Assistant: ${req.response.response.getMarkdown()}` : "";
|
|
277
|
+
return respMsg ? `${userMsg}\n${respMsg}` : userMsg;
|
|
278
|
+
})).join("\n\n");
|
|
279
|
+
if (transcript.length > maxLength) {
|
|
280
|
+
transcript = transcript.substring(transcript.length - maxLength);
|
|
281
|
+
}
|
|
282
|
+
return transcript;
|
|
283
|
+
}
|
|
284
|
+
function createDelegationTranscriptAttachment(transcript, sourceName) {
|
|
285
|
+
if (!transcript) {
|
|
286
|
+
return undefined;
|
|
287
|
+
}
|
|
288
|
+
const transcriptName = ( localize(5231, "Previous conversation"));
|
|
289
|
+
const transcriptContent = ( localize(
|
|
290
|
+
5232,
|
|
291
|
+
"The following is the conversation history from a previous {0} session. Continue working on it.\n\n{1}",
|
|
292
|
+
sourceName,
|
|
293
|
+
transcript
|
|
294
|
+
));
|
|
295
|
+
return toPasteVariableEntry(transcriptName, transcriptContent, {
|
|
296
|
+
id: `chat-delegation-transcript-${generateUuid()}`,
|
|
297
|
+
icon: Codicon.history,
|
|
298
|
+
language: "markdown",
|
|
299
|
+
pastedLines: transcriptName,
|
|
300
|
+
fileName: transcriptName
|
|
301
|
+
});
|
|
302
|
+
}
|
|
262
303
|
class CreateRemoteAgentJobAction {
|
|
263
304
|
constructor() {}
|
|
264
305
|
openUntitledEditor(commandService, continuationTarget) {
|
|
@@ -348,6 +389,7 @@ class CreateRemoteAgentJobAction {
|
|
|
348
389
|
const agentSessionsService = accessor.get(IAgentSessionsService);
|
|
349
390
|
const chatSessionsService = accessor.get(IChatSessionsService);
|
|
350
391
|
const fileService = accessor.get(IFileService);
|
|
392
|
+
const instantiationService = accessor.get(IInstantiationService);
|
|
351
393
|
const remoteJobCreatingKey = ChatContextKeys.remoteJobCreating.bindTo(contextKeyService);
|
|
352
394
|
try {
|
|
353
395
|
remoteJobCreatingKey.set(true);
|
|
@@ -394,20 +436,33 @@ class CreateRemoteAgentJobAction {
|
|
|
394
436
|
}
|
|
395
437
|
const continuationTargetType = continuationTarget.type;
|
|
396
438
|
const isSessionsWindow = IsSessionsWindowContext.getValue(contextKeyService);
|
|
397
|
-
const
|
|
398
|
-
|
|
439
|
+
const sourceSessionType = getAgentSessionProvider(sessionResource) ?? getChatSessionType(sessionResource);
|
|
440
|
+
const handoffToNewSession = isSessionsWindow || isAgentHostTarget(continuationTargetType) || (!!sourceSessionType && isAgentHostTarget(sourceSessionType));
|
|
441
|
+
if (handoffToNewSession && sourceSessionType && sourceSessionType !== continuationTargetType) {
|
|
399
442
|
const isSidebar = isIChatViewViewContext(widget.viewContext);
|
|
400
|
-
const
|
|
401
|
-
const
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
if (transcript
|
|
408
|
-
|
|
443
|
+
const transcript = buildDelegationTranscript(chatRequests);
|
|
444
|
+
const sourceContribution = chatSessionsService.getAllChatSessionContributions().find(
|
|
445
|
+
c => c.type === sourceSessionType || getAgentSessionProvider(c.type) === sourceSessionType
|
|
446
|
+
);
|
|
447
|
+
const sourceName = sourceContribution?.displayName ?? getAgentSessionProviderName(sourceSessionType);
|
|
448
|
+
const continuationContext = attachedContext.asArray();
|
|
449
|
+
let handoffPrompt = userPrompt;
|
|
450
|
+
if (transcript) {
|
|
451
|
+
if (isAgentHostTarget(continuationTargetType)) {
|
|
452
|
+
const transcriptAttachment = createDelegationTranscriptAttachment(transcript, sourceName);
|
|
453
|
+
if (transcriptAttachment) {
|
|
454
|
+
continuationContext.unshift(transcriptAttachment);
|
|
455
|
+
}
|
|
456
|
+
} else {
|
|
457
|
+
handoffPrompt = ( localize(
|
|
458
|
+
5233,
|
|
459
|
+
"The following is the conversation history from a previous {0} session. Continue working on it.\n\n{1}\n\nUser: {2}",
|
|
460
|
+
sourceName,
|
|
461
|
+
transcript,
|
|
462
|
+
userPrompt
|
|
463
|
+
));
|
|
464
|
+
}
|
|
409
465
|
}
|
|
410
|
-
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;
|
|
411
466
|
const initialSessionOptions = ( new Map());
|
|
412
467
|
const repoNwo = await this.extractRepoNwoFromSession(
|
|
413
468
|
agentSessionsService,
|
|
@@ -419,15 +474,37 @@ class CreateRemoteAgentJobAction {
|
|
|
419
474
|
if (repoNwo) {
|
|
420
475
|
initialSessionOptions.set("repositories", repoNwo);
|
|
421
476
|
}
|
|
477
|
+
if (isAgentHostTarget(continuationTargetType)) {
|
|
478
|
+
if (isSessionsWindow) {
|
|
479
|
+
const delegationRequest = {
|
|
480
|
+
type: continuationTargetType,
|
|
481
|
+
displayName: continuationTarget.displayName,
|
|
482
|
+
prompt: handoffPrompt,
|
|
483
|
+
attachedContext: continuationContext
|
|
484
|
+
};
|
|
485
|
+
await commandService.executeCommand(CHAT_DELEGATE_TO_AGENT_HOST_SESSION_COMMAND_ID, delegationRequest);
|
|
486
|
+
} else {
|
|
487
|
+
await instantiationService.invokeFunction(innerAccessor => openChatSession(innerAccessor, {
|
|
488
|
+
type: continuationTargetType,
|
|
489
|
+
displayName: continuationTarget.displayName,
|
|
490
|
+
position: isSidebar ? ChatSessionPosition.Sidebar : ChatSessionPosition.Editor
|
|
491
|
+
}, {
|
|
492
|
+
prompt: handoffPrompt,
|
|
493
|
+
attachedContext: continuationContext,
|
|
494
|
+
initialSessionOptions: initialSessionOptions.size > 0 ? initialSessionOptions : undefined
|
|
495
|
+
}));
|
|
496
|
+
}
|
|
497
|
+
return;
|
|
498
|
+
}
|
|
499
|
+
const actionId = isSidebar ? `workbench.action.chat.openNewSessionSidebar.${continuationTargetType}` : `${NEW_CHAT_SESSION_ACTION_ID}.${continuationTargetType}`;
|
|
422
500
|
await commandService.executeCommand(actionId, {
|
|
423
|
-
prompt:
|
|
424
|
-
attachedContext:
|
|
501
|
+
prompt: handoffPrompt,
|
|
502
|
+
attachedContext: continuationContext,
|
|
425
503
|
initialSessionOptions: initialSessionOptions.size > 0 ? initialSessionOptions : undefined
|
|
426
504
|
});
|
|
427
505
|
return;
|
|
428
506
|
}
|
|
429
507
|
const defaultAgent = chatAgentService.getDefaultAgent(ChatAgentLocation.Chat);
|
|
430
|
-
const instantiationService = accessor.get(IInstantiationService);
|
|
431
508
|
const requestParser = instantiationService.createInstance(ChatRequestParser);
|
|
432
509
|
const context = {
|
|
433
510
|
sessionType: getChatSessionType(sessionResource)
|
|
@@ -509,4 +586,4 @@ class CreateRemoteAgentJobFromEditorAction {
|
|
|
509
586
|
}
|
|
510
587
|
});
|
|
511
588
|
|
|
512
|
-
export { ActionLocation, ChatContinueInSessionActionItem, ContinueChatInSessionAction, CreateRemoteAgentJobAction };
|
|
589
|
+
export { ActionLocation, ChatContinueInSessionActionItem, ContinueChatInSessionAction, CreateRemoteAgentJobAction, buildDelegationTranscript, createDelegationTranscriptAttachment };
|
|
@@ -15,7 +15,7 @@ class AcceptElicitationRequestAction extends Action2 {
|
|
|
15
15
|
constructor() {
|
|
16
16
|
super({
|
|
17
17
|
id: AcceptElicitationRequestActionId,
|
|
18
|
-
title: ( localize2(
|
|
18
|
+
title: ( localize2(5249, "Accept Request")),
|
|
19
19
|
f1: false,
|
|
20
20
|
category: CHAT_CATEGORY,
|
|
21
21
|
keybinding: {
|
|
@@ -3,13 +3,14 @@ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
|
3
3
|
import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions";
|
|
4
4
|
import { Action2 } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions";
|
|
5
5
|
import { ChatModeKind } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
|
|
6
|
-
import { IChatWidget } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
6
|
+
import { type IChatAcceptInputOptions, IChatWidget } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
7
7
|
export interface IVoiceChatExecuteActionContext {
|
|
8
8
|
readonly disableTimeout?: boolean;
|
|
9
9
|
}
|
|
10
10
|
export interface IChatExecuteActionContext {
|
|
11
11
|
widget?: IChatWidget;
|
|
12
12
|
inputValue?: string;
|
|
13
|
+
acceptInputOptions?: IChatAcceptInputOptions;
|
|
13
14
|
voice?: IVoiceChatExecuteActionContext;
|
|
14
15
|
}
|
|
15
16
|
declare abstract class SubmitAction extends Action2 {
|
|
@@ -55,6 +56,19 @@ export declare class OpenWorkspacePickerAction extends Action2 {
|
|
|
55
56
|
constructor();
|
|
56
57
|
run(accessor: ServicesAccessor, ...args: unknown[]): Promise<void>;
|
|
57
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Workspace picker chip for the automations dialog. Sits between the mode
|
|
61
|
+
* picker (order 1) and the model picker (order 3) in the primary chat input
|
|
62
|
+
* toolbar. Visible only when the hosting `ChatInputPart` was constructed with
|
|
63
|
+
* a `workspacePickerInput` and the dialog has set
|
|
64
|
+
* {@link ChatContextKeys.inAutomationsDialog} on its scoped context-key
|
|
65
|
+
* service.
|
|
66
|
+
*/
|
|
67
|
+
export declare class OpenAutomationsWorkspacePickerAction extends Action2 {
|
|
68
|
+
static readonly ID = "workbench.action.chat.openAutomationsWorkspacePicker";
|
|
69
|
+
constructor();
|
|
70
|
+
run(accessor: ServicesAccessor, ...args: unknown[]): Promise<void>;
|
|
71
|
+
}
|
|
58
72
|
export declare class ChatSessionPrimaryPickerAction extends Action2 {
|
|
59
73
|
static readonly ID = "workbench.action.chat.chatSessionPrimaryPicker";
|
|
60
74
|
constructor();
|