@codingame/monaco-vscode-katex-common 30.0.1 → 31.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 +3 -3
- package/vscode/src/vs/platform/actions/browser/actionbar.d.ts +16 -0
- package/vscode/src/vs/platform/actions/browser/actionbar.js +22 -0
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
- package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
- package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +73 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
- 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 +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +51 -24
- 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 +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +64 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +17 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +73 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +20 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +73 -49
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +0 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +41 -99
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +13 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +14 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +11 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +339 -161
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +9 -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 +9 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +33 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.d.ts +43 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.js +147 -2
- 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.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +55 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +7 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +42 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animation.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.js +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.js +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/buffer.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.js +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.js +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.js +68 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +77 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +170 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/media/chatIncrementalRendering.css +112 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +24 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +111 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +425 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +16 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +68 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +101 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.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 +36 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +217 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
- 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 +23 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +168 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +18 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +7 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +1 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +7 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +24 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +104 -78
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +11 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +257 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +286 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
- 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/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +15 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +25 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +29 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +258 -321
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +392 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +24 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +9 -8
- 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.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +2 -3
- 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 +38 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +577 -113
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +4 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +1 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +58 -75
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +44 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +362 -188
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +42 -95
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +57 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +21 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/{modelPickerActionItem2.js → modelPickerActionItem.js} +5 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +38 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +94 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +218 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +12 -21
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -32
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +355 -156
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +2 -13
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +72 -65
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +4 -43
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +238 -204
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +4 -19
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +128 -115
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +6 -9
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +152 -49
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +64 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +40 -40
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- 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/terminal/terminalContribChatExports.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +165 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +163 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +142 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +144 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +256 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +94 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +221 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +168 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +47 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +32 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +108 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +412 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +192 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2258 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +43 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +141 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +85 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +608 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +0 -196
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.d.ts +0 -46
- package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +0 -215
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +0 -18
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +0 -107
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { IHoverPositionOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hover";
|
|
2
1
|
import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
|
|
3
2
|
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
4
3
|
import { ActionWidgetDropdownActionViewItem } from "../../../../../../platform/actions/browser/actionWidgetDropdownActionViewItem.js";
|
|
@@ -16,7 +15,6 @@ export interface IChatInputPickerOptions {
|
|
|
16
15
|
readonly getOverflowAnchor?: () => HTMLElement | undefined;
|
|
17
16
|
readonly actionContext?: IChatExecuteActionContext;
|
|
18
17
|
readonly hideChevrons: IObservable<boolean>;
|
|
19
|
-
readonly hoverPosition?: IHoverPositionOptions;
|
|
20
18
|
}
|
|
21
19
|
/**
|
|
22
20
|
* Base class for chat input picker action items (model picker, mode picker, session target picker).
|
|
@@ -3,7 +3,6 @@ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"
|
|
|
3
3
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
4
|
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
5
5
|
import { IActionListItem } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionList";
|
|
6
|
-
import { IHoverPositionOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hover";
|
|
7
6
|
import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
|
|
8
7
|
import { IActionWidgetDropdownAction } from "../../../../../../platform/actionWidget/browser/actionWidgetDropdown.js";
|
|
9
8
|
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
@@ -28,13 +27,13 @@ import { IUpdateService } from "@codingame/monaco-vscode-api/vscode/vs/platform/
|
|
|
28
27
|
* 3. Other Models (collapsible toggle, available first, then sorted by vendor then name)
|
|
29
28
|
* 4. Optional "Manage Models..." action shown in Other Models after a separator
|
|
30
29
|
*/
|
|
31
|
-
export declare function buildModelPickerItems(models: ILanguageModelChatMetadataAndIdentifier[], selectedModelId: string | undefined, recentModelIds: string[], controlModels: IStringDictionary<IModelControlEntry>, currentVSCodeVersion: string, updateStateType: StateType, onSelect: (model: ILanguageModelChatMetadataAndIdentifier) => void, manageSettingsUrl: string | undefined, useGroupedModelPicker: boolean, manageModelsAction: IActionWidgetDropdownAction | undefined, chatEntitlementService: IChatEntitlementService, showUnavailableFeatured: boolean, showFeatured: boolean,
|
|
30
|
+
export declare function buildModelPickerItems(models: ILanguageModelChatMetadataAndIdentifier[], selectedModelId: string | undefined, recentModelIds: string[], controlModels: IStringDictionary<IModelControlEntry>, currentVSCodeVersion: string, updateStateType: StateType, onSelect: (model: ILanguageModelChatMetadataAndIdentifier) => void, manageSettingsUrl: string | undefined, useGroupedModelPicker: boolean, manageModelsAction: IActionWidgetDropdownAction | undefined, chatEntitlementService: IChatEntitlementService, showUnavailableFeatured: boolean, showFeatured: boolean, languageModelsService?: ILanguageModelsService): IActionListItem<IActionWidgetDropdownAction>[];
|
|
32
31
|
export declare function getModelPickerAccessibilityProvider(): {
|
|
33
32
|
readonly isChecked: (element: IActionListItem<IActionWidgetDropdownAction>) => boolean | undefined;
|
|
34
33
|
readonly getRole: (element: IActionListItem<IActionWidgetDropdownAction>) => "separator" | "menuitem" | "menuitemradio";
|
|
35
34
|
readonly getWidgetRole: () => string;
|
|
36
35
|
};
|
|
37
|
-
|
|
36
|
+
type ModelPickerBadge = "info" | "warning";
|
|
38
37
|
/**
|
|
39
38
|
* A model selection dropdown widget.
|
|
40
39
|
*
|
|
@@ -47,7 +46,6 @@ export type ModelPickerBadge = "info" | "warning";
|
|
|
47
46
|
*/
|
|
48
47
|
export declare class ModelPickerWidget extends Disposable {
|
|
49
48
|
private readonly _delegate;
|
|
50
|
-
private readonly _hoverPosition;
|
|
51
49
|
private readonly _actionWidgetService;
|
|
52
50
|
private readonly _commandService;
|
|
53
51
|
private readonly _openerService;
|
|
@@ -66,7 +64,7 @@ export declare class ModelPickerWidget extends Disposable {
|
|
|
66
64
|
private _badgeIcon;
|
|
67
65
|
get selectedModel(): ILanguageModelChatMetadataAndIdentifier | undefined;
|
|
68
66
|
get domNode(): HTMLElement | undefined;
|
|
69
|
-
constructor(_delegate: IModelPickerDelegate,
|
|
67
|
+
constructor(_delegate: IModelPickerDelegate, _actionWidgetService: IActionWidgetService, _commandService: ICommandService, _openerService: IOpenerService, _telemetryService: ITelemetryService, _languageModelsService: ILanguageModelsService, _productService: IProductService, _entitlementService: IChatEntitlementService, _updateService: IUpdateService, _uriIdentityService: IUriIdentityService);
|
|
70
68
|
setHideChevrons(hideChevrons: IObservable<boolean>): void;
|
|
71
69
|
setSelectedModel(model: ILanguageModelChatMetadataAndIdentifier | undefined): void;
|
|
72
70
|
setEnabled(enabled: boolean): void;
|
|
@@ -76,3 +74,4 @@ export declare class ModelPickerWidget extends Disposable {
|
|
|
76
74
|
private _updateBadge;
|
|
77
75
|
private _renderLabel;
|
|
78
76
|
}
|
|
77
|
+
export {};
|
|
@@ -44,20 +44,20 @@ function getUpdateHoverContent(updateState) {
|
|
|
44
44
|
switch (updateState) {
|
|
45
45
|
case StateType.AvailableForDownload:
|
|
46
46
|
hoverContent.appendMarkdown(( localize(
|
|
47
|
-
|
|
47
|
+
7168,
|
|
48
48
|
"This model requires a newer version of VS Code. [Download Update](command:update.downloadUpdate) to access it."
|
|
49
49
|
)));
|
|
50
50
|
break;
|
|
51
51
|
case StateType.Downloaded:
|
|
52
52
|
case StateType.Ready:
|
|
53
53
|
hoverContent.appendMarkdown(( localize(
|
|
54
|
-
|
|
54
|
+
7169,
|
|
55
55
|
"This model requires a newer version of VS Code. [Restart to Update](command:update.restartToUpdate) to access it."
|
|
56
56
|
)));
|
|
57
57
|
break;
|
|
58
58
|
default:
|
|
59
59
|
hoverContent.appendMarkdown(( localize(
|
|
60
|
-
|
|
60
|
+
7170,
|
|
61
61
|
"This model requires a newer version of VS Code. [Update VS Code](command:update.checkForUpdate) to access it."
|
|
62
62
|
)));
|
|
63
63
|
break;
|
|
@@ -67,7 +67,7 @@ function getUpdateHoverContent(updateState) {
|
|
|
67
67
|
const ModelPickerSection = {
|
|
68
68
|
Other: "other"
|
|
69
69
|
};
|
|
70
|
-
function createModelItem(action, model
|
|
70
|
+
function createModelItem(action, model) {
|
|
71
71
|
return {
|
|
72
72
|
item: action,
|
|
73
73
|
kind: ActionListItemKind.Action,
|
|
@@ -80,8 +80,7 @@ function createModelItem(action, model, hoverPosition, languageModelsService) {
|
|
|
80
80
|
hideIcon: false,
|
|
81
81
|
section: action.section,
|
|
82
82
|
hover: model ? {
|
|
83
|
-
content: getModelHoverContent(model
|
|
84
|
-
position: hoverPosition
|
|
83
|
+
content: getModelHoverContent(model)
|
|
85
84
|
} : undefined,
|
|
86
85
|
submenuActions: action.toolbarActions
|
|
87
86
|
};
|
|
@@ -97,6 +96,9 @@ function getModelConfigurationDescription(model, languageModelsService) {
|
|
|
97
96
|
if (propSchema.group !== "navigation") {
|
|
98
97
|
continue;
|
|
99
98
|
}
|
|
99
|
+
if (!propSchema.enum || propSchema.enum.length < 2) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
100
102
|
const value = currentConfig[key] ?? propSchema.default;
|
|
101
103
|
if (value === undefined) {
|
|
102
104
|
continue;
|
|
@@ -136,8 +138,8 @@ function createManageModelsAction(commandService) {
|
|
|
136
138
|
enabled: true,
|
|
137
139
|
checked: false,
|
|
138
140
|
class: ThemeIcon.asClassName(Codicon.gear),
|
|
139
|
-
tooltip: ( localize(
|
|
140
|
-
label: ( localize(
|
|
141
|
+
tooltip: ( localize(7171, "Manage Language Models")),
|
|
142
|
+
label: ( localize(7172, "Manage Models...")),
|
|
141
143
|
run: () => {
|
|
142
144
|
commandService.executeCommand(MANAGE_CHAT_COMMAND_ID);
|
|
143
145
|
}
|
|
@@ -157,7 +159,6 @@ function buildModelPickerItems(
|
|
|
157
159
|
chatEntitlementService,
|
|
158
160
|
showUnavailableFeatured,
|
|
159
161
|
showFeatured,
|
|
160
|
-
hoverPosition,
|
|
161
162
|
languageModelsService
|
|
162
163
|
) {
|
|
163
164
|
const items = [];
|
|
@@ -167,8 +168,8 @@ function buildModelPickerItems(
|
|
|
167
168
|
enabled: true,
|
|
168
169
|
checked: true,
|
|
169
170
|
class: undefined,
|
|
170
|
-
tooltip: ( localize(
|
|
171
|
-
label: ( localize(
|
|
171
|
+
tooltip: ( localize(7173, "Auto")),
|
|
172
|
+
label: ( localize(7173, "Auto")),
|
|
172
173
|
run: () => {}
|
|
173
174
|
}));
|
|
174
175
|
}
|
|
@@ -204,9 +205,7 @@ function buildModelPickerItems(
|
|
|
204
205
|
markPlaced(autoModel.identifier, autoModel.metadata.id);
|
|
205
206
|
items.push(createModelItem(
|
|
206
207
|
createModelAction(autoModel, selectedModelId, onSelect, languageModelsService),
|
|
207
|
-
autoModel
|
|
208
|
-
hoverPosition,
|
|
209
|
-
languageModelsService
|
|
208
|
+
autoModel
|
|
210
209
|
));
|
|
211
210
|
}
|
|
212
211
|
const promotedItems = [];
|
|
@@ -306,20 +305,12 @@ function buildModelPickerItems(
|
|
|
306
305
|
if (item.kind === "available") {
|
|
307
306
|
items.push(createModelItem(
|
|
308
307
|
createModelAction(item.model, selectedModelId, onSelect, languageModelsService),
|
|
309
|
-
item.model
|
|
310
|
-
hoverPosition,
|
|
311
|
-
languageModelsService
|
|
308
|
+
item.model
|
|
312
309
|
));
|
|
313
310
|
} else {
|
|
314
|
-
items.push(
|
|
315
|
-
item.id,
|
|
316
|
-
|
|
317
|
-
item.reason,
|
|
318
|
-
manageSettingsUrl,
|
|
319
|
-
updateStateType,
|
|
320
|
-
undefined,
|
|
321
|
-
hoverPosition
|
|
322
|
-
));
|
|
311
|
+
items.push(
|
|
312
|
+
createUnavailableModelItem(item.id, item.entry, item.reason, manageSettingsUrl, updateStateType)
|
|
313
|
+
);
|
|
323
314
|
}
|
|
324
315
|
}
|
|
325
316
|
}
|
|
@@ -351,12 +342,12 @@ function buildModelPickerItems(
|
|
|
351
342
|
enabled: true,
|
|
352
343
|
checked: false,
|
|
353
344
|
class: undefined,
|
|
354
|
-
tooltip: ( localize(
|
|
355
|
-
label: ( localize(
|
|
345
|
+
tooltip: ( localize(7174, "Other Models")),
|
|
346
|
+
label: ( localize(7174, "Other Models")),
|
|
356
347
|
run: () => {}
|
|
357
348
|
},
|
|
358
349
|
kind: ActionListItemKind.Action,
|
|
359
|
-
label: ( localize(
|
|
350
|
+
label: ( localize(7174, "Other Models")),
|
|
360
351
|
group: {
|
|
361
352
|
title: "",
|
|
362
353
|
icon: Codicon.chevronDown
|
|
@@ -374,8 +365,7 @@ function buildModelPickerItems(
|
|
|
374
365
|
"update",
|
|
375
366
|
manageSettingsUrl,
|
|
376
367
|
updateStateType,
|
|
377
|
-
ModelPickerSection.Other
|
|
378
|
-
hoverPosition
|
|
368
|
+
ModelPickerSection.Other
|
|
379
369
|
));
|
|
380
370
|
} else {
|
|
381
371
|
items.push(createModelItem(createModelAction(
|
|
@@ -384,7 +374,7 @@ function buildModelPickerItems(
|
|
|
384
374
|
onSelect,
|
|
385
375
|
languageModelsService,
|
|
386
376
|
ModelPickerSection.Other
|
|
387
|
-
), model
|
|
377
|
+
), model));
|
|
388
378
|
}
|
|
389
379
|
}
|
|
390
380
|
}
|
|
@@ -412,9 +402,7 @@ function buildModelPickerItems(
|
|
|
412
402
|
if (autoModel) {
|
|
413
403
|
items.push(createModelItem(
|
|
414
404
|
createModelAction(autoModel, selectedModelId, onSelect, languageModelsService),
|
|
415
|
-
autoModel
|
|
416
|
-
hoverPosition,
|
|
417
|
-
languageModelsService
|
|
405
|
+
autoModel
|
|
418
406
|
));
|
|
419
407
|
}
|
|
420
408
|
const sortedModels = models.filter(m => m !== autoModel).sort((a, b) => {
|
|
@@ -424,9 +412,7 @@ function buildModelPickerItems(
|
|
|
424
412
|
for (const model of sortedModels) {
|
|
425
413
|
items.push(createModelItem(
|
|
426
414
|
createModelAction(model, selectedModelId, onSelect, languageModelsService),
|
|
427
|
-
model
|
|
428
|
-
hoverPosition,
|
|
429
|
-
languageModelsService
|
|
415
|
+
model
|
|
430
416
|
));
|
|
431
417
|
}
|
|
432
418
|
}
|
|
@@ -456,26 +442,18 @@ function getModelPickerAccessibilityProvider() {
|
|
|
456
442
|
getWidgetRole: () => "menu"
|
|
457
443
|
};
|
|
458
444
|
}
|
|
459
|
-
function createUnavailableModelItem(
|
|
460
|
-
id,
|
|
461
|
-
entry,
|
|
462
|
-
reason,
|
|
463
|
-
manageSettingsUrl,
|
|
464
|
-
updateStateType,
|
|
465
|
-
section,
|
|
466
|
-
hoverPosition
|
|
467
|
-
) {
|
|
445
|
+
function createUnavailableModelItem(id, entry, reason, manageSettingsUrl, updateStateType, section) {
|
|
468
446
|
let description;
|
|
469
447
|
if (reason === "upgrade") {
|
|
470
|
-
description = ( new MarkdownString(( localize(
|
|
448
|
+
description = ( new MarkdownString(( localize(7175, "[Upgrade](command:workbench.action.chat.upgradePlan \" \")")), {
|
|
471
449
|
isTrusted: true
|
|
472
450
|
}));
|
|
473
451
|
} else if (reason === "update") {
|
|
474
|
-
description = ( localize(
|
|
452
|
+
description = ( localize(7176, "Update VS Code"));
|
|
475
453
|
} else {
|
|
476
|
-
description = manageSettingsUrl ? ( new MarkdownString(( localize(
|
|
454
|
+
description = manageSettingsUrl ? ( new MarkdownString(( localize(7177, "[Contact your admin]({0})", manageSettingsUrl)), {
|
|
477
455
|
isTrusted: true
|
|
478
|
-
})) : ( localize(
|
|
456
|
+
})) : ( localize(7178, "Contact your admin"));
|
|
479
457
|
}
|
|
480
458
|
let hoverContent;
|
|
481
459
|
if (reason === "upgrade") {
|
|
@@ -484,8 +462,8 @@ function createUnavailableModelItem(
|
|
|
484
462
|
supportThemeIcons: true
|
|
485
463
|
}));
|
|
486
464
|
hoverContent.appendMarkdown(( localize(
|
|
487
|
-
|
|
488
|
-
"[Upgrade to GitHub Copilot Pro](command:workbench.action.chat.upgradePlan \" \")
|
|
465
|
+
7179,
|
|
466
|
+
"[Upgrade to GitHub Copilot Pro](command:workbench.action.chat.upgradePlan \" \") to use the best models."
|
|
489
467
|
)));
|
|
490
468
|
} else if (reason === "update") {
|
|
491
469
|
hoverContent = getUpdateHoverContent(updateStateType);
|
|
@@ -495,7 +473,7 @@ function createUnavailableModelItem(
|
|
|
495
473
|
supportThemeIcons: true
|
|
496
474
|
}));
|
|
497
475
|
hoverContent.appendMarkdown(( localize(
|
|
498
|
-
|
|
476
|
+
7180,
|
|
499
477
|
"This model is not available. Contact your administrator to enable it."
|
|
500
478
|
)));
|
|
501
479
|
}
|
|
@@ -522,8 +500,7 @@ function createUnavailableModelItem(
|
|
|
522
500
|
className: "chat-model-picker-unavailable",
|
|
523
501
|
section,
|
|
524
502
|
hover: {
|
|
525
|
-
content: hoverContent
|
|
526
|
-
position: hoverPosition
|
|
503
|
+
content: hoverContent
|
|
527
504
|
}
|
|
528
505
|
};
|
|
529
506
|
}
|
|
@@ -536,7 +513,6 @@ let ModelPickerWidget = class ModelPickerWidget extends Disposable {
|
|
|
536
513
|
}
|
|
537
514
|
constructor(
|
|
538
515
|
_delegate,
|
|
539
|
-
_hoverPosition,
|
|
540
516
|
_actionWidgetService,
|
|
541
517
|
_commandService,
|
|
542
518
|
_openerService,
|
|
@@ -549,7 +525,6 @@ let ModelPickerWidget = class ModelPickerWidget extends Disposable {
|
|
|
549
525
|
) {
|
|
550
526
|
super();
|
|
551
527
|
this._delegate = _delegate;
|
|
552
|
-
this._hoverPosition = _hoverPosition;
|
|
553
528
|
this._actionWidgetService = _actionWidgetService;
|
|
554
529
|
this._commandService = _commandService;
|
|
555
530
|
this._openerService = _openerService;
|
|
@@ -658,12 +633,11 @@ let ModelPickerWidget = class ModelPickerWidget extends Disposable {
|
|
|
658
633
|
this._entitlementService,
|
|
659
634
|
this._delegate.showUnavailableFeatured(),
|
|
660
635
|
this._delegate.showFeatured(),
|
|
661
|
-
this._hoverPosition,
|
|
662
636
|
this._languageModelsService
|
|
663
637
|
);
|
|
664
638
|
const listOptions = {
|
|
665
639
|
showFilter,
|
|
666
|
-
filterPlaceholder: ( localize(
|
|
640
|
+
filterPlaceholder: ( localize(7181, "Search models")),
|
|
667
641
|
filterActions: showFilter && manageModelsAction ? [manageModelsAction] : undefined,
|
|
668
642
|
focusFilterOnOpen: true,
|
|
669
643
|
collapsedByDefault: ( new Set([ModelPickerSection.Other])),
|
|
@@ -740,7 +714,7 @@ let ModelPickerWidget = class ModelPickerWidget extends Disposable {
|
|
|
740
714
|
const iconElement = renderIcon(statusIcon);
|
|
741
715
|
domChildren.push(iconElement);
|
|
742
716
|
}
|
|
743
|
-
const modelLabel = name ?? ( localize(
|
|
717
|
+
const modelLabel = name ?? ( localize(7173, "Auto"));
|
|
744
718
|
const configDescription = this._selectedModel ? getModelConfigurationDescription(this._selectedModel, this._languageModelsService) : undefined;
|
|
745
719
|
const fullLabel = configDescription ? `${modelLabel} · ${configDescription}` : modelLabel;
|
|
746
720
|
domChildren.push($("span.chat-input-picker-label", undefined, fullLabel));
|
|
@@ -749,56 +723,29 @@ let ModelPickerWidget = class ModelPickerWidget extends Disposable {
|
|
|
749
723
|
}
|
|
750
724
|
domChildren.push(...renderLabelWithIcons(`$(chevron-down)`));
|
|
751
725
|
reset(this._domNode, ...domChildren);
|
|
752
|
-
this._domNode.ariaLabel = ( localize(
|
|
726
|
+
this._domNode.ariaLabel = ( localize(7182, "Pick Model, {0}", fullLabel));
|
|
753
727
|
}
|
|
754
728
|
};
|
|
755
|
-
ModelPickerWidget = ( __decorate([( __param(
|
|
756
|
-
function getModelHoverContent(model
|
|
729
|
+
ModelPickerWidget = ( __decorate([( __param(1, IActionWidgetService)), ( __param(2, ICommandService)), ( __param(3, IOpenerService)), ( __param(4, ITelemetryService)), ( __param(5, ILanguageModelsService)), ( __param(6, IProductService)), ( __param(7, IChatEntitlementService)), ( __param(8, IUpdateService)), ( __param(9, IUriIdentityService))], ModelPickerWidget));
|
|
730
|
+
function getModelHoverContent(model) {
|
|
757
731
|
const isAuto = model.metadata.id === "auto" && model.metadata.vendor === "copilot";
|
|
758
732
|
const markdown = ( new MarkdownString("", {
|
|
759
733
|
isTrusted: true,
|
|
760
734
|
supportThemeIcons: true
|
|
761
735
|
}));
|
|
762
736
|
markdown.appendMarkdown(`**${model.metadata.name}**`);
|
|
763
|
-
|
|
764
|
-
|
|
737
|
+
if (model.metadata.tooltip) {
|
|
738
|
+
markdown.appendMarkdown(`\n\n`);
|
|
765
739
|
if (model.metadata.statusIcon) {
|
|
766
740
|
markdown.appendMarkdown(`$(${model.metadata.statusIcon.id}) `);
|
|
767
741
|
}
|
|
768
742
|
markdown.appendMarkdown(`${model.metadata.tooltip}`);
|
|
769
|
-
markdown.appendText(`\n`);
|
|
770
|
-
}
|
|
771
|
-
if (model.metadata.multiplier) {
|
|
772
|
-
markdown.appendMarkdown(`${( localize(
|
|
773
|
-
7059,
|
|
774
|
-
"Each chat message counts {0} toward your premium request quota",
|
|
775
|
-
model.metadata.multiplier
|
|
776
|
-
))}`);
|
|
777
|
-
markdown.appendText(`\n`);
|
|
778
743
|
}
|
|
779
744
|
if (!isAuto && (model.metadata.maxInputTokens || model.metadata.maxOutputTokens)) {
|
|
745
|
+
markdown.appendMarkdown(`\n\n`);
|
|
780
746
|
const totalTokens = (model.metadata.maxInputTokens ?? 0) + (model.metadata.maxOutputTokens ?? 0);
|
|
781
|
-
markdown.appendMarkdown(`${( localize(
|
|
747
|
+
markdown.appendMarkdown(`${( localize(7183, "Context Size"))}: `);
|
|
782
748
|
markdown.appendMarkdown(`${formatTokenCount(totalTokens)}`);
|
|
783
|
-
markdown.appendText(`\n`);
|
|
784
|
-
}
|
|
785
|
-
if (languageModelsService) {
|
|
786
|
-
const schema = model.metadata.configurationSchema;
|
|
787
|
-
if (schema?.properties) {
|
|
788
|
-
const currentConfig = languageModelsService.getModelConfiguration(model.identifier) ?? {};
|
|
789
|
-
for (const [key, propSchema] of Object.entries(schema.properties)) {
|
|
790
|
-
const value = currentConfig[key] ?? propSchema.default;
|
|
791
|
-
if (value === undefined) {
|
|
792
|
-
continue;
|
|
793
|
-
}
|
|
794
|
-
const enumItemLabels = propSchema.enumItemLabels;
|
|
795
|
-
const enumIndex = propSchema.enum?.indexOf(value) ?? -1;
|
|
796
|
-
const displayValue = enumItemLabels?.[enumIndex] ?? String(value);
|
|
797
|
-
const label = propSchema.title ?? key;
|
|
798
|
-
markdown.appendText(`${label}: ${displayValue}`);
|
|
799
|
-
markdown.appendText(`\n`);
|
|
800
|
-
}
|
|
801
|
-
}
|
|
802
749
|
}
|
|
803
750
|
return markdown;
|
|
804
751
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { ILanguageModelChatMetadataAndIdentifier } from "@codingame/monaco-vscod
|
|
|
3
3
|
/**
|
|
4
4
|
* Describes the context needed for model selection decisions.
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
interface IModelSelectionContext {
|
|
7
7
|
readonly location: ChatAgentLocation;
|
|
8
8
|
readonly currentModeKind: ChatModeKind;
|
|
9
9
|
readonly isInlineChatV2Enabled: boolean;
|
|
@@ -102,3 +102,4 @@ export declare function shouldResetOnModelListChange(currentModelId: string | un
|
|
|
102
102
|
* The model must pass both the persisted-default check and the `isUserSelectable` check.
|
|
103
103
|
*/
|
|
104
104
|
export declare function shouldRestoreLateArrivingModel(persistedModelId: string, persistedAsDefault: boolean, model: ILanguageModelChatMetadataAndIdentifier, location: ChatAgentLocation): boolean;
|
|
105
|
+
export {};
|
|
@@ -82,6 +82,9 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
|
|
|
82
82
|
return this._getSelectedSessionType() !== type;
|
|
83
83
|
}
|
|
84
84
|
_hasGitRepository() {
|
|
85
|
+
if (this.delegate.hasGitRepository) {
|
|
86
|
+
return this.delegate.hasGitRepository();
|
|
87
|
+
}
|
|
85
88
|
return !Iterable.isEmpty(this.gitService.repositories);
|
|
86
89
|
}
|
|
87
90
|
_isVisible(type) {
|
|
@@ -96,28 +99,25 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
|
|
|
96
99
|
_getSessionCategory(sessionTypeItem) {
|
|
97
100
|
if (isFirstPartyAgentSessionProvider(sessionTypeItem.type)) {
|
|
98
101
|
return {
|
|
99
|
-
label: ( localize(
|
|
102
|
+
label: ( localize(7197, "Continue In")),
|
|
100
103
|
order: 1,
|
|
101
104
|
showHeader: true
|
|
102
105
|
};
|
|
103
106
|
}
|
|
104
107
|
return {
|
|
105
|
-
label: ( localize(
|
|
108
|
+
label: ( localize(7198, "Continue In (Third Party)")),
|
|
106
109
|
order: 2,
|
|
107
110
|
showHeader: false
|
|
108
111
|
};
|
|
109
112
|
}
|
|
110
113
|
_getSessionDescription(sessionTypeItem) {
|
|
111
|
-
if (this._isSessionsWindow && sessionTypeItem.type === AgentSessionProviders.Cloud && !this._hasGitRepository()) {
|
|
112
|
-
return localize(7076, "Requires a Git repository");
|
|
113
|
-
}
|
|
114
114
|
return undefined;
|
|
115
115
|
}
|
|
116
116
|
_getLearnMore() {
|
|
117
117
|
const learnMoreUrl = "https://aka.ms/vscode-continue-chat-in";
|
|
118
118
|
return {
|
|
119
119
|
id: "workbench.action.chat.agentOverview.learnMoreHandOff",
|
|
120
|
-
label: ( localize(
|
|
120
|
+
label: ( localize(7199, "Learn about agent handoff...")),
|
|
121
121
|
tooltip: learnMoreUrl,
|
|
122
122
|
class: undefined,
|
|
123
123
|
enabled: true,
|
|
@@ -133,17 +133,16 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
|
|
|
133
133
|
return [{
|
|
134
134
|
id: "newChatSession",
|
|
135
135
|
class: undefined,
|
|
136
|
-
label: ( localize(
|
|
136
|
+
label: ( localize(7200, "New Chat Session")),
|
|
137
137
|
tooltip: "",
|
|
138
138
|
hover: {
|
|
139
|
-
content: ""
|
|
140
|
-
position: this.pickerOptions.hoverPosition
|
|
139
|
+
content: ""
|
|
141
140
|
},
|
|
142
141
|
checked: false,
|
|
143
142
|
icon: Codicon.plus,
|
|
144
143
|
enabled: true,
|
|
145
144
|
category: {
|
|
146
|
-
label: ( localize(
|
|
145
|
+
label: ( localize(7201, "New Chat Session")),
|
|
147
146
|
order: 0,
|
|
148
147
|
showHeader: false
|
|
149
148
|
},
|
|
@@ -23,8 +23,9 @@ import { ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contr
|
|
|
23
23
|
import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
|
|
24
24
|
import { isOrganizationPromptFile } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/utils/promptsServiceUtils';
|
|
25
25
|
import { ChatConfiguration, ChatModeKind, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
26
|
-
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
26
|
+
import { PromptsStorage, matchesSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
27
27
|
import { Target } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
28
|
+
import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
28
29
|
import { getOpenChatActionIdForMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
29
30
|
import { ToggleAgentModeActionId } from '../../actions/chatExecuteActions.js';
|
|
30
31
|
import { ChatInputPickerActionViewItem } from './chatInputPickerActionItem.js';
|
|
@@ -66,17 +67,17 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
|
|
|
66
67
|
const assignments = observableValue("modePickerAssignments", {
|
|
67
68
|
showOldAskMode: false
|
|
68
69
|
});
|
|
69
|
-
const
|
|
70
|
+
const getCustomAgentTarget = () => delegate.customAgentTarget?.() ?? Target.Undefined;
|
|
70
71
|
const builtInCategory = {
|
|
71
|
-
label: ( localize(
|
|
72
|
+
label: ( localize(7221, "Built-In")),
|
|
72
73
|
order: 0
|
|
73
74
|
};
|
|
74
75
|
const customCategory = {
|
|
75
|
-
label: ( localize(
|
|
76
|
+
label: ( localize(7222, "Custom")),
|
|
76
77
|
order: 1
|
|
77
78
|
};
|
|
78
79
|
const policyDisabledCategory = {
|
|
79
|
-
label: ( localize(
|
|
80
|
+
label: ( localize(7223, "Managed by your organization")),
|
|
80
81
|
order: 999,
|
|
81
82
|
showHeader: true
|
|
82
83
|
};
|
|
@@ -91,11 +92,11 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
|
|
|
91
92
|
if (mode.source?.storage === PromptsStorage.extension) {
|
|
92
93
|
icon = Codicon.file;
|
|
93
94
|
id = `viewAgent:${mode.id}`;
|
|
94
|
-
label = ( localize(
|
|
95
|
+
label = ( localize(7224, "View {0} agent", mode.label.get()));
|
|
95
96
|
} else {
|
|
96
97
|
icon = Codicon.edit;
|
|
97
98
|
id = `editAgent:${mode.id}`;
|
|
98
|
-
label = ( localize(
|
|
99
|
+
label = ( localize(7225, "Edit {0} agent", mode.label.get()));
|
|
99
100
|
}
|
|
100
101
|
const modeResource = mode.uri;
|
|
101
102
|
toolbarActions.push({
|
|
@@ -120,8 +121,7 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
|
|
|
120
121
|
checked: !isDisabledViaPolicy && currentMode.id === mode.id,
|
|
121
122
|
tooltip: "",
|
|
122
123
|
hover: {
|
|
123
|
-
content: tooltip
|
|
124
|
-
position: this.pickerOptions.hoverPosition
|
|
124
|
+
content: tooltip
|
|
125
125
|
},
|
|
126
126
|
toolbarActions,
|
|
127
127
|
run: async () => {
|
|
@@ -145,49 +145,59 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
|
|
|
145
145
|
...makeAction(mode, currentMode),
|
|
146
146
|
tooltip: "",
|
|
147
147
|
hover: {
|
|
148
|
-
content: mode.description.get() ?? chatAgentService.getDefaultAgent(ChatAgentLocation.Chat, mode.kind)?.description ?? action.tooltip
|
|
149
|
-
position: this.pickerOptions.hoverPosition
|
|
148
|
+
content: mode.description.get() ?? chatAgentService.getDefaultAgent(ChatAgentLocation.Chat, mode.kind)?.description ?? action.tooltip
|
|
150
149
|
},
|
|
151
150
|
icon: mode.icon.get() ?? (isModeConsideredBuiltIn(mode, this._productService) ? builtinDefaultIcon(mode) : undefined),
|
|
152
151
|
category: agentModeDisabledViaPolicy ? policyDisabledCategory : customCategory
|
|
153
152
|
};
|
|
154
153
|
};
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
154
|
+
const getActionsForCustomAgentTarget = currentTarget => {
|
|
155
|
+
const modes = chatModeService.getModes();
|
|
156
|
+
const currentMode = delegate.currentMode.get();
|
|
157
|
+
const sessionResource = delegate.sessionResource();
|
|
158
|
+
const currentSessionType = sessionResource ? getChatSessionType(sessionResource) : undefined;
|
|
159
|
+
const filteredCustomModes = modes.custom.filter(mode => {
|
|
160
|
+
const target = mode.target.get();
|
|
161
|
+
if (target !== currentTarget && target !== Target.Undefined) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
if (!matchesSessionType(mode.sessionTypes, currentSessionType)) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
return true;
|
|
168
|
+
});
|
|
169
|
+
const customModes = groupBy(
|
|
170
|
+
filteredCustomModes,
|
|
171
|
+
mode => isModeConsideredBuiltIn(mode, this._productService) ? "builtin" : "custom"
|
|
172
|
+
);
|
|
173
|
+
const checked = currentMode.id === ChatMode.Agent.id;
|
|
174
|
+
const defaultAction = {
|
|
175
|
+
...makeAction(ChatMode.Agent, ChatMode.Agent),
|
|
176
|
+
checked
|
|
177
|
+
};
|
|
178
|
+
defaultAction.category = builtInCategory;
|
|
179
|
+
const builtInActions = customModes.builtin?.map(mode => {
|
|
180
|
+
const action = makeActionFromCustomMode(mode, currentMode);
|
|
181
|
+
action.category = builtInCategory;
|
|
182
|
+
return action;
|
|
183
|
+
}) ?? [];
|
|
184
|
+
const customActions = customModes.custom?.map(mode => makeActionFromCustomMode(mode, currentMode)) ?? [];
|
|
185
|
+
return [defaultAction, ...builtInActions, ...customActions];
|
|
181
186
|
};
|
|
182
187
|
const actionProvider = {
|
|
183
188
|
getActions: () => {
|
|
184
189
|
const modes = chatModeService.getModes();
|
|
185
190
|
const currentMode = delegate.currentMode.get();
|
|
186
191
|
const agentMode = modes.builtin.find(mode => mode.id === ChatMode.Agent.id);
|
|
192
|
+
const sessionResource = delegate.sessionResource();
|
|
193
|
+
const currentSessionType = sessionResource ? getChatSessionType(sessionResource) : undefined;
|
|
187
194
|
const otherBuiltinModes = modes.builtin.filter(mode => {
|
|
188
195
|
return mode.id !== ChatMode.Agent.id && shouldShowBuiltInMode(mode, assignments.get(), agentModeDisabledViaPolicy);
|
|
189
196
|
});
|
|
190
197
|
const filteredCustomModes = modes.custom.filter(mode => {
|
|
198
|
+
if (!matchesSessionType(mode.sessionTypes, currentSessionType)) {
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
191
201
|
if (isModeConsideredBuiltIn(mode, this._productService)) {
|
|
192
202
|
return shouldShowBuiltInMode(mode, assignments.get(), agentModeDisabledViaPolicy);
|
|
193
203
|
}
|
|
@@ -209,8 +219,17 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
|
|
|
209
219
|
return orderedModes;
|
|
210
220
|
}
|
|
211
221
|
};
|
|
222
|
+
const dynamicActionProvider = {
|
|
223
|
+
getActions: () => {
|
|
224
|
+
const currentTarget = getCustomAgentTarget();
|
|
225
|
+
if (currentTarget !== Target.Undefined) {
|
|
226
|
+
return getActionsForCustomAgentTarget(currentTarget);
|
|
227
|
+
}
|
|
228
|
+
return actionProvider.getActions();
|
|
229
|
+
}
|
|
230
|
+
};
|
|
212
231
|
const modePickerActionWidgetOptions = {
|
|
213
|
-
actionProvider:
|
|
232
|
+
actionProvider: dynamicActionProvider,
|
|
214
233
|
actionBarActionProvider: {
|
|
215
234
|
getActions: () => this.getModePickerActionBarActions()
|
|
216
235
|
},
|