@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
|
@@ -217,19 +217,22 @@
|
|
|
217
217
|
gap: 4px;
|
|
218
218
|
}
|
|
219
219
|
|
|
220
|
-
.interactive-item-container .chat-footer-toolbar .menu-entry.chat-copy-action .action-label
|
|
220
|
+
.interactive-item-container .chat-footer-toolbar .menu-entry.chat-copy-action .action-label,
|
|
221
|
+
.interactive-result-code-block .interactive-result-code-block-toolbar .menu-entry.chat-copy-action .action-label {
|
|
221
222
|
position: relative;
|
|
222
223
|
overflow: hidden;
|
|
223
224
|
}
|
|
224
225
|
|
|
225
|
-
.interactive-item-container .chat-footer-toolbar .menu-entry.chat-copy-action .chat-copy-action-icons
|
|
226
|
+
.interactive-item-container .chat-footer-toolbar .menu-entry.chat-copy-action .chat-copy-action-icons,
|
|
227
|
+
.interactive-result-code-block .interactive-result-code-block-toolbar .menu-entry.chat-copy-action .chat-copy-action-icons {
|
|
226
228
|
display: grid;
|
|
227
229
|
place-items: center;
|
|
228
230
|
width: 16px;
|
|
229
231
|
height: 16px;
|
|
230
232
|
}
|
|
231
233
|
|
|
232
|
-
.interactive-item-container .chat-footer-toolbar .menu-entry.chat-copy-action .chat-copy-action-icon
|
|
234
|
+
.interactive-item-container .chat-footer-toolbar .menu-entry.chat-copy-action .chat-copy-action-icon,
|
|
235
|
+
.interactive-result-code-block .interactive-result-code-block-toolbar .menu-entry.chat-copy-action .chat-copy-action-icon {
|
|
233
236
|
grid-area: 1 / 1;
|
|
234
237
|
display: flex;
|
|
235
238
|
align-items: center;
|
|
@@ -244,12 +247,15 @@
|
|
|
244
247
|
}
|
|
245
248
|
|
|
246
249
|
.interactive-item-container .chat-footer-toolbar .menu-entry.chat-copy-action:not(.copied) .chat-copy-action-icon-copy,
|
|
247
|
-
.interactive-
|
|
250
|
+
.interactive-result-code-block .interactive-result-code-block-toolbar .menu-entry.chat-copy-action:not(.copied) .chat-copy-action-icon-copy,
|
|
251
|
+
.interactive-item-container .chat-footer-toolbar .menu-entry.chat-copy-action.copied .chat-copy-action-icon-copied,
|
|
252
|
+
.interactive-result-code-block .interactive-result-code-block-toolbar .menu-entry.chat-copy-action.copied .chat-copy-action-icon-copied {
|
|
248
253
|
opacity: 1;
|
|
249
254
|
transform: scale(1);
|
|
250
255
|
}
|
|
251
256
|
|
|
252
257
|
@media (prefers-reduced-motion: reduce) {
|
|
258
|
+
.interactive-result-code-block .interactive-result-code-block-toolbar .menu-entry.chat-copy-action .chat-copy-action-icon,
|
|
253
259
|
.interactive-item-container .chat-footer-toolbar .menu-entry.chat-copy-action .chat-copy-action-icon {
|
|
254
260
|
transform: none;
|
|
255
261
|
transition: none;
|
|
@@ -861,6 +867,12 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
861
867
|
/* top padding is inside the editor widget */
|
|
862
868
|
width: 100%;
|
|
863
869
|
position: relative;
|
|
870
|
+
transition: box-shadow 350ms ease;
|
|
871
|
+
/* Duration of the working/progress border comet animation. Set
|
|
872
|
+
dynamically by `ChatInputPart#layout` to keep the comet's linear
|
|
873
|
+
travel speed roughly constant regardless of input width — wider
|
|
874
|
+
inputs would otherwise feel sluggish at a fixed duration. */
|
|
875
|
+
--chat-input-anim-duration: 4s;
|
|
864
876
|
}
|
|
865
877
|
|
|
866
878
|
/* Prevent contents from covering border corners. Not applied in compact mode
|
|
@@ -871,6 +883,146 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
871
883
|
overflow: hidden;
|
|
872
884
|
}
|
|
873
885
|
|
|
886
|
+
/* Animated "border beam" shown around the chat input while the agent is
|
|
887
|
+
working or thinking. Toggled by the `chat.progressBorder.enabled`
|
|
888
|
+
setting and the chat widget's request-in-progress state.
|
|
889
|
+
|
|
890
|
+
Inspired by https://github.com/Jakubantalik/border-beam — a small bright
|
|
891
|
+
comet travels around the perimeter, leaving a short fading trail. The
|
|
892
|
+
ring is rendered as a `::before` pseudo-element so it can fade in/out
|
|
893
|
+
via `opacity` when the `.working` class is toggled, without disturbing
|
|
894
|
+
the input's own background. The pseudo uses a 1px padding + inverted
|
|
895
|
+
mask trick so the conic gradient is clipped to a hairline that follows
|
|
896
|
+
the input's corner radius. */
|
|
897
|
+
@property --chat-input-anim-angle {
|
|
898
|
+
syntax: '<angle>';
|
|
899
|
+
inherits: false;
|
|
900
|
+
initial-value: 135deg;
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
@keyframes chat-input-working-border-spin {
|
|
904
|
+
from {
|
|
905
|
+
--chat-input-anim-angle: 135deg;
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
to {
|
|
909
|
+
--chat-input-anim-angle: 495deg;
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
/* The beam (`::before`) and its glow (`::after`) are two stacked rings
|
|
914
|
+
occupying the same outer edge: the glow is wider and blurred, the beam is
|
|
915
|
+
hairline and sharp. Both share `--chat-input-anim-angle` so the glow
|
|
916
|
+
travels with the comet head with no gap. */
|
|
917
|
+
|
|
918
|
+
.monaco-workbench .interactive-session .chat-input-container::before {
|
|
919
|
+
content: '';
|
|
920
|
+
position: absolute;
|
|
921
|
+
inset: -1px;
|
|
922
|
+
/* Inherit so the ring matches whatever corner radius the container is
|
|
923
|
+
currently using (large by default, small in compact mode). */
|
|
924
|
+
border-radius: inherit;
|
|
925
|
+
padding: 1px;
|
|
926
|
+
/* The beam: a tight bright arc (~40deg) with a short fade, on an otherwise
|
|
927
|
+
transparent ring. As `--chat-input-anim-angle` rotates, the bright spot
|
|
928
|
+
travels around the perimeter like a comet. Stops are mostly transparent
|
|
929
|
+
so the rest of the border stays invisible. */
|
|
930
|
+
background: conic-gradient(from var(--chat-input-anim-angle),
|
|
931
|
+
transparent 0deg,
|
|
932
|
+
color-mix(in srgb, var(--vscode-chat-inputWorkingBorderColor1) 90%, transparent) 20deg,
|
|
933
|
+
var(--vscode-chat-inputWorkingBorderColor1) 30deg,
|
|
934
|
+
color-mix(in srgb, var(--vscode-chat-inputWorkingBorderColor1) 60%, transparent) 50deg,
|
|
935
|
+
transparent 90deg,
|
|
936
|
+
transparent 360deg);
|
|
937
|
+
-webkit-mask:
|
|
938
|
+
linear-gradient(#000 0 0) content-box,
|
|
939
|
+
linear-gradient(#000 0 0);
|
|
940
|
+
mask:
|
|
941
|
+
linear-gradient(#000 0 0) content-box,
|
|
942
|
+
linear-gradient(#000 0 0);
|
|
943
|
+
-webkit-mask-composite: xor;
|
|
944
|
+
mask-composite: exclude;
|
|
945
|
+
opacity: 0;
|
|
946
|
+
transition: opacity 350ms ease;
|
|
947
|
+
pointer-events: none;
|
|
948
|
+
z-index: 2;
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
/* Glow ring: a 2px blurred conic that shares the beam's angle, so it forms
|
|
952
|
+
a soft halo that overlaps the beam line directly — no gap. */
|
|
953
|
+
.monaco-workbench .interactive-session .chat-input-container::after {
|
|
954
|
+
content: '';
|
|
955
|
+
position: absolute;
|
|
956
|
+
inset: -1px;
|
|
957
|
+
border-radius: inherit;
|
|
958
|
+
padding: 2px;
|
|
959
|
+
background: conic-gradient(from var(--chat-input-anim-angle),
|
|
960
|
+
transparent 0deg,
|
|
961
|
+
color-mix(in srgb, var(--vscode-chat-inputWorkingBorderColor1) 60%, transparent) 25deg,
|
|
962
|
+
color-mix(in srgb, var(--vscode-chat-inputWorkingBorderColor1) 35%, transparent) 50deg,
|
|
963
|
+
transparent 90deg,
|
|
964
|
+
transparent 360deg);
|
|
965
|
+
-webkit-mask:
|
|
966
|
+
linear-gradient(#000 0 0) content-box,
|
|
967
|
+
linear-gradient(#000 0 0);
|
|
968
|
+
mask:
|
|
969
|
+
linear-gradient(#000 0 0) content-box,
|
|
970
|
+
linear-gradient(#000 0 0);
|
|
971
|
+
-webkit-mask-composite: xor;
|
|
972
|
+
mask-composite: exclude;
|
|
973
|
+
filter: blur(1.5px);
|
|
974
|
+
opacity: 0;
|
|
975
|
+
transition: opacity 350ms ease;
|
|
976
|
+
pointer-events: none;
|
|
977
|
+
z-index: 1;
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
.monaco-workbench .interactive-session .chat-input-container.working {
|
|
981
|
+
/* Keep a faint, persistent ring around the input while the comet
|
|
982
|
+
animates around it. This preserves a visible boundary for the
|
|
983
|
+
input throughout the animation (including the dim portion of the
|
|
984
|
+
perimeter behind the comet) and improves contrast for users who
|
|
985
|
+
rely on a visible focus/container outline for accessibility. */
|
|
986
|
+
border-color: var(--vscode-input-border, transparent);
|
|
987
|
+
overflow: visible;
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
.monaco-workbench .interactive-session .chat-input-container.working.focused {
|
|
991
|
+
border-color: color-mix(in srgb, var(--vscode-focusBorder) 40%, transparent);
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
.monaco-workbench .interactive-session .chat-input-container.working .interactive-input-editor .monaco-editor,
|
|
995
|
+
.monaco-workbench .interactive-session .chat-input-container.working .interactive-input-editor .monaco-editor .monaco-editor-background {
|
|
996
|
+
background-color: transparent;
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
.monaco-workbench .interactive-session .chat-input-container.working::before {
|
|
1000
|
+
opacity: 1;
|
|
1001
|
+
animation: chat-input-working-border-spin var(--chat-input-anim-duration) linear infinite;
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
.monaco-workbench .interactive-session .chat-input-container.working::after {
|
|
1005
|
+
opacity: 1;
|
|
1006
|
+
animation: chat-input-working-border-spin var(--chat-input-anim-duration) linear infinite;
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
/* Marker class toggled briefly by `ChatInputPart#_updateWorkingProgressAnimationDuration`
|
|
1010
|
+
to force a restart of the comet animations so a new
|
|
1011
|
+
`--chat-input-anim-duration` takes effect mid-flight (browsers cache
|
|
1012
|
+
animation-duration at start time when sourced from a custom property). */
|
|
1013
|
+
.monaco-workbench .interactive-session .chat-input-container.working.chat-input-anim-restart::before,
|
|
1014
|
+
.monaco-workbench .interactive-session .chat-input-container.working.chat-input-anim-restart::after {
|
|
1015
|
+
animation: none;
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1019
|
+
.monaco-workbench .interactive-session .chat-input-container.working,
|
|
1020
|
+
.monaco-workbench .interactive-session .chat-input-container.working::before,
|
|
1021
|
+
.monaco-workbench .interactive-session .chat-input-container.working::after {
|
|
1022
|
+
animation: none;
|
|
1023
|
+
}
|
|
1024
|
+
}
|
|
1025
|
+
|
|
874
1026
|
/* Context usage widget container - positioned in the secondary toolbar below input */
|
|
875
1027
|
.interactive-session .chat-input-toolbars .chat-context-usage-container,
|
|
876
1028
|
.interactive-session .chat-secondary-toolbar .chat-context-usage-container {
|
|
@@ -890,6 +1042,124 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
890
1042
|
order: 2;
|
|
891
1043
|
}
|
|
892
1044
|
|
|
1045
|
+
/* ----------------------------------------------------------------------------
|
|
1046
|
+
Delightful gradient styling for the chat send (submit) button. The arrow-up
|
|
1047
|
+
action-item is filled at rest with a slowly rotating multi-color conic
|
|
1048
|
+
gradient using the same palette as the working-state border, and emits a
|
|
1049
|
+
quick colorful pulse on click. The gradient is naturally absent while a
|
|
1050
|
+
request is in flight: `ChatSubmitAction.menu` is gated on
|
|
1051
|
+
`whenNoActiveRequest`, so during an active request the arrow-up icon is
|
|
1052
|
+
removed entirely from the toolbar and replaced by the Cancel/Stop action.
|
|
1053
|
+
---------------------------------------------------------------------------- */
|
|
1054
|
+
@property --chat-send-button-anim-angle {
|
|
1055
|
+
syntax: '<angle>';
|
|
1056
|
+
inherits: false;
|
|
1057
|
+
initial-value: 135deg;
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
@keyframes chat-send-button-spin {
|
|
1061
|
+
from {
|
|
1062
|
+
--chat-send-button-anim-angle: 135deg;
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
to {
|
|
1066
|
+
--chat-send-button-anim-angle: 495deg;
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
@keyframes chat-send-button-pulse {
|
|
1071
|
+
0% {
|
|
1072
|
+
opacity: 0.7;
|
|
1073
|
+
transform: scale(1);
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
100% {
|
|
1077
|
+
opacity: 0;
|
|
1078
|
+
transform: scale(1.3);
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
.interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:has(> .action-label.codicon-arrow-up) {
|
|
1083
|
+
position: relative;
|
|
1084
|
+
border-radius: 5px;
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
.interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:has(> .action-label.codicon-arrow-up) > .action-label.codicon-arrow-up {
|
|
1088
|
+
box-sizing: border-box;
|
|
1089
|
+
width: 22px;
|
|
1090
|
+
height: 22px;
|
|
1091
|
+
transition: background-color 250ms ease, color 250ms ease;
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
/* Optical alignment: nudge arrow glyph 1px left to visually center it. */
|
|
1095
|
+
.interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item > .action-label.codicon-arrow-up::before {
|
|
1096
|
+
display: inline-block;
|
|
1097
|
+
}
|
|
1098
|
+
|
|
1099
|
+
/* Focus indicator drawn on the action-item wrapper so it sits cleanly around
|
|
1100
|
+
the button surface with a small offset. */
|
|
1101
|
+
.interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled):has(> .action-label.codicon-arrow-up:focus-visible) {
|
|
1102
|
+
outline: 1px solid var(--vscode-focusBorder);
|
|
1103
|
+
outline-offset: 1px;
|
|
1104
|
+
border-radius: 5px;
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
.interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:has(> .action-label.codicon-arrow-up) > .action-label.codicon-arrow-up:focus,
|
|
1108
|
+
.interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:has(> .action-label.codicon-arrow-up) > .action-label.codicon-arrow-up:focus-visible {
|
|
1109
|
+
outline: none;
|
|
1110
|
+
}
|
|
1111
|
+
|
|
1112
|
+
/* Idle: fill the entire action-label with a slowly rotating conic gradient.
|
|
1113
|
+
Colors darkened (60% mixed with input background) for a calm fill, with
|
|
1114
|
+
asymmetric conic stops. */
|
|
1115
|
+
.interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled) > .action-label.codicon-arrow-up {
|
|
1116
|
+
background: conic-gradient(from var(--chat-send-button-anim-angle) at 0% 0%,
|
|
1117
|
+
color-mix(in srgb, var(--vscode-chat-inputWorkingBorderColor1) 60%, var(--vscode-input-background)) 0deg,
|
|
1118
|
+
color-mix(in srgb, var(--vscode-chat-inputWorkingBorderColor2) 60%, var(--vscode-input-background)) 90deg,
|
|
1119
|
+
color-mix(in srgb, var(--vscode-chat-inputWorkingBorderColor3) 60%, var(--vscode-input-background)) 200deg,
|
|
1120
|
+
color-mix(in srgb, var(--vscode-chat-inputWorkingBorderColor1) 60%, var(--vscode-input-background)) 360deg) !important;
|
|
1121
|
+
color: var(--vscode-button-foreground) !important;
|
|
1122
|
+
border-radius: 5px;
|
|
1123
|
+
animation: chat-send-button-spin 8s linear infinite;
|
|
1124
|
+
transition: box-shadow 120ms ease;
|
|
1125
|
+
/* Lift the label above the click pulse `::after` on the action-item parent
|
|
1126
|
+
so the pulse appears to expand from behind the button, not on top of it. */
|
|
1127
|
+
position: relative;
|
|
1128
|
+
z-index: 1;
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
/* Hover/focus: subtle dark overlay to match standard toolbar button hover
|
|
1132
|
+
feedback. Uses an inset box-shadow so the rotating gradient background is
|
|
1133
|
+
preserved underneath. */
|
|
1134
|
+
.interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled) > .action-label.codicon-arrow-up:hover,
|
|
1135
|
+
.interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled) > .action-label.codicon-arrow-up:focus-visible {
|
|
1136
|
+
box-shadow: inset 0 0 0 100px rgba(0, 0, 0, 0.12);
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
.interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled):has(> .action-label.codicon-arrow-up:active)::after {
|
|
1140
|
+
content: '';
|
|
1141
|
+
position: absolute;
|
|
1142
|
+
inset: -2px;
|
|
1143
|
+
border-radius: 7px;
|
|
1144
|
+
background: conic-gradient(from 135deg,
|
|
1145
|
+
var(--vscode-chat-inputWorkingBorderColor1),
|
|
1146
|
+
var(--vscode-chat-inputWorkingBorderColor2),
|
|
1147
|
+
var(--vscode-chat-inputWorkingBorderColor3),
|
|
1148
|
+
var(--vscode-chat-inputWorkingBorderColor2),
|
|
1149
|
+
var(--vscode-chat-inputWorkingBorderColor1));
|
|
1150
|
+
pointer-events: none;
|
|
1151
|
+
animation: chat-send-button-pulse 400ms ease-out forwards;
|
|
1152
|
+
z-index: 0;
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1156
|
+
|
|
1157
|
+
.interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled) > .action-label.codicon-arrow-up,
|
|
1158
|
+
.interactive-session .chat-input-toolbars > .chat-execute-toolbar .monaco-action-bar .action-item:not(.disabled):has(> .action-label.codicon-arrow-up:active)::after {
|
|
1159
|
+
animation: none;
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
|
|
893
1163
|
.interactive-input-part:has(.chat-editing-session > .chat-editing-session-container) .chat-input-container,
|
|
894
1164
|
.interactive-input-part:has(.chat-todo-list-widget-container > .chat-todo-list-widget.has-todos) .chat-input-container,
|
|
895
1165
|
.interactive-input-part:has(.chat-artifacts-widget-container > .chat-artifacts-widget:not([style*="display: none"])) .chat-input-container,
|
|
@@ -1357,6 +1627,15 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1357
1627
|
padding: 0 0 0 4px;
|
|
1358
1628
|
}
|
|
1359
1629
|
|
|
1630
|
+
/* Enable container query units for placeholder truncation. Scoped to
|
|
1631
|
+
non-compact inputs (panel chat) because applying `container-type` in
|
|
1632
|
+
compact contexts (inline chat, quick chat) interferes with Monaco's
|
|
1633
|
+
view-line layout and causes the placeholder decoration to render
|
|
1634
|
+
with zero width. */
|
|
1635
|
+
.interactive-session .interactive-input-part:not(.compact) .chat-editor-container {
|
|
1636
|
+
container-type: inline-size;
|
|
1637
|
+
}
|
|
1638
|
+
|
|
1360
1639
|
.interactive-session .interactive-input-part.compact .chat-editor-container {
|
|
1361
1640
|
/* No scrollbar */
|
|
1362
1641
|
padding-right: 4px;
|
|
@@ -1366,6 +1645,26 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1366
1645
|
color: var(--vscode-input-foreground);
|
|
1367
1646
|
}
|
|
1368
1647
|
|
|
1648
|
+
/* Truncate the chat input placeholder with an ellipsis in narrow views
|
|
1649
|
+
instead of letting it overflow off the right edge of the input.
|
|
1650
|
+
The placeholder is rendered as a Monaco contentText decoration with
|
|
1651
|
+
class prefix "ced-chat-session-detail" inside the view-line spans;
|
|
1652
|
+
style the decoration element directly so we don't pay :has() cost
|
|
1653
|
+
across every view-line on each typed character. Scoped to non-compact
|
|
1654
|
+
inputs because the inline-block + container query sizing breaks the
|
|
1655
|
+
placeholder rendering in compact contexts (inline chat, quick chat). */
|
|
1656
|
+
.interactive-session .interactive-input-part:not(.compact) .chat-editor-container .monaco-editor [class^="ced-chat-session-detail"] {
|
|
1657
|
+
display: inline-block;
|
|
1658
|
+
max-width: 100%;
|
|
1659
|
+
/* fallback for environments without container query units */
|
|
1660
|
+
max-width: 100cqi;
|
|
1661
|
+
overflow: hidden;
|
|
1662
|
+
text-overflow: ellipsis;
|
|
1663
|
+
white-space: nowrap;
|
|
1664
|
+
vertical-align: bottom;
|
|
1665
|
+
color: var(--vscode-input-placeholderForeground);
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1369
1668
|
.interactive-session .chat-editor-container .monaco-editor .chat-prompt-spinner {
|
|
1370
1669
|
transform-origin: 6px 6px;
|
|
1371
1670
|
font-size: 12px;
|
|
@@ -1415,6 +1714,7 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1415
1714
|
.interactive-session .chat-secondary-toolbar > .chat-secondary-input-toolbar {
|
|
1416
1715
|
overflow: hidden;
|
|
1417
1716
|
min-width: 0px;
|
|
1717
|
+
flex: 1 1 0;
|
|
1418
1718
|
color: var(--vscode-icon-foreground);
|
|
1419
1719
|
|
|
1420
1720
|
.monaco-action-bar .action-item .codicon {
|
|
@@ -1565,7 +1865,116 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1565
1865
|
.interactive-session .chat-input-toolbar .chat-input-picker-item .action-label,
|
|
1566
1866
|
.interactive-session .chat-input-toolbar .chat-sessionPicker-item .action-label {
|
|
1567
1867
|
height: 16px;
|
|
1568
|
-
padding: 3px
|
|
1868
|
+
padding: 3px 7px;
|
|
1869
|
+
display: flex;
|
|
1870
|
+
align-items: center;
|
|
1871
|
+
color: var(--vscode-icon-foreground);
|
|
1872
|
+
}
|
|
1873
|
+
|
|
1874
|
+
/* Split model picker layout */
|
|
1875
|
+
.chat-input-picker-item:has(.model-picker-split) {
|
|
1876
|
+
overflow: visible;
|
|
1877
|
+
}
|
|
1878
|
+
|
|
1879
|
+
.chat-input-picker-item .action-label.model-picker-split {
|
|
1880
|
+
padding: 0 6px;
|
|
1881
|
+
gap: 2px;
|
|
1882
|
+
overflow: visible;
|
|
1883
|
+
height: auto;
|
|
1884
|
+
border-radius: 0;
|
|
1885
|
+
position: relative;
|
|
1886
|
+
cursor: default;
|
|
1887
|
+
}
|
|
1888
|
+
|
|
1889
|
+
/* Dividers: only in the workbench chat input toolbar (not in the agents app) */
|
|
1890
|
+
.interactive-session .chat-input-toolbar .chat-input-picker-item .action-label.model-picker-split::before,
|
|
1891
|
+
.interactive-session .chat-input-toolbar .chat-input-picker-item .action-label.model-picker-split::after {
|
|
1892
|
+
content: '';
|
|
1893
|
+
position: absolute;
|
|
1894
|
+
top: 25%;
|
|
1895
|
+
bottom: 25%;
|
|
1896
|
+
width: 1px;
|
|
1897
|
+
background-color: var(--vscode-editorWidget-border);
|
|
1898
|
+
}
|
|
1899
|
+
|
|
1900
|
+
.interactive-session .chat-input-toolbar .chat-input-picker-item .action-label.model-picker-split::before {
|
|
1901
|
+
left: 0;
|
|
1902
|
+
}
|
|
1903
|
+
|
|
1904
|
+
.interactive-session .chat-input-toolbar .chat-input-picker-item .action-label.model-picker-split::after {
|
|
1905
|
+
right: 0;
|
|
1906
|
+
}
|
|
1907
|
+
|
|
1908
|
+
/* Hide right divider when the model picker is the last item (e.g. Copilot CLI with no tool config button) */
|
|
1909
|
+
.interactive-session .chat-input-toolbar .chat-input-picker-item:last-child .action-label.model-picker-split::after {
|
|
1910
|
+
content: none;
|
|
1911
|
+
}
|
|
1912
|
+
|
|
1913
|
+
.chat-input-picker-item .action-label.model-picker-split .model-picker-section {
|
|
1914
|
+
display: flex;
|
|
1915
|
+
align-items: center;
|
|
1916
|
+
height: 16px;
|
|
1917
|
+
padding: 3px 5px;
|
|
1918
|
+
border-radius: 4px;
|
|
1919
|
+
cursor: pointer;
|
|
1920
|
+
text-decoration: none;
|
|
1921
|
+
color: inherit;
|
|
1922
|
+
white-space: nowrap;
|
|
1923
|
+
}
|
|
1924
|
+
|
|
1925
|
+
/* Prevent double hover: disable the outer container hover so only individual sections highlight */
|
|
1926
|
+
.chat-input-picker-item .action-label.model-picker-split:hover,
|
|
1927
|
+
.chat-input-picker-item .action-label.model-picker-split[aria-expanded="true"] {
|
|
1928
|
+
background-color: transparent !important;
|
|
1929
|
+
}
|
|
1930
|
+
|
|
1931
|
+
.chat-input-picker-item .action-label.model-picker-split .model-picker-section:hover {
|
|
1932
|
+
background-color: var(--vscode-toolbar-hoverBackground);
|
|
1933
|
+
}
|
|
1934
|
+
|
|
1935
|
+
.chat-input-picker-item .action-label.model-picker-split .model-picker-section[aria-expanded="true"] {
|
|
1936
|
+
background-color: var(--vscode-toolbar-hoverBackground);
|
|
1937
|
+
}
|
|
1938
|
+
|
|
1939
|
+
.chat-input-picker-item .action-label.model-picker-split .model-picker-name {
|
|
1940
|
+
min-width: 0;
|
|
1941
|
+
flex-shrink: 1;
|
|
1942
|
+
overflow: hidden;
|
|
1943
|
+
}
|
|
1944
|
+
|
|
1945
|
+
.chat-input-picker-item .action-label.model-picker-split .model-picker-name .chat-input-picker-label {
|
|
1946
|
+
overflow: hidden;
|
|
1947
|
+
text-overflow: ellipsis;
|
|
1948
|
+
}
|
|
1949
|
+
|
|
1950
|
+
.chat-input-picker-item .action-label.model-picker-split .model-picker-effort,
|
|
1951
|
+
.chat-input-picker-item .action-label.model-picker-split .model-picker-tokens {
|
|
1952
|
+
flex-shrink: 0;
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
.chat-input-picker-item .action-label.model-picker-split .model-picker-section .codicon {
|
|
1956
|
+
font-size: 12px;
|
|
1957
|
+
}
|
|
1958
|
+
|
|
1959
|
+
.chat-input-picker-item .action-label.model-picker-split .model-picker-section span + .chat-input-picker-label {
|
|
1960
|
+
margin-left: 2px;
|
|
1961
|
+
}
|
|
1962
|
+
|
|
1963
|
+
.chat-input-picker-item .action-label.model-picker-split.disabled .model-picker-section {
|
|
1964
|
+
cursor: default;
|
|
1965
|
+
}
|
|
1966
|
+
|
|
1967
|
+
.chat-input-picker-item .action-label.model-picker-split.disabled .model-picker-section:hover {
|
|
1968
|
+
background-color: transparent;
|
|
1969
|
+
}
|
|
1970
|
+
|
|
1971
|
+
.chat-input-picker-item .action-label.model-picker-split.disabled .codicon {
|
|
1972
|
+
color: var(--vscode-disabledForeground);
|
|
1973
|
+
}
|
|
1974
|
+
|
|
1975
|
+
.interactive-session .chat-secondary-input-toolbar .chat-sessionPicker-item .action-label {
|
|
1976
|
+
height: 16px;
|
|
1977
|
+
padding: 3px 0px 3px 6px;
|
|
1569
1978
|
display: flex;
|
|
1570
1979
|
align-items: center;
|
|
1571
1980
|
color: var(--vscode-icon-foreground);
|
|
@@ -1580,7 +1989,8 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1580
1989
|
/* When chevrons are hidden and only showing an icon (no label), size to 22x22 with centered icon */
|
|
1581
1990
|
.interactive-session .chat-input-toolbar .chat-input-picker-item .action-label.hide-chevrons:not(:has(.chat-input-picker-label)),
|
|
1582
1991
|
.interactive-session .chat-input-toolbar .chat-input-picker-item.hide-chevrons .action-label:not(:has(.chat-input-picker-label)),
|
|
1583
|
-
.interactive-session .chat-input-toolbar .chat-sessionPicker-item .action-label.hide-chevrons:not(:has(.chat-input-picker-label))
|
|
1992
|
+
.interactive-session .chat-input-toolbar .chat-sessionPicker-item .action-label.hide-chevrons:not(:has(.chat-input-picker-label)),
|
|
1993
|
+
.interactive-session .chat-secondary-input-toolbar .chat-sessionPicker-item .action-label.hide-chevrons:not(:has(.chat-input-picker-label)) {
|
|
1584
1994
|
width: 22px;
|
|
1585
1995
|
min-width: 22px;
|
|
1586
1996
|
height: 22px;
|
|
@@ -1608,7 +2018,8 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1608
2018
|
}
|
|
1609
2019
|
|
|
1610
2020
|
.monaco-workbench .interactive-session .chat-input-toolbar .chat-input-picker-item .action-label .codicon-chevron-down,
|
|
1611
|
-
.monaco-workbench .interactive-session .chat-input-toolbar .chat-sessionPicker-item .action-label .codicon-chevron-down
|
|
2021
|
+
.monaco-workbench .interactive-session .chat-input-toolbar .chat-sessionPicker-item .action-label .codicon-chevron-down,
|
|
2022
|
+
.monaco-workbench .interactive-session .chat-secondary-input-toolbar .chat-sessionPicker-item .action-label .codicon-chevron-down {
|
|
1612
2023
|
font-size: 10px;
|
|
1613
2024
|
margin-left: 4px;
|
|
1614
2025
|
opacity: 0.75;
|
|
@@ -1620,8 +2031,10 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1620
2031
|
gap: 4px;
|
|
1621
2032
|
}
|
|
1622
2033
|
|
|
1623
|
-
.interactive-session .chat-input-toolbars .chat-sessionPicker-container
|
|
2034
|
+
.interactive-session .chat-input-toolbars .chat-sessionPicker-container,
|
|
2035
|
+
.interactive-session .chat-secondary-toolbar .chat-sessionPicker-container {
|
|
1624
2036
|
display: flex;
|
|
2037
|
+
gap: 4px;
|
|
1625
2038
|
max-width: 100%;
|
|
1626
2039
|
}
|
|
1627
2040
|
|
|
@@ -1657,6 +2070,29 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1657
2070
|
margin-bottom: 4px;
|
|
1658
2071
|
}
|
|
1659
2072
|
|
|
2073
|
+
.action-widget .monaco-list-row.chat-model-picker-section-toggle.has-toolbar .action-list-item-toolbar {
|
|
2074
|
+
display: flex;
|
|
2075
|
+
}
|
|
2076
|
+
|
|
2077
|
+
/* Promoted model items: show source inline next to the model name and keep cost aligned right. */
|
|
2078
|
+
.action-widget .monaco-list-row.chat-model-picker-inline-source .title {
|
|
2079
|
+
flex: 0 1 auto;
|
|
2080
|
+
}
|
|
2081
|
+
|
|
2082
|
+
.action-widget .monaco-list-row.chat-model-picker-inline-source .action-item-badge {
|
|
2083
|
+
padding: 0;
|
|
2084
|
+
border-radius: 0;
|
|
2085
|
+
background-color: transparent;
|
|
2086
|
+
color: var(--vscode-descriptionForeground);
|
|
2087
|
+
font-size: 12px;
|
|
2088
|
+
line-height: normal;
|
|
2089
|
+
}
|
|
2090
|
+
|
|
2091
|
+
.action-widget .monaco-list-row.chat-model-picker-inline-source .description {
|
|
2092
|
+
margin-left: auto;
|
|
2093
|
+
flex-shrink: 0;
|
|
2094
|
+
}
|
|
2095
|
+
|
|
1660
2096
|
.interactive-session .chat-input-toolbars .codicon-debug-stop {
|
|
1661
2097
|
color: var(--vscode-icon-foreground) !important;
|
|
1662
2098
|
}
|
|
@@ -1930,6 +2366,7 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1930
2366
|
overflow: hidden;
|
|
1931
2367
|
white-space: nowrap;
|
|
1932
2368
|
text-overflow: ellipsis;
|
|
2369
|
+
text-decoration: inherit;
|
|
1933
2370
|
}
|
|
1934
2371
|
|
|
1935
2372
|
.interactive-session .chat-attached-context .chat-attached-context-attachment .monaco-icon-label .monaco-button.codicon.codicon-close,
|
|
@@ -1984,7 +2421,6 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1984
2421
|
}
|
|
1985
2422
|
|
|
1986
2423
|
.interactive-session .chat-attached-context .chat-attached-context-attachment.implicit.disabled .monaco-icon-label .label-name {
|
|
1987
|
-
text-decoration: line-through;
|
|
1988
2424
|
font-style: italic;
|
|
1989
2425
|
opacity: 0.8;
|
|
1990
2426
|
}
|
|
@@ -3558,3 +3994,79 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
3558
3994
|
.monaco-workbench:not(.hc-black):not(.hc-light) .interactive-list > .monaco-list > .monaco-scrollable-element > .monaco-list-rows > .monaco-list-row.focused.response {
|
|
3559
3995
|
outline: none !important;
|
|
3560
3996
|
}
|
|
3997
|
+
|
|
3998
|
+
/* --- Chat Model Hover --- */
|
|
3999
|
+
.chat-model-hover {
|
|
4000
|
+
display: flex;
|
|
4001
|
+
flex-direction: column;
|
|
4002
|
+
gap: 8px;
|
|
4003
|
+
}
|
|
4004
|
+
|
|
4005
|
+
.chat-model-hover-name {
|
|
4006
|
+
font-weight: bold;
|
|
4007
|
+
font-size: 13px;
|
|
4008
|
+
}
|
|
4009
|
+
|
|
4010
|
+
.chat-model-hover-separator {
|
|
4011
|
+
border-top: 1px solid var(--vscode-menu-separatorBackground, var(--vscode-editorWidget-border));
|
|
4012
|
+
margin: 2px 0;
|
|
4013
|
+
}
|
|
4014
|
+
|
|
4015
|
+
.chat-model-hover-description {
|
|
4016
|
+
font-size: 12px;
|
|
4017
|
+
line-height: 1.4;
|
|
4018
|
+
}
|
|
4019
|
+
|
|
4020
|
+
.chat-model-hover-description > div p {
|
|
4021
|
+
margin: 0;
|
|
4022
|
+
}
|
|
4023
|
+
|
|
4024
|
+
.chat-model-hover-cost {
|
|
4025
|
+
display: flex;
|
|
4026
|
+
flex-direction: column;
|
|
4027
|
+
gap: 2px;
|
|
4028
|
+
font-size: 12px;
|
|
4029
|
+
color: var(--vscode-descriptionForeground);
|
|
4030
|
+
}
|
|
4031
|
+
|
|
4032
|
+
.chat-model-hover-cost-title {
|
|
4033
|
+
font-weight: 600;
|
|
4034
|
+
margin-bottom: 2px;
|
|
4035
|
+
}
|
|
4036
|
+
|
|
4037
|
+
.chat-model-hover-cost-line-label {
|
|
4038
|
+
color: var(--vscode-foreground);
|
|
4039
|
+
opacity: 0.85;
|
|
4040
|
+
}
|
|
4041
|
+
|
|
4042
|
+
.chat-model-hover-context {
|
|
4043
|
+
display: flex;
|
|
4044
|
+
flex-direction: column;
|
|
4045
|
+
gap: 2px;
|
|
4046
|
+
font-size: 12px;
|
|
4047
|
+
color: var(--vscode-descriptionForeground);
|
|
4048
|
+
}
|
|
4049
|
+
|
|
4050
|
+
.chat-model-hover-context-label {
|
|
4051
|
+
font-weight: 600;
|
|
4052
|
+
}
|
|
4053
|
+
|
|
4054
|
+
.chat-model-hover-configurable {
|
|
4055
|
+
display: flex;
|
|
4056
|
+
flex-wrap: wrap;
|
|
4057
|
+
align-items: center;
|
|
4058
|
+
gap: 6px;
|
|
4059
|
+
font-size: 12px;
|
|
4060
|
+
}
|
|
4061
|
+
|
|
4062
|
+
.chat-model-hover-configurable-label {
|
|
4063
|
+
font-weight: 600;
|
|
4064
|
+
}
|
|
4065
|
+
|
|
4066
|
+
.chat-model-hover-configurable-tag {
|
|
4067
|
+
padding: 2px 8px;
|
|
4068
|
+
border-radius: 10px;
|
|
4069
|
+
border: 1px solid var(--vscode-contrastBorder, var(--vscode-editorWidget-border));
|
|
4070
|
+
background: transparent;
|
|
4071
|
+
font-size: 11px;
|
|
4072
|
+
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js
CHANGED
|
@@ -22,7 +22,7 @@ let ChatContextUsageDetails = class ChatContextUsageDetails extends Disposable {
|
|
|
22
22
|
this.domNode = $(".chat-context-usage-details");
|
|
23
23
|
this.quotaItem = this.domNode.appendChild($(".quota-indicator"));
|
|
24
24
|
const header = this.domNode.insertBefore($("div.header"), this.quotaItem);
|
|
25
|
-
header.textContent = ( localize(
|
|
25
|
+
header.textContent = ( localize(7568, "Context Window"));
|
|
26
26
|
const quotaLabel = this.quotaItem.appendChild($(".quota-label"));
|
|
27
27
|
this.tokenCountLabel = quotaLabel.appendChild($("span"));
|
|
28
28
|
this.percentageLabel = quotaLabel.appendChild($("span.quota-value"));
|
|
@@ -32,11 +32,11 @@ let ChatContextUsageDetails = class ChatContextUsageDetails extends Disposable {
|
|
|
32
32
|
this.outputBufferLegend = this.quotaItem.appendChild($(".output-buffer-legend"));
|
|
33
33
|
this.outputBufferLegend.appendChild($(".output-buffer-swatch"));
|
|
34
34
|
const legendLabel = this.outputBufferLegend.appendChild($("span"));
|
|
35
|
-
legendLabel.textContent = ( localize(
|
|
35
|
+
legendLabel.textContent = ( localize(7569, "Reserved for response"));
|
|
36
36
|
this.outputBufferLegend.style.display = "none";
|
|
37
37
|
this.tokenDetailsContainer = this.domNode.appendChild($(".token-details-container"));
|
|
38
38
|
this.warningMessage = this.domNode.appendChild($("div.description"));
|
|
39
|
-
this.warningMessage.textContent = ( localize(
|
|
39
|
+
this.warningMessage.textContent = ( localize(7570, "Quality may decline as limit nears."));
|
|
40
40
|
this.warningMessage.style.display = "none";
|
|
41
41
|
this.actionsSection = this.domNode.appendChild($(".actions-section"));
|
|
42
42
|
const buttonBarContainer = this.actionsSection.appendChild($(".button-bar-container"));
|
|
@@ -73,12 +73,12 @@ let ChatContextUsageDetails = class ChatContextUsageDetails extends Disposable {
|
|
|
73
73
|
promptTokenDetails
|
|
74
74
|
} = data;
|
|
75
75
|
this.tokenCountLabel.textContent = ( localize(
|
|
76
|
-
|
|
76
|
+
7571,
|
|
77
77
|
"{0} / {1} tokens",
|
|
78
78
|
this.formatTokenCount(usedTokens, 1),
|
|
79
79
|
this.formatTokenCount(totalContextWindow, 0)
|
|
80
80
|
));
|
|
81
|
-
this.percentageLabel.textContent = ( localize(
|
|
81
|
+
this.percentageLabel.textContent = ( localize(7572, "{0}%", Math.min(100, percentage).toFixed(0)));
|
|
82
82
|
const usageBarWidth = Math.max(0, Math.min(100, percentage));
|
|
83
83
|
this.progressFill.style.width = `${usageBarWidth}%`;
|
|
84
84
|
if (outputBufferPercentage !== undefined && outputBufferPercentage > 0) {
|
|
@@ -128,8 +128,8 @@ let ChatContextUsageDetails = class ChatContextUsageDetails extends Disposable {
|
|
|
128
128
|
}
|
|
129
129
|
if (totalPercentage < 100) {
|
|
130
130
|
const uncategorizedPercentage = 100 - totalPercentage;
|
|
131
|
-
categoryMap.set(( localize(
|
|
132
|
-
label: ( localize(
|
|
131
|
+
categoryMap.set(( localize(7573, "Uncategorized")), [{
|
|
132
|
+
label: ( localize(7574, "Other")),
|
|
133
133
|
percentageOfPrompt: uncategorizedPercentage
|
|
134
134
|
}]);
|
|
135
135
|
}
|