@codingame/monaco-vscode-katex-common 31.0.1 → 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
|
@@ -402,7 +402,7 @@ async function joinSelectedCells(bulkEditService, notificationService, context)
|
|
|
402
402
|
const cellKind = cells[0].cellKind;
|
|
403
403
|
const isSameKind = cells.every(cell => cell.cellKind === cellKind);
|
|
404
404
|
if (!isSameKind) {
|
|
405
|
-
const message = ( localize(
|
|
405
|
+
const message = ( localize(11518, "Cannot join cells of different kinds"));
|
|
406
406
|
return notificationService.warn(message);
|
|
407
407
|
}
|
|
408
408
|
const firstCell = cells[0];
|
|
@@ -431,7 +431,7 @@ async function joinSelectedCells(bulkEditService, notificationService, context)
|
|
|
431
431
|
}
|
|
432
432
|
if (edits.length) {
|
|
433
433
|
await bulkEditService.apply(edits, {
|
|
434
|
-
quotableLabel: ( localize(
|
|
434
|
+
quotableLabel: ( localize(11519, "Join Notebook Cells"))
|
|
435
435
|
});
|
|
436
436
|
}
|
|
437
437
|
}
|
|
@@ -74,7 +74,7 @@ registerAction2(class InsertCodeCellAboveAction extends InsertCellCommand {
|
|
|
74
74
|
constructor() {
|
|
75
75
|
super({
|
|
76
76
|
id: INSERT_CODE_CELL_ABOVE_COMMAND_ID,
|
|
77
|
-
title: ( localize(
|
|
77
|
+
title: ( localize(11585, "Insert Code Cell Above")),
|
|
78
78
|
keybinding: {
|
|
79
79
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Enter,
|
|
80
80
|
when: ( ContextKeyExpr.and(NOTEBOOK_CELL_LIST_FOCUSED, ( InputFocusedContext.toNegated()))),
|
|
@@ -92,7 +92,7 @@ registerAction2(
|
|
|
92
92
|
constructor() {
|
|
93
93
|
super({
|
|
94
94
|
id: INSERT_CODE_CELL_ABOVE_AND_FOCUS_CONTAINER_COMMAND_ID,
|
|
95
|
-
title: ( localize(
|
|
95
|
+
title: ( localize(11586, "Insert Code Cell Above and Focus Container"))
|
|
96
96
|
}, CellKind.Code, "above", false);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
@@ -101,7 +101,7 @@ registerAction2(class InsertCodeCellBelowAction extends InsertCellCommand {
|
|
|
101
101
|
constructor() {
|
|
102
102
|
super({
|
|
103
103
|
id: INSERT_CODE_CELL_BELOW_COMMAND_ID,
|
|
104
|
-
title: ( localize(
|
|
104
|
+
title: ( localize(11587, "Insert Code Cell Below")),
|
|
105
105
|
keybinding: {
|
|
106
106
|
primary: KeyMod.CtrlCmd | KeyCode.Enter,
|
|
107
107
|
when: ( ContextKeyExpr.and(NOTEBOOK_CELL_LIST_FOCUSED, ( InputFocusedContext.toNegated()))),
|
|
@@ -119,7 +119,7 @@ registerAction2(
|
|
|
119
119
|
constructor() {
|
|
120
120
|
super({
|
|
121
121
|
id: INSERT_CODE_CELL_BELOW_AND_FOCUS_CONTAINER_COMMAND_ID,
|
|
122
|
-
title: ( localize(
|
|
122
|
+
title: ( localize(11588, "Insert Code Cell Below and Focus Container"))
|
|
123
123
|
}, CellKind.Code, "below", false);
|
|
124
124
|
}
|
|
125
125
|
}
|
|
@@ -128,7 +128,7 @@ registerAction2(class InsertMarkdownCellAboveAction extends InsertCellCommand {
|
|
|
128
128
|
constructor() {
|
|
129
129
|
super({
|
|
130
130
|
id: INSERT_MARKDOWN_CELL_ABOVE_COMMAND_ID,
|
|
131
|
-
title: ( localize(
|
|
131
|
+
title: ( localize(11589, "Insert Markdown Cell Above")),
|
|
132
132
|
menu: {
|
|
133
133
|
id: MenuId.NotebookCellInsert,
|
|
134
134
|
order: 2
|
|
@@ -140,7 +140,7 @@ registerAction2(class InsertMarkdownCellBelowAction extends InsertCellCommand {
|
|
|
140
140
|
constructor() {
|
|
141
141
|
super({
|
|
142
142
|
id: INSERT_MARKDOWN_CELL_BELOW_COMMAND_ID,
|
|
143
|
-
title: ( localize(
|
|
143
|
+
title: ( localize(11590, "Insert Markdown Cell Below")),
|
|
144
144
|
menu: {
|
|
145
145
|
id: MenuId.NotebookCellInsert,
|
|
146
146
|
order: 3
|
|
@@ -152,7 +152,7 @@ registerAction2(class InsertCodeCellAtTopAction extends NotebookAction {
|
|
|
152
152
|
constructor() {
|
|
153
153
|
super({
|
|
154
154
|
id: INSERT_CODE_CELL_AT_TOP_COMMAND_ID,
|
|
155
|
-
title: ( localize(
|
|
155
|
+
title: ( localize(11591, "Add Code Cell At Top")),
|
|
156
156
|
f1: false
|
|
157
157
|
});
|
|
158
158
|
}
|
|
@@ -184,7 +184,7 @@ registerAction2(class InsertMarkdownCellAtTopAction extends NotebookAction {
|
|
|
184
184
|
constructor() {
|
|
185
185
|
super({
|
|
186
186
|
id: INSERT_MARKDOWN_CELL_AT_TOP_COMMAND_ID,
|
|
187
|
-
title: ( localize(
|
|
187
|
+
title: ( localize(11592, "Add Markdown Cell At Top")),
|
|
188
188
|
f1: false
|
|
189
189
|
});
|
|
190
190
|
}
|
|
@@ -215,8 +215,8 @@ registerAction2(class InsertMarkdownCellAtTopAction extends NotebookAction {
|
|
|
215
215
|
MenuRegistry.appendMenuItem(MenuId.NotebookCellBetween, {
|
|
216
216
|
command: {
|
|
217
217
|
id: INSERT_CODE_CELL_BELOW_COMMAND_ID,
|
|
218
|
-
title: "$(add) " + ( localize(
|
|
219
|
-
tooltip: ( localize(
|
|
218
|
+
title: "$(add) " + ( localize(11593, "Code")),
|
|
219
|
+
tooltip: ( localize(11594, "Add Code Cell"))
|
|
220
220
|
},
|
|
221
221
|
order: 0,
|
|
222
222
|
group: "inline",
|
|
@@ -225,9 +225,9 @@ MenuRegistry.appendMenuItem(MenuId.NotebookCellBetween, {
|
|
|
225
225
|
MenuRegistry.appendMenuItem(MenuId.NotebookCellBetween, {
|
|
226
226
|
command: {
|
|
227
227
|
id: INSERT_CODE_CELL_BELOW_COMMAND_ID,
|
|
228
|
-
title: ( localize(
|
|
228
|
+
title: ( localize(11595, "Add Code")),
|
|
229
229
|
icon: Codicon.add,
|
|
230
|
-
tooltip: ( localize(
|
|
230
|
+
tooltip: ( localize(11594, "Add Code Cell"))
|
|
231
231
|
},
|
|
232
232
|
order: 0,
|
|
233
233
|
group: "inline",
|
|
@@ -237,8 +237,8 @@ MenuRegistry.appendMenuItem(MenuId.NotebookToolbar, {
|
|
|
237
237
|
command: {
|
|
238
238
|
id: INSERT_CODE_CELL_BELOW_COMMAND_ID,
|
|
239
239
|
icon: Codicon.add,
|
|
240
|
-
title: ( localize(
|
|
241
|
-
tooltip: ( localize(
|
|
240
|
+
title: ( localize(11596, "Code")),
|
|
241
|
+
tooltip: ( localize(11594, "Add Code Cell"))
|
|
242
242
|
},
|
|
243
243
|
order: -5,
|
|
244
244
|
group: "navigation/add",
|
|
@@ -247,8 +247,8 @@ MenuRegistry.appendMenuItem(MenuId.NotebookToolbar, {
|
|
|
247
247
|
MenuRegistry.appendMenuItem(MenuId.NotebookCellListTop, {
|
|
248
248
|
command: {
|
|
249
249
|
id: INSERT_CODE_CELL_AT_TOP_COMMAND_ID,
|
|
250
|
-
title: "$(add) " + ( localize(
|
|
251
|
-
tooltip: ( localize(
|
|
250
|
+
title: "$(add) " + ( localize(11593, "Code")),
|
|
251
|
+
tooltip: ( localize(11594, "Add Code Cell"))
|
|
252
252
|
},
|
|
253
253
|
order: 0,
|
|
254
254
|
group: "inline",
|
|
@@ -257,9 +257,9 @@ MenuRegistry.appendMenuItem(MenuId.NotebookCellListTop, {
|
|
|
257
257
|
MenuRegistry.appendMenuItem(MenuId.NotebookCellListTop, {
|
|
258
258
|
command: {
|
|
259
259
|
id: INSERT_CODE_CELL_AT_TOP_COMMAND_ID,
|
|
260
|
-
title: ( localize(
|
|
260
|
+
title: ( localize(11597, "Add Code")),
|
|
261
261
|
icon: Codicon.add,
|
|
262
|
-
tooltip: ( localize(
|
|
262
|
+
tooltip: ( localize(11594, "Add Code Cell"))
|
|
263
263
|
},
|
|
264
264
|
order: 0,
|
|
265
265
|
group: "inline",
|
|
@@ -268,8 +268,8 @@ MenuRegistry.appendMenuItem(MenuId.NotebookCellListTop, {
|
|
|
268
268
|
MenuRegistry.appendMenuItem(MenuId.NotebookCellBetween, {
|
|
269
269
|
command: {
|
|
270
270
|
id: INSERT_MARKDOWN_CELL_BELOW_COMMAND_ID,
|
|
271
|
-
title: "$(add) " + ( localize(
|
|
272
|
-
tooltip: ( localize(
|
|
271
|
+
title: "$(add) " + ( localize(11598, "Markdown")),
|
|
272
|
+
tooltip: ( localize(11599, "Add Markdown Cell"))
|
|
273
273
|
},
|
|
274
274
|
order: 1,
|
|
275
275
|
group: "inline",
|
|
@@ -279,8 +279,8 @@ MenuRegistry.appendMenuItem(MenuId.NotebookToolbar, {
|
|
|
279
279
|
command: {
|
|
280
280
|
id: INSERT_MARKDOWN_CELL_BELOW_COMMAND_ID,
|
|
281
281
|
icon: Codicon.add,
|
|
282
|
-
title: ( localize(
|
|
283
|
-
tooltip: ( localize(
|
|
282
|
+
title: ( localize(11600, "Markdown")),
|
|
283
|
+
tooltip: ( localize(11599, "Add Markdown Cell"))
|
|
284
284
|
},
|
|
285
285
|
order: -5,
|
|
286
286
|
group: "navigation/add",
|
|
@@ -289,8 +289,8 @@ MenuRegistry.appendMenuItem(MenuId.NotebookToolbar, {
|
|
|
289
289
|
MenuRegistry.appendMenuItem(MenuId.NotebookCellListTop, {
|
|
290
290
|
command: {
|
|
291
291
|
id: INSERT_MARKDOWN_CELL_AT_TOP_COMMAND_ID,
|
|
292
|
-
title: "$(add) " + ( localize(
|
|
293
|
-
tooltip: ( localize(
|
|
292
|
+
title: "$(add) " + ( localize(11598, "Markdown")),
|
|
293
|
+
tooltip: ( localize(11599, "Add Markdown Cell"))
|
|
294
294
|
},
|
|
295
295
|
order: 1,
|
|
296
296
|
group: "inline",
|
|
@@ -61,7 +61,7 @@ class CellDiffPlaceholderElement extends Disposable {
|
|
|
61
61
|
constructor(placeholder, templateData) {
|
|
62
62
|
super();
|
|
63
63
|
templateData.body.classList.remove("left", "right", "full");
|
|
64
|
-
const text = (placeholder.hiddenCells.length === 1) ? ( localize(
|
|
64
|
+
const text = (placeholder.hiddenCells.length === 1) ? ( localize(11636, "{0} hidden cell", placeholder.hiddenCells.length)) : ( localize(11637, "{0} hidden cells", placeholder.hiddenCells.length));
|
|
65
65
|
templateData.placeholder.innerText = text;
|
|
66
66
|
this._register(addDisposableListener(templateData.placeholder, "dblclick", e => {
|
|
67
67
|
if (e.button !== 0) {
|
|
@@ -1902,7 +1902,7 @@ class CollapsedCellOverlayWidget extends Disposable {
|
|
|
1902
1902
|
display: "flex"
|
|
1903
1903
|
}
|
|
1904
1904
|
}, [$("a", {
|
|
1905
|
-
title: ( localize(
|
|
1905
|
+
title: ( localize(11638, "Show Unchanged Cells")),
|
|
1906
1906
|
role: "button",
|
|
1907
1907
|
onclick: () => {
|
|
1908
1908
|
this._action.fire();
|
|
@@ -1935,7 +1935,7 @@ class UnchangedCellOverlayWidget extends Disposable {
|
|
|
1935
1935
|
display: "flex"
|
|
1936
1936
|
}
|
|
1937
1937
|
}, [$("a", {
|
|
1938
|
-
title: ( localize(
|
|
1938
|
+
title: ( localize(11639, "Hide Unchanged Cells")),
|
|
1939
1939
|
role: "button",
|
|
1940
1940
|
onclick: () => {
|
|
1941
1941
|
this._action.fire();
|
|
@@ -48,7 +48,7 @@ class OutputElement extends Disposable {
|
|
|
48
48
|
mimeTypePicker.classList.add(...ThemeIcon.asClassNameArray(mimetypeIcon));
|
|
49
49
|
mimeTypePicker.tabIndex = 0;
|
|
50
50
|
mimeTypePicker.title = ( localize(
|
|
51
|
-
|
|
51
|
+
11640,
|
|
52
52
|
"Choose a different output mimetype, available mimetypes: {0}",
|
|
53
53
|
( mimeTypes.map(mimeType => mimeType.mimeType)).join(", ")
|
|
54
54
|
));
|
|
@@ -105,13 +105,13 @@ class OutputElement extends Disposable {
|
|
|
105
105
|
}
|
|
106
106
|
_renderMissingRenderer(viewModel, preferredMimeType) {
|
|
107
107
|
if (!viewModel.model.outputs.length) {
|
|
108
|
-
return this._renderMessage(viewModel, ( localize(
|
|
108
|
+
return this._renderMessage(viewModel, ( localize(11641, "Cell has no output")));
|
|
109
109
|
}
|
|
110
110
|
if (!preferredMimeType) {
|
|
111
111
|
const mimeTypes = ( viewModel.model.outputs.map(op => op.mime));
|
|
112
112
|
const mimeTypesMessage = mimeTypes.join(", ");
|
|
113
113
|
return this._renderMessage(viewModel, ( localize(
|
|
114
|
-
|
|
114
|
+
11642,
|
|
115
115
|
"No renderer could be found for output. It has the following mimetypes: {0}",
|
|
116
116
|
mimeTypesMessage
|
|
117
117
|
)));
|
|
@@ -154,16 +154,16 @@ class OutputElement extends Disposable {
|
|
|
154
154
|
index: index,
|
|
155
155
|
picked: index === currIndex,
|
|
156
156
|
detail: this.generateRendererInfo(mimeType.rendererId),
|
|
157
|
-
description: index === currIndex ? ( localize(
|
|
157
|
+
description: index === currIndex ? ( localize(11643, "Currently Active")) : undefined
|
|
158
158
|
})));
|
|
159
159
|
const disposables = ( new DisposableStore());
|
|
160
160
|
const picker = disposables.add(this._quickInputService.createQuickPick());
|
|
161
161
|
picker.items = items;
|
|
162
162
|
picker.activeItems = items.filter(item => !!item.picked);
|
|
163
163
|
picker.placeholder = items.length !== mimeTypes.length ? ( localize(
|
|
164
|
-
|
|
164
|
+
11644,
|
|
165
165
|
"Select mimetype to render for current output. Rich mimetypes are available only when the notebook is trusted"
|
|
166
|
-
)) : ( localize(
|
|
166
|
+
)) : ( localize(11645, "Select mimetype to render for current output"));
|
|
167
167
|
const pick = await ( new Promise(resolve => {
|
|
168
168
|
disposables.add(picker.onDidAccept(() => {
|
|
169
169
|
resolve(
|
|
@@ -195,7 +195,7 @@ class OutputElement extends Disposable {
|
|
|
195
195
|
const displayName = renderInfo.displayName !== "" ? renderInfo.displayName : renderInfo.id;
|
|
196
196
|
return `${displayName} (${renderInfo.extensionId.value})`;
|
|
197
197
|
}
|
|
198
|
-
return localize(
|
|
198
|
+
return localize(11646, "built-in");
|
|
199
199
|
}
|
|
200
200
|
getCellOutputCurrentIndex() {
|
|
201
201
|
return this._diffElementViewModel.getNestedCellViewModel(this._diffSide).outputs.indexOf(this.output.model);
|
|
@@ -14,18 +14,18 @@ const NOTEBOOK_DIFF_CELL_IGNORE_WHITESPACE_KEY = "notebook.diffEditor.cell.ignor
|
|
|
14
14
|
const NOTEBOOK_DIFF_CELL_IGNORE_WHITESPACE = ( new RawContextKey(NOTEBOOK_DIFF_CELL_IGNORE_WHITESPACE_KEY, false));
|
|
15
15
|
const NOTEBOOK_DIFF_CELL_PROPERTY = ( new RawContextKey("notebook.diffEditor.cell.property.changed", false));
|
|
16
16
|
const NOTEBOOK_DIFF_CELL_PROPERTY_EXPANDED = ( new RawContextKey("notebook.diffEditor.cell.property.expanded", false));
|
|
17
|
-
const NOTEBOOK_DIFF_CELLS_COLLAPSED = ( new RawContextKey("notebook.diffEditor.allCollapsed", undefined, ( localize(
|
|
18
|
-
const NOTEBOOK_DIFF_HAS_UNCHANGED_CELLS = ( new RawContextKey("notebook.diffEditor.hasUnchangedCells", undefined, ( localize(
|
|
17
|
+
const NOTEBOOK_DIFF_CELLS_COLLAPSED = ( new RawContextKey("notebook.diffEditor.allCollapsed", undefined, ( localize(11668, "Whether all cells in notebook diff editor are collapsed"))));
|
|
18
|
+
const NOTEBOOK_DIFF_HAS_UNCHANGED_CELLS = ( new RawContextKey("notebook.diffEditor.hasUnchangedCells", undefined, ( localize(11669, "Whether there are unchanged cells in the notebook diff editor"))));
|
|
19
19
|
const NOTEBOOK_DIFF_UNCHANGED_CELLS_HIDDEN = ( new RawContextKey("notebook.diffEditor.unchangedCellsAreHidden", undefined, ( localize(
|
|
20
|
-
|
|
20
|
+
11670,
|
|
21
21
|
"Whether the unchanged cells in the notebook diff editor are hidden"
|
|
22
22
|
))));
|
|
23
23
|
const NOTEBOOK_DIFF_ITEM_KIND = ( new RawContextKey("notebook.diffEditor.item.kind", undefined, ( localize(
|
|
24
|
-
|
|
24
|
+
11671,
|
|
25
25
|
"The kind of item in the notebook diff editor, Cell, Metadata or Output"
|
|
26
26
|
))));
|
|
27
27
|
const NOTEBOOK_DIFF_ITEM_DIFF_STATE = ( new RawContextKey("notebook.diffEditor.item.state", undefined, ( localize(
|
|
28
|
-
|
|
28
|
+
11672,
|
|
29
29
|
"The diff state of item in the notebook diff editor, delete, insert, modified or unchanged"
|
|
30
30
|
))));
|
|
31
31
|
|
|
@@ -82,7 +82,7 @@ let CellDiffPlaceholderRenderer = class CellDiffPlaceholderRenderer {
|
|
|
82
82
|
const marginOverlay = ( new CollapsedCellOverlayWidget(body));
|
|
83
83
|
const contents = append(body, $(".contents"));
|
|
84
84
|
const placeholder = append(contents, $("span.text", {
|
|
85
|
-
title: ( localize(
|
|
85
|
+
title: ( localize(11673, "Double click to show"))
|
|
86
86
|
}));
|
|
87
87
|
return {
|
|
88
88
|
body,
|
|
@@ -243,7 +243,7 @@ let ReplEditor = class ReplEditor extends EditorPane {
|
|
|
243
243
|
...editorOptions,
|
|
244
244
|
...editorOptionsOverride,
|
|
245
245
|
...{
|
|
246
|
-
ariaLabel: ( localize(
|
|
246
|
+
ariaLabel: ( localize(12631, "REPL Input")),
|
|
247
247
|
glyphMargin: true,
|
|
248
248
|
padding: {
|
|
249
249
|
top: INPUT_EDITOR_PADDING,
|
|
@@ -23,7 +23,7 @@ import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscod
|
|
|
23
23
|
import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
|
|
24
24
|
|
|
25
25
|
var ReplEditorInput_1;
|
|
26
|
-
const replTabIcon = registerIcon("repl-editor-label-icon", Codicon.debugLineByLine, ( localize(
|
|
26
|
+
const replTabIcon = registerIcon("repl-editor-label-icon", Codicon.debugLineByLine, ( localize(12645, "Icon of the REPL editor label.")));
|
|
27
27
|
let ReplEditorInput = class ReplEditorInput extends NotebookEditorInput {
|
|
28
28
|
static {
|
|
29
29
|
ReplEditorInput_1 = this;
|
|
@@ -39,6 +39,13 @@ export declare class BasicExecuteStrategy extends Disposable implements ITermina
|
|
|
39
39
|
private readonly _startMarker;
|
|
40
40
|
private readonly _onDidCreateStartMarker;
|
|
41
41
|
onDidCreateStartMarker: Event<IXtermMarker | undefined>;
|
|
42
|
+
/**
|
|
43
|
+
* Tracks per-execute() DisposableStores so they can be cleaned up if the
|
|
44
|
+
* strategy is disposed mid-flight, AND removed from this collection on
|
|
45
|
+
* successful completion to avoid accumulating stale references when
|
|
46
|
+
* execute() is invoked many times on the same strategy instance.
|
|
47
|
+
*/
|
|
48
|
+
private readonly _executionStores;
|
|
42
49
|
constructor(_instance: ITerminalInstance, _hasReceivedUserInput: () => boolean, _commandDetection: ICommandDetectionCapability, _configurationService: IConfigurationService, _logService: ITerminalLogService);
|
|
43
50
|
execute(commandLine: string, token: CancellationToken, commandId?: string, _commandLineForMetadata?: string): Promise<ITerminalExecuteStrategyResult>;
|
|
44
51
|
private _log;
|
|
@@ -10,7 +10,26 @@ import { trackIdleOnPrompt, waitForIdle } from './executeStrategy.js';
|
|
|
10
10
|
import { createAltBufferPromise, setupRecreatingStartMarker, stripCommandEchoAndPrompt } from './strategyHelpers.js';
|
|
11
11
|
import { TerminalChatAgentToolsSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration';
|
|
12
12
|
import { isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
13
|
+
import { isMultilineCommand } from '../runInTerminalHelpers.js';
|
|
13
14
|
|
|
15
|
+
function isTerminalLaunchError(value) {
|
|
16
|
+
return typeof value === "object" && value !== null && "message" in value;
|
|
17
|
+
}
|
|
18
|
+
function formatExitCodeOrError(exitCodeOrError) {
|
|
19
|
+
if (isTerminalLaunchError(exitCodeOrError)) {
|
|
20
|
+
return `launch error: ${exitCodeOrError.message}${exitCodeOrError.code !== undefined ? `, code=${exitCodeOrError.code}` : ""}`;
|
|
21
|
+
}
|
|
22
|
+
return `code=${exitCodeOrError}`;
|
|
23
|
+
}
|
|
24
|
+
function extractExitCode(exitCodeOrError) {
|
|
25
|
+
if (isNumber(exitCodeOrError)) {
|
|
26
|
+
return exitCodeOrError;
|
|
27
|
+
}
|
|
28
|
+
if (isTerminalLaunchError(exitCodeOrError)) {
|
|
29
|
+
return exitCodeOrError.code;
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
14
33
|
let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
|
|
15
34
|
constructor(
|
|
16
35
|
_instance,
|
|
@@ -29,37 +48,72 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
|
|
|
29
48
|
this._startMarker = this._register(( new MutableDisposable()));
|
|
30
49
|
this._onDidCreateStartMarker = this._register(( new Emitter()));
|
|
31
50
|
this.onDidCreateStartMarker = this._onDidCreateStartMarker.event;
|
|
51
|
+
this._executionStores = this._register(( new DisposableStore()));
|
|
32
52
|
}
|
|
33
53
|
async execute(commandLine, token, commandId, _commandLineForMetadata) {
|
|
34
54
|
const store = ( new DisposableStore());
|
|
35
|
-
this.
|
|
55
|
+
this._executionStores.add(store);
|
|
36
56
|
try {
|
|
57
|
+
if (this._instance.isDisposed) {
|
|
58
|
+
this._log("Terminal already disposed at strategy entry");
|
|
59
|
+
throw ( new Error("The terminal was closed"));
|
|
60
|
+
}
|
|
61
|
+
if (this._instance.exitCode !== undefined) {
|
|
62
|
+
this._log(
|
|
63
|
+
`Terminal pty already exited at strategy entry (code=${this._instance.exitCode})`
|
|
64
|
+
);
|
|
65
|
+
return {
|
|
66
|
+
output: undefined,
|
|
67
|
+
exitCode: this._instance.exitCode,
|
|
68
|
+
additionalInformation: `Command exited with code ${this._instance.exitCode}`
|
|
69
|
+
};
|
|
70
|
+
}
|
|
37
71
|
const idlePollInterval = this._configurationService.getValue(TerminalChatAgentToolsSettingId.IdlePollInterval) ?? 1000;
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
this._log("onDone via
|
|
72
|
+
const staleMarker = this._commandDetection.executingCommandObject?.marker;
|
|
73
|
+
const onCommandFinishedFiltered = staleMarker ? Event.filter(
|
|
74
|
+
this._commandDetection.onCommandFinished,
|
|
75
|
+
e => e.marker !== staleMarker,
|
|
76
|
+
store
|
|
77
|
+
) : this._commandDetection.onCommandFinished;
|
|
78
|
+
const idlePromptPromise = trackIdleOnPrompt(
|
|
79
|
+
this._instance,
|
|
80
|
+
idlePollInterval,
|
|
81
|
+
store,
|
|
82
|
+
idlePollInterval,
|
|
83
|
+
this._logService
|
|
84
|
+
);
|
|
85
|
+
const onDone = Promise.race([Event.toPromise(onCommandFinishedFiltered, store).then(e => {
|
|
86
|
+
this._log("onDone 1 of 2 via end event, waiting for short idle prompt");
|
|
87
|
+
return idlePromptPromise.then(() => {
|
|
88
|
+
this._log("onDone 2 of 2 via short idle prompt");
|
|
55
89
|
return {
|
|
56
|
-
type: "
|
|
90
|
+
"type": "success",
|
|
91
|
+
command: e
|
|
57
92
|
};
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
93
|
+
});
|
|
94
|
+
}), Event.toPromise(token.onCancellationRequested, store).then(() => {
|
|
95
|
+
this._log("onDone via cancellation");
|
|
96
|
+
}), Event.toPromise(this._instance.onDisposed, store).then(() => {
|
|
97
|
+
this._log("onDone via terminal disposal");
|
|
98
|
+
return {
|
|
99
|
+
type: "disposal"
|
|
100
|
+
};
|
|
101
|
+
}), Event.toPromise(this._instance.onExit, store).then(exitCodeOrError => {
|
|
102
|
+
this._log(`onDone via process exit (${formatExitCodeOrError(exitCodeOrError)})`);
|
|
103
|
+
return {
|
|
104
|
+
type: "processExit",
|
|
105
|
+
exitCodeOrError
|
|
106
|
+
};
|
|
107
|
+
}),
|
|
108
|
+
trackIdleOnPrompt(
|
|
109
|
+
this._instance,
|
|
110
|
+
idlePollInterval * 3,
|
|
111
|
+
store,
|
|
112
|
+
idlePollInterval,
|
|
113
|
+
this._logService
|
|
114
|
+
).then(() => {
|
|
115
|
+
this._log("onDone long idle prompt");
|
|
116
|
+
})]);
|
|
63
117
|
this._log("Waiting for xterm");
|
|
64
118
|
const xterm = await this._instance.xtermReadyPromise;
|
|
65
119
|
if (!xterm) {
|
|
@@ -76,9 +130,17 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
|
|
|
76
130
|
this._log.bind(this)
|
|
77
131
|
);
|
|
78
132
|
if (this._hasReceivedUserInput()) {
|
|
79
|
-
this.
|
|
80
|
-
|
|
81
|
-
|
|
133
|
+
if (this._commandDetection.executingCommandObject !== undefined) {
|
|
134
|
+
this._log(
|
|
135
|
+
"Previous command still executing with pending input, sending SIGINT before retrying"
|
|
136
|
+
);
|
|
137
|
+
await this._instance.sendText("\u0003", false);
|
|
138
|
+
await waitForIdle(this._instance.onData, 100);
|
|
139
|
+
} else {
|
|
140
|
+
this._log("Prompt is idle; clearing pending input with Ctrl+U instead of SIGINT");
|
|
141
|
+
await this._instance.sendText("\u0015", false);
|
|
142
|
+
await waitForIdle(this._instance.onData, 100);
|
|
143
|
+
}
|
|
82
144
|
}
|
|
83
145
|
if (commandId) {
|
|
84
146
|
this._log(
|
|
@@ -87,7 +149,7 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
|
|
|
87
149
|
}
|
|
88
150
|
this._log(`Executing command line \`${commandLine}\``);
|
|
89
151
|
markerRecreation.dispose();
|
|
90
|
-
const forceBracketedPasteMode = isMacintosh;
|
|
152
|
+
const forceBracketedPasteMode = isMacintosh || isMultilineCommand(commandLine);
|
|
91
153
|
this._instance.sendText(commandLine, true, forceBracketedPasteMode);
|
|
92
154
|
this._log("Waiting for done event");
|
|
93
155
|
const onDoneResult = await Promise.race([onDone, alternateBufferPromise.then(() => ({
|
|
@@ -113,8 +175,10 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
|
|
|
113
175
|
} else if (commandId) {
|
|
114
176
|
this._log(`No finished command surfaced for requested=${commandId}`);
|
|
115
177
|
}
|
|
116
|
-
|
|
117
|
-
|
|
178
|
+
if (!(onDoneResult && onDoneResult.type === "processExit")) {
|
|
179
|
+
this._log("Waiting for idle");
|
|
180
|
+
await waitForIdle(this._instance.onData, idlePollInterval);
|
|
181
|
+
}
|
|
118
182
|
if (token.isCancellationRequested) {
|
|
119
183
|
throw ( new CancellationError());
|
|
120
184
|
}
|
|
@@ -143,7 +207,10 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
|
|
|
143
207
|
if (output !== undefined && output.trim().length === 0) {
|
|
144
208
|
additionalInformationLines.push("Command produced no output");
|
|
145
209
|
}
|
|
146
|
-
|
|
210
|
+
let exitCode = finishedCommand?.exitCode;
|
|
211
|
+
if (exitCode === undefined && onDoneResult && onDoneResult.type === "processExit") {
|
|
212
|
+
exitCode = extractExitCode(onDoneResult.exitCodeOrError);
|
|
213
|
+
}
|
|
147
214
|
if (isNumber(exitCode) && exitCode > 0) {
|
|
148
215
|
additionalInformationLines.push(`Command exited with code ${exitCode}`);
|
|
149
216
|
}
|
|
@@ -153,7 +220,7 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
|
|
|
153
220
|
exitCode
|
|
154
221
|
};
|
|
155
222
|
} finally {
|
|
156
|
-
|
|
223
|
+
this._executionStores.delete(store);
|
|
157
224
|
}
|
|
158
225
|
}
|
|
159
226
|
_log(message) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
2
2
|
import type { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
3
3
|
import { DisposableStore, type IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
|
+
import { ITerminalLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service";
|
|
4
5
|
import type { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
|
|
5
6
|
import type { IMarker as IXtermMarker } from "@xterm/xterm";
|
|
6
7
|
export interface ITerminalExecuteStrategy extends IDisposable {
|
|
@@ -50,4 +51,15 @@ export declare function waitForIdleWithPromptHeuristics(onData: Event<unknown>,
|
|
|
50
51
|
* Tracks the terminal for being idle on a prompt input. This must be called before `executeCommand`
|
|
51
52
|
* is called.
|
|
52
53
|
*/
|
|
53
|
-
export
|
|
54
|
+
export interface ITrackIdleOnPromptOptions {
|
|
55
|
+
/**
|
|
56
|
+
* When true, disables all fallback schedulers: the initial prompt fallback,
|
|
57
|
+
* the data-idle executing fallback, and the hard-cap safety net. Use this
|
|
58
|
+
* for sync (foreground) commands that should block until the command truly
|
|
59
|
+
* finishes rather than being abandoned after an idle period. In sync mode
|
|
60
|
+
* the overall chat-request timeout or user-specified timeout is the safety
|
|
61
|
+
* net instead.
|
|
62
|
+
*/
|
|
63
|
+
disableFallbacks?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export declare function trackIdleOnPrompt(instance: ITerminalInstance, idleDurationMs: number, store: DisposableStore, promptFallbackMs?: number, logService?: ITerminalLogService, options?: ITrackIdleOnPromptOptions): Promise<void>;
|