@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
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { ITerminalSandboxService } from "../../common/terminalSandboxService.js";
|
|
3
|
+
import type { IOutputAnalyzer, IOutputAnalyzerOptions } from "./outputAnalyzer.js";
|
|
4
|
+
export declare class SandboxOutputAnalyzer extends Disposable implements IOutputAnalyzer {
|
|
5
|
+
private readonly _sandboxService;
|
|
6
|
+
constructor(_sandboxService: ITerminalSandboxService);
|
|
7
|
+
analyze(options: IOutputAnalyzerOptions): Promise<string | undefined>;
|
|
8
|
+
/**
|
|
9
|
+
* Checks whether the command output contains strings that typically indicate
|
|
10
|
+
* the sandbox blocked the operation. Used when exit code is unavailable.
|
|
11
|
+
*
|
|
12
|
+
* The output may contain newlines inserted by terminal wrapping, so we
|
|
13
|
+
* strip them before testing.
|
|
14
|
+
*/
|
|
15
|
+
private _outputLooksSandboxBlocked;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Checks whether the command output contains strings that typically indicate
|
|
19
|
+
* the sandbox blocked the operation. The output may contain newlines inserted
|
|
20
|
+
* by terminal wrapping, so we strip them before testing.
|
|
21
|
+
*/
|
|
22
|
+
export declare function outputLooksSandboxBlocked(output: string): boolean;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
|
+
import { OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
5
|
+
import '../../common/terminalSandboxService.js';
|
|
6
|
+
import { TerminalChatAgentToolsSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration';
|
|
7
|
+
import { AgentNetworkDomainSettingId } from '../../../../../../platform/networkFilter/common/settings.js';
|
|
8
|
+
import { ITerminalSandboxService } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/terminalSandboxService.service';
|
|
9
|
+
|
|
10
|
+
let SandboxOutputAnalyzer = class SandboxOutputAnalyzer extends Disposable {
|
|
11
|
+
constructor(_sandboxService) {
|
|
12
|
+
super();
|
|
13
|
+
this._sandboxService = _sandboxService;
|
|
14
|
+
}
|
|
15
|
+
async analyze(options) {
|
|
16
|
+
if (!options.isSandboxWrapped) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
const knownFailure = options.exitCode !== undefined && options.exitCode !== 0;
|
|
20
|
+
const suspectedFailure = !knownFailure && options.exitCode === undefined && this._outputLooksSandboxBlocked(options.exitResult);
|
|
21
|
+
if (!knownFailure && !suspectedFailure) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
const os = await this._sandboxService.getOS();
|
|
25
|
+
const fileSystemSetting = os === OperatingSystem.Linux ? TerminalChatAgentToolsSettingId.AgentSandboxLinuxFileSystem : TerminalChatAgentToolsSettingId.AgentSandboxMacFileSystem;
|
|
26
|
+
const prefix = knownFailure ? "Command failed while running in sandboxed mode. If the command failed due to sandboxing:" : "Command ran in sandboxed mode and may have been blocked by the sandbox. If the command failed due to sandboxing:";
|
|
27
|
+
return `${prefix}
|
|
28
|
+
- If it would be reasonable to extend the sandbox rules, work with the user to update allowWrite for file system access problems in ${fileSystemSetting}, or to add required domains to ${AgentNetworkDomainSettingId.AllowedNetworkDomains}.
|
|
29
|
+
- Otherwise, immediately retry the command with requestUnsandboxedExecution=true. Do NOT ask the user — setting this flag automatically shows a confirmation prompt to the user.
|
|
30
|
+
|
|
31
|
+
Here is the output of the command:\n`;
|
|
32
|
+
}
|
|
33
|
+
_outputLooksSandboxBlocked(output) {
|
|
34
|
+
return outputLooksSandboxBlocked(output);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
SandboxOutputAnalyzer = ( __decorate([( __param(0, ITerminalSandboxService))], SandboxOutputAnalyzer));
|
|
38
|
+
function outputLooksSandboxBlocked(output) {
|
|
39
|
+
const normalized = output.replace(/\n/g, " ");
|
|
40
|
+
return /Operation not permitted|Permission denied|Read-only file system|sandbox-exec|bwrap|sandbox_violation/i.test(normalized);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export { SandboxOutputAnalyzer, outputLooksSandboxBlocked };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IChatTerminalToolInvocationData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
2
|
+
import { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
|
|
3
|
+
import { ITerminalLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service";
|
|
4
|
+
export declare class TerminalCommandArtifactCollector {
|
|
5
|
+
private readonly _logService;
|
|
6
|
+
constructor(_logService: ITerminalLogService);
|
|
7
|
+
capture(toolSpecificData: IChatTerminalToolInvocationData, instance: ITerminalInstance, commandId: string | undefined): Promise<void>;
|
|
8
|
+
private _captureCommandOutput;
|
|
9
|
+
/**
|
|
10
|
+
* Captures output from a partial/current command that hasn't finished yet.
|
|
11
|
+
* This is used when the command is cancelled mid-execution.
|
|
12
|
+
*/
|
|
13
|
+
private _capturePartialCommandOutput;
|
|
14
|
+
private _applyTheme;
|
|
15
|
+
private _createTerminalCommandUri;
|
|
16
|
+
private _tryGetCommand;
|
|
17
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { getCommandOutputSnapshot } from '../../../../terminal/browser/chatTerminalCommandMirror.js';
|
|
4
|
+
import { TerminalCapability } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/capabilities/capabilities';
|
|
5
|
+
import { ITerminalLogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service';
|
|
6
|
+
|
|
7
|
+
let TerminalCommandArtifactCollector = class TerminalCommandArtifactCollector {
|
|
8
|
+
constructor(_logService) {
|
|
9
|
+
this._logService = _logService;
|
|
10
|
+
}
|
|
11
|
+
async capture(toolSpecificData, instance, commandId) {
|
|
12
|
+
if (commandId) {
|
|
13
|
+
try {
|
|
14
|
+
toolSpecificData.terminalCommandUri = this._createTerminalCommandUri(instance, commandId);
|
|
15
|
+
} catch (error) {
|
|
16
|
+
this._logService.warn(
|
|
17
|
+
`RunInTerminalTool: Failed to create terminal command URI for ${commandId}`,
|
|
18
|
+
error
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
const command = await this._tryGetCommand(instance, commandId);
|
|
22
|
+
if (command) {
|
|
23
|
+
toolSpecificData.terminalCommandState = {
|
|
24
|
+
exitCode: command.exitCode,
|
|
25
|
+
timestamp: command.timestamp,
|
|
26
|
+
duration: command.duration
|
|
27
|
+
};
|
|
28
|
+
const snapshot = await this._captureCommandOutput(instance, command);
|
|
29
|
+
if (snapshot) {
|
|
30
|
+
toolSpecificData.terminalCommandOutput = snapshot;
|
|
31
|
+
}
|
|
32
|
+
this._applyTheme(toolSpecificData, instance);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const partialSnapshot = await this._capturePartialCommandOutput(instance, commandId);
|
|
36
|
+
if (partialSnapshot) {
|
|
37
|
+
toolSpecificData.terminalCommandOutput = partialSnapshot;
|
|
38
|
+
this._logService.debug(`RunInTerminalTool: Captured partial command output for ${commandId}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
this._applyTheme(toolSpecificData, instance);
|
|
42
|
+
}
|
|
43
|
+
async _captureCommandOutput(instance, command) {
|
|
44
|
+
try {
|
|
45
|
+
await instance.xtermReadyPromise;
|
|
46
|
+
} catch {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
const xterm = instance.xterm;
|
|
50
|
+
if (!xterm) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
return getCommandOutputSnapshot(xterm, command, (reason, error) => {
|
|
54
|
+
const suffix = reason === "fallback" ? " (fallback)" : "";
|
|
55
|
+
this._logService.debug(`RunInTerminalTool: Failed to snapshot command output${suffix}`, error);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
async _capturePartialCommandOutput(instance, commandId) {
|
|
59
|
+
try {
|
|
60
|
+
await instance.xtermReadyPromise;
|
|
61
|
+
} catch {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
const xterm = instance.xterm;
|
|
65
|
+
if (!xterm) {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
const commandDetection = instance.capabilities.get(TerminalCapability.CommandDetection);
|
|
69
|
+
const currentCommand = commandDetection?.currentCommand;
|
|
70
|
+
if (currentCommand && currentCommand.id === commandId) {
|
|
71
|
+
const executedMarker = currentCommand.commandExecutedMarker;
|
|
72
|
+
if (executedMarker && !executedMarker.isDisposed) {
|
|
73
|
+
try {
|
|
74
|
+
const raw = xterm.raw;
|
|
75
|
+
const buffer = raw.buffer.active;
|
|
76
|
+
const endLine = buffer.baseY + buffer.cursorY;
|
|
77
|
+
const startLine = executedMarker.line;
|
|
78
|
+
const lineCount = Math.max(endLine - startLine, 0);
|
|
79
|
+
if (lineCount > 0) {
|
|
80
|
+
const text = await xterm.getRangeAsVT(executedMarker, undefined, true);
|
|
81
|
+
if (text) {
|
|
82
|
+
return {
|
|
83
|
+
text,
|
|
84
|
+
lineCount
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
} catch (error) {
|
|
89
|
+
this._logService.debug(`RunInTerminalTool: Failed to capture partial command output`, error);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
_applyTheme(toolSpecificData, instance) {
|
|
96
|
+
const theme = instance.xterm?.getXtermTheme();
|
|
97
|
+
if (theme) {
|
|
98
|
+
toolSpecificData.terminalTheme = {
|
|
99
|
+
background: theme.background,
|
|
100
|
+
foreground: theme.foreground
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
_createTerminalCommandUri(instance, commandId) {
|
|
105
|
+
const params = ( new URLSearchParams(instance.resource.query));
|
|
106
|
+
params.set("command", commandId);
|
|
107
|
+
return instance.resource.with({
|
|
108
|
+
query: ( params.toString())
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
async _tryGetCommand(instance, commandId) {
|
|
112
|
+
const commandDetection = instance.capabilities.get(TerminalCapability.CommandDetection);
|
|
113
|
+
return commandDetection?.commands.find(c => c.id === commandId);
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
TerminalCommandArtifactCollector = ( __decorate([( __param(0, ITerminalLogService))], TerminalCommandArtifactCollector));
|
|
117
|
+
|
|
118
|
+
export { TerminalCommandArtifactCollector };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
2
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
3
|
+
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
4
|
+
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
5
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
6
|
+
/**
|
|
7
|
+
* Returns true if the chat session's permission level (Autopilot/Bypass Approvals)
|
|
8
|
+
* auto-approves all tool calls, unless enterprise policy restricts it.
|
|
9
|
+
* Checks both the request-stamped level and the live picker level.
|
|
10
|
+
*/
|
|
11
|
+
export declare function isSessionAutoApproveLevel(chatSessionResource: URI, configurationService: IConfigurationService, chatWidgetService: IChatWidgetService, chatService: IChatService): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Checks whether a terminal tool is eligible for auto-approval based on user configuration.
|
|
14
|
+
* @param toolReferenceName The tool's reference name (e.g. 'runInTerminal', 'sendToTerminal').
|
|
15
|
+
* @param legacyToolReferenceFullNames Legacy names to check for backward compatibility.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isToolEligibleForTerminalAutoApproval(toolReferenceName: string, configurationService: IConfigurationService, legacyToolReferenceFullNames?: string[]): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Determines whether terminal auto-approve rules are allowed to take effect.
|
|
20
|
+
* This checks the setting enablement, the opt-in warning acceptance, and the per-tool eligibility.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isTerminalAutoApproveAllowed(toolReferenceName: string, configurationService: IConfigurationService, storageService: IStorageService, legacyToolReferenceFullNames?: string[]): boolean;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
|
|
2
|
+
import { StorageScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
3
|
+
import { TerminalToolConfirmationStorageKeys } from '../../../../chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js';
|
|
4
|
+
import { ChatConfiguration, isAutoApproveLevel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
5
|
+
import { TerminalChatAgentToolsSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration';
|
|
6
|
+
|
|
7
|
+
function isSessionAutoApproveLevel(chatSessionResource, configurationService, chatWidgetService, chatService) {
|
|
8
|
+
const inspected = configurationService.inspect(ChatConfiguration.GlobalAutoApprove);
|
|
9
|
+
if (inspected.policyValue === false) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
const widget = chatWidgetService.getWidgetBySessionResource(chatSessionResource)
|
|
13
|
+
?? chatWidgetService.lastFocusedWidget;
|
|
14
|
+
if (widget && isAutoApproveLevel(widget.input.currentModeInfo.permissionLevel)) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
const model = chatService.getSession(chatSessionResource);
|
|
18
|
+
const request = model?.getRequests().at(-1);
|
|
19
|
+
return isAutoApproveLevel(request?.modeInfo?.permissionLevel);
|
|
20
|
+
}
|
|
21
|
+
function isToolEligibleForTerminalAutoApproval(toolReferenceName, configurationService, legacyToolReferenceFullNames) {
|
|
22
|
+
const config = configurationService.getValue(ChatConfiguration.EligibleForAutoApproval);
|
|
23
|
+
if (config && typeof config === 'object') {
|
|
24
|
+
if (Object.prototype.hasOwnProperty.call(config, toolReferenceName)) {
|
|
25
|
+
return config[toolReferenceName];
|
|
26
|
+
}
|
|
27
|
+
if (legacyToolReferenceFullNames) {
|
|
28
|
+
for (const legacyName of legacyToolReferenceFullNames) {
|
|
29
|
+
if (Object.prototype.hasOwnProperty.call(config, legacyName)) {
|
|
30
|
+
return config[legacyName];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
function isTerminalAutoApproveAllowed(toolReferenceName, configurationService, storageService, legacyToolReferenceFullNames) {
|
|
38
|
+
const isEligible = isToolEligibleForTerminalAutoApproval(toolReferenceName, configurationService, legacyToolReferenceFullNames);
|
|
39
|
+
const isAutoApproveEnabled = configurationService.getValue(TerminalChatAgentToolsSettingId.EnableAutoApprove) === true;
|
|
40
|
+
const isAutoApproveWarningAccepted = storageService.getBoolean(TerminalToolConfirmationStorageKeys.TerminalAutoApproveWarningAccepted, StorageScope.APPLICATION, false);
|
|
41
|
+
return isEligible && isAutoApproveEnabled && isAutoApproveWarningAccepted;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export { isSessionAutoApproveLevel, isTerminalAutoApproveAllowed, isToolEligibleForTerminalAutoApproval };
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TerminalToolId } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/terminalToolIds";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { QueryCapture } from "@codingame/monaco-vscode-api/external/@vscode/tree-sitter-wasm/wasm/tree-sitter";
|
|
2
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
3
|
+
import { ITreeSitterLibraryService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/treeSitter/treeSitterLibraryService.service";
|
|
4
|
+
export declare enum TreeSitterCommandParserLanguage {
|
|
5
|
+
Bash = "bash",
|
|
6
|
+
PowerShell = "powershell"
|
|
7
|
+
}
|
|
8
|
+
export declare class TreeSitterCommandParser extends Disposable {
|
|
9
|
+
private readonly _treeSitterLibraryService;
|
|
10
|
+
private readonly _parser;
|
|
11
|
+
private readonly _treeCache;
|
|
12
|
+
private readonly _commandFileWriteParsers;
|
|
13
|
+
constructor(_treeSitterLibraryService: ITreeSitterLibraryService);
|
|
14
|
+
extractSubCommands(languageId: TreeSitterCommandParserLanguage, commandLine: string): Promise<string[]>;
|
|
15
|
+
extractPwshDoubleAmpersandChainOperators(commandLine: string): Promise<QueryCapture[]>;
|
|
16
|
+
getFileWrites(languageId: TreeSitterCommandParserLanguage, commandLine: string): Promise<string[]>;
|
|
17
|
+
/**
|
|
18
|
+
* Extracts file targets from commands that perform file writes beyond shell redirections.
|
|
19
|
+
* Uses registered command parsers (e.g., for `sed -i`) to detect command-specific file writes.
|
|
20
|
+
* Returns an array of file paths that would be modified.
|
|
21
|
+
*/
|
|
22
|
+
getCommandFileWrites(languageId: TreeSitterCommandParserLanguage, commandLine: string): Promise<string[]>;
|
|
23
|
+
private _queryTree;
|
|
24
|
+
private _doQuery;
|
|
25
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
4
|
+
import { BugIndicatingError, ErrorNoTelemetry } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
5
|
+
import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
|
|
6
|
+
import { Disposable, MutableDisposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
7
|
+
import { ITreeSitterLibraryService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/treeSitter/treeSitterLibraryService.service';
|
|
8
|
+
import { SedFileWriteParser } from './commandParsers/sedFileWriteParser.js';
|
|
9
|
+
|
|
10
|
+
var TreeSitterCommandParserLanguage;
|
|
11
|
+
(function(TreeSitterCommandParserLanguage) {
|
|
12
|
+
TreeSitterCommandParserLanguage["Bash"] = "bash";
|
|
13
|
+
TreeSitterCommandParserLanguage["PowerShell"] = "powershell";
|
|
14
|
+
})(TreeSitterCommandParserLanguage || (TreeSitterCommandParserLanguage = {}));
|
|
15
|
+
const pwshFlagEqualsRegex = /(^|\s)(-{1,2}[\w-]+)=/g;
|
|
16
|
+
function maskPwshFlagEquals(commandLine) {
|
|
17
|
+
return commandLine.replace(pwshFlagEqualsRegex, (_, pre, flag) => `${pre}${flag} `);
|
|
18
|
+
}
|
|
19
|
+
let TreeSitterCommandParser = class TreeSitterCommandParser extends Disposable {
|
|
20
|
+
constructor(_treeSitterLibraryService) {
|
|
21
|
+
super();
|
|
22
|
+
this._treeSitterLibraryService = _treeSitterLibraryService;
|
|
23
|
+
this._treeCache = this._register(( new TreeCache()));
|
|
24
|
+
this._commandFileWriteParsers = [( new SedFileWriteParser())];
|
|
25
|
+
this._parser = ( new Lazy(
|
|
26
|
+
() => this._treeSitterLibraryService.getParserClass().then(ParserCtor => ( new ParserCtor()))
|
|
27
|
+
));
|
|
28
|
+
}
|
|
29
|
+
async extractSubCommands(languageId, commandLine) {
|
|
30
|
+
if (languageId === TreeSitterCommandParserLanguage.PowerShell) {
|
|
31
|
+
const masked = maskPwshFlagEquals(commandLine);
|
|
32
|
+
if (masked !== commandLine) {
|
|
33
|
+
const captures = await this._queryTree(languageId, masked, "(command) @command");
|
|
34
|
+
return ( captures.map(e => commandLine.substring(e.node.startIndex, e.node.endIndex)));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const captures = await this._queryTree(languageId, commandLine, "(command) @command");
|
|
38
|
+
return ( captures.map(e => e.node.text));
|
|
39
|
+
}
|
|
40
|
+
async extractPwshDoubleAmpersandChainOperators(commandLine) {
|
|
41
|
+
const captures = await this._queryTree(
|
|
42
|
+
TreeSitterCommandParserLanguage.PowerShell,
|
|
43
|
+
commandLine,
|
|
44
|
+
["(", " (pipeline", " (pipeline_chain_tail) @double.ampersand)", ")"].join("\n")
|
|
45
|
+
);
|
|
46
|
+
return captures;
|
|
47
|
+
}
|
|
48
|
+
async getFileWrites(languageId, commandLine) {
|
|
49
|
+
let query;
|
|
50
|
+
switch (languageId) {
|
|
51
|
+
case TreeSitterCommandParserLanguage.Bash:
|
|
52
|
+
query = [
|
|
53
|
+
"(file_redirect",
|
|
54
|
+
" destination: [(word) (string (string_content)) (raw_string) (concatenation)] @file)"
|
|
55
|
+
].join("\n");
|
|
56
|
+
break;
|
|
57
|
+
case TreeSitterCommandParserLanguage.PowerShell:
|
|
58
|
+
query = ["(redirection", " (redirected_file_name) @file)"].join("\n");
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
const captures = await this._queryTree(languageId, commandLine, query);
|
|
62
|
+
return ( captures.map(e => e.node.text.trim()));
|
|
63
|
+
}
|
|
64
|
+
async getCommandFileWrites(languageId, commandLine) {
|
|
65
|
+
if (languageId !== TreeSitterCommandParserLanguage.Bash) {
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
const query = "(command) @command";
|
|
69
|
+
const captures = await this._queryTree(languageId, commandLine, query);
|
|
70
|
+
const result = [];
|
|
71
|
+
for (const capture of captures) {
|
|
72
|
+
const commandText = capture.node.text;
|
|
73
|
+
for (const parser of this._commandFileWriteParsers) {
|
|
74
|
+
if (parser.canHandle(commandText)) {
|
|
75
|
+
result.push(...parser.extractFileWrites(commandText));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
async _queryTree(languageId, commandLine, querySource) {
|
|
82
|
+
const {
|
|
83
|
+
tree,
|
|
84
|
+
query
|
|
85
|
+
} = await this._doQuery(languageId, commandLine, querySource);
|
|
86
|
+
return query.captures(tree.rootNode);
|
|
87
|
+
}
|
|
88
|
+
async _doQuery(languageId, commandLine, querySource) {
|
|
89
|
+
const language = await this._treeSitterLibraryService.getLanguagePromise(languageId);
|
|
90
|
+
if (!language) {
|
|
91
|
+
throw ( new BugIndicatingError("Failed to fetch language grammar"));
|
|
92
|
+
}
|
|
93
|
+
let tree = this._treeCache.get(languageId, commandLine);
|
|
94
|
+
if (!tree) {
|
|
95
|
+
const parser = await this._parser.value;
|
|
96
|
+
parser.setLanguage(language);
|
|
97
|
+
const parsedTree = parser.parse(commandLine);
|
|
98
|
+
if (!parsedTree) {
|
|
99
|
+
throw ( new ErrorNoTelemetry("Failed to parse tree"));
|
|
100
|
+
}
|
|
101
|
+
tree = parsedTree;
|
|
102
|
+
this._treeCache.set(languageId, commandLine, tree);
|
|
103
|
+
}
|
|
104
|
+
const query = await this._treeSitterLibraryService.createQuery(language, querySource);
|
|
105
|
+
if (!query) {
|
|
106
|
+
throw ( new BugIndicatingError("Failed to create tree sitter query"));
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
tree,
|
|
110
|
+
query
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
TreeSitterCommandParser = ( __decorate([( __param(0, ITreeSitterLibraryService))], TreeSitterCommandParser));
|
|
115
|
+
class TreeCache extends Disposable {
|
|
116
|
+
constructor() {
|
|
117
|
+
super();
|
|
118
|
+
this._cache = ( new Map());
|
|
119
|
+
this._clearScheduler = this._register(( new MutableDisposable()));
|
|
120
|
+
this._register(toDisposable(() => this._cache.clear()));
|
|
121
|
+
}
|
|
122
|
+
get(languageId, commandLine) {
|
|
123
|
+
this._resetClearTimer();
|
|
124
|
+
return this._cache.get(this._getCacheKey(languageId, commandLine));
|
|
125
|
+
}
|
|
126
|
+
set(languageId, commandLine, tree) {
|
|
127
|
+
this._resetClearTimer();
|
|
128
|
+
this._cache.set(this._getCacheKey(languageId, commandLine), tree);
|
|
129
|
+
}
|
|
130
|
+
_getCacheKey(languageId, commandLine) {
|
|
131
|
+
return `${languageId}:${commandLine}`;
|
|
132
|
+
}
|
|
133
|
+
_resetClearTimer() {
|
|
134
|
+
this._clearScheduler.value = ( new RunOnceScheduler(() => {
|
|
135
|
+
this._cache.clear();
|
|
136
|
+
}, 10000));
|
|
137
|
+
this._clearScheduler.value.schedule();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export { TreeSitterCommandParser, TreeSitterCommandParserLanguage };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
2
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
3
|
+
import { OperatingSystem } from "@codingame/monaco-vscode-api/vscode/vs/base/common/platform";
|
|
4
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
5
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
6
|
+
import { IEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service";
|
|
7
|
+
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
8
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
9
|
+
import { IRemoteAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service";
|
|
10
|
+
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
11
|
+
import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
|
|
12
|
+
import { ILifecycleService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service";
|
|
13
|
+
import { ISandboxHelperService } from "@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/sandboxHelperService.service";
|
|
14
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
15
|
+
import { TerminalSandboxPrerequisiteCheck, type ISandboxDependencyInstallOptions, type ISandboxDependencyInstallResult, type ITerminalSandboxPrerequisiteCheckResult, type ITerminalSandboxResolvedNetworkDomains, type ITerminalSandboxWrapResult } from "../../../../../platform/sandbox/common/terminalSandboxService.js";
|
|
16
|
+
import { ITerminalSandboxService } from "@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/terminalSandboxService.service";
|
|
17
|
+
export { ITerminalSandboxService, TerminalSandboxPrerequisiteCheck };
|
|
18
|
+
export type { ISandboxDependencyInstallOptions, ISandboxDependencyInstallResult, ISandboxDependencyInstallTerminal, ITerminalSandboxPrerequisiteCheckResult, ITerminalSandboxResolvedNetworkDomains, ITerminalSandboxWrapResult } from "../../../../../platform/sandbox/common/terminalSandboxService.js";
|
|
19
|
+
export declare class TerminalSandboxService extends Disposable implements ITerminalSandboxService {
|
|
20
|
+
private readonly _configurationService;
|
|
21
|
+
private readonly _fileService;
|
|
22
|
+
private readonly _environmentService;
|
|
23
|
+
private readonly _logService;
|
|
24
|
+
private readonly _remoteAgentService;
|
|
25
|
+
private readonly _workspaceContextService;
|
|
26
|
+
private readonly _productService;
|
|
27
|
+
private readonly _lifecycleService;
|
|
28
|
+
private readonly _sandboxHelperService;
|
|
29
|
+
private readonly _chatService;
|
|
30
|
+
readonly _serviceBrand: undefined;
|
|
31
|
+
private _srtPath;
|
|
32
|
+
private _rgPath;
|
|
33
|
+
private _srtPathResolved;
|
|
34
|
+
private _execPath?;
|
|
35
|
+
private _sandboxConfigPath;
|
|
36
|
+
private _sandboxDependencyStatus;
|
|
37
|
+
private _needsForceUpdateConfigFile;
|
|
38
|
+
private _tempDir;
|
|
39
|
+
private _sandboxSettingsId;
|
|
40
|
+
private _remoteEnvDetailsPromise;
|
|
41
|
+
private _remoteEnvDetails;
|
|
42
|
+
private _appRoot;
|
|
43
|
+
private _os;
|
|
44
|
+
private _defaultWritePaths;
|
|
45
|
+
private static readonly _sandboxTempDirName;
|
|
46
|
+
private static readonly _urlRegex;
|
|
47
|
+
private static readonly _sshRemoteRegex;
|
|
48
|
+
private static readonly _hostRegex;
|
|
49
|
+
constructor(_configurationService: IConfigurationService, _fileService: IFileService, _environmentService: IEnvironmentService, _logService: ILogService, _remoteAgentService: IRemoteAgentService, _workspaceContextService: IWorkspaceContextService, _productService: IProductService, _lifecycleService: ILifecycleService, _sandboxHelperService: ISandboxHelperService, _chatService: IChatService);
|
|
50
|
+
isEnabled(): Promise<boolean>;
|
|
51
|
+
getOS(): Promise<OperatingSystem>;
|
|
52
|
+
wrapCommand(command: string, requestUnsandboxedExecution?: boolean, shell?: string): ITerminalSandboxWrapResult;
|
|
53
|
+
getTempDir(): URI | undefined;
|
|
54
|
+
setNeedsForceUpdateConfigFile(): void;
|
|
55
|
+
checkForSandboxingPrereqs(forceRefresh?: boolean): Promise<ITerminalSandboxPrerequisiteCheckResult>;
|
|
56
|
+
getSandboxConfigPath(forceRefresh?: boolean): Promise<string | undefined>;
|
|
57
|
+
private _checkSandboxDependencies;
|
|
58
|
+
getMissingSandboxDependencies(): Promise<string[]>;
|
|
59
|
+
installMissingSandboxDependencies(missingDependencies: string[], sessionResource: URI | undefined, token: CancellationToken, options: ISandboxDependencyInstallOptions): Promise<ISandboxDependencyInstallResult>;
|
|
60
|
+
/**
|
|
61
|
+
* Shows a chat elicitation that keeps the "Install" flow grounded in chat while
|
|
62
|
+
* the user focuses the terminal and types a sudo password.
|
|
63
|
+
*/
|
|
64
|
+
private _createMissingDependencyPasswordPrompt;
|
|
65
|
+
private _quoteShellArgument;
|
|
66
|
+
private _wrapUnsandboxedCommand;
|
|
67
|
+
private _getBlockedDomains;
|
|
68
|
+
private _extractDomains;
|
|
69
|
+
private _extractDomainFromUrl;
|
|
70
|
+
private _isSandboxConfiguredEnabled;
|
|
71
|
+
private _resolveSrtPath;
|
|
72
|
+
private _createSandboxConfig;
|
|
73
|
+
private _mergeAdditionalSandboxConfigProperties;
|
|
74
|
+
private _isObjectForSandboxConfigMerge;
|
|
75
|
+
private _pathJoin;
|
|
76
|
+
private _initTempDir;
|
|
77
|
+
private _cleanupSandboxTempDir;
|
|
78
|
+
private _getSandboxTempDirPath;
|
|
79
|
+
private _getSandboxWindowTempDirName;
|
|
80
|
+
getResolvedNetworkDomains(): ITerminalSandboxResolvedNetworkDomains;
|
|
81
|
+
private _updateAllowWritePathsWithWorkspaceFolders;
|
|
82
|
+
private _resolveSandboxDependencyStatus;
|
|
83
|
+
private _isSandboxEnabled;
|
|
84
|
+
private _getSettingValue;
|
|
85
|
+
}
|