@codingame/monaco-vscode-katex-common 31.0.0 → 32.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +15 -3
- package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +6 -5
- package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +5 -1
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +45 -14
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +15 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +51 -54
- 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.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +45 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +13 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +46 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +155 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +37 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionPickerActionItem.css +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +250 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +14 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
- 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.js +7 -2
- 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/chatCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +7 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +12 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +51 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +56 -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/buffers/paragraphBuffer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +4 -0
- 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.js +68 -10
- 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 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +653 -75
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +28 -10
- 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 +91 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +7 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +53 -51
- 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.js +11 -11
- 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 +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +42 -22
- 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.js +2 -2
- 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 +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +93 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +169 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +13 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +60 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +13 -6
- 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 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +125 -26
- 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 +29 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +119 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +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/media/toolRiskBadge.css +77 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +125 -0
- 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 +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +132 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +16 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +156 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.js +93 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +133 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +53 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +288 -125
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +23 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +699 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +12 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +12 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +120 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +191 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatPhoneInputPresenter.css +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +9 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +89 -108
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
- 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 +521 -9
- 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/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +19 -19
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +82 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +44 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +3 -46
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.d.ts → inlineChatAffordanceWidget.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.js → inlineChatAffordanceWidget.js} +6 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -18
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +19 -400
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +4 -9
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +5 -19
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +47 -133
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +103 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +29 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +3 -32
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -92
- 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/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +99 -32
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +13 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +76 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +89 -28
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +11 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +7 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +11 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +59 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +24 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +111 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +60 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +455 -171
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.js +49 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.js +302 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.js +118 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +34 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +233 -48
- package/vscode/src/vs/platform/actions/browser/actionbar.d.ts +0 -16
- package/vscode/src/vs/platform/actions/browser/actionbar.js +0 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -539
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -386
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +0 -101
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +0 -509
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -130
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +0 -276
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.js +0 -93
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +0 -39
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +0 -617
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +0 -231
|
@@ -20,12 +20,10 @@ import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform
|
|
|
20
20
|
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
21
21
|
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
|
|
22
22
|
import { ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
|
|
23
|
-
import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
|
|
24
23
|
import { isOrganizationPromptFile } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/utils/promptsServiceUtils';
|
|
25
24
|
import { ChatConfiguration, ChatModeKind, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
26
|
-
import { PromptsStorage
|
|
25
|
+
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
27
26
|
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';
|
|
29
27
|
import { getOpenChatActionIdForMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
30
28
|
import { ToggleAgentModeActionId } from '../../actions/chatExecuteActions.js';
|
|
31
29
|
import { ChatInputPickerActionViewItem } from './chatInputPickerActionItem.js';
|
|
@@ -56,7 +54,6 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
|
|
|
56
54
|
keybindingService,
|
|
57
55
|
configurationService,
|
|
58
56
|
contextKeyService,
|
|
59
|
-
chatModeService,
|
|
60
57
|
menuService,
|
|
61
58
|
commandService,
|
|
62
59
|
_productService,
|
|
@@ -69,15 +66,15 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
|
|
|
69
66
|
});
|
|
70
67
|
const getCustomAgentTarget = () => delegate.customAgentTarget?.() ?? Target.Undefined;
|
|
71
68
|
const builtInCategory = {
|
|
72
|
-
label: ( localize(
|
|
69
|
+
label: ( localize(7526, "Built-In")),
|
|
73
70
|
order: 0
|
|
74
71
|
};
|
|
75
72
|
const customCategory = {
|
|
76
|
-
label: ( localize(
|
|
73
|
+
label: ( localize(7527, "Custom")),
|
|
77
74
|
order: 1
|
|
78
75
|
};
|
|
79
76
|
const policyDisabledCategory = {
|
|
80
|
-
label: ( localize(
|
|
77
|
+
label: ( localize(7528, "Managed by your organization")),
|
|
81
78
|
order: 999,
|
|
82
79
|
showHeader: true
|
|
83
80
|
};
|
|
@@ -92,11 +89,11 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
|
|
|
92
89
|
if (mode.source?.storage === PromptsStorage.extension) {
|
|
93
90
|
icon = Codicon.file;
|
|
94
91
|
id = `viewAgent:${mode.id}`;
|
|
95
|
-
label = ( localize(
|
|
92
|
+
label = ( localize(7529, "View {0} agent", mode.label.get()));
|
|
96
93
|
} else {
|
|
97
94
|
icon = Codicon.edit;
|
|
98
95
|
id = `editAgent:${mode.id}`;
|
|
99
|
-
label = ( localize(
|
|
96
|
+
label = ( localize(7530, "Edit {0} agent", mode.label.get()));
|
|
100
97
|
}
|
|
101
98
|
const modeResource = mode.uri;
|
|
102
99
|
toolbarActions.push({
|
|
@@ -152,18 +149,13 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
|
|
|
152
149
|
};
|
|
153
150
|
};
|
|
154
151
|
const getActionsForCustomAgentTarget = currentTarget => {
|
|
155
|
-
const modes =
|
|
152
|
+
const modes = delegate.currentChatModes.get();
|
|
156
153
|
const currentMode = delegate.currentMode.get();
|
|
157
|
-
const sessionResource = delegate.sessionResource();
|
|
158
|
-
const currentSessionType = sessionResource ? getChatSessionType(sessionResource) : undefined;
|
|
159
154
|
const filteredCustomModes = modes.custom.filter(mode => {
|
|
160
155
|
const target = mode.target.get();
|
|
161
156
|
if (target !== currentTarget && target !== Target.Undefined) {
|
|
162
157
|
return false;
|
|
163
158
|
}
|
|
164
|
-
if (!matchesSessionType(mode.sessionTypes, currentSessionType)) {
|
|
165
|
-
return false;
|
|
166
|
-
}
|
|
167
159
|
return true;
|
|
168
160
|
});
|
|
169
161
|
const customModes = groupBy(
|
|
@@ -186,18 +178,13 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
|
|
|
186
178
|
};
|
|
187
179
|
const actionProvider = {
|
|
188
180
|
getActions: () => {
|
|
189
|
-
const modes =
|
|
181
|
+
const modes = delegate.currentChatModes.get();
|
|
190
182
|
const currentMode = delegate.currentMode.get();
|
|
191
183
|
const agentMode = modes.builtin.find(mode => mode.id === ChatMode.Agent.id);
|
|
192
|
-
const sessionResource = delegate.sessionResource();
|
|
193
|
-
const currentSessionType = sessionResource ? getChatSessionType(sessionResource) : undefined;
|
|
194
184
|
const otherBuiltinModes = modes.builtin.filter(mode => {
|
|
195
185
|
return mode.id !== ChatMode.Agent.id && shouldShowBuiltInMode(mode, assignments.get(), agentModeDisabledViaPolicy);
|
|
196
186
|
});
|
|
197
187
|
const filteredCustomModes = modes.custom.filter(mode => {
|
|
198
|
-
if (!matchesSessionType(mode.sessionTypes, currentSessionType)) {
|
|
199
|
-
return false;
|
|
200
|
-
}
|
|
201
188
|
if (isModeConsideredBuiltIn(mode, this._productService)) {
|
|
202
189
|
return shouldShowBuiltInMode(mode, assignments.get(), agentModeDisabledViaPolicy);
|
|
203
190
|
}
|
|
@@ -298,14 +285,11 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
|
|
|
298
285
|
if (!collapsed || !icon) {
|
|
299
286
|
labelElements.push($("span.chat-input-picker-label", undefined, state));
|
|
300
287
|
}
|
|
301
|
-
if (!collapsed) {
|
|
302
|
-
labelElements.push(...renderLabelWithIcons(`$(chevron-down)`));
|
|
303
|
-
}
|
|
304
288
|
reset(element, ...labelElements);
|
|
305
289
|
return null;
|
|
306
290
|
}
|
|
307
291
|
};
|
|
308
|
-
ModePickerActionItem = ( __decorate([( __param(3, IActionWidgetService)), ( __param(4, IChatAgentService)), ( __param(5, IKeybindingService)), ( __param(6, IConfigurationService)), ( __param(7, IContextKeyService)), ( __param(8,
|
|
292
|
+
ModePickerActionItem = ( __decorate([( __param(3, IActionWidgetService)), ( __param(4, IChatAgentService)), ( __param(5, IKeybindingService)), ( __param(6, IConfigurationService)), ( __param(7, IContextKeyService)), ( __param(8, IMenuService)), ( __param(9, ICommandService)), ( __param(10, IProductService)), ( __param(11, ITelemetryService)), ( __param(12, IOpenerService)), ( __param(13, IWorkbenchAssignmentService))], ModePickerActionItem));
|
|
309
293
|
function isModeConsideredBuiltIn(mode, productService) {
|
|
310
294
|
if (mode.isBuiltin) {
|
|
311
295
|
return true;
|
|
@@ -62,18 +62,19 @@ let ModelPickerActionItem = class ModelPickerActionItem extends BaseActionViewIt
|
|
|
62
62
|
this._pickerWidget.show(this._getAnchorElement());
|
|
63
63
|
}
|
|
64
64
|
_updateTooltip() {
|
|
65
|
-
|
|
65
|
+
const target = this._pickerWidget.nameButton;
|
|
66
|
+
if (!target) {
|
|
66
67
|
return;
|
|
67
68
|
}
|
|
68
69
|
const hoverContent = this._getHoverContents();
|
|
69
70
|
if (typeof hoverContent === "string" && hoverContent) {
|
|
70
|
-
this._managedHover.value = getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate("mouse"),
|
|
71
|
+
this._managedHover.value = getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate("mouse"), target, hoverContent);
|
|
71
72
|
} else {
|
|
72
73
|
this._managedHover.clear();
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
_getHoverContents() {
|
|
76
|
-
let label = ( localize(
|
|
77
|
+
let label = ( localize(7531, "Pick Model"));
|
|
77
78
|
const keybindingLabel = this.keybindingService.lookupKeybinding(this._action.id, this._contextKeyService)?.getLabel();
|
|
78
79
|
if (keybindingLabel) {
|
|
79
80
|
label += ` (${keybindingLabel})`;
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
1
2
|
import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
3
|
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
3
4
|
import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
|
|
@@ -5,19 +6,37 @@ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platf
|
|
|
5
6
|
import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
|
|
6
7
|
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
7
8
|
import { ChatPermissionLevel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
|
|
9
|
+
import { IChatSessionProviderOptionItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService";
|
|
8
10
|
import { MenuItemAction } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions";
|
|
9
11
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
10
12
|
import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service";
|
|
11
13
|
import { ChatInputPickerActionViewItem, IChatInputPickerOptions } from "./chatInputPickerActionItem.js";
|
|
12
14
|
import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
|
|
15
|
+
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
16
|
+
export interface IExtensionPermissionState {
|
|
17
|
+
/** Stable identifier for the contributing chat session type, used to namespace action ids. */
|
|
18
|
+
readonly sessionType: string;
|
|
19
|
+
readonly groupId: string;
|
|
20
|
+
readonly items: readonly IChatSessionProviderOptionItem[];
|
|
21
|
+
readonly selectedId: string | undefined;
|
|
22
|
+
}
|
|
13
23
|
export interface IPermissionPickerDelegate {
|
|
14
24
|
readonly currentPermissionLevel: IObservable<ChatPermissionLevel>;
|
|
15
25
|
readonly setPermissionLevel: (level: ChatPermissionLevel) => void;
|
|
26
|
+
/**
|
|
27
|
+
* When defined and returns a non-empty state, the picker shows the extension-contributed
|
|
28
|
+
* items in place of the built-in {@link ChatPermissionLevel} items.
|
|
29
|
+
*/
|
|
30
|
+
readonly getExtensionPermissions?: () => IExtensionPermissionState | undefined;
|
|
31
|
+
readonly setExtensionPermission?: (groupId: string, item: IChatSessionProviderOptionItem) => void;
|
|
16
32
|
}
|
|
17
33
|
export declare class PermissionPickerActionItem extends ChatInputPickerActionViewItem {
|
|
18
34
|
private readonly delegate;
|
|
19
35
|
private readonly dialogService;
|
|
20
|
-
|
|
36
|
+
private readonly _onDidDispose;
|
|
37
|
+
readonly onDidDispose: Event<void>;
|
|
38
|
+
constructor(action: MenuItemAction, delegate: IPermissionPickerDelegate, pickerOptions: IChatInputPickerOptions, actionWidgetService: IActionWidgetService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, telemetryService: ITelemetryService, configurationService: IConfigurationService, dialogService: IDialogService, openerService: IOpenerService, storageService: IStorageService);
|
|
21
39
|
protected renderLabel(element: HTMLElement): IDisposable | null;
|
|
22
40
|
refresh(): void;
|
|
41
|
+
dispose(): void;
|
|
23
42
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js
CHANGED
|
@@ -3,30 +3,25 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
|
|
|
3
3
|
import { $, reset } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
4
|
import { renderLabelWithIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
|
|
5
5
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
6
|
+
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
6
7
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
7
8
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
8
9
|
import { IActionWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service';
|
|
9
10
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
10
11
|
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
11
12
|
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
12
|
-
import {
|
|
13
|
+
import { ChatConfiguration, ChatPermissionLevel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
14
|
+
import { SessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
13
15
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
14
16
|
import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
15
|
-
import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
|
|
16
|
-
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
17
17
|
import { ChatInputPickerActionViewItem } from './chatInputPickerActionItem.js';
|
|
18
18
|
import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
|
|
19
19
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
20
|
+
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
21
|
+
import { maybeConfirmElevatedPermissionLevel } from '../../../common/chatPermissionWarnings.js';
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (( shownWarnings.has(level))) {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
if (level === ChatPermissionLevel.AutoApprove && ( shownWarnings.has(ChatPermissionLevel.Autopilot))) {
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
return false;
|
|
23
|
+
function sanitizeIdSegment(value) {
|
|
24
|
+
return value.replace(/[^a-zA-Z0-9_-]/g, "_");
|
|
30
25
|
}
|
|
31
26
|
let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatInputPickerActionViewItem {
|
|
32
27
|
constructor(
|
|
@@ -39,24 +34,49 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
|
|
|
39
34
|
telemetryService,
|
|
40
35
|
configurationService,
|
|
41
36
|
dialogService,
|
|
42
|
-
openerService
|
|
37
|
+
openerService,
|
|
38
|
+
storageService
|
|
43
39
|
) {
|
|
44
40
|
const isAutoApprovePolicyRestricted = () => configurationService.inspect(ChatConfiguration.GlobalAutoApprove).policyValue === false;
|
|
45
41
|
const isAutopilotEnabled = () => configurationService.getValue(ChatConfiguration.AutopilotEnabled) !== false;
|
|
46
42
|
const actionProvider = {
|
|
47
43
|
getActions: () => {
|
|
44
|
+
const ext = delegate.getExtensionPermissions?.();
|
|
45
|
+
if (ext && ext.items.length > 0) {
|
|
46
|
+
const sessionTypeSeg = sanitizeIdSegment(ext.sessionType);
|
|
47
|
+
const groupSeg = sanitizeIdSegment(ext.groupId);
|
|
48
|
+
return (ext.items.map(item => ({
|
|
49
|
+
...action,
|
|
50
|
+
id: `chat.permissions.ext.${sessionTypeSeg}.${groupSeg}.${sanitizeIdSegment(item.id)}`,
|
|
51
|
+
label: item.name,
|
|
52
|
+
detail: item.description,
|
|
53
|
+
icon: item.icon,
|
|
54
|
+
checked: ext.selectedId === item.id,
|
|
55
|
+
enabled: !item.locked,
|
|
56
|
+
tooltip: item.locked ? ( localize(7532, "This option is locked")) : "",
|
|
57
|
+
hover: item.description ? {
|
|
58
|
+
content: item.description
|
|
59
|
+
} : undefined,
|
|
60
|
+
run: async () => {
|
|
61
|
+
delegate.setExtensionPermission?.(ext.groupId, item);
|
|
62
|
+
if (this.element) {
|
|
63
|
+
this.renderLabel(this.element);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
})));
|
|
67
|
+
}
|
|
48
68
|
const currentLevel = delegate.currentPermissionLevel.get();
|
|
49
69
|
const policyRestricted = isAutoApprovePolicyRestricted();
|
|
50
70
|
const actions = [{
|
|
51
71
|
...action,
|
|
52
72
|
id: "chat.permissions.default",
|
|
53
|
-
label: ( localize(
|
|
54
|
-
|
|
73
|
+
label: ( localize(7533, "Default Approvals")),
|
|
74
|
+
detail: ( localize(7534, "Copilot uses your configured settings")),
|
|
55
75
|
icon: ThemeIcon.fromId(Codicon.shield.id),
|
|
56
76
|
checked: currentLevel === ChatPermissionLevel.Default,
|
|
57
77
|
tooltip: "",
|
|
58
78
|
hover: {
|
|
59
|
-
content: ( localize(
|
|
79
|
+
content: ( localize(7535, "Use configured approval settings"))
|
|
60
80
|
},
|
|
61
81
|
run: async () => {
|
|
62
82
|
delegate.setPermissionLevel(ChatPermissionLevel.Default);
|
|
@@ -67,46 +87,18 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
|
|
|
67
87
|
}, {
|
|
68
88
|
...action,
|
|
69
89
|
id: "chat.permissions.autoApprove",
|
|
70
|
-
label: ( localize(
|
|
71
|
-
|
|
90
|
+
label: ( localize(7536, "Bypass Approvals")),
|
|
91
|
+
detail: ( localize(7537, "All tool calls are auto-approved")),
|
|
72
92
|
icon: ThemeIcon.fromId(Codicon.warning.id),
|
|
73
93
|
checked: currentLevel === ChatPermissionLevel.AutoApprove,
|
|
74
94
|
enabled: !policyRestricted,
|
|
75
|
-
tooltip: policyRestricted ? ( localize(
|
|
95
|
+
tooltip: policyRestricted ? ( localize(7538, "Disabled by enterprise policy")) : "",
|
|
76
96
|
hover: {
|
|
77
|
-
content: policyRestricted ? ( localize(
|
|
97
|
+
content: policyRestricted ? ( localize(7539, "Disabled by enterprise policy")) : ( localize(7540, "Auto-approve all tool calls and retry on errors"))
|
|
78
98
|
},
|
|
79
99
|
run: async () => {
|
|
80
|
-
if (!
|
|
81
|
-
|
|
82
|
-
type: Severity.Warning,
|
|
83
|
-
message: ( localize(7235, "Enable Bypass Approvals?")),
|
|
84
|
-
buttons: [{
|
|
85
|
-
label: ( localize(7236, "Enable")),
|
|
86
|
-
run: () => true
|
|
87
|
-
}, {
|
|
88
|
-
label: ( localize(7237, "Cancel")),
|
|
89
|
-
run: () => false
|
|
90
|
-
}],
|
|
91
|
-
custom: {
|
|
92
|
-
icon: Codicon.warning,
|
|
93
|
-
markdownDetails: [{
|
|
94
|
-
markdown: ( new MarkdownString(( localize(
|
|
95
|
-
7238,
|
|
96
|
-
"Bypass Approvals will auto-approve all tool calls without asking for confirmation. This includes file edits, terminal commands, and external tool calls.\n\nTo make this the starting permission level for new chat sessions, change the [{0}](command:workbench.action.openSettings?%5B%22{0}%22%5D) setting.",
|
|
97
|
-
ChatConfiguration.DefaultPermissionLevel
|
|
98
|
-
)), {
|
|
99
|
-
isTrusted: {
|
|
100
|
-
enabledCommands: ["workbench.action.openSettings"]
|
|
101
|
-
}
|
|
102
|
-
}))
|
|
103
|
-
}]
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
if (result.result !== true) {
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
shownWarnings.add(ChatPermissionLevel.AutoApprove);
|
|
100
|
+
if (!(await maybeConfirmElevatedPermissionLevel(ChatPermissionLevel.AutoApprove, this.dialogService, storageService))) {
|
|
101
|
+
return;
|
|
110
102
|
}
|
|
111
103
|
delegate.setPermissionLevel(ChatPermissionLevel.AutoApprove);
|
|
112
104
|
if (this.element) {
|
|
@@ -118,46 +110,18 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
|
|
|
118
110
|
actions.push({
|
|
119
111
|
...action,
|
|
120
112
|
id: "chat.permissions.autopilot",
|
|
121
|
-
label: ( localize(
|
|
122
|
-
|
|
113
|
+
label: ( localize(7541, "Autopilot (Preview)")),
|
|
114
|
+
detail: ( localize(7542, "Autonomously iterates from start to finish")),
|
|
123
115
|
icon: ThemeIcon.fromId(Codicon.rocket.id),
|
|
124
116
|
checked: currentLevel === ChatPermissionLevel.Autopilot,
|
|
125
117
|
enabled: !policyRestricted,
|
|
126
|
-
tooltip: policyRestricted ? ( localize(
|
|
118
|
+
tooltip: policyRestricted ? ( localize(7543, "Disabled by enterprise policy")) : "",
|
|
127
119
|
hover: {
|
|
128
|
-
content: policyRestricted ? ( localize(
|
|
120
|
+
content: policyRestricted ? ( localize(7544, "Disabled by enterprise policy")) : ( localize(7545, "Auto-approve all tool calls and continue until the task is done"))
|
|
129
121
|
},
|
|
130
122
|
run: async () => {
|
|
131
|
-
if (!
|
|
132
|
-
|
|
133
|
-
type: Severity.Warning,
|
|
134
|
-
message: ( localize(7244, "Enable Autopilot?")),
|
|
135
|
-
buttons: [{
|
|
136
|
-
label: ( localize(7245, "Enable")),
|
|
137
|
-
run: () => true
|
|
138
|
-
}, {
|
|
139
|
-
label: ( localize(7246, "Cancel")),
|
|
140
|
-
run: () => false
|
|
141
|
-
}],
|
|
142
|
-
custom: {
|
|
143
|
-
icon: Codicon.rocket,
|
|
144
|
-
markdownDetails: [{
|
|
145
|
-
markdown: ( new MarkdownString(( localize(
|
|
146
|
-
7247,
|
|
147
|
-
"Autopilot will auto-approve all tool calls and continue working autonomously until the task is complete. This includes terminal commands, file edits, and external tool calls. The agent will make decisions on your behalf without asking for confirmation.\n\nYou can stop the agent at any time by clicking the stop button. This applies to the current session only.\n\nTo make this the starting permission level for new chat sessions, change the [{0}](command:workbench.action.openSettings?%5B%22{0}%22%5D) setting.",
|
|
148
|
-
ChatConfiguration.DefaultPermissionLevel
|
|
149
|
-
)), {
|
|
150
|
-
isTrusted: {
|
|
151
|
-
enabledCommands: ["workbench.action.openSettings"]
|
|
152
|
-
}
|
|
153
|
-
}))
|
|
154
|
-
}]
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
if (result.result !== true) {
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
shownWarnings.add(ChatPermissionLevel.Autopilot);
|
|
123
|
+
if (!(await maybeConfirmElevatedPermissionLevel(ChatPermissionLevel.Autopilot, this.dialogService, storageService))) {
|
|
124
|
+
return;
|
|
161
125
|
}
|
|
162
126
|
delegate.setPermissionLevel(ChatPermissionLevel.Autopilot);
|
|
163
127
|
if (this.element) {
|
|
@@ -173,14 +137,14 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
|
|
|
173
137
|
actionProvider,
|
|
174
138
|
actionBarActions: [{
|
|
175
139
|
id: "chat.permissions.learnMore",
|
|
176
|
-
label: ( localize(
|
|
177
|
-
tooltip: ( localize(
|
|
140
|
+
label: ( localize(7546, "Learn more about permissions")),
|
|
141
|
+
tooltip: ( localize(7546, "Learn more about permissions")),
|
|
178
142
|
class: undefined,
|
|
179
143
|
enabled: true,
|
|
180
144
|
run: async () => {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
)));
|
|
145
|
+
const ext = delegate.getExtensionPermissions?.();
|
|
146
|
+
const url = ext?.sessionType === SessionType.ClaudeCode ? "https://code.claude.com/docs/en/permission-modes#available-modes" : "https://code.visualstudio.com/docs/copilot/agents/agent-tools#_permission-levels";
|
|
147
|
+
await openerService.open(( URI.parse(url)));
|
|
184
148
|
}
|
|
185
149
|
}],
|
|
186
150
|
reporter: {
|
|
@@ -189,39 +153,49 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
|
|
|
189
153
|
includeOptions: true
|
|
190
154
|
},
|
|
191
155
|
listOptions: {
|
|
192
|
-
|
|
193
|
-
|
|
156
|
+
minWidth: 255,
|
|
157
|
+
detailItemHeight: 44
|
|
194
158
|
}
|
|
195
159
|
}, pickerOptions, actionWidgetService, keybindingService, contextKeyService, telemetryService);
|
|
196
160
|
this.delegate = delegate;
|
|
197
161
|
this.dialogService = dialogService;
|
|
162
|
+
this._onDidDispose = this._register(( new Emitter()));
|
|
163
|
+
this.onDidDispose = this._onDidDispose.event;
|
|
198
164
|
}
|
|
199
165
|
renderLabel(element) {
|
|
200
166
|
this.setAriaLabelAttributes(element);
|
|
201
|
-
const
|
|
167
|
+
const ext = this.delegate.getExtensionPermissions?.();
|
|
202
168
|
let icon;
|
|
203
169
|
let label;
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
170
|
+
const level = this.delegate.currentPermissionLevel.get();
|
|
171
|
+
if (ext && ext.items.length > 0) {
|
|
172
|
+
const selected = ext.items.find(i => i.id === ext.selectedId) ?? ext.items.find(i => i.default) ?? ext.items[0];
|
|
173
|
+
icon = selected.icon ?? Codicon.lock;
|
|
174
|
+
label = selected.name;
|
|
175
|
+
} else {
|
|
176
|
+
switch (level) {
|
|
177
|
+
case ChatPermissionLevel.Autopilot:
|
|
178
|
+
icon = Codicon.rocket;
|
|
179
|
+
label = ( localize(7547, "Autopilot (Preview)"));
|
|
180
|
+
break;
|
|
181
|
+
case ChatPermissionLevel.AutoApprove:
|
|
182
|
+
icon = Codicon.warning;
|
|
183
|
+
label = ( localize(7548, "Bypass Approvals"));
|
|
184
|
+
break;
|
|
185
|
+
default:
|
|
186
|
+
icon = Codicon.shield;
|
|
187
|
+
label = ( localize(7549, "Default Approvals"));
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
217
190
|
}
|
|
218
191
|
const labelElements = [];
|
|
219
192
|
labelElements.push(...renderLabelWithIcons(`$(${icon.id})`));
|
|
220
193
|
labelElements.push($("span.chat-input-picker-label", undefined, label));
|
|
221
194
|
labelElements.push(...renderLabelWithIcons(`$(chevron-down)`));
|
|
222
195
|
reset(element, ...labelElements);
|
|
223
|
-
element.classList.toggle("warning", level === ChatPermissionLevel.Autopilot);
|
|
224
|
-
element.classList.toggle("info", level === ChatPermissionLevel.AutoApprove);
|
|
196
|
+
element.classList.toggle("warning", !ext && level === ChatPermissionLevel.Autopilot);
|
|
197
|
+
element.classList.toggle("info", !ext && level === ChatPermissionLevel.AutoApprove);
|
|
198
|
+
element.setAttribute("aria-label", ( localize(7550, "Permission picker, {0}", label)));
|
|
225
199
|
return null;
|
|
226
200
|
}
|
|
227
201
|
refresh() {
|
|
@@ -229,7 +203,14 @@ let PermissionPickerActionItem = class PermissionPickerActionItem extends ChatIn
|
|
|
229
203
|
this.renderLabel(this.element);
|
|
230
204
|
}
|
|
231
205
|
}
|
|
206
|
+
dispose() {
|
|
207
|
+
if (this._store.isDisposed) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
this._onDidDispose.fire();
|
|
211
|
+
super.dispose();
|
|
212
|
+
}
|
|
232
213
|
};
|
|
233
|
-
PermissionPickerActionItem = ( __decorate([( __param(3, IActionWidgetService)), ( __param(4, IKeybindingService)), ( __param(5, IContextKeyService)), ( __param(6, ITelemetryService)), ( __param(7, IConfigurationService)), ( __param(8, IDialogService)), ( __param(9, IOpenerService))], PermissionPickerActionItem));
|
|
214
|
+
PermissionPickerActionItem = ( __decorate([( __param(3, IActionWidgetService)), ( __param(4, IKeybindingService)), ( __param(5, IContextKeyService)), ( __param(6, ITelemetryService)), ( __param(7, IConfigurationService)), ( __param(8, IDialogService)), ( __param(9, IOpenerService)), ( __param(10, IStorageService))], PermissionPickerActionItem));
|
|
234
215
|
|
|
235
216
|
export { PermissionPickerActionItem };
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js
CHANGED
|
@@ -17,11 +17,11 @@ import { AgentSessionProviders, getAgentSessionProviderDescription, getAgentSess
|
|
|
17
17
|
import { ChatInputPickerActionViewItem } from './chatInputPickerActionItem.js';
|
|
18
18
|
|
|
19
19
|
const firstPartyCategory = {
|
|
20
|
-
label: ( localize(
|
|
20
|
+
label: ( localize(7551, "Agent Types")),
|
|
21
21
|
order: 1
|
|
22
22
|
};
|
|
23
23
|
const otherCategory = {
|
|
24
|
-
label: ( localize(
|
|
24
|
+
label: ( localize(7552, "Other")),
|
|
25
25
|
order: 2
|
|
26
26
|
};
|
|
27
27
|
let SessionTypePickerActionItem = class SessionTypePickerActionItem extends ChatInputPickerActionViewItem {
|
|
@@ -126,7 +126,7 @@ let SessionTypePickerActionItem = class SessionTypePickerActionItem extends Chat
|
|
|
126
126
|
const learnMoreUrl = "https://code.visualstudio.com/docs/copilot/agents/overview";
|
|
127
127
|
return {
|
|
128
128
|
id: "workbench.action.chat.agentOverview.learnMore",
|
|
129
|
-
label: ( localize(
|
|
129
|
+
label: ( localize(7553, "Learn about agent types...")),
|
|
130
130
|
tooltip: learnMoreUrl,
|
|
131
131
|
class: undefined,
|
|
132
132
|
enabled: true,
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js
CHANGED
|
@@ -48,10 +48,10 @@ let WorkspacePickerActionItem = class WorkspacePickerActionItem extends ChatInpu
|
|
|
48
48
|
actions.push({
|
|
49
49
|
...action,
|
|
50
50
|
id: "workspace.openFolder",
|
|
51
|
-
label: ( localize(
|
|
51
|
+
label: ( localize(7554, "Open Folder...")),
|
|
52
52
|
checked: false,
|
|
53
53
|
enabled: true,
|
|
54
|
-
tooltip: ( localize(
|
|
54
|
+
tooltip: ( localize(7555, "Open Folder...")),
|
|
55
55
|
run: async () => {
|
|
56
56
|
this.commandService.executeCommand(this.delegate.openFolderCommand);
|
|
57
57
|
}
|
|
@@ -104,7 +104,7 @@ let WorkspacePickerActionItem = class WorkspacePickerActionItem extends ChatInpu
|
|
|
104
104
|
labelElements.push($("span.chat-input-picker-label", undefined, label));
|
|
105
105
|
} else {
|
|
106
106
|
labelElements.push(...renderLabelWithIcons(`$(folder)`));
|
|
107
|
-
labelElements.push($("span.chat-input-picker-label", undefined, ( localize(
|
|
107
|
+
labelElements.push($("span.chat-input-picker-label", undefined, ( localize(7556, "Workspace"))));
|
|
108
108
|
}
|
|
109
109
|
if (!this.pickerOptions.hideChevrons.get()) {
|
|
110
110
|
labelElements.push(...renderLabelWithIcons(`$(chevron-down)`));
|