@codingame/monaco-vscode-katex-common 25.1.1 → 26.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 +23 -2
- package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +64 -27
- package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.d.ts +3 -1
- package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.js +31 -28
- package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +2 -0
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +71 -50
- package/vscode/src/vs/platform/editor/browser/editor.js +17 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +112 -129
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +110 -85
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +21 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +308 -216
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +153 -148
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +247 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +71 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +347 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +287 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +89 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +188 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +677 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentSessionHoverWidget.css +98 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +263 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +34 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +19 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +762 -359
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +22 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +188 -99
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +166 -113
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +12 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +279 -213
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +533 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +382 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +101 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +509 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +130 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +276 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +24 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +128 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +153 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +1218 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionPickerActionItem.css +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +193 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +93 -89
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +42 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +58 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +18 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +132 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +68 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +14 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +36 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.d.ts +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.js +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +22 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +34 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +1 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +198 -135
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +38 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +29 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +41 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +23 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +20 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +291 -152
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +227 -162
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownDecorationsRenderer.js +68 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +76 -75
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +96 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +74 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +107 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +814 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +34 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +8 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +236 -197
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +123 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +492 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +75 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +31 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +42 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +55 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +714 -148
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +2 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +143 -153
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +14 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +79 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +10 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +209 -77
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.d.ts +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +71 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +83 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +248 -190
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +1 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPullRequestContent.css +5 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +493 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +63 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +121 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +51 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +46 -42
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +99 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +112 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +634 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +49 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +132 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.js +15 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +196 -149
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +17 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +577 -193
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +119 -86
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +10 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +165 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.js +5 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +75 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +30 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +102 -106
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +44 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +67 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +69 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +122 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +39 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +1110 -597
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +291 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +485 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatOptions.js +38 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +9 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +650 -689
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +21 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +102 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +1253 -790
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +51 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +102 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +16 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +192 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +11 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +99 -66
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +188 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +115 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +129 -167
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +16 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +143 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +56 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +206 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +152 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +67 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +170 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +80 -19
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.js +20 -28
- package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +22 -19
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +122 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +19 -104
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +316 -1040
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +162 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +98 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +68 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +416 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +1 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +194 -215
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +74 -104
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +45 -91
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +22 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +98 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +96 -68
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +11 -0
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +150 -0
- package/vscode/src/vs/workbench/contrib/markdown/browser/markedKatexSupport.js +141 -147
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.d.ts +64 -0
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.js +200 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +548 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.js +23 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +338 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +58 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +75 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +364 -0
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +21 -0
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +36 -0
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +110 -0
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +692 -0
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +158 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.d.ts +80 -21
- package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +440 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatInputRelatedFilesContrib.d.ts +0 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatInputRelatedFilesContrib.js +0 -139
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +0 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +0 -1081
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.d.ts +0 -199
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +0 -482
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -28
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -37
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +0 -94
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +0 -495
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.d.ts +0 -72
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +0 -454
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +0 -66
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +0 -372
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +0 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +0 -58
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +0 -26
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +0 -594
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +0 -55
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +0 -273
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +0 -1746
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +0 -50
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +0 -269
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +0 -258
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +0 -806
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +0 -116
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +0 -17
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +0 -62
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +0 -27
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +0 -40
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +0 -23
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +0 -295
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +0 -51
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +0 -241
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +0 -146
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +0 -28
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +0 -90
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +0 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +0 -41
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +0 -21
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +0 -42
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +0 -25
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +0 -77
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +0 -469
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +0 -149
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +0 -823
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +0 -180
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +0 -29
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +0 -102
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +0 -567
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +0 -30
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +0 -189
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +0 -75
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +0 -439
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.d.ts +0 -57
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.js +0 -263
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.js +0 -48
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +0 -39
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +0 -89
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +0 -26
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +0 -92
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.d.ts +0 -33
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +0 -108
package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
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 chatContextUsageDetails from './media/chatContextUsageDetails.css';
|
|
5
|
+
import { $ as $$1, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
6
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
7
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
8
|
+
import { MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
9
|
+
import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
|
|
10
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
11
|
+
import { MenuWorkbenchButtonBar } from '../../../../../../platform/actions/browser/buttonbar.js';
|
|
12
|
+
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
13
|
+
|
|
14
|
+
registerCss(chatContextUsageDetails);
|
|
15
|
+
const $ = $$1;
|
|
16
|
+
let ChatContextUsageDetails = class ChatContextUsageDetails extends Disposable {
|
|
17
|
+
constructor(instantiationService, menuService, contextKeyService) {
|
|
18
|
+
super();
|
|
19
|
+
this.instantiationService = instantiationService;
|
|
20
|
+
this.menuService = menuService;
|
|
21
|
+
this.contextKeyService = contextKeyService;
|
|
22
|
+
this.domNode = $(".chat-context-usage-details");
|
|
23
|
+
this.domNode.setAttribute("tabindex", "0");
|
|
24
|
+
this.quotaItem = this.domNode.appendChild($(".quota-item"));
|
|
25
|
+
const quotaItemHeader = this.quotaItem.appendChild($(".quota-item-header"));
|
|
26
|
+
const quotaItemLabel = quotaItemHeader.appendChild($(".quota-item-label"));
|
|
27
|
+
quotaItemLabel.textContent = ( localize(6140, "Context Window"));
|
|
28
|
+
const tokenRow = this.quotaItem.appendChild($(".token-row"));
|
|
29
|
+
this.tokenCountLabel = tokenRow.appendChild($(".token-count-label"));
|
|
30
|
+
this.percentageLabel = tokenRow.appendChild($(".quota-item-value"));
|
|
31
|
+
const progressBar = this.quotaItem.appendChild($(".quota-bar"));
|
|
32
|
+
this.progressFill = progressBar.appendChild($(".quota-bit"));
|
|
33
|
+
this.tokenDetailsContainer = this.domNode.appendChild($(".token-details-container"));
|
|
34
|
+
this.warningMessage = this.domNode.appendChild($(".warning-message"));
|
|
35
|
+
this.warningMessage.textContent = ( localize(6141, "Quality may decline as limit nears."));
|
|
36
|
+
this.warningMessage.style.display = "none";
|
|
37
|
+
this.actionsSection = this.domNode.appendChild($(".actions-section"));
|
|
38
|
+
this.actionsSection.appendChild($(".separator"));
|
|
39
|
+
const actionsHeader = this.actionsSection.appendChild($(".actions-header"));
|
|
40
|
+
actionsHeader.textContent = ( localize(6142, "Actions"));
|
|
41
|
+
const buttonBarContainer = this.actionsSection.appendChild($(".button-bar-container"));
|
|
42
|
+
this._register(this.instantiationService.createInstance(
|
|
43
|
+
MenuWorkbenchButtonBar,
|
|
44
|
+
buttonBarContainer,
|
|
45
|
+
MenuId.ChatContextUsageActions,
|
|
46
|
+
{
|
|
47
|
+
toolbarOptions: {
|
|
48
|
+
primaryGroup: () => true
|
|
49
|
+
},
|
|
50
|
+
buttonConfigProvider: () => ({
|
|
51
|
+
isSecondary: true
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
));
|
|
55
|
+
const menu = this._register(
|
|
56
|
+
this.menuService.createMenu(MenuId.ChatContextUsageActions, this.contextKeyService)
|
|
57
|
+
);
|
|
58
|
+
const updateActionsVisibility = () => {
|
|
59
|
+
const actions = menu.getActions();
|
|
60
|
+
const hasActions = actions.length > 0 && ( actions.some(([, items]) => items.length > 0));
|
|
61
|
+
this.actionsSection.style.display = hasActions ? "" : "none";
|
|
62
|
+
};
|
|
63
|
+
this._register(menu.onDidChange(updateActionsVisibility));
|
|
64
|
+
updateActionsVisibility();
|
|
65
|
+
}
|
|
66
|
+
update(data) {
|
|
67
|
+
const {
|
|
68
|
+
percentage,
|
|
69
|
+
promptTokens,
|
|
70
|
+
maxInputTokens,
|
|
71
|
+
promptTokenDetails
|
|
72
|
+
} = data;
|
|
73
|
+
this.tokenCountLabel.textContent = ( localize(
|
|
74
|
+
6143,
|
|
75
|
+
"{0} / {1} tokens",
|
|
76
|
+
this.formatTokenCount(promptTokens, 1),
|
|
77
|
+
this.formatTokenCount(maxInputTokens, 0)
|
|
78
|
+
));
|
|
79
|
+
this.percentageLabel.textContent = `• ${percentage.toFixed(0)}%`;
|
|
80
|
+
this.progressFill.style.width = `${Math.min(100, percentage)}%`;
|
|
81
|
+
this.quotaItem.classList.remove("warning", "error");
|
|
82
|
+
if (percentage >= 90) {
|
|
83
|
+
this.quotaItem.classList.add("error");
|
|
84
|
+
} else if (percentage >= 75) {
|
|
85
|
+
this.quotaItem.classList.add("warning");
|
|
86
|
+
}
|
|
87
|
+
this.renderTokenDetails(promptTokenDetails, percentage);
|
|
88
|
+
this.warningMessage.style.display = percentage >= 75 ? "" : "none";
|
|
89
|
+
}
|
|
90
|
+
formatTokenCount(count, decimals) {
|
|
91
|
+
if (count >= 1000000) {
|
|
92
|
+
return `${(count / 1000000).toFixed(decimals)}M`;
|
|
93
|
+
} else if (count >= 1000) {
|
|
94
|
+
return `${(count / 1000).toFixed(decimals)}K`;
|
|
95
|
+
}
|
|
96
|
+
return ( count.toString());
|
|
97
|
+
}
|
|
98
|
+
renderTokenDetails(details, contextWindowPercentage) {
|
|
99
|
+
clearNode(this.tokenDetailsContainer);
|
|
100
|
+
if (!details || details.length === 0) {
|
|
101
|
+
this.tokenDetailsContainer.style.display = "none";
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
this.tokenDetailsContainer.style.display = "";
|
|
105
|
+
const categoryMap = ( new Map());
|
|
106
|
+
let totalPercentage = 0;
|
|
107
|
+
for (const detail of details) {
|
|
108
|
+
const existing = categoryMap.get(detail.category) || [];
|
|
109
|
+
existing.push({
|
|
110
|
+
label: detail.label,
|
|
111
|
+
percentageOfPrompt: detail.percentageOfPrompt
|
|
112
|
+
});
|
|
113
|
+
categoryMap.set(detail.category, existing);
|
|
114
|
+
totalPercentage += detail.percentageOfPrompt;
|
|
115
|
+
}
|
|
116
|
+
if (totalPercentage < 100) {
|
|
117
|
+
const uncategorizedPercentage = 100 - totalPercentage;
|
|
118
|
+
categoryMap.set(( localize(6144, "Uncategorized")), [{
|
|
119
|
+
label: ( localize(6145, "Other")),
|
|
120
|
+
percentageOfPrompt: uncategorizedPercentage
|
|
121
|
+
}]);
|
|
122
|
+
}
|
|
123
|
+
for (const [category, items] of categoryMap) {
|
|
124
|
+
const categorySection = this.tokenDetailsContainer.appendChild($(".token-category"));
|
|
125
|
+
const categoryHeader = categorySection.appendChild($(".token-category-header"));
|
|
126
|
+
categoryHeader.textContent = category;
|
|
127
|
+
for (const item of items) {
|
|
128
|
+
const itemRow = categorySection.appendChild($(".token-detail-item"));
|
|
129
|
+
const itemLabel = itemRow.appendChild($(".token-detail-label"));
|
|
130
|
+
itemLabel.textContent = item.label;
|
|
131
|
+
const contextRelativePercentage = (item.percentageOfPrompt / 100) * contextWindowPercentage;
|
|
132
|
+
const itemValue = itemRow.appendChild($(".token-detail-value"));
|
|
133
|
+
itemValue.textContent = `${contextRelativePercentage.toFixed(1)}%`;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
focus() {
|
|
138
|
+
this.domNode.focus();
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
ChatContextUsageDetails = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IMenuService)), ( __param(2, IContextKeyService))], ChatContextUsageDetails));
|
|
142
|
+
|
|
143
|
+
export { ChatContextUsageDetails };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
2
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
3
|
+
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
4
|
+
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
5
|
+
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
6
|
+
import { IChatRequestModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
|
|
7
|
+
import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
|
|
8
|
+
/**
|
|
9
|
+
* A reusable circular progress indicator that displays a pie chart.
|
|
10
|
+
* The pie fills clockwise from the top based on the percentage value.
|
|
11
|
+
*/
|
|
12
|
+
export declare class CircularProgressIndicator {
|
|
13
|
+
readonly domNode: SVGSVGElement;
|
|
14
|
+
private readonly progressPie;
|
|
15
|
+
private static readonly CENTER_X;
|
|
16
|
+
private static readonly CENTER_Y;
|
|
17
|
+
private static readonly RADIUS;
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Updates the pie chart to display the given percentage (0-100).
|
|
21
|
+
* @param percentage The percentage of the pie to fill (clamped to 0-100)
|
|
22
|
+
*/
|
|
23
|
+
setProgress(percentage: number): void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Widget that displays the context/token usage for the current chat session.
|
|
27
|
+
* Shows a circular progress icon that expands on hover/focus to show token counts,
|
|
28
|
+
* and on click shows the detailed context usage widget.
|
|
29
|
+
*/
|
|
30
|
+
export declare class ChatContextUsageWidget extends Disposable {
|
|
31
|
+
private readonly hoverService;
|
|
32
|
+
private readonly instantiationService;
|
|
33
|
+
private readonly languageModelsService;
|
|
34
|
+
private readonly _onDidChangeVisibility;
|
|
35
|
+
readonly onDidChangeVisibility: Event<void>;
|
|
36
|
+
readonly domNode: HTMLElement;
|
|
37
|
+
private readonly progressIndicator;
|
|
38
|
+
private readonly _isVisible;
|
|
39
|
+
get isVisible(): IObservable<boolean>;
|
|
40
|
+
private readonly _lastRequestDisposable;
|
|
41
|
+
private readonly _hoverDisposable;
|
|
42
|
+
private readonly _contextUsageDetails;
|
|
43
|
+
private currentData;
|
|
44
|
+
constructor(hoverService: IHoverService, instantiationService: IInstantiationService, languageModelsService: ILanguageModelsService);
|
|
45
|
+
private setupHover;
|
|
46
|
+
/**
|
|
47
|
+
* Updates the widget with the latest request/response data.
|
|
48
|
+
* The model is retrieved from the request's modelId.
|
|
49
|
+
* @param lastRequest The last request in the session
|
|
50
|
+
*/
|
|
51
|
+
update(lastRequest: IChatRequestModel | undefined): void;
|
|
52
|
+
private updateFromResponse;
|
|
53
|
+
private render;
|
|
54
|
+
private show;
|
|
55
|
+
private hide;
|
|
56
|
+
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js
ADDED
|
@@ -0,0 +1,206 @@
|
|
|
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 chatContextUsageWidget from './media/chatContextUsageWidget.css';
|
|
5
|
+
import { $ as $$1, addDisposableListener, EventType } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
6
|
+
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
7
|
+
import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
8
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
9
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
10
|
+
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
11
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
12
|
+
import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
|
|
13
|
+
import { ChatContextUsageDetails } from './chatContextUsageDetails.js';
|
|
14
|
+
import { StandardKeyboardEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/keyboardEvent';
|
|
15
|
+
import { KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
16
|
+
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
17
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
18
|
+
|
|
19
|
+
registerCss(chatContextUsageWidget);
|
|
20
|
+
const $ = $$1;
|
|
21
|
+
class CircularProgressIndicator {
|
|
22
|
+
static {
|
|
23
|
+
this.CENTER_X = 18;
|
|
24
|
+
}
|
|
25
|
+
static {
|
|
26
|
+
this.CENTER_Y = 18;
|
|
27
|
+
}
|
|
28
|
+
static {
|
|
29
|
+
this.RADIUS = 16;
|
|
30
|
+
}
|
|
31
|
+
constructor() {
|
|
32
|
+
this.domNode = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
33
|
+
this.domNode.setAttribute("viewBox", "0 0 36 36");
|
|
34
|
+
this.domNode.classList.add("circular-progress");
|
|
35
|
+
const bgCircle = document.createElementNS("http://www.w3.org/2000/svg", "circle");
|
|
36
|
+
bgCircle.setAttribute("cx", String(CircularProgressIndicator.CENTER_X));
|
|
37
|
+
bgCircle.setAttribute("cy", String(CircularProgressIndicator.CENTER_Y));
|
|
38
|
+
bgCircle.setAttribute("r", String(CircularProgressIndicator.RADIUS));
|
|
39
|
+
bgCircle.classList.add("progress-bg");
|
|
40
|
+
this.domNode.appendChild(bgCircle);
|
|
41
|
+
this.progressPie = document.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
42
|
+
this.progressPie.classList.add("progress-pie");
|
|
43
|
+
this.domNode.appendChild(this.progressPie);
|
|
44
|
+
}
|
|
45
|
+
setProgress(percentage) {
|
|
46
|
+
const cx = CircularProgressIndicator.CENTER_X;
|
|
47
|
+
const cy = CircularProgressIndicator.CENTER_Y;
|
|
48
|
+
const r = CircularProgressIndicator.RADIUS;
|
|
49
|
+
if (percentage >= 100) {
|
|
50
|
+
this.progressPie.setAttribute("d", `M ${cx} ${cy - r} A ${r} ${r} 0 1 1 ${cx - 0.001} ${cy - r} Z`);
|
|
51
|
+
} else if (percentage <= 0) {
|
|
52
|
+
this.progressPie.setAttribute("d", "");
|
|
53
|
+
} else {
|
|
54
|
+
const angle = (percentage / 100) * 360;
|
|
55
|
+
const radians = (angle - 90) * (Math.PI / 180);
|
|
56
|
+
const x = cx + r * Math.cos(radians);
|
|
57
|
+
const y = cy + r * Math.sin(radians);
|
|
58
|
+
const largeArcFlag = angle > 180 ? 1 : 0;
|
|
59
|
+
const d = [
|
|
60
|
+
`M ${cx} ${cy}`,
|
|
61
|
+
`L ${cx} ${cy - r}`,
|
|
62
|
+
`A ${r} ${r} 0 ${largeArcFlag} 1 ${x} ${y}`,
|
|
63
|
+
"Z"].join(" ");
|
|
64
|
+
this.progressPie.setAttribute("d", d);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
let ChatContextUsageWidget = class ChatContextUsageWidget extends Disposable {
|
|
69
|
+
get isVisible() {
|
|
70
|
+
return this._isVisible;
|
|
71
|
+
}
|
|
72
|
+
constructor(hoverService, instantiationService, languageModelsService) {
|
|
73
|
+
super();
|
|
74
|
+
this.hoverService = hoverService;
|
|
75
|
+
this.instantiationService = instantiationService;
|
|
76
|
+
this.languageModelsService = languageModelsService;
|
|
77
|
+
this._onDidChangeVisibility = this._register(( new Emitter()));
|
|
78
|
+
this.onDidChangeVisibility = this._onDidChangeVisibility.event;
|
|
79
|
+
this._isVisible = observableValue(this, false);
|
|
80
|
+
this._lastRequestDisposable = this._register(( new MutableDisposable()));
|
|
81
|
+
this._hoverDisposable = this._register(( new MutableDisposable()));
|
|
82
|
+
this._contextUsageDetails = this._register(( new MutableDisposable()));
|
|
83
|
+
this.domNode = $(".chat-context-usage-widget");
|
|
84
|
+
this.domNode.style.display = "none";
|
|
85
|
+
this.domNode.setAttribute("tabindex", "0");
|
|
86
|
+
this.domNode.setAttribute("role", "button");
|
|
87
|
+
this.domNode.setAttribute("aria-label", ( localize(6146, "Context window usage")));
|
|
88
|
+
const iconContainer = this.domNode.appendChild($(".icon-container"));
|
|
89
|
+
this.progressIndicator = ( new CircularProgressIndicator());
|
|
90
|
+
iconContainer.appendChild(this.progressIndicator.domNode);
|
|
91
|
+
this.setupHover();
|
|
92
|
+
}
|
|
93
|
+
setupHover() {
|
|
94
|
+
this._hoverDisposable.clear();
|
|
95
|
+
const store = ( new DisposableStore());
|
|
96
|
+
this._hoverDisposable.value = store;
|
|
97
|
+
const createDetails = () => {
|
|
98
|
+
if (!this._isVisible.get() || !this.currentData) {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
this._contextUsageDetails.value = this.instantiationService.createInstance(ChatContextUsageDetails);
|
|
102
|
+
this._contextUsageDetails.value.update(this.currentData);
|
|
103
|
+
return this._contextUsageDetails.value;
|
|
104
|
+
};
|
|
105
|
+
const hoverOptions = {
|
|
106
|
+
appearance: {
|
|
107
|
+
showPointer: true,
|
|
108
|
+
compact: true
|
|
109
|
+
},
|
|
110
|
+
persistence: {
|
|
111
|
+
hideOnHover: false
|
|
112
|
+
},
|
|
113
|
+
trapFocus: true
|
|
114
|
+
};
|
|
115
|
+
store.add(this.hoverService.setupDelayedHover(this.domNode, () => ({
|
|
116
|
+
...hoverOptions,
|
|
117
|
+
content: createDetails()?.domNode ?? ""
|
|
118
|
+
})));
|
|
119
|
+
const showStickyHover = () => {
|
|
120
|
+
const details = createDetails();
|
|
121
|
+
if (details) {
|
|
122
|
+
this.hoverService.showInstantHover({
|
|
123
|
+
...hoverOptions,
|
|
124
|
+
content: details.domNode,
|
|
125
|
+
target: this.domNode,
|
|
126
|
+
persistence: {
|
|
127
|
+
hideOnHover: false,
|
|
128
|
+
sticky: true
|
|
129
|
+
}
|
|
130
|
+
}, true);
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
store.add(addDisposableListener(this.domNode, EventType.CLICK, e => {
|
|
134
|
+
e.stopPropagation();
|
|
135
|
+
showStickyHover();
|
|
136
|
+
}));
|
|
137
|
+
store.add(addDisposableListener(this.domNode, EventType.KEY_DOWN, e => {
|
|
138
|
+
const evt = ( new StandardKeyboardEvent(e));
|
|
139
|
+
if (evt.equals(KeyCode.Space) || evt.equals(KeyCode.Enter)) {
|
|
140
|
+
e.preventDefault();
|
|
141
|
+
showStickyHover();
|
|
142
|
+
}
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
145
|
+
update(lastRequest) {
|
|
146
|
+
this._lastRequestDisposable.clear();
|
|
147
|
+
if (!lastRequest?.response || !lastRequest.modelId) {
|
|
148
|
+
this.hide();
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const response = lastRequest.response;
|
|
152
|
+
const modelId = lastRequest.modelId;
|
|
153
|
+
this._lastRequestDisposable.value = autorun(reader => {
|
|
154
|
+
const isComplete = !response.isInProgress.read(reader);
|
|
155
|
+
if (isComplete) {
|
|
156
|
+
this.updateFromResponse(response, modelId);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
updateFromResponse(response, modelId) {
|
|
161
|
+
const usage = response.result?.usage;
|
|
162
|
+
const modelMetadata = this.languageModelsService.lookupLanguageModel(modelId);
|
|
163
|
+
const maxInputTokens = modelMetadata?.maxInputTokens;
|
|
164
|
+
if (!usage || !maxInputTokens || maxInputTokens <= 0) {
|
|
165
|
+
this.hide();
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
const promptTokens = usage.promptTokens;
|
|
169
|
+
const promptTokenDetails = usage.promptTokenDetails;
|
|
170
|
+
const percentage = Math.min(100, (promptTokens / maxInputTokens) * 100);
|
|
171
|
+
this.render(percentage, promptTokens, maxInputTokens, promptTokenDetails);
|
|
172
|
+
this.show();
|
|
173
|
+
}
|
|
174
|
+
render(percentage, promptTokens, maxTokens, promptTokenDetails) {
|
|
175
|
+
this.currentData = {
|
|
176
|
+
promptTokens,
|
|
177
|
+
maxInputTokens: maxTokens,
|
|
178
|
+
percentage,
|
|
179
|
+
promptTokenDetails
|
|
180
|
+
};
|
|
181
|
+
this.progressIndicator.setProgress(percentage);
|
|
182
|
+
this.domNode.classList.remove("warning", "error");
|
|
183
|
+
if (percentage >= 90) {
|
|
184
|
+
this.domNode.classList.add("error");
|
|
185
|
+
} else if (percentage >= 75) {
|
|
186
|
+
this.domNode.classList.add("warning");
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
show() {
|
|
190
|
+
if (this.domNode.style.display === "none") {
|
|
191
|
+
this.domNode.style.display = "";
|
|
192
|
+
this._isVisible.set(true, undefined);
|
|
193
|
+
this._onDidChangeVisibility.fire();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
hide() {
|
|
197
|
+
if (this.domNode.style.display !== "none") {
|
|
198
|
+
this.domNode.style.display = "none";
|
|
199
|
+
this._isVisible.set(false, undefined);
|
|
200
|
+
this._onDidChangeVisibility.fire();
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
ChatContextUsageWidget = ( __decorate([( __param(0, IHoverService)), ( __param(1, IInstantiationService)), ( __param(2, ILanguageModelsService))], ChatContextUsageWidget));
|
|
205
|
+
|
|
206
|
+
export { ChatContextUsageWidget, CircularProgressIndicator };
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
/* Remove the outline and change border color on focus instead */
|
|
7
|
+
.workbench-hover-container.locked:has(.chat-context-usage-details) .monaco-hover.workbench-hover {
|
|
8
|
+
outline: none;
|
|
9
|
+
}
|
|
10
|
+
.workbench-hover-container:focus-within.locked:has(.chat-context-usage-details) .monaco-hover.workbench-hover {
|
|
11
|
+
outline: none;
|
|
12
|
+
border-color: var(--vscode-focusBorder);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.chat-context-usage-details {
|
|
16
|
+
display: flex;
|
|
17
|
+
flex-direction: column;
|
|
18
|
+
padding: 4px 0;
|
|
19
|
+
min-width: 200px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.chat-context-usage-details:focus {
|
|
23
|
+
outline: none;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* Using same structure as ChatUsageWidget quota items */
|
|
27
|
+
.chat-context-usage-details .quota-item {
|
|
28
|
+
margin-bottom: 4px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.chat-context-usage-details .quota-item-header {
|
|
32
|
+
display: flex;
|
|
33
|
+
align-items: center;
|
|
34
|
+
justify-content: space-between;
|
|
35
|
+
margin-bottom: 2px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.chat-context-usage-details .quota-item-label {
|
|
39
|
+
color: var(--vscode-foreground);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.chat-context-usage-details .quota-item-value {
|
|
43
|
+
color: var(--vscode-descriptionForeground);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.chat-context-usage-details .token-row {
|
|
47
|
+
display: flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
gap: 4px;
|
|
50
|
+
margin-bottom: 2px;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.chat-context-usage-details .token-count-label {
|
|
54
|
+
font-size: 12px;
|
|
55
|
+
color: var(--vscode-descriptionForeground);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* Progress bar - matching chat usage implementation */
|
|
59
|
+
.chat-context-usage-details .quota-item .quota-bar {
|
|
60
|
+
width: 100%;
|
|
61
|
+
height: 4px;
|
|
62
|
+
background-color: var(--vscode-gauge-background);
|
|
63
|
+
border-radius: 4px;
|
|
64
|
+
border: 1px solid var(--vscode-gauge-border);
|
|
65
|
+
margin: 2px 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.chat-context-usage-details .quota-item .quota-bar .quota-bit {
|
|
69
|
+
height: 100%;
|
|
70
|
+
background-color: var(--vscode-gauge-foreground);
|
|
71
|
+
border-radius: 4px;
|
|
72
|
+
transition: width 0.3s ease;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.chat-context-usage-details .quota-item.warning .quota-bar {
|
|
76
|
+
background-color: var(--vscode-gauge-warningBackground);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.chat-context-usage-details .quota-item.warning .quota-bar .quota-bit {
|
|
80
|
+
background-color: var(--vscode-gauge-warningForeground);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.chat-context-usage-details .quota-item.error .quota-bar {
|
|
84
|
+
background-color: var(--vscode-gauge-errorBackground);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.chat-context-usage-details .quota-item.error .quota-bar .quota-bit {
|
|
88
|
+
background-color: var(--vscode-gauge-errorForeground);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.chat-context-usage-details .warning-message {
|
|
92
|
+
font-size: 12px;
|
|
93
|
+
color: var(--vscode-descriptionForeground);
|
|
94
|
+
margin-bottom: 4px;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* Token details breakdown */
|
|
98
|
+
.chat-context-usage-details .token-details-container {
|
|
99
|
+
margin-top: 4px;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.chat-context-usage-details .token-category {
|
|
103
|
+
margin-bottom: 4px;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.chat-context-usage-details .token-category-header {
|
|
107
|
+
font-weight: 600;
|
|
108
|
+
color: var(--vscode-foreground);
|
|
109
|
+
margin-bottom: 2px;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.chat-context-usage-details .token-detail-item {
|
|
113
|
+
display: flex;
|
|
114
|
+
justify-content: space-between;
|
|
115
|
+
align-items: center;
|
|
116
|
+
padding-left: 8px;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.chat-context-usage-details .token-detail-label {
|
|
120
|
+
color: var(--vscode-foreground);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.chat-context-usage-details .token-detail-value {
|
|
124
|
+
color: var(--vscode-descriptionForeground);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.chat-context-usage-details .actions-section .separator {
|
|
128
|
+
border-top: 1px solid var(--vscode-editorHoverWidget-border);
|
|
129
|
+
margin: 4px 0;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.chat-context-usage-details .actions-section .actions-header {
|
|
133
|
+
font-weight: 600;
|
|
134
|
+
color: var(--vscode-foreground);
|
|
135
|
+
margin-bottom: 4px;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.chat-context-usage-details .actions-section .button-bar-container {
|
|
139
|
+
display: flex;
|
|
140
|
+
flex-direction: column;
|
|
141
|
+
gap: 4px;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.chat-context-usage-details .actions-section .button-bar-container .monaco-button-bar {
|
|
145
|
+
flex-direction: column;
|
|
146
|
+
gap: 4px;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.chat-context-usage-details .actions-section .button-bar-container .monaco-button {
|
|
150
|
+
width: 100%;
|
|
151
|
+
justify-content: center;
|
|
152
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
.chat-context-usage-widget {
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
height: 22px;
|
|
11
|
+
flex-shrink: 0;
|
|
12
|
+
cursor: pointer;
|
|
13
|
+
padding: 3px;
|
|
14
|
+
border-radius: 5px;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.chat-context-usage-widget .icon-container {
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: center;
|
|
22
|
+
width: 16px;
|
|
23
|
+
height: 16px;
|
|
24
|
+
flex-shrink: 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.chat-context-usage-widget:hover {
|
|
28
|
+
background-color: var(--vscode-toolbar-hoverBackground);
|
|
29
|
+
outline: 1px dashed var(--vscode-toolbar-hoverOutline);
|
|
30
|
+
outline-offset: -1px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.chat-context-usage-widget:focus {
|
|
34
|
+
outline: 1px solid var(--vscode-focusBorder);
|
|
35
|
+
outline-offset: -1px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.chat-context-usage-widget:active {
|
|
39
|
+
background-color: var(--vscode-toolbar-activeBackground);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.chat-context-usage-widget .circular-progress {
|
|
43
|
+
width: 100%;
|
|
44
|
+
height: 100%;
|
|
45
|
+
pointer-events: none;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.chat-context-usage-widget .progress-bg {
|
|
49
|
+
fill: transparent;
|
|
50
|
+
stroke: var(--vscode-icon-foreground);
|
|
51
|
+
stroke-width: 2;
|
|
52
|
+
opacity: 0.4;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.chat-context-usage-widget .progress-pie {
|
|
56
|
+
fill: var(--vscode-icon-foreground);
|
|
57
|
+
opacity: 0.8;
|
|
58
|
+
pointer-events: none;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.chat-context-usage-widget.warning .progress-pie {
|
|
62
|
+
fill: var(--vscode-editorWarning-foreground);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.chat-context-usage-widget.error .progress-pie {
|
|
66
|
+
fill: var(--vscode-editorError-foreground);
|
|
67
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
2
|
+
import { IRange } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range";
|
|
3
|
+
import { IChatProgressRenderableResponseContent, IChatProgressResponseContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
|
|
4
|
+
export declare const contentRefUrl = "http://_vscodecontentref_";
|
|
5
|
+
export declare function annotateSpecialMarkdownContent(response: Iterable<IChatProgressResponseContent>): IChatProgressRenderableResponseContent[];
|
|
6
|
+
export interface IMarkdownVulnerability {
|
|
7
|
+
readonly title: string;
|
|
8
|
+
readonly description: string;
|
|
9
|
+
readonly range: IRange;
|
|
10
|
+
}
|
|
11
|
+
export declare function extractCodeblockUrisFromText(text: string): {
|
|
12
|
+
uri: URI;
|
|
13
|
+
isEdit?: boolean;
|
|
14
|
+
subAgentInvocationId?: string;
|
|
15
|
+
textWithoutResult: string;
|
|
16
|
+
} | undefined;
|
|
17
|
+
export declare function extractSubAgentInvocationIdFromText(text: string): string | undefined;
|
|
18
|
+
export declare function hasCodeblockUriTag(text: string): boolean;
|
|
19
|
+
export declare function extractVulnerabilitiesFromText(text: string): {
|
|
20
|
+
newText: string;
|
|
21
|
+
vulnerabilities: IMarkdownVulnerability[];
|
|
22
|
+
};
|