@codingame/monaco-vscode-katex-common 31.0.1 → 32.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/vscode/src/vs/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
|
@@ -209,23 +209,23 @@ let ChatDragAndDrop = class ChatDragAndDrop extends Themable {
|
|
|
209
209
|
getDropTypeName(type) {
|
|
210
210
|
switch (type) {
|
|
211
211
|
case ChatDragAndDropType.FILE_INTERNAL:
|
|
212
|
-
return localize(
|
|
212
|
+
return localize(7399, "File");
|
|
213
213
|
case ChatDragAndDropType.FILE_EXTERNAL:
|
|
214
|
-
return localize(
|
|
214
|
+
return localize(7399, "File");
|
|
215
215
|
case ChatDragAndDropType.FOLDER:
|
|
216
|
-
return localize(
|
|
216
|
+
return localize(7400, "Folder");
|
|
217
217
|
case ChatDragAndDropType.IMAGE:
|
|
218
|
-
return localize(
|
|
218
|
+
return localize(7401, "Image");
|
|
219
219
|
case ChatDragAndDropType.SYMBOL:
|
|
220
|
-
return localize(
|
|
220
|
+
return localize(7402, "Symbol");
|
|
221
221
|
case ChatDragAndDropType.MARKER:
|
|
222
|
-
return localize(
|
|
222
|
+
return localize(7403, "Problem");
|
|
223
223
|
case ChatDragAndDropType.HTML:
|
|
224
|
-
return localize(
|
|
224
|
+
return localize(7404, "URL");
|
|
225
225
|
case ChatDragAndDropType.NOTEBOOK_CELL_OUTPUT:
|
|
226
|
-
return localize(
|
|
226
|
+
return localize(7405, "Output");
|
|
227
227
|
case ChatDragAndDropType.SCM_HISTORY_ITEM:
|
|
228
|
-
return localize(
|
|
228
|
+
return localize(7406, "Change");
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
231
|
async resolveAttachmentsFromDragEvent(e) {
|
|
@@ -297,7 +297,7 @@ let ChatDragAndDrop = class ChatDragAndDrop extends Themable {
|
|
|
297
297
|
async resolveHTMLAttachContext(e) {
|
|
298
298
|
const existingAttachmentNames = ( new Set(( this.attachmentModel.attachments.map(attachment => attachment.name))));
|
|
299
299
|
const createDisplayName = () => {
|
|
300
|
-
const baseName = ( localize(
|
|
300
|
+
const baseName = ( localize(7407, "Image from URL"));
|
|
301
301
|
let uniqueName = baseName;
|
|
302
302
|
let baseNameInstance = 1;
|
|
303
303
|
while (( existingAttachmentNames.has(uniqueName))) {
|
|
@@ -375,7 +375,7 @@ let ChatDragAndDrop = class ChatDragAndDrop extends Themable {
|
|
|
375
375
|
}
|
|
376
376
|
getOverlayText(type) {
|
|
377
377
|
const typeName = this.getDropTypeName(type);
|
|
378
|
-
return localize(
|
|
378
|
+
return localize(7408, "Attach {0} as Context", typeName);
|
|
379
379
|
}
|
|
380
380
|
updateOverlayStyles(overlay) {
|
|
381
381
|
overlay.style.backgroundColor = this.getColor(this.styles.overlayBackground) || "";
|
|
@@ -257,6 +257,7 @@ export declare class ChatListItemRenderer extends Disposable implements ITreeRen
|
|
|
257
257
|
private _getCarouselStableKey;
|
|
258
258
|
private _notifyOnQuestionCarousel;
|
|
259
259
|
private renderPlanReview;
|
|
260
|
+
private getPlanReviewProgressMessage;
|
|
260
261
|
private removeCarouselFromTracking;
|
|
261
262
|
private renderChangesSummary;
|
|
262
263
|
private renderAttachments;
|
|
@@ -45,7 +45,7 @@ import { ChatAgentVoteDirection, ChatRequestQueueKind, IChatToolInvocation, isCh
|
|
|
45
45
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
46
46
|
import { ChatPlanReviewData } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatPlanReviewData';
|
|
47
47
|
import { ChatQuestionCarouselData } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatQuestionCarouselData';
|
|
48
|
-
import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
48
|
+
import { localChatSessionType, isAgentHostTarget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
49
49
|
import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
50
50
|
import { isResponseVM, isPendingDividerVM, isRequestVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
|
|
51
51
|
import { getNWords } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatWordCounter';
|
|
@@ -96,7 +96,7 @@ import { HookType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contr
|
|
|
96
96
|
import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
97
97
|
import { AccessibilityWorkbenchSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
98
98
|
import { isMcpToolInvocation } from './chatContentParts/toolInvocationParts/chatToolPartUtilities.js';
|
|
99
|
-
import
|
|
99
|
+
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
100
100
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
101
101
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
102
102
|
|
|
@@ -464,7 +464,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
464
464
|
const checkpointRestoreContainer = append(rowContainer, $(".checkpoint-restore-container"));
|
|
465
465
|
append(checkpointRestoreContainer, $(".checkpoint-line-left"));
|
|
466
466
|
const label = append(checkpointRestoreContainer, $("span.checkpoint-label-text"));
|
|
467
|
-
label.textContent = ( localize(
|
|
467
|
+
label.textContent = ( localize(7409, "Checkpoint Restored"));
|
|
468
468
|
const dot = append(checkpointRestoreContainer, $("span.checkpoint-dot-separator"));
|
|
469
469
|
dot.textContent = "·";
|
|
470
470
|
dot.setAttribute("aria-hidden", "true");
|
|
@@ -568,12 +568,14 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
568
568
|
this._onDidFocusOutside.fire();
|
|
569
569
|
}
|
|
570
570
|
}));
|
|
571
|
-
const resizeObserver = templateDisposables.add(
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
571
|
+
const resizeObserver = templateDisposables.add(
|
|
572
|
+
new DisposableResizeObserver("ChatListItemRenderer.itemHeight", entries => {
|
|
573
|
+
const entry = entries[0];
|
|
574
|
+
if (entry) {
|
|
575
|
+
this.fireItemHeightChange(template, entry.borderBoxSize.at(0)?.blockSize);
|
|
576
|
+
}
|
|
577
|
+
})
|
|
578
|
+
);
|
|
577
579
|
templateDisposables.add(resizeObserver.observe(rowContainer));
|
|
578
580
|
return template;
|
|
579
581
|
}
|
|
@@ -837,15 +839,15 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
837
839
|
const label = append(dividerContent, $$1("span.pending-divider-label"));
|
|
838
840
|
if (element.dividerKind === ChatRequestQueueKind.Steering) {
|
|
839
841
|
if (element.isSystemInitiated) {
|
|
840
|
-
label.textContent = ( localize(
|
|
841
|
-
label.title = ( localize(
|
|
842
|
+
label.textContent = ( localize(7410, "System Notification"));
|
|
843
|
+
label.title = ( localize(7411, "System notification will be sent after the next tool call happens"));
|
|
842
844
|
} else {
|
|
843
|
-
label.textContent = ( localize(
|
|
844
|
-
label.title = ( localize(
|
|
845
|
+
label.textContent = ( localize(7412, "Steering"));
|
|
846
|
+
label.title = ( localize(7413, "Steering message will be sent after the next tool call happens"));
|
|
845
847
|
}
|
|
846
848
|
} else {
|
|
847
|
-
label.textContent = ( localize(
|
|
848
|
-
label.title = ( localize(
|
|
849
|
+
label.textContent = ( localize(7414, "Queued"));
|
|
850
|
+
label.title = ( localize(7415, "Queued messages will be sent after the current request completes"));
|
|
849
851
|
}
|
|
850
852
|
templateData.value.appendChild(dividerContent);
|
|
851
853
|
}
|
|
@@ -853,10 +855,10 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
853
855
|
clearNode(templateData.detail);
|
|
854
856
|
if (element.agentOrSlashCommandDetected) {
|
|
855
857
|
const msg = element.slashCommand ? ( localize(
|
|
856
|
-
|
|
858
|
+
7416,
|
|
857
859
|
"used {0} [[(rerun without)]]",
|
|
858
860
|
`${chatSubcommandLeader}${element.slashCommand.name}`
|
|
859
|
-
)) : ( localize(
|
|
861
|
+
)) : ( localize(7417, "[[(rerun without)]]"));
|
|
860
862
|
reset(templateData.detail, renderFormattedText(msg, {
|
|
861
863
|
actionHandler: {
|
|
862
864
|
disposables: templateData.elementDisposables,
|
|
@@ -869,7 +871,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
869
871
|
this.delegate.currentChatMode(),
|
|
870
872
|
this.rendererOptions.progressMessageAtBottomOfResponse
|
|
871
873
|
)) {
|
|
872
|
-
templateData.detail.textContent = ( localize(
|
|
874
|
+
templateData.detail.textContent = ( localize(7418, "Working"));
|
|
873
875
|
}
|
|
874
876
|
}
|
|
875
877
|
renderConfirmationAction(element, templateData) {
|
|
@@ -878,7 +880,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
878
880
|
append(templateData.detail, $("span.codicon.codicon-check", {
|
|
879
881
|
"aria-hidden": "true"
|
|
880
882
|
}));
|
|
881
|
-
append(templateData.detail, $("span.confirmation-text", undefined, ( localize(
|
|
883
|
+
append(templateData.detail, $("span.confirmation-text", undefined, ( localize(7419, "Selected \"{0}\"", element.confirmation))));
|
|
882
884
|
templateData.header?.classList.remove("header-disabled");
|
|
883
885
|
templateData.header?.classList.add("partially-disabled");
|
|
884
886
|
}
|
|
@@ -967,7 +969,10 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
967
969
|
if (element.agentOrSlashCommandDetected || this.rendererOptions.renderStyle === "minimal") {
|
|
968
970
|
return undefined;
|
|
969
971
|
}
|
|
970
|
-
|
|
972
|
+
if (( partsToRender.some(part => part.kind === "planReview" && !part.isUsed))) {
|
|
973
|
+
return undefined;
|
|
974
|
+
}
|
|
975
|
+
const showProgressDetails = this.configService.getValue(ChatConfiguration.ChatPersistentProgressEnabled) !== false && (this.configService.getValue(ChatConfiguration.ProgressBorder) !== true || this.accessibilityService.isMotionReduced());
|
|
971
976
|
if (element.isComplete) {
|
|
972
977
|
return undefined;
|
|
973
978
|
}
|
|
@@ -1042,8 +1047,9 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1042
1047
|
if (lastPart.isAttachedToThinking) {
|
|
1043
1048
|
return undefined;
|
|
1044
1049
|
}
|
|
1050
|
+
const isEffectivelyHiddenToolInvocation = IChatToolInvocation.isEffectivelyHidden(lastPart);
|
|
1045
1051
|
const collapsedToolsMode = this.configService.getValue("chat.agent.thinking.collapsedTools");
|
|
1046
|
-
if (collapsedToolsMode !== CollapsedToolsDisplayMode.Off && this.shouldPinPart(lastPart, isResponseVM(element) ? element : undefined)) {
|
|
1052
|
+
if (!isEffectivelyHiddenToolInvocation && collapsedToolsMode !== CollapsedToolsDisplayMode.Off && this.shouldPinPart(lastPart, isResponseVM(element) ? element : undefined)) {
|
|
1047
1053
|
return undefined;
|
|
1048
1054
|
}
|
|
1049
1055
|
}
|
|
@@ -1074,7 +1080,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1074
1080
|
}).length;
|
|
1075
1081
|
}
|
|
1076
1082
|
getConfirmationPendingLabel(count) {
|
|
1077
|
-
return count === 1 ? ( localize(
|
|
1083
|
+
return count === 1 ? ( localize(7420, "1 confirmation pending")) : ( localize(7421, "{0} confirmations pending", count));
|
|
1078
1084
|
}
|
|
1079
1085
|
removeWorkingProgressContentPart(templateData) {
|
|
1080
1086
|
const renderedParts = templateData.renderedParts;
|
|
@@ -1097,7 +1103,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1097
1103
|
if (!isResponseVM(element)) {
|
|
1098
1104
|
return;
|
|
1099
1105
|
}
|
|
1100
|
-
if (element.isComplete && this.configService.getValue(ChatConfiguration.ChatPersistentProgressEnabled) !== false) {
|
|
1106
|
+
if (element.isComplete && this.configService.getValue(ChatConfiguration.ChatPersistentProgressEnabled) !== false && (this.configService.getValue(ChatConfiguration.ProgressBorder) !== true || this.accessibilityService.isMotionReduced())) {
|
|
1101
1107
|
return;
|
|
1102
1108
|
}
|
|
1103
1109
|
const pendingConfirmationCount = this.getPendingToolConfirmationCount(element.response.value, false);
|
|
@@ -1657,7 +1663,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1657
1663
|
}
|
|
1658
1664
|
const isTerminalTool = (part.kind === "toolInvocation" || part.kind === "toolInvocationSerialized") && part.toolSpecificData?.kind === "terminal";
|
|
1659
1665
|
const isContributedTerminalToolInvocation =
|
|
1660
|
-
element && (element.sessionResource.scheme !== Schemas.vscodeChatInput && element.sessionResource
|
|
1666
|
+
element && (element.sessionResource.scheme !== Schemas.vscodeChatInput && getChatSessionType(element.sessionResource) !== localChatSessionType) && part.kind === "toolInvocationSerialized" && part.toolSpecificData?.kind === "terminal";
|
|
1661
1667
|
if (isTerminalTool && !isContributedTerminalToolInvocation) {
|
|
1662
1668
|
if (part.kind === "toolInvocation" && IChatToolInvocation.getConfirmationMessages(part)) {
|
|
1663
1669
|
return false;
|
|
@@ -1890,6 +1896,14 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1890
1896
|
content,
|
|
1891
1897
|
this.chatContentMarkdownRenderer
|
|
1892
1898
|
);
|
|
1899
|
+
} else if (content.kind === "info") {
|
|
1900
|
+
return this.instantiationService.createInstance(
|
|
1901
|
+
ChatErrorContentPart,
|
|
1902
|
+
ChatErrorLevel.Info,
|
|
1903
|
+
content.content,
|
|
1904
|
+
content,
|
|
1905
|
+
this.chatContentMarkdownRenderer
|
|
1906
|
+
);
|
|
1893
1907
|
} else if (content.kind === "hook") {
|
|
1894
1908
|
return this.renderHookPart(content, context, templateData);
|
|
1895
1909
|
} else if (content.kind === "markdownContent") {
|
|
@@ -1916,7 +1930,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1916
1930
|
} else if (content.kind === "questionCarousel") {
|
|
1917
1931
|
return this.renderQuestionCarousel(context, content, templateData);
|
|
1918
1932
|
} else if (content.kind === "planReview") {
|
|
1919
|
-
return this.renderPlanReview(context, content);
|
|
1933
|
+
return this.renderPlanReview(context, content, templateData);
|
|
1920
1934
|
} else if (content.kind === "changesSummary") {
|
|
1921
1935
|
return this.renderChangesSummary(content, context, templateData);
|
|
1922
1936
|
} else if (content.kind === "mcpServersStarting") {
|
|
@@ -1940,7 +1954,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
1940
1954
|
"ChatListItemRenderer#renderChatContentPart: error rendering content",
|
|
1941
1955
|
toErrorMessage(err, true)
|
|
1942
1956
|
);
|
|
1943
|
-
const errorPart = this.instantiationService.createInstance(ChatErrorContentPart, ChatErrorLevel.Error, ( new MarkdownString(( localize(
|
|
1957
|
+
const errorPart = this.instantiationService.createInstance(ChatErrorContentPart, ChatErrorLevel.Error, ( new MarkdownString(( localize(7422, "Failed to render content")) + `: ${toErrorMessage(err, false)}`)), content, this.chatContentMarkdownRenderer);
|
|
1944
1958
|
return {
|
|
1945
1959
|
dispose: () => errorPart.dispose(),
|
|
1946
1960
|
domNode: errorPart.domNode,
|
|
@@ -2066,7 +2080,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2066
2080
|
});
|
|
2067
2081
|
}
|
|
2068
2082
|
renderToolInvocation(toolInvocation, context, templateData) {
|
|
2069
|
-
if (IChatToolInvocation.isComplete(toolInvocation)) {
|
|
2083
|
+
if (IChatToolInvocation.isComplete(toolInvocation) && IChatToolInvocation.isEffectivelyHidden(toolInvocation)) {
|
|
2070
2084
|
const msg = toolInvocation.pastTenseMessage ?? toolInvocation.invocationMessage;
|
|
2071
2085
|
const text = typeof msg === "string" ? msg : msg?.value;
|
|
2072
2086
|
if (!text || text.trim().length === 0) {
|
|
@@ -2317,7 +2331,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2317
2331
|
}
|
|
2318
2332
|
const shouldPinToThinking = hookPart.hookType === HookType.PreToolUse || hookPart.hookType === HookType.PostToolUse;
|
|
2319
2333
|
if (shouldPinToThinking) {
|
|
2320
|
-
const hookTitle = hookPart.stopReason ? (hookPart.toolDisplayName ? ( localize(
|
|
2334
|
+
const hookTitle = hookPart.stopReason ? (hookPart.toolDisplayName ? ( localize(7423, "Blocked {0}", hookPart.toolDisplayName)) : ( localize(7424, "Blocked by hook"))) : (hookPart.toolDisplayName ? ( localize(7425, "Used {0}, but received a warning", hookPart.toolDisplayName)) : ( localize(7426, "Tool call received a warning")));
|
|
2321
2335
|
let thinkingPart = this.getLastThinkingPart(templateData.renderedParts);
|
|
2322
2336
|
if (!thinkingPart) {
|
|
2323
2337
|
const newThinking = this.renderThinkingPart({
|
|
@@ -2392,6 +2406,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2392
2406
|
const widget = isResponseVM(context.element) ? this.chatWidgetService.getWidgetBySessionResource(context.element.sessionResource) : undefined;
|
|
2393
2407
|
const shouldAutoFocus = widget ? widget.getInput() === "" : true;
|
|
2394
2408
|
const responseId = isResponseVM(context.element) ? context.element.requestId : undefined;
|
|
2409
|
+
const carouselKey = carousel.resolveId ?? `${responseId ?? ""}_${context.contentIndex}`;
|
|
2395
2410
|
const handleSubmit = async (answers, part) => {
|
|
2396
2411
|
const answersRecord = answers ? Object.fromEntries(answers) : undefined;
|
|
2397
2412
|
carousel.data = answersRecord ?? {};
|
|
@@ -2407,7 +2422,6 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2407
2422
|
this.chatService.notifyQuestionCarouselAnswer(context.element.requestId, carousel.resolveId, answersRecord);
|
|
2408
2423
|
}
|
|
2409
2424
|
this.removeCarouselFromTracking(context, part);
|
|
2410
|
-
const carouselKey = carousel.resolveId ?? `${responseId}_${context.contentIndex}`;
|
|
2411
2425
|
widget?.input.clearQuestionCarousel(undefined, carouselKey);
|
|
2412
2426
|
};
|
|
2413
2427
|
const responseIsComplete = isResponseVM(context.element) && context.element.isComplete;
|
|
@@ -2426,8 +2440,12 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2426
2440
|
this.chatService.notifyQuestionCarouselAnswer(context.element.requestId, carousel.resolveId, undefined);
|
|
2427
2441
|
this.pendingQuestionCarousels.get(context.element.sessionResource)?.clear();
|
|
2428
2442
|
}
|
|
2429
|
-
if (
|
|
2430
|
-
|
|
2443
|
+
if (inputPartHasCarousel) {
|
|
2444
|
+
if (carousel.isUsed) {
|
|
2445
|
+
widget?.input.clearQuestionCarousel(undefined, carouselKey);
|
|
2446
|
+
} else if (responseIsComplete && responseId) {
|
|
2447
|
+
widget?.input.clearQuestionCarousel(responseId);
|
|
2448
|
+
}
|
|
2431
2449
|
}
|
|
2432
2450
|
const part = this.instantiationService.createInstance(ChatQuestionCarouselPart, carousel, context, {
|
|
2433
2451
|
shouldAutoFocus: false,
|
|
@@ -2490,10 +2508,10 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2490
2508
|
return;
|
|
2491
2509
|
}
|
|
2492
2510
|
const questionCount = carousel.questions.length;
|
|
2493
|
-
const question = carousel.questions.length > 0 && carousel.questions[0].message ? carousel.questions[0].message : ( localize(
|
|
2511
|
+
const question = carousel.questions.length > 0 && carousel.questions[0].message ? carousel.questions[0].message : ( localize(7427, "Chat input required."));
|
|
2494
2512
|
const stringQuestion = typeof question === "string" ? question : question.value;
|
|
2495
|
-
const alertMessage = questionCount === 1 ? ( localize(
|
|
2496
|
-
|
|
2513
|
+
const alertMessage = questionCount === 1 ? ( localize(7428, "Chat input required (1 question): {0}", stringQuestion)) : ( localize(
|
|
2514
|
+
7429,
|
|
2497
2515
|
"Chat input required ({0} questions): {1}",
|
|
2498
2516
|
questionCount,
|
|
2499
2517
|
stringQuestion
|
|
@@ -2502,16 +2520,17 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2502
2520
|
if (stableKey) {
|
|
2503
2521
|
this._notifiedQuestionCarousels.add(stableKey);
|
|
2504
2522
|
}
|
|
2505
|
-
const signalMessage = questionCount === 1 ? ( localize(
|
|
2523
|
+
const signalMessage = questionCount === 1 ? ( localize(7430, "Chat needs your input (1 question).")) : ( localize(7431, "Chat needs your input ({0} questions).", questionCount));
|
|
2506
2524
|
this.accessibilitySignalService.playSignal(AccessibilitySignal.chatUserActionRequired, {
|
|
2507
2525
|
allowManyInParallel: true,
|
|
2508
2526
|
customAlertMessage: signalMessage
|
|
2509
2527
|
});
|
|
2510
2528
|
}
|
|
2511
|
-
renderPlanReview(context, review) {
|
|
2529
|
+
renderPlanReview(context, review, templateData) {
|
|
2512
2530
|
const widget = isResponseVM(context.element) ? this.chatWidgetService.getWidgetBySessionResource(context.element.sessionResource) : undefined;
|
|
2513
2531
|
const responseId = isResponseVM(context.element) ? context.element.requestId : undefined;
|
|
2514
2532
|
const reviewKey = review.resolveId ?? `${responseId ?? ""}_${context.contentIndex}`;
|
|
2533
|
+
this.finalizeCurrentThinkingPart(context, templateData);
|
|
2515
2534
|
const handleSubmit = result => {
|
|
2516
2535
|
review.data = result;
|
|
2517
2536
|
review.isUsed = true;
|
|
@@ -2521,17 +2540,62 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2521
2540
|
widget?.input.clearPlanReview(undefined, reviewKey);
|
|
2522
2541
|
};
|
|
2523
2542
|
const responseIsComplete = isResponseVM(context.element) && context.element.isComplete;
|
|
2524
|
-
if (review.isUsed
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2543
|
+
if (responseIsComplete && !review.isUsed) {
|
|
2544
|
+
review.isUsed = true;
|
|
2545
|
+
if (review instanceof ChatPlanReviewData) {
|
|
2546
|
+
review.completion.complete(undefined);
|
|
2547
|
+
}
|
|
2548
|
+
}
|
|
2549
|
+
if (responseIsComplete && responseId) {
|
|
2550
|
+
widget?.input.clearPlanReview(responseId);
|
|
2551
|
+
}
|
|
2552
|
+
const renderProgress = () => {
|
|
2553
|
+
const message = this.getPlanReviewProgressMessage(review);
|
|
2554
|
+
if (!message) {
|
|
2555
|
+
return this.renderNoContent(other => other.kind === "planReview");
|
|
2556
|
+
}
|
|
2557
|
+
const renderedAsUsed = !!review.isUsed;
|
|
2558
|
+
const isPending = !renderedAsUsed;
|
|
2559
|
+
const data = renderedAsUsed && !review.data?.rejected ? review.data : undefined;
|
|
2560
|
+
let overall = data?.feedbackOverall?.trim();
|
|
2561
|
+
const inlineMd = data?.feedbackInlineMarkdown?.trim();
|
|
2562
|
+
if (!overall && !inlineMd && data?.feedback) {
|
|
2563
|
+
overall = data.feedback.trim();
|
|
2564
|
+
}
|
|
2565
|
+
const content = ( new MarkdownString(undefined, {
|
|
2566
|
+
supportThemeIcons: true
|
|
2567
|
+
}));
|
|
2568
|
+
if (overall) {
|
|
2569
|
+
content.appendText(( localize(7432, "{0}: {1}", message, overall.replace(/\s+/g, " "))));
|
|
2570
|
+
} else {
|
|
2571
|
+
content.appendText(message);
|
|
2572
|
+
}
|
|
2573
|
+
if (inlineMd) {
|
|
2574
|
+
content.appendMarkdown("\n\n");
|
|
2575
|
+
content.appendMarkdown(inlineMd);
|
|
2533
2576
|
}
|
|
2534
|
-
|
|
2577
|
+
const progressPart = this.instantiationService.createInstance(ChatProgressContentPart, {
|
|
2578
|
+
content
|
|
2579
|
+
}, this.chatContentMarkdownRenderer, context, isPending, true, isPending ? undefined : Codicon.check, undefined, isPending);
|
|
2580
|
+
return {
|
|
2581
|
+
domNode: progressPart.domNode,
|
|
2582
|
+
dispose: () => progressPart.dispose(),
|
|
2583
|
+
hasSameContent: (other, _followingContent, _element) => {
|
|
2584
|
+
if (other.kind !== "planReview") {
|
|
2585
|
+
return false;
|
|
2586
|
+
}
|
|
2587
|
+
if (!!review.isUsed !== renderedAsUsed) {
|
|
2588
|
+
return false;
|
|
2589
|
+
}
|
|
2590
|
+
if (review.resolveId && other.resolveId) {
|
|
2591
|
+
return review.resolveId === other.resolveId;
|
|
2592
|
+
}
|
|
2593
|
+
return other === review;
|
|
2594
|
+
}
|
|
2595
|
+
};
|
|
2596
|
+
};
|
|
2597
|
+
if (review.isUsed) {
|
|
2598
|
+
return renderProgress();
|
|
2535
2599
|
}
|
|
2536
2600
|
const isEditing = !!this.viewModel?.editing;
|
|
2537
2601
|
const dockedPart = isEditing ? undefined : widget?.input.renderPlanReview(review, context, {
|
|
@@ -2543,18 +2607,27 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2543
2607
|
});
|
|
2544
2608
|
return fallbackPart;
|
|
2545
2609
|
}
|
|
2546
|
-
return
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2610
|
+
return renderProgress();
|
|
2611
|
+
}
|
|
2612
|
+
getPlanReviewProgressMessage(review) {
|
|
2613
|
+
if (!review.isUsed) {
|
|
2614
|
+
return localize(7433, "Plan review required");
|
|
2615
|
+
}
|
|
2616
|
+
const result = review.data;
|
|
2617
|
+
if (!result) {
|
|
2618
|
+
return undefined;
|
|
2619
|
+
}
|
|
2620
|
+
if (result.rejected) {
|
|
2621
|
+
return localize(7434, "Rejected plan");
|
|
2622
|
+
}
|
|
2623
|
+
if (result.feedback) {
|
|
2624
|
+
return localize(7435, "Provided feedback");
|
|
2625
|
+
}
|
|
2626
|
+
const action = review.actions.find(a => a.label === result.action);
|
|
2627
|
+
if (action?.permissionLevel === "autopilot") {
|
|
2628
|
+
return localize(7436, "Started implementation with Autopilot");
|
|
2629
|
+
}
|
|
2630
|
+
return localize(7437, "Approved plan");
|
|
2558
2631
|
}
|
|
2559
2632
|
removeCarouselFromTracking(context, part) {
|
|
2560
2633
|
if (isResponseVM(context.element)) {
|
|
@@ -2641,7 +2714,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
|
|
|
2641
2714
|
})
|
|
2642
2715
|
);
|
|
2643
2716
|
markdownPart.addDisposable(
|
|
2644
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), markdownPart.domNode, ( localize(
|
|
2717
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), markdownPart.domNode, ( localize(7438, "Click to Edit")), {
|
|
2645
2718
|
trapFocus: true
|
|
2646
2719
|
})
|
|
2647
2720
|
);
|
|
@@ -4,6 +4,7 @@ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/
|
|
|
4
4
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
5
5
|
import { ICodeEditor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser";
|
|
6
6
|
import { ICodeEditorService } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/codeEditorService.service";
|
|
7
|
+
import { IAccessibilityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility.service";
|
|
7
8
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
8
9
|
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
9
10
|
import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service";
|
|
@@ -18,7 +19,6 @@ import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbe
|
|
|
18
19
|
import { IChatEditingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService.service";
|
|
19
20
|
import { IChatLayoutService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/widget/chatLayoutService.service";
|
|
20
21
|
import { IChatModel, IChatModelInputState, IChatResponseModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
|
|
21
|
-
import { IChatModeService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service";
|
|
22
22
|
import { IParsedChatRequest } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatParserTypes";
|
|
23
23
|
import { IChatLocationData, IChatSendRequestOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
24
24
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
@@ -39,6 +39,7 @@ import { ChatInputPart, IChatInputStyles } from "./input/chatInputPart.js";
|
|
|
39
39
|
import { IChatTipService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatTipService.service";
|
|
40
40
|
import { IAgentSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service";
|
|
41
41
|
import { IChatDebugService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService.service";
|
|
42
|
+
import { ICustomizationHarnessService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService.service";
|
|
42
43
|
export interface IChatWidgetStyles extends IChatInputStyles {
|
|
43
44
|
readonly inputEditorBackground: string;
|
|
44
45
|
readonly resultEditorBackground: string;
|
|
@@ -77,8 +78,8 @@ export declare class ChatWidget extends Disposable implements IChatWidget {
|
|
|
77
78
|
private readonly chatSlashCommandService;
|
|
78
79
|
private readonly telemetryService;
|
|
79
80
|
private readonly promptsService;
|
|
81
|
+
private readonly customizationHarnessService;
|
|
80
82
|
private readonly toolsService;
|
|
81
|
-
private readonly chatModeService;
|
|
82
83
|
private readonly chatLayoutService;
|
|
83
84
|
private readonly chatEntitlementService;
|
|
84
85
|
private readonly chatSessionsService;
|
|
@@ -88,6 +89,7 @@ export declare class ChatWidget extends Disposable implements IChatWidget {
|
|
|
88
89
|
private readonly chatAttachmentResolveService;
|
|
89
90
|
private readonly chatTipService;
|
|
90
91
|
private readonly chatDebugService;
|
|
92
|
+
private readonly accessibilityService;
|
|
91
93
|
static readonly CONTRIBS: {
|
|
92
94
|
new (...args: [
|
|
93
95
|
IChatWidget,
|
|
@@ -180,7 +182,7 @@ export declare class ChatWidget extends Disposable implements IChatWidget {
|
|
|
180
182
|
readonly viewContext: IChatWidgetViewContext;
|
|
181
183
|
get supportsChangingModes(): boolean;
|
|
182
184
|
get locationData(): IChatLocationData | undefined;
|
|
183
|
-
constructor(location: ChatAgentLocation | IChatWidgetLocationOptions, viewContext: IChatWidgetViewContext | undefined, viewOptions: IChatWidgetViewOptions, styles: IChatWidgetStyles, codeEditorService: ICodeEditorService, configurationService: IConfigurationService, dialogService: IDialogService, contextKeyService: IContextKeyService, instantiationService: IInstantiationService, chatService: IChatService, chatAgentService: IChatAgentService, chatWidgetService: IChatWidgetService, chatAccessibilityService: IChatAccessibilityService, logService: ILogService, themeService: IThemeService, chatSlashCommandService: IChatSlashCommandService, chatEditingService: IChatEditingService, telemetryService: ITelemetryService, promptsService: IPromptsService,
|
|
185
|
+
constructor(location: ChatAgentLocation | IChatWidgetLocationOptions, viewContext: IChatWidgetViewContext | undefined, viewOptions: IChatWidgetViewOptions, styles: IChatWidgetStyles, codeEditorService: ICodeEditorService, configurationService: IConfigurationService, dialogService: IDialogService, contextKeyService: IContextKeyService, instantiationService: IInstantiationService, chatService: IChatService, chatAgentService: IChatAgentService, chatWidgetService: IChatWidgetService, chatAccessibilityService: IChatAccessibilityService, logService: ILogService, themeService: IThemeService, chatSlashCommandService: IChatSlashCommandService, chatEditingService: IChatEditingService, telemetryService: ITelemetryService, promptsService: IPromptsService, customizationHarnessService: ICustomizationHarnessService, toolsService: ILanguageModelToolsService, chatLayoutService: IChatLayoutService, chatEntitlementService: IChatEntitlementService, chatSessionsService: IChatSessionsService, agentSessionsService: IAgentSessionsService, chatTodoListService: IChatTodoListService, lifecycleService: ILifecycleService, chatAttachmentResolveService: IChatAttachmentResolveService, chatTipService: IChatTipService, chatDebugService: IChatDebugService, accessibilityService: IAccessibilityService);
|
|
184
186
|
private _lastSelectedAgent;
|
|
185
187
|
set lastSelectedAgent(agent: IChatAgentData | undefined);
|
|
186
188
|
get lastSelectedAgent(): IChatAgentData | undefined;
|
|
@@ -196,6 +198,7 @@ export declare class ChatWidget extends Disposable implements IChatWidget {
|
|
|
196
198
|
*/
|
|
197
199
|
get inputPart(): ChatInputPart;
|
|
198
200
|
private get inlineInputPart();
|
|
201
|
+
private updateWorkingProgressBorder;
|
|
199
202
|
get inputEditor(): ICodeEditor;
|
|
200
203
|
get contentHeight(): number;
|
|
201
204
|
get scrollTop(): number;
|
|
@@ -209,6 +212,7 @@ export declare class ChatWidget extends Disposable implements IChatWidget {
|
|
|
209
212
|
toggleQuestionCarouselFocus(): boolean;
|
|
210
213
|
navigateToPreviousQuestion(): boolean;
|
|
211
214
|
navigateToNextQuestion(): boolean;
|
|
215
|
+
focusQuestionCarouselTerminal(): boolean;
|
|
212
216
|
toggleTipFocus(): boolean;
|
|
213
217
|
hasInputFocus(): boolean;
|
|
214
218
|
refreshParsedInput(): void;
|
|
@@ -274,6 +278,10 @@ export declare class ChatWidget extends Disposable implements IChatWidget {
|
|
|
274
278
|
rerunLastRequest(): Promise<void>;
|
|
275
279
|
private getConfiguredThinkingStyle;
|
|
276
280
|
private logThinkingStyleUsage;
|
|
281
|
+
/**
|
|
282
|
+
* @returns `false` when the prompt metadata requested an agent switch that the
|
|
283
|
+
* user cancelled, signalling that input submission should be aborted.
|
|
284
|
+
*/
|
|
277
285
|
private _applyPromptFileIfSet;
|
|
278
286
|
private _acceptInput;
|
|
279
287
|
private _resolveDirectoryImageAttachments;
|
|
@@ -303,6 +311,11 @@ export declare class ChatWidget extends Disposable implements IChatWidget {
|
|
|
303
311
|
getViewState(): IChatModelInputState | undefined;
|
|
304
312
|
private updateChatInputContext;
|
|
305
313
|
private _switchToAgentByName;
|
|
314
|
+
/**
|
|
315
|
+
* @returns `false` when the agent switch was cancelled (e.g. user dismissed the
|
|
316
|
+
* mode-switch confirmation dialog), signalling that the caller should abort the
|
|
317
|
+
* current input submission.
|
|
318
|
+
*/
|
|
306
319
|
private _applyPromptMetadata;
|
|
307
320
|
delegateScrollFromMouseWheelEvent(browserEvent: IMouseWheelEvent): void;
|
|
308
321
|
}
|