@codingame/monaco-vscode-katex-common 31.0.0 → 32.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +15 -3
- package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +6 -5
- package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +5 -1
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +45 -14
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +15 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +51 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +45 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +13 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +46 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +155 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +37 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionPickerActionItem.css +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +250 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +14 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +7 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +12 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +51 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +56 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +68 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.d.ts +58 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +653 -75
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +28 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +91 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +7 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +53 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +42 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +93 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +169 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +13 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +60 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +13 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +15 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +125 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +29 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +119 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/media/toolRiskBadge.css +77 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +132 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +16 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +156 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.js +93 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +133 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +53 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +288 -125
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +23 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +699 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +12 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +12 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +120 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +191 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatPhoneInputPresenter.css +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +9 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +89 -108
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +521 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +19 -19
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +82 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +44 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +3 -46
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.d.ts → inlineChatAffordanceWidget.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.js → inlineChatAffordanceWidget.js} +6 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -18
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +19 -400
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +4 -9
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +5 -19
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +47 -133
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +103 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +29 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +3 -32
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -92
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +99 -32
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +13 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +76 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +89 -28
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +11 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +7 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +11 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +59 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +24 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +111 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +60 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +455 -171
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.js +49 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.js +302 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.js +118 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +34 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +233 -48
- package/vscode/src/vs/platform/actions/browser/actionbar.d.ts +0 -16
- package/vscode/src/vs/platform/actions/browser/actionbar.js +0 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -539
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -386
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +0 -101
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +0 -509
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -130
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +0 -276
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.js +0 -93
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +0 -39
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +0 -617
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +0 -231
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
|
|
2
|
+
import { status } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
|
|
3
|
+
import { renderAsPlaintext } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
|
|
4
|
+
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
5
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
7
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
8
|
+
|
|
9
|
+
var ChatInputNotificationSeverity;
|
|
10
|
+
(function(ChatInputNotificationSeverity) {
|
|
11
|
+
ChatInputNotificationSeverity[ChatInputNotificationSeverity["Info"] = 0] = "Info";
|
|
12
|
+
ChatInputNotificationSeverity[ChatInputNotificationSeverity["Warning"] = 1] = "Warning";
|
|
13
|
+
ChatInputNotificationSeverity[ChatInputNotificationSeverity["Error"] = 2] = "Error";
|
|
14
|
+
})(ChatInputNotificationSeverity || (ChatInputNotificationSeverity = {}));
|
|
15
|
+
class ChatInputNotificationService extends Disposable {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this._notifications = ( new Map());
|
|
19
|
+
this._dismissed = ( new Set());
|
|
20
|
+
this._insertionOrder = ( new Map());
|
|
21
|
+
this._insertionCounter = 0;
|
|
22
|
+
this._onDidChange = this._register(( new Emitter()));
|
|
23
|
+
this.onDidChange = this._onDidChange.event;
|
|
24
|
+
}
|
|
25
|
+
setNotification(notification) {
|
|
26
|
+
this._notifications.set(notification.id, notification);
|
|
27
|
+
this._dismissed.delete(notification.id);
|
|
28
|
+
this._insertionOrder.set(notification.id, this._insertionCounter++);
|
|
29
|
+
this._fireDidChange();
|
|
30
|
+
}
|
|
31
|
+
deleteNotification(id) {
|
|
32
|
+
if (this._notifications.delete(id)) {
|
|
33
|
+
this._dismissed.delete(id);
|
|
34
|
+
this._insertionOrder.delete(id);
|
|
35
|
+
this._fireDidChange();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
dismissNotification(id) {
|
|
39
|
+
if (( this._notifications.has(id)) && !( this._dismissed.has(id))) {
|
|
40
|
+
this._dismissed.add(id);
|
|
41
|
+
this._fireDidChange();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
getActiveNotification() {
|
|
45
|
+
let best;
|
|
46
|
+
let bestOrder = -1;
|
|
47
|
+
for (const notification of ( this._notifications.values())) {
|
|
48
|
+
if (( this._dismissed.has(notification.id))) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const order = this._insertionOrder.get(notification.id) ?? 0;
|
|
52
|
+
if (!best || notification.severity > best.severity || (notification.severity === best.severity && order > bestOrder)) {
|
|
53
|
+
best = notification;
|
|
54
|
+
bestOrder = order;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return best;
|
|
58
|
+
}
|
|
59
|
+
handleMessageSent() {
|
|
60
|
+
let changed = false;
|
|
61
|
+
for (const notification of ( this._notifications.values())) {
|
|
62
|
+
if (notification.autoDismissOnMessage && !( this._dismissed.has(notification.id))) {
|
|
63
|
+
this._dismissed.add(notification.id);
|
|
64
|
+
changed = true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (changed) {
|
|
68
|
+
this._fireDidChange();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
_fireDidChange() {
|
|
72
|
+
this._announceActiveIfChanged();
|
|
73
|
+
this._onDidChange.fire();
|
|
74
|
+
}
|
|
75
|
+
_announceActiveIfChanged() {
|
|
76
|
+
const active = this.getActiveNotification();
|
|
77
|
+
if (!active) {
|
|
78
|
+
this._lastAnnouncedSignature = undefined;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const rawMessage = typeof active.message === "string" ? active.message : active.message.value;
|
|
82
|
+
const signature = `${active.id}\u0000${rawMessage}\u0000${active.description ?? ""}`;
|
|
83
|
+
if (signature === this._lastAnnouncedSignature) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this._lastAnnouncedSignature = signature;
|
|
87
|
+
const message = renderAsPlaintext(active.message);
|
|
88
|
+
const text = active.description ? `${message}. ${active.description}` : message;
|
|
89
|
+
status(text);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export { ChatInputNotificationService, ChatInputNotificationSeverity };
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
3
|
+
import { IMarkdownRendererService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service";
|
|
4
|
+
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
5
|
+
import { IChatInputNotificationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.service";
|
|
6
|
+
/**
|
|
7
|
+
* Widget that renders a single notification banner above the chat input area.
|
|
8
|
+
* Subscribes to {@link IChatInputNotificationService} and shows the highest-severity
|
|
9
|
+
* active notification with severity-colored borders, action buttons, and a dismiss button.
|
|
10
|
+
*/
|
|
11
|
+
export declare class ChatInputNotificationWidget extends Disposable {
|
|
12
|
+
private readonly _notificationService;
|
|
13
|
+
private readonly _commandService;
|
|
14
|
+
private readonly _telemetryService;
|
|
15
|
+
private readonly _markdownRendererService;
|
|
16
|
+
readonly domNode: HTMLElement;
|
|
17
|
+
private readonly _contentDisposables;
|
|
18
|
+
constructor(_notificationService: IChatInputNotificationService, _commandService: ICommandService, _telemetryService: ITelemetryService, _markdownRendererService: IMarkdownRendererService);
|
|
19
|
+
private _render;
|
|
20
|
+
private _renderNotification;
|
|
21
|
+
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
|
|
2
|
+
import { registerCss } from '@codingame/monaco-vscode-api/css';
|
|
3
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
4
|
+
import { $ as $$1, clearNode, append, addDisposableListener, EventType } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
|
+
import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
|
|
6
|
+
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
7
|
+
import { isMarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
8
|
+
import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
9
|
+
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
10
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
11
|
+
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
12
|
+
import { IMarkdownRendererService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service';
|
|
13
|
+
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
14
|
+
import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
|
|
15
|
+
import { ChatInputNotificationSeverity } from './chatInputNotificationService.js';
|
|
16
|
+
import { IChatInputNotificationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.service';
|
|
17
|
+
import * as chatInputNotificationWidget from './media/chatInputNotificationWidget.css';
|
|
18
|
+
|
|
19
|
+
registerCss(chatInputNotificationWidget);
|
|
20
|
+
const $ = $$1;
|
|
21
|
+
const severityToClass = {
|
|
22
|
+
[ChatInputNotificationSeverity.Info]: "severity-info",
|
|
23
|
+
[ChatInputNotificationSeverity.Warning]: "severity-warning",
|
|
24
|
+
[ChatInputNotificationSeverity.Error]: "severity-error"
|
|
25
|
+
};
|
|
26
|
+
const severityToIcon = {
|
|
27
|
+
[ChatInputNotificationSeverity.Info]: Codicon.info,
|
|
28
|
+
[ChatInputNotificationSeverity.Warning]: Codicon.warning,
|
|
29
|
+
[ChatInputNotificationSeverity.Error]: Codicon.error
|
|
30
|
+
};
|
|
31
|
+
let ChatInputNotificationWidget = class ChatInputNotificationWidget extends Disposable {
|
|
32
|
+
constructor(
|
|
33
|
+
_notificationService,
|
|
34
|
+
_commandService,
|
|
35
|
+
_telemetryService,
|
|
36
|
+
_markdownRendererService
|
|
37
|
+
) {
|
|
38
|
+
super();
|
|
39
|
+
this._notificationService = _notificationService;
|
|
40
|
+
this._commandService = _commandService;
|
|
41
|
+
this._telemetryService = _telemetryService;
|
|
42
|
+
this._markdownRendererService = _markdownRendererService;
|
|
43
|
+
this._contentDisposables = this._register(( new DisposableStore()));
|
|
44
|
+
this.domNode = $(".chat-input-notification-widget");
|
|
45
|
+
this._register(this._notificationService.onDidChange(() => this._render()));
|
|
46
|
+
this._render();
|
|
47
|
+
}
|
|
48
|
+
_render() {
|
|
49
|
+
this._contentDisposables.clear();
|
|
50
|
+
clearNode(this.domNode);
|
|
51
|
+
const notification = this._notificationService.getActiveNotification();
|
|
52
|
+
if (!notification) {
|
|
53
|
+
this.domNode.parentElement?.classList.remove("has-notification");
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this.domNode.parentElement?.classList.add("has-notification");
|
|
57
|
+
this._renderNotification(notification);
|
|
58
|
+
}
|
|
59
|
+
_renderNotification(notification) {
|
|
60
|
+
const container = append(this.domNode, $(".chat-input-notification"));
|
|
61
|
+
container.classList.add(severityToClass[notification.severity]);
|
|
62
|
+
const headerRow = append(container, $(".chat-input-notification-header"));
|
|
63
|
+
const iconElement = append(headerRow, $(".chat-input-notification-icon"));
|
|
64
|
+
iconElement.appendChild($$1(ThemeIcon.asCSSSelector(severityToIcon[notification.severity])));
|
|
65
|
+
const titleElement = append(headerRow, $(".chat-input-notification-title"));
|
|
66
|
+
if (isMarkdownString(notification.message)) {
|
|
67
|
+
const rendered = this._contentDisposables.add(this._markdownRendererService.render(notification.message));
|
|
68
|
+
rendered.element.classList.add("chat-input-notification-title-markdown");
|
|
69
|
+
titleElement.appendChild(rendered.element);
|
|
70
|
+
} else {
|
|
71
|
+
titleElement.textContent = notification.message;
|
|
72
|
+
}
|
|
73
|
+
const ariaTitle = isMarkdownString(notification.message) ? notification.message.value : notification.message;
|
|
74
|
+
if (notification.dismissible) {
|
|
75
|
+
const dismissButton = append(headerRow, $(".chat-input-notification-dismiss"));
|
|
76
|
+
dismissButton.appendChild($$1(ThemeIcon.asCSSSelector(Codicon.close)));
|
|
77
|
+
dismissButton.tabIndex = 0;
|
|
78
|
+
dismissButton.role = "button";
|
|
79
|
+
dismissButton.ariaLabel = ( localize(7444, "Dismiss notification"));
|
|
80
|
+
this._contentDisposables.add(addDisposableListener(dismissButton, EventType.CLICK, () => {
|
|
81
|
+
this._notificationService.dismissNotification(notification.id);
|
|
82
|
+
}));
|
|
83
|
+
this._contentDisposables.add(addDisposableListener(dismissButton, EventType.KEY_DOWN, e => {
|
|
84
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
85
|
+
e.preventDefault();
|
|
86
|
+
this._notificationService.dismissNotification(notification.id);
|
|
87
|
+
}
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
const hasBody = notification.description || notification.actions.length > 0;
|
|
91
|
+
if (hasBody) {
|
|
92
|
+
const bodyRow = append(container, $(".chat-input-notification-body"));
|
|
93
|
+
if (notification.description) {
|
|
94
|
+
const descriptionElement = append(bodyRow, $(".chat-input-notification-description"));
|
|
95
|
+
descriptionElement.textContent = notification.description;
|
|
96
|
+
}
|
|
97
|
+
if (notification.actions.length > 0) {
|
|
98
|
+
const actionsContainer = append(bodyRow, $(".chat-input-notification-actions"));
|
|
99
|
+
for (let i = 0; i < notification.actions.length; i++) {
|
|
100
|
+
const action = notification.actions[i];
|
|
101
|
+
const isLast = i === notification.actions.length - 1;
|
|
102
|
+
const button = this._contentDisposables.add(( new Button(actionsContainer, {
|
|
103
|
+
...defaultButtonStyles,
|
|
104
|
+
...(!isLast ? {
|
|
105
|
+
buttonBackground: undefined,
|
|
106
|
+
buttonHoverBackground: undefined,
|
|
107
|
+
buttonForeground: undefined,
|
|
108
|
+
buttonSecondaryBackground: undefined,
|
|
109
|
+
buttonSecondaryHoverBackground: undefined,
|
|
110
|
+
buttonSecondaryForeground: undefined,
|
|
111
|
+
buttonSecondaryBorder: undefined
|
|
112
|
+
} : {}),
|
|
113
|
+
supportIcons: true,
|
|
114
|
+
secondary: !isLast
|
|
115
|
+
})));
|
|
116
|
+
button.element.classList.add("chat-input-notification-action-button");
|
|
117
|
+
button.label = action.label;
|
|
118
|
+
button.element.ariaLabel = `${ariaTitle} ${action.label}`;
|
|
119
|
+
this._contentDisposables.add(button.onDidClick(async () => {
|
|
120
|
+
this._telemetryService.publicLog2("workbenchActionExecuted", {
|
|
121
|
+
id: action.commandId,
|
|
122
|
+
from: "chatInputNotification"
|
|
123
|
+
});
|
|
124
|
+
await this._commandService.executeCommand(action.commandId, ...(action.commandArgs ?? []));
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
ChatInputNotificationWidget = ( __decorate([( __param(0, IChatInputNotificationService)), ( __param(1, ICommandService)), ( __param(2, ITelemetryService)), ( __param(3, IMarkdownRendererService))], ChatInputNotificationWidget));
|
|
132
|
+
|
|
133
|
+
export { ChatInputNotificationWidget };
|
|
@@ -25,7 +25,7 @@ import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/
|
|
|
25
25
|
import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
|
|
26
26
|
import { ChatContextKeys } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys";
|
|
27
27
|
import { ChatRequestVariableSet, IChatRequestVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
|
|
28
|
-
import { IChatMode } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes";
|
|
28
|
+
import { IChatMode, IChatModes } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes";
|
|
29
29
|
import { IChatModeService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service";
|
|
30
30
|
import { IChatFollowup, IChatPlanReview, IChatQuestionCarousel, IChatToolInvocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
31
31
|
import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
|
|
@@ -43,6 +43,7 @@ import { ChatAttachmentModel } from "../../attachments/chatAttachmentModel.js";
|
|
|
43
43
|
import { IChatAttachmentWidgetRegistry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.service";
|
|
44
44
|
import { ChatImplicitContexts } from "../../attachments/chatImplicitContext.js";
|
|
45
45
|
import { IChatWidget, ISessionTypePickerDelegate, IWorkspacePickerDelegate } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
46
|
+
import { IChatPhoneInputPresenter } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.service";
|
|
46
47
|
import { IChatContextService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.service";
|
|
47
48
|
import { ChatPlanReviewPart, IChatPlanReviewPartOptions } from "../chatContentParts/chatPlanReviewPart.js";
|
|
48
49
|
import { ChatQuestionCarouselPart, IChatQuestionCarouselOptions } from "../chatContentParts/chatQuestionCarouselPart.js";
|
|
@@ -50,6 +51,7 @@ import { ChatToolConfirmationCarouselPart, ToolInvocationPartFactory, ScrollToSu
|
|
|
50
51
|
import { ChatToolInvocationPart } from "../chatContentParts/toolInvocationParts/chatToolInvocationPart.js";
|
|
51
52
|
import { IChatContentPartRenderContext } from "../chatContentParts/chatContentParts.js";
|
|
52
53
|
import { ChatDragAndDrop } from "../chatDragAndDrop.js";
|
|
54
|
+
import { IChatInputNotificationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.service";
|
|
53
55
|
import { ChatSelectedTools } from "./chatSelectedTools.js";
|
|
54
56
|
export interface IChatInputStyles {
|
|
55
57
|
overlayBackground: string;
|
|
@@ -133,6 +135,8 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
|
|
|
133
135
|
private readonly layoutService;
|
|
134
136
|
private readonly viewDescriptorService;
|
|
135
137
|
private readonly _chatAttachmentWidgetRegistry;
|
|
138
|
+
private readonly chatInputNotificationService;
|
|
139
|
+
private readonly chatPhoneInputPresenter;
|
|
136
140
|
private static _counter;
|
|
137
141
|
private _workingSetCollapsed;
|
|
138
142
|
private _stableInputPartWidth;
|
|
@@ -202,9 +206,9 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
|
|
|
202
206
|
private chatQuestionCarouselContainer;
|
|
203
207
|
private chatPlanReviewContainer;
|
|
204
208
|
private chatToolConfirmationCarouselContainer;
|
|
205
|
-
private
|
|
209
|
+
private chatInputNotificationContainer;
|
|
206
210
|
private inputContainer;
|
|
207
|
-
private readonly
|
|
211
|
+
private readonly _notificationWidget;
|
|
208
212
|
private contextUsageWidget?;
|
|
209
213
|
private contextUsageWidgetContainer;
|
|
210
214
|
private readonly _contextUsageDisposables;
|
|
@@ -269,10 +273,12 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
|
|
|
269
273
|
private _onDidChangeCurrentChatMode;
|
|
270
274
|
readonly onDidChangeCurrentChatMode: Event<void>;
|
|
271
275
|
private readonly _currentModeObservable;
|
|
276
|
+
private readonly _currentChatModesObservable;
|
|
272
277
|
private readonly _currentPermissionLevel;
|
|
273
278
|
private permissionLevelKey;
|
|
274
279
|
get currentModeKind(): ChatModeKind;
|
|
275
280
|
get currentModeObs(): IObservable<IChatMode>;
|
|
281
|
+
get currentChatModesObs(): IObservable<IChatModes>;
|
|
276
282
|
get currentPermissionLevelObs(): IObservable<ChatPermissionLevel>;
|
|
277
283
|
get currentModeInfo(): IChatRequestModeInfo;
|
|
278
284
|
private cachedWidth;
|
|
@@ -307,7 +313,7 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
|
|
|
307
313
|
private _chatSessionIsEmpty;
|
|
308
314
|
private _pendingDelegationTarget;
|
|
309
315
|
private _currentSessionType;
|
|
310
|
-
constructor(location: ChatAgentLocation, options: IChatInputPartOptions, styles: IChatInputStyles, inline: boolean, modelService: IModelService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, configurationService: IConfigurationService, keybindingService: IKeybindingService, accessibilityService: IAccessibilityService, languageModelsService: ILanguageModelsService, logService: ILogService, fileService: IFileService, editorService: IEditorService, themeService: IThemeService, textModelResolverService: ITextModelService, storageService: IStorageService, agentService: IChatAgentService, sharedWebExtracterService: ISharedWebContentExtractorService, entitlementService: IChatEntitlementService, chatModeService: IChatModeService, toolService: ILanguageModelToolsService, chatSessionsService: IChatSessionsService, chatContextService: IChatContextService, agentSessionsService: IAgentSessionsService, workspaceContextService: IWorkspaceContextService, scmService: ISCMService, layoutService: IWorkbenchLayoutService, viewDescriptorService: IViewDescriptorService, _chatAttachmentWidgetRegistry: IChatAttachmentWidgetRegistry);
|
|
316
|
+
constructor(location: ChatAgentLocation, options: IChatInputPartOptions, styles: IChatInputStyles, inline: boolean, modelService: IModelService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, configurationService: IConfigurationService, keybindingService: IKeybindingService, accessibilityService: IAccessibilityService, languageModelsService: ILanguageModelsService, logService: ILogService, fileService: IFileService, editorService: IEditorService, themeService: IThemeService, textModelResolverService: ITextModelService, storageService: IStorageService, agentService: IChatAgentService, sharedWebExtracterService: ISharedWebContentExtractorService, entitlementService: IChatEntitlementService, chatModeService: IChatModeService, toolService: ILanguageModelToolsService, chatSessionsService: IChatSessionsService, chatContextService: IChatContextService, agentSessionsService: IAgentSessionsService, workspaceContextService: IWorkspaceContextService, scmService: ISCMService, layoutService: IWorkbenchLayoutService, viewDescriptorService: IViewDescriptorService, _chatAttachmentWidgetRegistry: IChatAttachmentWidgetRegistry, chatInputNotificationService: IChatInputNotificationService, chatPhoneInputPresenter: IChatPhoneInputPresenter);
|
|
311
317
|
private setImplicitContextEnablement;
|
|
312
318
|
setIsWithinEditSession(inInsideDiff: boolean, isFilePartOfEditSession: boolean): void;
|
|
313
319
|
private getSelectedModelStorageKey;
|
|
@@ -319,6 +325,9 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
|
|
|
319
325
|
switchToNextModel(): void;
|
|
320
326
|
openModelPicker(): void;
|
|
321
327
|
openModePicker(): void;
|
|
328
|
+
private _showCombinedPhonePickerSheet;
|
|
329
|
+
private _createModelPickerDelegate;
|
|
330
|
+
private _createModePickerDelegate;
|
|
322
331
|
openPermissionPicker(): void;
|
|
323
332
|
setPermissionLevel(level: ChatPermissionLevel): void;
|
|
324
333
|
private getDefaultPermissionLevel;
|
|
@@ -332,8 +341,15 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
|
|
|
332
341
|
private createChatSessionPickerWidgets;
|
|
333
342
|
/**
|
|
334
343
|
* Set the input model reference for syncing input state
|
|
335
|
-
|
|
336
|
-
|
|
344
|
+
*
|
|
345
|
+
* Note: We have a cyclic ref between ChatInputPart and ChatWidget,
|
|
346
|
+
* When we invoke setInputModel, the property _widget is not set. Hence we don't have the SessionResource.
|
|
347
|
+
* As a result, in this method when syncFromModel is called, the model state is not applied to the UI.
|
|
348
|
+
* Instead, the defaults are computed and the model is updated with default values. Thereby blowing away model information.
|
|
349
|
+
* Setting Widget and then calling this doesn't work either because the widget also relies on ChatInputPart (hence cyclic ref).
|
|
350
|
+
* Solution is to pass the SessionResource as an argument to this method.
|
|
351
|
+
*/
|
|
352
|
+
setInputModel(model: IInputModel, chatSessionIsEmpty: boolean, forSessionResource: URI): void;
|
|
337
353
|
private _setEmptyModelState;
|
|
338
354
|
/**
|
|
339
355
|
* Sync from model to view (when model state changes)
|
|
@@ -343,6 +359,12 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
|
|
|
343
359
|
* Sync current input state to the input model
|
|
344
360
|
*/
|
|
345
361
|
private _syncInputStateToModel;
|
|
362
|
+
/**
|
|
363
|
+
* Flush the current input state to the bound input model. Use this before
|
|
364
|
+
* the host releases its model reference (e.g. on session switch) to ensure
|
|
365
|
+
* an unsent draft is captured by `willDisposeModel` persistence.
|
|
366
|
+
*/
|
|
367
|
+
flushInputStateToModel(): void;
|
|
346
368
|
setCurrentLanguageModel(model: ILanguageModelChatMetadataAndIdentifier): void;
|
|
347
369
|
private checkModelSupported;
|
|
348
370
|
/**
|
|
@@ -451,6 +473,16 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
|
|
|
451
473
|
private areAllOptionsValid;
|
|
452
474
|
private getAllOptionsGroups;
|
|
453
475
|
private getVisibleOptionGroups;
|
|
476
|
+
/**
|
|
477
|
+
* Returns the permissions-kind option group contributed by the active session provider, if any.
|
|
478
|
+
* Items from this group are surfaced inside the chat permission picker, replacing the
|
|
479
|
+
* built-in `ChatPermissionLevel` items. Honors the same visibility predicates as
|
|
480
|
+
* {@link getVisibleOptionGroups} so that `when` clauses are respected.
|
|
481
|
+
*
|
|
482
|
+
* If the provider declares more than one permissions-kind group (which the API forbids),
|
|
483
|
+
* the first one wins.
|
|
484
|
+
*/
|
|
485
|
+
private getActiveExtensionPermissionGroup;
|
|
454
486
|
/**
|
|
455
487
|
* Refresh all registered option groups for the current chat session.
|
|
456
488
|
* Fires events for each option group with their current selection.
|
|
@@ -474,9 +506,9 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
|
|
|
474
506
|
*/
|
|
475
507
|
private updateWidgetLockStateFromSessionType;
|
|
476
508
|
/**
|
|
477
|
-
*
|
|
509
|
+
* Ensures the notification widget is instantiated and appended to the notification container.
|
|
478
510
|
*/
|
|
479
|
-
private
|
|
511
|
+
private ensureNotificationWidget;
|
|
480
512
|
/**
|
|
481
513
|
* Shows the context usage details popup and focuses it.
|
|
482
514
|
* @returns Whether the details were successfully shown.
|
|
@@ -503,6 +535,7 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
|
|
|
503
535
|
isQuestionCarouselFocused(): boolean;
|
|
504
536
|
navigateToPreviousQuestion(): boolean;
|
|
505
537
|
navigateToNextQuestion(): boolean;
|
|
538
|
+
focusQuestionCarouselTerminal(): boolean;
|
|
506
539
|
renderPlanReview(review: IChatPlanReview, context: IChatContentPartRenderContext, options: IChatPlanReviewPartOptions): ChatPlanReviewPart;
|
|
507
540
|
clearPlanReview(responseId?: string, resolveId?: string): void;
|
|
508
541
|
get planReview(): ChatPlanReviewPart | undefined;
|
|
@@ -537,6 +570,18 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
|
|
|
537
570
|
* and detected via ResizeObserver, which updates `inputPartHeight` for the parent to observe.
|
|
538
571
|
*/
|
|
539
572
|
layout(width: number): void;
|
|
573
|
+
/**
|
|
574
|
+
* Scale the working/progress border comet animation duration with
|
|
575
|
+
* the input width so the comet's perceived linear travel speed (the
|
|
576
|
+
* rate it sweeps along the perimeter in px/sec) stays roughly
|
|
577
|
+
* constant. A fixed cycle time made wide inputs feel sluggish, but
|
|
578
|
+
* an aggressive inverse curve made narrow inputs feel slow because
|
|
579
|
+
* their cycle was clamped while the comet had little distance to
|
|
580
|
+
* cover. Sub-linear scaling with width (`sqrt(width)`) plus tight
|
|
581
|
+
* clamps keeps both extremes looking lively.
|
|
582
|
+
*/
|
|
583
|
+
private _lastAnimDurationS;
|
|
584
|
+
private _updateWorkingProgressAnimationDuration;
|
|
540
585
|
private get _effectiveInputEditorMaxHeight();
|
|
541
586
|
private previousInputEditorDimension;
|
|
542
587
|
private _layout;
|