@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
|
@@ -9,7 +9,7 @@ import { BaseActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/base/
|
|
|
9
9
|
import { Delayer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
10
10
|
import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
11
11
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
12
|
-
import { Disposable, DisposableStore, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
12
|
+
import { Disposable, DisposableStore, MutableDisposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
13
13
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
14
14
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
15
15
|
import { IAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service';
|
|
@@ -19,12 +19,17 @@ import { ActionType } from '@codingame/monaco-vscode-api/vscode/vs/platform/agen
|
|
|
19
19
|
import { StateComponents } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState';
|
|
20
20
|
import { ActionListItemKind } from '@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionList';
|
|
21
21
|
import { IActionWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service';
|
|
22
|
+
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
22
23
|
import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
|
|
24
|
+
import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
25
|
+
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
23
26
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
24
27
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
25
|
-
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
28
|
+
import { ChatConfiguration, ChatPermissionLevel, isChatPermissionLevel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
29
|
+
import { maybeConfirmElevatedPermissionLevel } from '../../../common/chatPermissionWarnings.js';
|
|
26
30
|
import { isUntitledChatSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
27
31
|
import { IAgentHostSessionWorkingDirectoryResolver } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.service';
|
|
32
|
+
import { IAgentHostNewSessionFolderService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.service';
|
|
28
33
|
import { IAgentHostUntitledProvisionalSessionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.service';
|
|
29
34
|
import { toAgentHostBackendSessionUri } from './agentHostSessionUri.js';
|
|
30
35
|
|
|
@@ -52,32 +57,55 @@ function getConfigIcon(property, value) {
|
|
|
52
57
|
}
|
|
53
58
|
return Codicon.shield;
|
|
54
59
|
}
|
|
60
|
+
if (property === ClaudeSessionConfigKey.PermissionMode && typeof value === "string") {
|
|
61
|
+
switch (value) {
|
|
62
|
+
case "default":
|
|
63
|
+
return Codicon.shield;
|
|
64
|
+
case "acceptEdits":
|
|
65
|
+
return Codicon.edit;
|
|
66
|
+
case "plan":
|
|
67
|
+
return Codicon.lightbulb;
|
|
68
|
+
case "auto":
|
|
69
|
+
return Codicon.sparkle;
|
|
70
|
+
case "bypassPermissions":
|
|
71
|
+
return Codicon.warning;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
55
74
|
return undefined;
|
|
56
75
|
}
|
|
57
76
|
function isAutoApprovePolicyRestricted(configurationService) {
|
|
58
77
|
return configurationService.inspect(ChatConfiguration.GlobalAutoApprove).policyValue === false;
|
|
59
78
|
}
|
|
60
79
|
function normalizeConfigValue(property, value, policyRestricted) {
|
|
61
|
-
if (property === SessionConfigKey.AutoApprove && policyRestricted &&
|
|
80
|
+
if (property === SessionConfigKey.AutoApprove && policyRestricted && value !== "default") {
|
|
62
81
|
return "default";
|
|
63
82
|
}
|
|
64
83
|
return value;
|
|
65
84
|
}
|
|
66
85
|
function toActionItems(property, items, currentValue, policyRestricted = false) {
|
|
67
|
-
return (items.map(item =>
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
86
|
+
return ( items.map(item => {
|
|
87
|
+
const disabled = policyRestricted && property === SessionConfigKey.AutoApprove && (item.value === "autoApprove" || item.value === "autopilot");
|
|
88
|
+
const hover = getConfigPickerItemHover(property, item, disabled);
|
|
89
|
+
return {
|
|
90
|
+
kind: ActionListItemKind.Action,
|
|
91
|
+
label: item.label,
|
|
92
|
+
detail: item.description,
|
|
93
|
+
group: {
|
|
94
|
+
title: "",
|
|
95
|
+
icon: getConfigIcon(property, item.value)
|
|
96
|
+
},
|
|
97
|
+
disabled,
|
|
98
|
+
...(hover ? {
|
|
99
|
+
hover: {
|
|
100
|
+
content: hover
|
|
101
|
+
}
|
|
102
|
+
} : {}),
|
|
103
|
+
item: {
|
|
104
|
+
...item,
|
|
105
|
+
checked: isSelectedValue(currentValue, item.value)
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
}));
|
|
81
109
|
}
|
|
82
110
|
function isSelectedValue(currentValue, itemValue) {
|
|
83
111
|
if (typeof currentValue === "boolean") {
|
|
@@ -85,6 +113,52 @@ function isSelectedValue(currentValue, itemValue) {
|
|
|
85
113
|
}
|
|
86
114
|
return itemValue === currentValue;
|
|
87
115
|
}
|
|
116
|
+
function getAutoApproveHover(value, fallback) {
|
|
117
|
+
switch (value) {
|
|
118
|
+
case ChatPermissionLevel.Default:
|
|
119
|
+
return localize(
|
|
120
|
+
5491,
|
|
121
|
+
"Copilot asks before running tools unless your configured settings allow the tool."
|
|
122
|
+
);
|
|
123
|
+
case ChatPermissionLevel.AutoApprove:
|
|
124
|
+
return localize(5492, "Copilot runs all tools without asking for approval.");
|
|
125
|
+
case ChatPermissionLevel.Autopilot:
|
|
126
|
+
return localize(
|
|
127
|
+
5493,
|
|
128
|
+
"Copilot runs tools without asking for approval and continues until the task is done."
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
return fallback ?? ( localize(
|
|
132
|
+
5494,
|
|
133
|
+
"Controls whether the agent asks before running tools in this session."
|
|
134
|
+
));
|
|
135
|
+
}
|
|
136
|
+
function getEnumValueDescription(schema, value) {
|
|
137
|
+
if (typeof value !== "string") {
|
|
138
|
+
return undefined;
|
|
139
|
+
}
|
|
140
|
+
const index = schema.enum?.indexOf(value) ?? -1;
|
|
141
|
+
return index >= 0 ? schema.enumDescriptions?.[index] : undefined;
|
|
142
|
+
}
|
|
143
|
+
function getConfigPickerTriggerHover(property, schema, value, isReadOnly) {
|
|
144
|
+
if (property !== SessionConfigKey.AutoApprove) {
|
|
145
|
+
return schema.description ?? schema.title;
|
|
146
|
+
}
|
|
147
|
+
const hover = getAutoApproveHover(value, getEnumValueDescription(schema, value));
|
|
148
|
+
if (isReadOnly) {
|
|
149
|
+
return localize(5495, "{0} Read-only.", hover);
|
|
150
|
+
}
|
|
151
|
+
return hover;
|
|
152
|
+
}
|
|
153
|
+
function getConfigPickerItemHover(property, item, disabled) {
|
|
154
|
+
if (disabled) {
|
|
155
|
+
return localize(5496, "Disabled by enterprise policy");
|
|
156
|
+
}
|
|
157
|
+
if (property === SessionConfigKey.AutoApprove) {
|
|
158
|
+
return getAutoApproveHover(item.value, item.description);
|
|
159
|
+
}
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
88
162
|
function renderPickerTrigger(slot, disabled, disposables, onOpen) {
|
|
89
163
|
const trigger = append(slot, disabled ? $("span.action-label") : $("a.action-label"));
|
|
90
164
|
if (disabled) {
|
|
@@ -117,7 +191,7 @@ function isWellKnownAutoApproveSchema(schema) {
|
|
|
117
191
|
if (!schema.enum.includes("default")) {
|
|
118
192
|
return false;
|
|
119
193
|
}
|
|
120
|
-
return schema.enum.every(value => ( KNOWN_AUTO_APPROVE_VALUES.has(value)));
|
|
194
|
+
return schema.enum.every(value => typeof value === "string" && ( KNOWN_AUTO_APPROVE_VALUES.has(value)));
|
|
121
195
|
}
|
|
122
196
|
const WELL_KNOWN_PICKER_PROPERTIES = ( new Set([
|
|
123
197
|
SessionConfigKey.Mode,
|
|
@@ -133,32 +207,44 @@ function isClaimedByDedicatedPicker(property, schema) {
|
|
|
133
207
|
}
|
|
134
208
|
return ( WELL_KNOWN_PICKER_PROPERTIES.has(property));
|
|
135
209
|
}
|
|
210
|
+
function resolveConfigChipValue(isUntitled, serverValue, overlayValue, schemaDefault) {
|
|
211
|
+
const preferred = isUntitled ? (overlayValue ?? serverValue) : (serverValue ?? overlayValue);
|
|
212
|
+
return preferred ?? schemaDefault;
|
|
213
|
+
}
|
|
136
214
|
let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable {
|
|
137
215
|
constructor(
|
|
138
216
|
_widget,
|
|
139
217
|
_property,
|
|
140
218
|
_agentHostService,
|
|
141
219
|
_actionWidgetService,
|
|
220
|
+
_hoverService,
|
|
142
221
|
_openerService,
|
|
143
222
|
_workingDirectoryResolver,
|
|
144
223
|
_workspaceContextService,
|
|
145
224
|
_provisional,
|
|
146
|
-
_configurationService
|
|
225
|
+
_configurationService,
|
|
226
|
+
_newSessionFolderService,
|
|
227
|
+
_dialogService,
|
|
228
|
+
_storageService
|
|
147
229
|
) {
|
|
148
230
|
super();
|
|
149
231
|
this._widget = _widget;
|
|
150
232
|
this._property = _property;
|
|
151
233
|
this._agentHostService = _agentHostService;
|
|
152
234
|
this._actionWidgetService = _actionWidgetService;
|
|
235
|
+
this._hoverService = _hoverService;
|
|
153
236
|
this._openerService = _openerService;
|
|
154
237
|
this._workingDirectoryResolver = _workingDirectoryResolver;
|
|
155
238
|
this._workspaceContextService = _workspaceContextService;
|
|
156
239
|
this._provisional = _provisional;
|
|
157
240
|
this._configurationService = _configurationService;
|
|
241
|
+
this._newSessionFolderService = _newSessionFolderService;
|
|
242
|
+
this._dialogService = _dialogService;
|
|
243
|
+
this._storageService = _storageService;
|
|
244
|
+
this._initialResolveCts = this._registerInitialResolveCts();
|
|
158
245
|
this._renderDisposables = this._register(( new DisposableStore()));
|
|
159
246
|
this._filterDelayer = this._register(( new Delayer(200)));
|
|
160
247
|
this._subRef = this._register(( new MutableDisposable()));
|
|
161
|
-
this._initialResolveCts = this._register(( new MutableDisposable()));
|
|
162
248
|
this._register(this._widget.onDidChangeViewModel(() => {
|
|
163
249
|
this._reattach();
|
|
164
250
|
}));
|
|
@@ -170,6 +256,14 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
170
256
|
}));
|
|
171
257
|
this._reattach();
|
|
172
258
|
}
|
|
259
|
+
_registerInitialResolveCts() {
|
|
260
|
+
const cts = ( new MutableDisposable());
|
|
261
|
+
this._register(toDisposable(() => {
|
|
262
|
+
this._container = undefined;
|
|
263
|
+
this._cancelInitialResolve();
|
|
264
|
+
}));
|
|
265
|
+
return this._register(cts);
|
|
266
|
+
}
|
|
173
267
|
render(container) {
|
|
174
268
|
this._container = container;
|
|
175
269
|
container.classList.add("agent-host-chat-input-picker-host");
|
|
@@ -236,7 +330,7 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
236
330
|
} catch {}
|
|
237
331
|
}
|
|
238
332
|
_renderChip() {
|
|
239
|
-
if (!this._container) {
|
|
333
|
+
if (!this._container || this._renderDisposables.isDisposed) {
|
|
240
334
|
return;
|
|
241
335
|
}
|
|
242
336
|
this._renderDisposables.clear();
|
|
@@ -262,6 +356,12 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
262
356
|
});
|
|
263
357
|
const isReadOnly = !!ctx.schema.readOnly || (isStartedSession && ctx.schema.sessionMutable === false);
|
|
264
358
|
const trigger = renderPickerTrigger(slot, isReadOnly, this._renderDisposables, () => this._showPicker(trigger));
|
|
359
|
+
const tooltip = getConfigPickerTriggerHover(this._property, ctx.schema, ctx.value, isReadOnly);
|
|
360
|
+
if (tooltip) {
|
|
361
|
+
this._renderDisposables.add(this._hoverService.setupDelayedHover(trigger, {
|
|
362
|
+
content: tooltip
|
|
363
|
+
}));
|
|
364
|
+
}
|
|
265
365
|
this._renderTrigger(trigger, ctx.schema, ctx.value, isReadOnly);
|
|
266
366
|
}
|
|
267
367
|
_renderTrigger(trigger, schema, value, isReadOnly) {
|
|
@@ -277,11 +377,11 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
277
377
|
const label = this._labelFor(schema, value);
|
|
278
378
|
const labelSpan = append(trigger, $("span.agent-host-chat-input-picker-label"));
|
|
279
379
|
labelSpan.textContent = label;
|
|
280
|
-
trigger.setAttribute("aria-label", isReadOnly ? ( localize(
|
|
380
|
+
trigger.setAttribute("aria-label", isReadOnly ? ( localize(5497, "{0}: {1}, Read-Only", schema.title, label)) : ( localize(5498, "{0}: {1}", schema.title, label)));
|
|
281
381
|
}
|
|
282
382
|
_labelFor(schema, value) {
|
|
283
383
|
if (schema.type === "boolean") {
|
|
284
|
-
return value === true ? ( localize(
|
|
384
|
+
return value === true ? ( localize(5499, "On")) : ( localize(5500, "Off"));
|
|
285
385
|
}
|
|
286
386
|
if (typeof value === "string") {
|
|
287
387
|
const index = schema.enum?.indexOf(value) ?? -1;
|
|
@@ -305,7 +405,14 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
305
405
|
if (!schema) {
|
|
306
406
|
return undefined;
|
|
307
407
|
}
|
|
308
|
-
const
|
|
408
|
+
const serverValue = state.config?.values?.[this._property];
|
|
409
|
+
const overlayValue = overlay?.values?.[this._property];
|
|
410
|
+
const value = resolveConfigChipValue(
|
|
411
|
+
isUntitledChatSession(sessionResource),
|
|
412
|
+
serverValue,
|
|
413
|
+
overlayValue,
|
|
414
|
+
schema.default
|
|
415
|
+
);
|
|
309
416
|
return {
|
|
310
417
|
backendSession: this._subRef.value.backendSession,
|
|
311
418
|
schema,
|
|
@@ -346,16 +453,21 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
346
453
|
const policyRestricted = isAutoApprovePolicyRestricted(this._configurationService);
|
|
347
454
|
const actionItems = toActionItems(this._property, items, currentValue, policyRestricted);
|
|
348
455
|
if (this._property === ClaudeSessionConfigKey.PermissionMode || this._property === SessionConfigKey.AutoApprove) {
|
|
456
|
+
const learnMoreLabel = ( localize(5501, "Learn more about permissions"));
|
|
457
|
+
actionItems.push({
|
|
458
|
+
kind: ActionListItemKind.Separator,
|
|
459
|
+
label: ""
|
|
460
|
+
});
|
|
349
461
|
actionItems.push({
|
|
350
462
|
kind: ActionListItemKind.Action,
|
|
351
|
-
label:
|
|
463
|
+
label: learnMoreLabel,
|
|
352
464
|
group: {
|
|
353
465
|
title: "",
|
|
354
466
|
icon: Codicon.blank
|
|
355
467
|
},
|
|
356
468
|
item: {
|
|
357
469
|
value: LEARN_MORE_VALUE,
|
|
358
|
-
label:
|
|
470
|
+
label: learnMoreLabel
|
|
359
471
|
}
|
|
360
472
|
});
|
|
361
473
|
}
|
|
@@ -366,7 +478,7 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
366
478
|
void this._openerService.open(( URI.parse(PERMISSION_MODE_LEARN_MORE_URL)));
|
|
367
479
|
return;
|
|
368
480
|
}
|
|
369
|
-
void this.
|
|
481
|
+
void this._confirmAndSetValue(ctx.backendSession, item.value);
|
|
370
482
|
},
|
|
371
483
|
onFilter: ctx.schema.enumDynamic ? query => this._filterDelayer.trigger(async () => {
|
|
372
484
|
const refreshed = this._readContext();
|
|
@@ -392,11 +504,11 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
392
504
|
[],
|
|
393
505
|
{
|
|
394
506
|
getAriaLabel: item => item.label ?? "",
|
|
395
|
-
getWidgetAriaLabel: () => ( localize(
|
|
507
|
+
getWidgetAriaLabel: () => ( localize(5502, "{0} Picker", ctx.schema.title))
|
|
396
508
|
},
|
|
397
509
|
actionItems.length > FILTER_THRESHOLD || ctx.schema.enumDynamic ? {
|
|
398
510
|
showFilter: true,
|
|
399
|
-
filterPlaceholder: ( localize(
|
|
511
|
+
filterPlaceholder: ( localize(5503, "Filter..."))
|
|
400
512
|
} : undefined
|
|
401
513
|
);
|
|
402
514
|
}
|
|
@@ -404,10 +516,10 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
404
516
|
if (schema.type === "boolean") {
|
|
405
517
|
return [{
|
|
406
518
|
value: "true",
|
|
407
|
-
label: ( localize(
|
|
519
|
+
label: ( localize(5504, "On"))
|
|
408
520
|
}, {
|
|
409
521
|
value: "false",
|
|
410
|
-
label: ( localize(
|
|
522
|
+
label: ( localize(5505, "Off"))
|
|
411
523
|
}];
|
|
412
524
|
}
|
|
413
525
|
const sessionResource = this._widget.viewModel?.sessionResource;
|
|
@@ -425,8 +537,8 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
425
537
|
} catch {}
|
|
426
538
|
}
|
|
427
539
|
return ( (schema.enum ?? []).map((value, index) => ({
|
|
428
|
-
value,
|
|
429
|
-
label: schema.enumLabels?.[index] ?? value,
|
|
540
|
+
value: String(value),
|
|
541
|
+
label: schema.enumLabels?.[index] ?? String(value),
|
|
430
542
|
description: schema.enumDescriptions?.[index]
|
|
431
543
|
})));
|
|
432
544
|
}
|
|
@@ -440,11 +552,11 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
440
552
|
_readWorkingDirectory() {
|
|
441
553
|
const state = this._subRef.value?.sub.value;
|
|
442
554
|
if (state && !(state instanceof Error)) {
|
|
443
|
-
const cwd = state.
|
|
555
|
+
const cwd = state.workingDirectory;
|
|
444
556
|
return typeof cwd === "string" ? ( URI.parse(cwd)) : cwd;
|
|
445
557
|
}
|
|
446
558
|
const sessionResource = this._widget.viewModel?.sessionResource;
|
|
447
|
-
return (sessionResource && this._workingDirectoryResolver.resolve(sessionResource)) ?? this._workspaceContextService.getWorkspace().folders[0]?.uri;
|
|
559
|
+
return (sessionResource && this._newSessionFolderService.getFolder(sessionResource)) ?? (sessionResource && this._workingDirectoryResolver.resolve(sessionResource)) ?? this._newSessionFolderService.getDefaultFolder() ?? this._workspaceContextService.getWorkspace().folders[0]?.uri;
|
|
448
560
|
}
|
|
449
561
|
_readCurrentValues() {
|
|
450
562
|
const sessionResource = this._widget.viewModel?.sessionResource;
|
|
@@ -458,6 +570,20 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
458
570
|
}
|
|
459
571
|
return overlay?.values ?? this._initialResolved?.result.values;
|
|
460
572
|
}
|
|
573
|
+
async _confirmAndSetValue(backendSession, value) {
|
|
574
|
+
if (this._property === SessionConfigKey.AutoApprove) {
|
|
575
|
+
const levelToConfirm = isChatPermissionLevel(value) ? value : (value !== ChatPermissionLevel.Default ? ChatPermissionLevel.AutoApprove : undefined);
|
|
576
|
+
if (levelToConfirm) {
|
|
577
|
+
const confirmed = await maybeConfirmElevatedPermissionLevel(levelToConfirm, this._dialogService, this._storageService, {
|
|
578
|
+
defaultSettingKey: ChatConfiguration.DefaultConfiguration
|
|
579
|
+
});
|
|
580
|
+
if (!confirmed) {
|
|
581
|
+
return;
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
await this._setValue(backendSession, value);
|
|
586
|
+
}
|
|
461
587
|
async _setValue(backendSession, value) {
|
|
462
588
|
const sessionResource = this._widget.viewModel?.sessionResource;
|
|
463
589
|
if (!sessionResource) {
|
|
@@ -499,7 +625,7 @@ let AgentHostChatInputPicker = class AgentHostChatInputPicker extends Disposable
|
|
|
499
625
|
);
|
|
500
626
|
}
|
|
501
627
|
};
|
|
502
|
-
AgentHostChatInputPicker = ( __decorate([( __param(2, IAgentHostService)), ( __param(3, IActionWidgetService)), ( __param(4,
|
|
628
|
+
AgentHostChatInputPicker = ( __decorate([( __param(2, IAgentHostService)), ( __param(3, IActionWidgetService)), ( __param(4, IHoverService)), ( __param(5, IOpenerService)), ( __param(6, IAgentHostSessionWorkingDirectoryResolver)), ( __param(7, IWorkspaceContextService)), ( __param(8, IAgentHostUntitledProvisionalSessionService)), ( __param(9, IConfigurationService)), ( __param(10, IAgentHostNewSessionFolderService)), ( __param(11, IDialogService)), ( __param(12, IStorageService))], AgentHostChatInputPicker));
|
|
503
629
|
class AgentHostChatInputPickerActionViewItem extends BaseActionViewItem {
|
|
504
630
|
constructor(action, _picker) {
|
|
505
631
|
super(undefined, action);
|
|
@@ -511,4 +637,4 @@ class AgentHostChatInputPickerActionViewItem extends BaseActionViewItem {
|
|
|
511
637
|
}
|
|
512
638
|
}
|
|
513
639
|
|
|
514
|
-
export { AgentHostChatInputPicker, AgentHostChatInputPickerActionViewItem, WELL_KNOWN_PICKER_PROPERTIES, isClaimedByDedicatedPicker, isWellKnownAutoApproveSchema };
|
|
640
|
+
export { AgentHostChatInputPicker, AgentHostChatInputPickerActionViewItem, WELL_KNOWN_PICKER_PROPERTIES, getConfigPickerItemHover, getConfigPickerTriggerHover, isClaimedByDedicatedPicker, isWellKnownAutoApproveSchema, resolveConfigChipValue };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { MenuItemAction } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions";
|
|
3
|
+
import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
|
|
4
|
+
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
5
|
+
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
6
|
+
import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
|
|
7
|
+
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
8
|
+
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
9
|
+
import { ISCMService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service";
|
|
10
|
+
import type { IChatWidget } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
11
|
+
import { ChatInputPickerActionViewItem, IChatInputPickerOptions } from "../../widget/input/chatInputPickerActionItem.js";
|
|
12
|
+
import { IAgentHostNewSessionFolderService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.service";
|
|
13
|
+
/**
|
|
14
|
+
* Folder picker for agent-host sessions in multi-root windows. An agent-host
|
|
15
|
+
* session runs in a single working directory chosen at creation time, so before
|
|
16
|
+
* the session starts this chip lets the user pick which root folder the session
|
|
17
|
+
* will run in. The choice is recorded in {@link IAgentHostNewSessionFolderService},
|
|
18
|
+
* keyed by the (untitled) chat session resource, where the working-directory
|
|
19
|
+
* resolution sites pick it up. Once the session has started its working
|
|
20
|
+
* directory is fixed, so the chip stays visible (showing the chosen folder)
|
|
21
|
+
* but is disabled via the action's precondition.
|
|
22
|
+
*/
|
|
23
|
+
export declare class AgentHostFolderPickerActionItem extends ChatInputPickerActionViewItem {
|
|
24
|
+
private readonly _widget;
|
|
25
|
+
private readonly _workspaceContextService;
|
|
26
|
+
private readonly _newSessionFolderService;
|
|
27
|
+
private readonly _scmService;
|
|
28
|
+
private readonly _hoverService;
|
|
29
|
+
private _hoverSetup;
|
|
30
|
+
constructor(action: MenuItemAction, _widget: IChatWidget, pickerOptions: IChatInputPickerOptions, actionWidgetService: IActionWidgetService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, telemetryService: ITelemetryService, _workspaceContextService: IWorkspaceContextService, _newSessionFolderService: IAgentHostNewSessionFolderService, _scmService: ISCMService, _hoverService: IHoverService);
|
|
31
|
+
private _sessionResource;
|
|
32
|
+
private _selectedFolder;
|
|
33
|
+
protected renderLabel(element: HTMLElement): IDisposable | null;
|
|
34
|
+
render(container: HTMLElement): void;
|
|
35
|
+
/**
|
|
36
|
+
* Builds the hover content for the folder chip: the full folder path and,
|
|
37
|
+
* when the folder maps to a git repository, the current branch name.
|
|
38
|
+
* Returns `undefined` when no folder is selected so no hover is shown.
|
|
39
|
+
*/
|
|
40
|
+
private _buildHoverContent;
|
|
41
|
+
/**
|
|
42
|
+
* Resolves the current git branch name for the given folder via the SCM
|
|
43
|
+
* service, or `undefined` when the folder has no associated repository or
|
|
44
|
+
* branch information.
|
|
45
|
+
*/
|
|
46
|
+
private _branchName;
|
|
47
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { reset, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
|
+
import { renderLabelWithIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
|
|
5
|
+
import { getDefaultHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
|
|
6
|
+
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
7
|
+
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
8
|
+
import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
9
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
10
|
+
import { IActionWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service';
|
|
11
|
+
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
12
|
+
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
13
|
+
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
14
|
+
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
15
|
+
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
16
|
+
import { ISCMService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service';
|
|
17
|
+
import { ChatInputPickerActionViewItem } from '../../widget/input/chatInputPickerActionItem.js';
|
|
18
|
+
import { IAgentHostNewSessionFolderService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.service';
|
|
19
|
+
|
|
20
|
+
let AgentHostFolderPickerActionItem = class AgentHostFolderPickerActionItem extends ChatInputPickerActionViewItem {
|
|
21
|
+
constructor(
|
|
22
|
+
action,
|
|
23
|
+
_widget,
|
|
24
|
+
pickerOptions,
|
|
25
|
+
actionWidgetService,
|
|
26
|
+
keybindingService,
|
|
27
|
+
contextKeyService,
|
|
28
|
+
telemetryService,
|
|
29
|
+
_workspaceContextService,
|
|
30
|
+
_newSessionFolderService,
|
|
31
|
+
_scmService,
|
|
32
|
+
_hoverService
|
|
33
|
+
) {
|
|
34
|
+
const actionProvider = {
|
|
35
|
+
getActions: () => {
|
|
36
|
+
const selected = this._selectedFolder();
|
|
37
|
+
return ( this._workspaceContextService.getWorkspace().folders.map(folder => ({
|
|
38
|
+
...action,
|
|
39
|
+
id: `agentHostFolder.${( folder.uri.toString())}`,
|
|
40
|
+
label: folder.name,
|
|
41
|
+
checked: selected?.toString() === ( folder.uri.toString()),
|
|
42
|
+
icon: {
|
|
43
|
+
id: "folder"
|
|
44
|
+
},
|
|
45
|
+
enabled: true,
|
|
46
|
+
tooltip: folder.uri.fsPath,
|
|
47
|
+
run: async () => {
|
|
48
|
+
const sessionResource = this._sessionResource();
|
|
49
|
+
if (sessionResource) {
|
|
50
|
+
this._newSessionFolderService.setFolder(sessionResource, folder.uri);
|
|
51
|
+
}
|
|
52
|
+
if (this.element) {
|
|
53
|
+
this.renderLabel(this.element);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
})));
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const actionBarActionProvider = {
|
|
60
|
+
getActions: () => []
|
|
61
|
+
};
|
|
62
|
+
const folderPickerOptions = {
|
|
63
|
+
actionProvider,
|
|
64
|
+
actionBarActionProvider,
|
|
65
|
+
showItemKeybindings: false,
|
|
66
|
+
reporter: {
|
|
67
|
+
id: "AgentHostFolderPicker",
|
|
68
|
+
name: "AgentHostFolderPicker",
|
|
69
|
+
includeOptions: false
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
super(
|
|
73
|
+
action,
|
|
74
|
+
folderPickerOptions,
|
|
75
|
+
pickerOptions,
|
|
76
|
+
actionWidgetService,
|
|
77
|
+
keybindingService,
|
|
78
|
+
contextKeyService,
|
|
79
|
+
telemetryService
|
|
80
|
+
);
|
|
81
|
+
this._widget = _widget;
|
|
82
|
+
this._workspaceContextService = _workspaceContextService;
|
|
83
|
+
this._newSessionFolderService = _newSessionFolderService;
|
|
84
|
+
this._scmService = _scmService;
|
|
85
|
+
this._hoverService = _hoverService;
|
|
86
|
+
this._hoverSetup = false;
|
|
87
|
+
this._register(this._newSessionFolderService.onDidChangeFolder(() => {
|
|
88
|
+
if (this.element) {
|
|
89
|
+
this.renderLabel(this.element);
|
|
90
|
+
}
|
|
91
|
+
}));
|
|
92
|
+
this._register(this._workspaceContextService.onDidChangeWorkspaceFolders(() => {
|
|
93
|
+
if (this.element) {
|
|
94
|
+
this.renderLabel(this.element);
|
|
95
|
+
}
|
|
96
|
+
}));
|
|
97
|
+
this._register(this._widget.onDidChangeViewModel(() => {
|
|
98
|
+
if (this.element) {
|
|
99
|
+
this.renderLabel(this.element);
|
|
100
|
+
}
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
_sessionResource() {
|
|
104
|
+
return this._widget.viewModel?.sessionResource;
|
|
105
|
+
}
|
|
106
|
+
_selectedFolder() {
|
|
107
|
+
const folders = this._workspaceContextService.getWorkspace().folders;
|
|
108
|
+
const sessionResource = this._sessionResource();
|
|
109
|
+
const stored = sessionResource ? this._newSessionFolderService.getFolder(sessionResource) : undefined;
|
|
110
|
+
if (stored) {
|
|
111
|
+
if (( folders.some(folder => ( folder.uri.toString()) === ( stored.toString())))) {
|
|
112
|
+
return stored;
|
|
113
|
+
}
|
|
114
|
+
this._newSessionFolderService.clear(sessionResource);
|
|
115
|
+
}
|
|
116
|
+
return this._newSessionFolderService.getDefaultFolder() ?? folders[0]?.uri;
|
|
117
|
+
}
|
|
118
|
+
renderLabel(element) {
|
|
119
|
+
this.setAriaLabelAttributes(element);
|
|
120
|
+
const selected = this._selectedFolder();
|
|
121
|
+
const folder = selected && this._workspaceContextService.getWorkspace().folders.find(f => ( f.uri.toString()) === ( selected.toString()));
|
|
122
|
+
const label = folder ? folder.name : (selected ? basename(selected) : ( localize(5506, "Folder")));
|
|
123
|
+
reset(
|
|
124
|
+
element,
|
|
125
|
+
...renderLabelWithIcons(`$(folder)`),
|
|
126
|
+
$("span.chat-input-picker-label", undefined, label)
|
|
127
|
+
);
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
render(container) {
|
|
131
|
+
super.render(container);
|
|
132
|
+
if (this.element && !this._hoverSetup) {
|
|
133
|
+
this._hoverSetup = true;
|
|
134
|
+
this._register(this._hoverService.setupManagedHover(
|
|
135
|
+
getDefaultHoverDelegate("element"),
|
|
136
|
+
this.element,
|
|
137
|
+
() => this._buildHoverContent()
|
|
138
|
+
));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
_buildHoverContent() {
|
|
142
|
+
const selected = this._selectedFolder();
|
|
143
|
+
if (!selected) {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
const md = ( new MarkdownString("", {
|
|
147
|
+
supportThemeIcons: true
|
|
148
|
+
}));
|
|
149
|
+
const fallbackLines = [];
|
|
150
|
+
md.appendMarkdown(`$(${Codicon.folder.id}) `);
|
|
151
|
+
md.appendText(selected.fsPath);
|
|
152
|
+
fallbackLines.push(selected.fsPath);
|
|
153
|
+
const branch = this._branchName(selected);
|
|
154
|
+
if (branch) {
|
|
155
|
+
md.appendMarkdown("\n\n$(git-branch) ");
|
|
156
|
+
md.appendText(branch);
|
|
157
|
+
fallbackLines.push(branch);
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
markdown: md,
|
|
161
|
+
markdownNotSupportedFallback: fallbackLines.join("\n")
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
_branchName(folderUri) {
|
|
165
|
+
const repository = this._scmService.getRepository(folderUri);
|
|
166
|
+
const historyProvider = repository?.provider.historyProvider.get();
|
|
167
|
+
return historyProvider?.historyItemRef.get()?.name.trim() || undefined;
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
AgentHostFolderPickerActionItem = ( __decorate([( __param(3, IActionWidgetService)), ( __param(4, IKeybindingService)), ( __param(5, IContextKeyService)), ( __param(6, ITelemetryService)), ( __param(7, IWorkspaceContextService)), ( __param(8, IAgentHostNewSessionFolderService)), ( __param(9, ISCMService)), ( __param(10, IHoverService))], AgentHostFolderPickerActionItem));
|
|
171
|
+
|
|
172
|
+
export { AgentHostFolderPickerActionItem };
|
|
@@ -3,6 +3,7 @@ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
3
3
|
import { IAgentHostService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service";
|
|
4
4
|
import type { IChatWidget } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
5
5
|
import { IAgentHostSessionWorkingDirectoryResolver } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.service";
|
|
6
|
+
import { IAgentHostNewSessionFolderService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.service";
|
|
6
7
|
import { IAgentHostUntitledProvisionalSessionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.service";
|
|
7
8
|
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
8
9
|
/**
|
|
@@ -22,6 +23,7 @@ export declare class AgentHostGenericConfigChips extends Disposable {
|
|
|
22
23
|
private readonly _provisional;
|
|
23
24
|
private readonly _workingDirectoryResolver;
|
|
24
25
|
private readonly _workspaceContextService;
|
|
26
|
+
private readonly _newSessionFolderService;
|
|
25
27
|
private _container;
|
|
26
28
|
private readonly _chips;
|
|
27
29
|
/**
|
|
@@ -32,7 +34,7 @@ export declare class AgentHostGenericConfigChips extends Disposable {
|
|
|
32
34
|
private readonly _subRef;
|
|
33
35
|
private _initialResolved;
|
|
34
36
|
private readonly _initialResolveCts;
|
|
35
|
-
constructor(_widget: IChatWidget, _instantiationService: IInstantiationService, _agentHostService: IAgentHostService, _provisional: IAgentHostUntitledProvisionalSessionService, _workingDirectoryResolver: IAgentHostSessionWorkingDirectoryResolver, _workspaceContextService: IWorkspaceContextService);
|
|
37
|
+
constructor(_widget: IChatWidget, _instantiationService: IInstantiationService, _agentHostService: IAgentHostService, _provisional: IAgentHostUntitledProvisionalSessionService, _workingDirectoryResolver: IAgentHostSessionWorkingDirectoryResolver, _workspaceContextService: IWorkspaceContextService, _newSessionFolderService: IAgentHostNewSessionFolderService);
|
|
36
38
|
render(container: HTMLElement): void;
|
|
37
39
|
private _reattach;
|
|
38
40
|
private _cancelInitialResolve;
|