@codingame/monaco-vscode-katex-common 34.1.3 → 35.0.1
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
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
|
|
2
2
|
import { assertNever } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
|
|
3
3
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
4
|
+
import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
|
|
4
5
|
import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
5
6
|
import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
7
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
7
8
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
8
9
|
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
10
|
+
import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
9
11
|
import { ExtensionIdentifier } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
|
|
12
|
+
import { FileSystemProviderCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
|
|
13
|
+
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
14
|
+
import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
|
|
10
15
|
import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
11
16
|
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
12
17
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
18
|
+
import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service';
|
|
13
19
|
import { ExtensionEditorTab } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions';
|
|
14
20
|
import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service';
|
|
15
21
|
import { McpCommandIds } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpCommandIds';
|
|
@@ -18,9 +24,9 @@ import { McpServerEditorTab, McpConnectionState, McpServerCacheState } from '@co
|
|
|
18
24
|
import { IMcpService, IMcpWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service';
|
|
19
25
|
import { startServerAndWaitForLiveTools } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypesUtils';
|
|
20
26
|
import { ILanguageModelToolsConfirmationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service';
|
|
21
|
-
import { ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
|
|
27
|
+
import { ToolDataSource, ToolAndToolSetEnablementMap } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
|
|
22
28
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
|
|
23
|
-
import { ConfigureToolSets } from '../tools/toolSetsContribution.js';
|
|
29
|
+
import { deleteToolSetFromFileContents, ConfigureToolSets } from '../tools/toolSetsContribution.js';
|
|
24
30
|
|
|
25
31
|
var BucketOrdinal;
|
|
26
32
|
(function(BucketOrdinal) {
|
|
@@ -72,17 +78,21 @@ function createToolTreeItemFromData(tool, checked) {
|
|
|
72
78
|
...iconProps
|
|
73
79
|
};
|
|
74
80
|
}
|
|
75
|
-
function createToolSetTreeItem(toolset, checked, editorService) {
|
|
81
|
+
function createToolSetTreeItem(toolset, checked, editorService, removeToolSet) {
|
|
76
82
|
const iconProps = mapIconToTreeItem(toolset.icon);
|
|
77
83
|
const buttons = [];
|
|
78
84
|
if (toolset.source.type === "user") {
|
|
79
85
|
const resource = toolset.source.file;
|
|
80
86
|
buttons.push({
|
|
81
87
|
iconClass: ThemeIcon.asClassName(Codicon.edit),
|
|
82
|
-
tooltip: ( localize(
|
|
88
|
+
tooltip: ( localize(5388, "Edit Tool Set")),
|
|
83
89
|
action: () => editorService.openEditor({
|
|
84
90
|
resource
|
|
85
91
|
})
|
|
92
|
+
}, {
|
|
93
|
+
iconClass: ThemeIcon.asClassName(Codicon.trash),
|
|
94
|
+
tooltip: ( localize(5389, "Delete Tool Set")),
|
|
95
|
+
action: () => removeToolSet(toolset)
|
|
86
96
|
});
|
|
87
97
|
}
|
|
88
98
|
return {
|
|
@@ -109,6 +119,50 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
109
119
|
const toolsService = accessor.get(ILanguageModelToolsService);
|
|
110
120
|
const confirmationService = accessor.get(ILanguageModelToolsConfirmationService);
|
|
111
121
|
const telemetryService = accessor.get(ITelemetryService);
|
|
122
|
+
const dialogService = accessor.get(IDialogService);
|
|
123
|
+
const textFileService = accessor.get(ITextFileService);
|
|
124
|
+
const fileService = accessor.get(IFileService);
|
|
125
|
+
const notificationService = accessor.get(INotificationService);
|
|
126
|
+
const removeToolSet = async toolSet => {
|
|
127
|
+
if (toolSet.source.type !== "user") {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const result = await dialogService.confirm({
|
|
131
|
+
type: "warning",
|
|
132
|
+
message: ( localize(5390, "Delete tool set '{0}'?", toolSet.referenceName)),
|
|
133
|
+
detail: ( localize(
|
|
134
|
+
5391,
|
|
135
|
+
"This removes the tool set definition from {0}.",
|
|
136
|
+
toolSet.source.label
|
|
137
|
+
)),
|
|
138
|
+
primaryButton: ( localize(5392, "Delete"))
|
|
139
|
+
});
|
|
140
|
+
if (!result.confirmed) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
try {
|
|
144
|
+
const rawContent = await textFileService.read(toolSet.source.file);
|
|
145
|
+
const updated = deleteToolSetFromFileContents(rawContent.value, toolSet.referenceName);
|
|
146
|
+
if (!updated) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
if (updated.isEmpty) {
|
|
150
|
+
const useTrash = fileService.hasCapability(toolSet.source.file, FileSystemProviderCapabilities.Trash);
|
|
151
|
+
await fileService.del(toolSet.source.file, {
|
|
152
|
+
useTrash
|
|
153
|
+
});
|
|
154
|
+
} else {
|
|
155
|
+
await textFileService.write(toolSet.source.file, updated.contents);
|
|
156
|
+
}
|
|
157
|
+
} catch (error) {
|
|
158
|
+
notificationService.error(( localize(
|
|
159
|
+
5393,
|
|
160
|
+
"Failed to delete tool set '{0}': {1}",
|
|
161
|
+
toolSet.referenceName,
|
|
162
|
+
toErrorMessage(error)
|
|
163
|
+
)));
|
|
164
|
+
}
|
|
165
|
+
};
|
|
112
166
|
const mcpServerByTool = ( new Map());
|
|
113
167
|
for (const server of mcpService.servers.get()) {
|
|
114
168
|
for (const tool of server.tools.get()) {
|
|
@@ -125,13 +179,16 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
125
179
|
}
|
|
126
180
|
}
|
|
127
181
|
for (const toolSet of toolsService.getToolSetsForModel(model)) {
|
|
182
|
+
if (toolSet.hiddenInToolsPicker) {
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
128
185
|
defaultEntries.set(toolSet, false);
|
|
129
186
|
}
|
|
130
187
|
toolsEntries = defaultEntries;
|
|
131
188
|
}
|
|
132
|
-
|
|
133
|
-
toolsEntries.set(
|
|
134
|
-
}
|
|
189
|
+
for (const [entry, enabled] of previousToolsEntries ?? []) {
|
|
190
|
+
toolsEntries.set(entry.id, enabled);
|
|
191
|
+
}
|
|
135
192
|
const treeItems = [];
|
|
136
193
|
const bucketMap = ( new Map());
|
|
137
194
|
const getKey = source => {
|
|
@@ -166,7 +223,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
166
223
|
if (collection?.source) {
|
|
167
224
|
buttons.push({
|
|
168
225
|
iconClass: ThemeIcon.asClassName(Codicon.settingsGear),
|
|
169
|
-
tooltip: ( localize(
|
|
226
|
+
tooltip: ( localize(5394, "Configure {0}", collection.label)),
|
|
170
227
|
action: () => collection.source ? collection.source instanceof ExtensionIdentifier ? extensionsWorkbenchService.open(collection.source.value, {
|
|
171
228
|
tab: ExtensionEditorTab.Features,
|
|
172
229
|
feature: "mcp"
|
|
@@ -177,7 +234,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
177
234
|
} else if (collection?.presentation?.origin) {
|
|
178
235
|
buttons.push({
|
|
179
236
|
iconClass: ThemeIcon.asClassName(Codicon.settingsGear),
|
|
180
|
-
tooltip: ( localize(
|
|
237
|
+
tooltip: ( localize(5394, "Configure {0}", collection.label)),
|
|
181
238
|
action: () => editorService.openEditor({
|
|
182
239
|
resource: collection.presentation.origin
|
|
183
240
|
})
|
|
@@ -186,7 +243,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
186
243
|
if (mcpServer.connectionState.get().state === McpConnectionState.Kind.Error) {
|
|
187
244
|
buttons.push({
|
|
188
245
|
iconClass: ThemeIcon.asClassName(Codicon.warning),
|
|
189
|
-
tooltip: ( localize(
|
|
246
|
+
tooltip: ( localize(5395, "Show Output")),
|
|
190
247
|
action: () => mcpServer.showOutput()
|
|
191
248
|
});
|
|
192
249
|
}
|
|
@@ -198,7 +255,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
198
255
|
children.push({
|
|
199
256
|
itemType: "callback",
|
|
200
257
|
iconClass: ThemeIcon.asClassName(Codicon.sync),
|
|
201
|
-
label: ( localize(
|
|
258
|
+
label: ( localize(5396, "Update Tools")),
|
|
202
259
|
pickable: false,
|
|
203
260
|
run: () => {
|
|
204
261
|
treePicker.busy = true;
|
|
@@ -254,7 +311,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
254
311
|
itemType: "bucket",
|
|
255
312
|
ordinal: BucketOrdinal.BuiltIn,
|
|
256
313
|
id: key,
|
|
257
|
-
label: ( localize(
|
|
314
|
+
label: ( localize(5397, "Built-In")),
|
|
258
315
|
checked: undefined,
|
|
259
316
|
children: [],
|
|
260
317
|
buttons: [],
|
|
@@ -266,7 +323,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
266
323
|
itemType: "bucket",
|
|
267
324
|
ordinal: BucketOrdinal.User,
|
|
268
325
|
id: key,
|
|
269
|
-
label: ( localize(
|
|
326
|
+
label: ( localize(5398, "User Defined Tool Sets")),
|
|
270
327
|
checked: undefined,
|
|
271
328
|
children: [],
|
|
272
329
|
buttons: [],
|
|
@@ -287,6 +344,9 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
287
344
|
return bucket;
|
|
288
345
|
};
|
|
289
346
|
for (const toolSet of toolsService.getToolSetsForModel(model)) {
|
|
347
|
+
if (toolSet.hiddenInToolsPicker) {
|
|
348
|
+
continue;
|
|
349
|
+
}
|
|
290
350
|
if (!( toolsEntries.has(toolSet.id))) {
|
|
291
351
|
continue;
|
|
292
352
|
}
|
|
@@ -301,7 +361,12 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
301
361
|
bucket.checked = toolSetChecked;
|
|
302
362
|
}
|
|
303
363
|
} else {
|
|
304
|
-
const treeItem = createToolSetTreeItem(
|
|
364
|
+
const treeItem = createToolSetTreeItem(
|
|
365
|
+
toolSet,
|
|
366
|
+
toolSetChecked,
|
|
367
|
+
editorService,
|
|
368
|
+
toolSet => void removeToolSet(toolSet)
|
|
369
|
+
);
|
|
305
370
|
bucket.children.push(treeItem);
|
|
306
371
|
const children = [];
|
|
307
372
|
for (const tool of toolSet.getTools()) {
|
|
@@ -370,7 +435,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
370
435
|
const buttons = toolItem.buttons ? [...toolItem.buttons] : [];
|
|
371
436
|
buttons.push({
|
|
372
437
|
iconClass: ThemeIcon.asClassName(Codicon.pass),
|
|
373
|
-
tooltip: ( localize(
|
|
438
|
+
tooltip: ( localize(5399, "Manage Approval")),
|
|
374
439
|
keepOpen: true,
|
|
375
440
|
action: () => confirmationService.manageConfirmationPreferences(manageTools, {
|
|
376
441
|
focusToolId: tool.id
|
|
@@ -391,7 +456,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
391
456
|
}
|
|
392
457
|
}
|
|
393
458
|
if (treeItems.length === 0) {
|
|
394
|
-
treePicker.placeholder = ( localize(
|
|
459
|
+
treePicker.placeholder = ( localize(5400, "Add tools to chat"));
|
|
395
460
|
} else {
|
|
396
461
|
treePicker.placeholder = placeHolder;
|
|
397
462
|
}
|
|
@@ -423,17 +488,24 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
423
488
|
}
|
|
424
489
|
traverse(item.children);
|
|
425
490
|
} else if (isToolSetTreeItem(item)) {
|
|
426
|
-
|
|
491
|
+
let toolSetChecked = item.checked === true;
|
|
492
|
+
if (item.children) {
|
|
493
|
+
const allChildrenChecked = item.children.filter(isToolTreeItem).every(child => child.checked === true);
|
|
494
|
+
toolSetChecked = toolSetChecked && allChildrenChecked;
|
|
495
|
+
}
|
|
496
|
+
result.set(item.toolset, toolSetChecked);
|
|
427
497
|
if (item.children) {
|
|
428
498
|
traverse(item.children);
|
|
429
499
|
}
|
|
430
500
|
} else if (isToolTreeItem(item)) {
|
|
431
|
-
|
|
501
|
+
const checked = item.checked === true;
|
|
502
|
+
const previous = result.get(item.tool);
|
|
503
|
+
result.set(item.tool, previous === undefined ? checked : previous && checked);
|
|
432
504
|
}
|
|
433
505
|
}
|
|
434
506
|
};
|
|
435
507
|
traverse(treePicker.itemTree);
|
|
436
|
-
return result;
|
|
508
|
+
return ToolAndToolSetEnablementMap.fromMap(result);
|
|
437
509
|
};
|
|
438
510
|
let didAccept = false;
|
|
439
511
|
const didAcceptFinalItem = store.add(( new Emitter()));
|
|
@@ -452,17 +524,17 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
452
524
|
}));
|
|
453
525
|
const addMcpServerButton = {
|
|
454
526
|
iconClass: ThemeIcon.asClassName(Codicon.mcp),
|
|
455
|
-
tooltip: ( localize(
|
|
527
|
+
tooltip: ( localize(5401, "Add MCP Server..."))
|
|
456
528
|
};
|
|
457
529
|
const installExtension = {
|
|
458
530
|
iconClass: ThemeIcon.asClassName(Codicon.extensions),
|
|
459
|
-
tooltip: ( localize(
|
|
531
|
+
tooltip: ( localize(5402, "Install Extension..."))
|
|
460
532
|
};
|
|
461
533
|
const configureToolSets = {
|
|
462
534
|
iconClass: ThemeIcon.asClassName(Codicon.gear),
|
|
463
|
-
tooltip: ( localize(
|
|
535
|
+
tooltip: ( localize(5403, "Configure Tool Sets..."))
|
|
464
536
|
};
|
|
465
|
-
treePicker.title = ( localize(
|
|
537
|
+
treePicker.title = ( localize(5404, "Configure Tools"));
|
|
466
538
|
treePicker.buttons = [addMcpServerButton, installExtension, configureToolSets];
|
|
467
539
|
store.add(treePicker.onDidTriggerButton(button => {
|
|
468
540
|
if (button === addMcpServerButton) {
|
|
@@ -470,7 +542,9 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
|
|
|
470
542
|
} else if (button === installExtension) {
|
|
471
543
|
extensionsWorkbenchService.openSearch("@tag:language-model-tools");
|
|
472
544
|
} else if (button === configureToolSets) {
|
|
473
|
-
commandService.executeCommand(ConfigureToolSets.ID
|
|
545
|
+
commandService.executeCommand(ConfigureToolSets.ID, {
|
|
546
|
+
selection: collectResults()
|
|
547
|
+
});
|
|
474
548
|
}
|
|
475
549
|
treePicker.hide();
|
|
476
550
|
}));
|
|
@@ -12,7 +12,15 @@ import { Action2 } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions
|
|
|
12
12
|
* 0.8 OpenAgentHostAutoApprovePickerAction (NEW — Auto-Approve)
|
|
13
13
|
* 0.9 OpenAgentHostPermissionModePickerAction (NEW — Claude Approvals)
|
|
14
14
|
* 1 OpenPermissionPickerAction (Default Approvals)
|
|
15
|
+
* 1.1 OpenAgentHostFolderPickerAction (NEW — Folder, multi-root only;
|
|
16
|
+
* ordered last to match the
|
|
17
|
+
* extension-host Copilot CLI)
|
|
15
18
|
*/
|
|
19
|
+
export declare class OpenAgentHostFolderPickerAction extends Action2 {
|
|
20
|
+
static readonly ID = "workbench.action.chat.openAgentHostFolderPicker";
|
|
21
|
+
constructor();
|
|
22
|
+
run(): Promise<void>;
|
|
23
|
+
}
|
|
16
24
|
export declare class OpenAgentHostModePickerAction extends Action2 {
|
|
17
25
|
static readonly ID = "workbench.action.chat.openAgentHostModePicker";
|
|
18
26
|
constructor();
|
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
|
|
2
2
|
import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
3
3
|
import { Action2, MenuId, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
4
|
+
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
5
|
+
import { WorkspaceFolderCountContext, IsSessionsWindowContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
4
6
|
import { ChatContextKeyExprs, ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
5
7
|
|
|
8
|
+
class OpenAgentHostFolderPickerAction extends Action2 {
|
|
9
|
+
static {
|
|
10
|
+
this.ID = "workbench.action.chat.openAgentHostFolderPicker";
|
|
11
|
+
}
|
|
12
|
+
constructor() {
|
|
13
|
+
super({
|
|
14
|
+
id: OpenAgentHostFolderPickerAction.ID,
|
|
15
|
+
title: ( localize2(5487, "Folder")),
|
|
16
|
+
f1: false,
|
|
17
|
+
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ChatContextKeys.chatSessionIsEmpty)),
|
|
18
|
+
menu: [{
|
|
19
|
+
id: MenuId.ChatInputSecondary,
|
|
20
|
+
group: "navigation",
|
|
21
|
+
order: 1.1,
|
|
22
|
+
when: ( ContextKeyExpr.and(
|
|
23
|
+
ChatContextKeyExprs.isAgentHostSession,
|
|
24
|
+
WorkspaceFolderCountContext.greater(1),
|
|
25
|
+
( IsSessionsWindowContext.negate())
|
|
26
|
+
))
|
|
27
|
+
}]
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async run() {}
|
|
31
|
+
}
|
|
6
32
|
class OpenAgentHostModePickerAction extends Action2 {
|
|
7
33
|
static {
|
|
8
34
|
this.ID = "workbench.action.chat.openAgentHostModePicker";
|
|
@@ -10,7 +36,7 @@ class OpenAgentHostModePickerAction extends Action2 {
|
|
|
10
36
|
constructor() {
|
|
11
37
|
super({
|
|
12
38
|
id: OpenAgentHostModePickerAction.ID,
|
|
13
|
-
title: ( localize2(
|
|
39
|
+
title: ( localize2(5488, "Agent Mode")),
|
|
14
40
|
f1: false,
|
|
15
41
|
precondition: ChatContextKeys.enabled,
|
|
16
42
|
menu: [{
|
|
@@ -30,7 +56,7 @@ class OpenAgentHostAutoApprovePickerAction extends Action2 {
|
|
|
30
56
|
constructor() {
|
|
31
57
|
super({
|
|
32
58
|
id: OpenAgentHostAutoApprovePickerAction.ID,
|
|
33
|
-
title: ( localize2(
|
|
59
|
+
title: ( localize2(5489, "Auto-Approve")),
|
|
34
60
|
f1: false,
|
|
35
61
|
precondition: ChatContextKeys.enabled,
|
|
36
62
|
menu: [{
|
|
@@ -50,7 +76,7 @@ class OpenAgentHostPermissionModePickerAction extends Action2 {
|
|
|
50
76
|
constructor() {
|
|
51
77
|
super({
|
|
52
78
|
id: OpenAgentHostPermissionModePickerAction.ID,
|
|
53
|
-
title: ( localize2(
|
|
79
|
+
title: ( localize2(5490, "Approvals")),
|
|
54
80
|
f1: false,
|
|
55
81
|
precondition: ChatContextKeys.enabled,
|
|
56
82
|
menu: [{
|
|
@@ -66,5 +92,6 @@ class OpenAgentHostPermissionModePickerAction extends Action2 {
|
|
|
66
92
|
registerAction2(OpenAgentHostModePickerAction);
|
|
67
93
|
registerAction2(OpenAgentHostAutoApprovePickerAction);
|
|
68
94
|
registerAction2(OpenAgentHostPermissionModePickerAction);
|
|
95
|
+
registerAction2(OpenAgentHostFolderPickerAction);
|
|
69
96
|
|
|
70
|
-
export { OpenAgentHostAutoApprovePickerAction, OpenAgentHostModePickerAction, OpenAgentHostPermissionModePickerAction };
|
|
97
|
+
export { OpenAgentHostAutoApprovePickerAction, OpenAgentHostFolderPickerAction, OpenAgentHostModePickerAction, OpenAgentHostPermissionModePickerAction };
|
|
@@ -3,13 +3,25 @@ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/l
|
|
|
3
3
|
import { IAgentHostService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service";
|
|
4
4
|
import type { SessionConfigPropertySchema } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/commands";
|
|
5
5
|
import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
|
|
6
|
+
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
6
7
|
import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
|
|
8
|
+
import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service";
|
|
9
|
+
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
7
10
|
import type { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
|
|
8
11
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
9
12
|
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
10
13
|
import type { IChatWidget } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
11
14
|
import { IAgentHostSessionWorkingDirectoryResolver } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.service";
|
|
15
|
+
import { IAgentHostNewSessionFolderService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.service";
|
|
12
16
|
import { IAgentHostUntitledProvisionalSessionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.service";
|
|
17
|
+
interface IConfigPickerItem {
|
|
18
|
+
readonly value: string;
|
|
19
|
+
readonly label: string;
|
|
20
|
+
readonly description?: string;
|
|
21
|
+
readonly checked?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare function getConfigPickerTriggerHover(property: string, schema: SessionConfigPropertySchema, value: unknown | undefined, isReadOnly: boolean): string;
|
|
24
|
+
export declare function getConfigPickerItemHover(property: string, item: IConfigPickerItem, disabled: boolean): string | undefined;
|
|
13
25
|
/**
|
|
14
26
|
* Returns `true` when an `autoApprove` schema uses the well-known shape the
|
|
15
27
|
* dedicated Auto-Approve picker understands: a string enum that includes
|
|
@@ -40,6 +52,20 @@ export declare const WELL_KNOWN_PICKER_PROPERTIES: ReadonlySet<string>;
|
|
|
40
52
|
* generic lane.
|
|
41
53
|
*/
|
|
42
54
|
export declare function isClaimedByDedicatedPicker(property: string, schema: SessionConfigPropertySchema): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Resolves which config value a chat-input chip should display, given the
|
|
57
|
+
* server's session-state value and the workbench overlay value.
|
|
58
|
+
*
|
|
59
|
+
* Precedence depends on the session lifecycle:
|
|
60
|
+
* - Untitled (pre-send): the workbench overlay is authoritative — it reflects
|
|
61
|
+
* synchronous chip edits before the provisional backend echoes them, so it
|
|
62
|
+
* wins over server state.
|
|
63
|
+
* - Running (titled): the *server* is authoritative. The overlay is only
|
|
64
|
+
* refreshed on manual chip edits, so server-driven changes (e.g. Plan →
|
|
65
|
+
* Autopilot when the user approves a plan) must win, otherwise a stale
|
|
66
|
+
* overlay value would shadow them.
|
|
67
|
+
*/
|
|
68
|
+
export declare function resolveConfigChipValue(isUntitled: boolean, serverValue: unknown, overlayValue: unknown, schemaDefault: unknown): unknown;
|
|
43
69
|
/**
|
|
44
70
|
* One workbench chat-input chip bound to a single agent-host session-config
|
|
45
71
|
* property. Used both for dedicated well-known property chips
|
|
@@ -51,18 +77,23 @@ export declare class AgentHostChatInputPicker extends Disposable {
|
|
|
51
77
|
private readonly _property;
|
|
52
78
|
private readonly _agentHostService;
|
|
53
79
|
private readonly _actionWidgetService;
|
|
80
|
+
private readonly _hoverService;
|
|
54
81
|
private readonly _openerService;
|
|
55
82
|
private readonly _workingDirectoryResolver;
|
|
56
83
|
private readonly _workspaceContextService;
|
|
57
84
|
private readonly _provisional;
|
|
58
85
|
private readonly _configurationService;
|
|
59
|
-
private readonly
|
|
60
|
-
private readonly
|
|
61
|
-
private readonly
|
|
86
|
+
private readonly _newSessionFolderService;
|
|
87
|
+
private readonly _dialogService;
|
|
88
|
+
private readonly _storageService;
|
|
62
89
|
private _container;
|
|
63
90
|
private _initialResolved;
|
|
64
91
|
private readonly _initialResolveCts;
|
|
65
|
-
|
|
92
|
+
private readonly _renderDisposables;
|
|
93
|
+
private readonly _filterDelayer;
|
|
94
|
+
private readonly _subRef;
|
|
95
|
+
constructor(_widget: IChatWidget, _property: string, _agentHostService: IAgentHostService, _actionWidgetService: IActionWidgetService, _hoverService: IHoverService, _openerService: IOpenerService, _workingDirectoryResolver: IAgentHostSessionWorkingDirectoryResolver, _workspaceContextService: IWorkspaceContextService, _provisional: IAgentHostUntitledProvisionalSessionService, _configurationService: IConfigurationService, _newSessionFolderService: IAgentHostNewSessionFolderService, _dialogService: IDialogService, _storageService: IStorageService);
|
|
96
|
+
private _registerInitialResolveCts;
|
|
66
97
|
render(container: HTMLElement): void;
|
|
67
98
|
private _reattach;
|
|
68
99
|
private _cancelInitialResolve;
|
|
@@ -76,6 +107,15 @@ export declare class AgentHostChatInputPicker extends Disposable {
|
|
|
76
107
|
private _fromCompletion;
|
|
77
108
|
private _readWorkingDirectory;
|
|
78
109
|
private _readCurrentValues;
|
|
110
|
+
/**
|
|
111
|
+
* Surfaces the shared elevated-level warning for a Bypass / (legacy)
|
|
112
|
+
* Autopilot approval pick before applying it. Non-elevated levels and
|
|
113
|
+
* non-approval properties apply directly. Tolerated forward/legacy
|
|
114
|
+
* auto-approve values that are not recognized {@link ChatPermissionLevel}s
|
|
115
|
+
* (e.g. `assisted`) are still treated as elevated and fall back to the
|
|
116
|
+
* Bypass Approvals warning so they can never be selected silently.
|
|
117
|
+
*/
|
|
118
|
+
private _confirmAndSetValue;
|
|
79
119
|
private _setValue;
|
|
80
120
|
}
|
|
81
121
|
export declare class AgentHostChatInputPickerActionViewItem extends BaseActionViewItem {
|
|
@@ -83,3 +123,4 @@ export declare class AgentHostChatInputPickerActionViewItem extends BaseActionVi
|
|
|
83
123
|
constructor(action: IAction, _picker: AgentHostChatInputPicker);
|
|
84
124
|
render(container: HTMLElement): void;
|
|
85
125
|
}
|
|
126
|
+
export {};
|