@codingame/monaco-vscode-katex-common 27.0.0 → 28.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.js +2 -0
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
- package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +30 -2
- package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +17 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +90 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +106 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +63 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +13 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +133 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +69 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +55 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +38 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +72 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +1 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -110
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.d.ts +1 -1
- 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.d.ts +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/chatChangesSummaryPart.d.ts +1 -1
- 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.d.ts +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/chatCollapsibleContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.d.ts +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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.d.ts +1 -1
- 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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +3 -3
- 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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +6 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +26 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +290 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +263 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.d.ts +1 -1
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +22 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +12 -18
- 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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +3 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +6 -260
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.d.ts +1 -1
- 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.d.ts +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.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +129 -117
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +56 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +20 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +43 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +42 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +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 +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -1
- 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/chatToolProgressPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.d.ts +1 -1
- 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 +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +61 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +7 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +1 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +81 -191
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +31 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +334 -181
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +51 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +104 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +127 -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/modePickerActionItem.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +16 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +213 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +10 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +6 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +174 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +2 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +12 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +36 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +19 -4
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +22 -6
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +24 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +38 -46
- 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/replNotebook/browser/replEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +6 -10
|
@@ -313,10 +313,13 @@
|
|
|
313
313
|
font-weight: 600;
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
-
.interactive-item-container .value .rendered-markdown table {
|
|
316
|
+
.interactive-item-container .value .rendered-markdown .rendered-markdown-table-scroll-wrapper {
|
|
317
317
|
width: 100%;
|
|
318
|
-
text-align: left;
|
|
319
318
|
margin-bottom: 16px;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
.interactive-item-container .value .rendered-markdown table {
|
|
322
|
+
text-align: left;
|
|
320
323
|
border-radius: var(--vscode-cornerRadius-medium);
|
|
321
324
|
overflow: hidden;
|
|
322
325
|
border-collapse: separate;
|
|
@@ -332,6 +335,11 @@
|
|
|
332
335
|
padding: 4px 6px;
|
|
333
336
|
}
|
|
334
337
|
|
|
338
|
+
.interactive-item-container .value .rendered-markdown table th {
|
|
339
|
+
white-space: normal;
|
|
340
|
+
overflow-wrap: break-word;
|
|
341
|
+
}
|
|
342
|
+
|
|
335
343
|
.interactive-item-container .value .rendered-markdown table td:last-child,
|
|
336
344
|
.interactive-item-container .value .rendered-markdown table th:last-child {
|
|
337
345
|
border-right: none;
|
|
@@ -812,11 +820,26 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
812
820
|
position: relative;
|
|
813
821
|
}
|
|
814
822
|
|
|
815
|
-
/*
|
|
816
|
-
|
|
823
|
+
/* Prevent contents from covering border corners. Not applied in compact mode
|
|
824
|
+
because overflow:hidden creates a BFC that causes a ResizeObserver ↔ layout
|
|
825
|
+
feedback loop when toolbars share width with the editor. */
|
|
826
|
+
.interactive-session .interactive-input-part:not(.compact) .chat-input-container {
|
|
827
|
+
/* Prevent contents from covering border corner */
|
|
828
|
+
overflow: hidden;
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
/* Context usage widget container - positioned in the secondary toolbar below input */
|
|
832
|
+
.interactive-session .chat-input-toolbars .chat-context-usage-container,
|
|
833
|
+
.interactive-session .chat-secondary-toolbar .chat-context-usage-container {
|
|
817
834
|
display: flex;
|
|
818
835
|
align-items: center;
|
|
819
836
|
flex-shrink: 0;
|
|
837
|
+
margin-left: auto;
|
|
838
|
+
order: 1;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
/* When context usage is inside the toolbars (compact mode), keep the ordering */
|
|
842
|
+
.interactive-session .chat-input-toolbars .chat-context-usage-container {
|
|
820
843
|
order: 1;
|
|
821
844
|
}
|
|
822
845
|
|
|
@@ -1257,6 +1280,8 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1257
1280
|
display: flex;
|
|
1258
1281
|
justify-content: space-between;
|
|
1259
1282
|
padding-bottom: 0;
|
|
1283
|
+
/* no scrollbar */
|
|
1284
|
+
padding-right: 6px;
|
|
1260
1285
|
border-radius: var(--vscode-cornerRadius-small);
|
|
1261
1286
|
}
|
|
1262
1287
|
|
|
@@ -1272,7 +1297,12 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1272
1297
|
}
|
|
1273
1298
|
|
|
1274
1299
|
.chat-editor-container {
|
|
1275
|
-
padding: 0 4px;
|
|
1300
|
+
padding: 0 0 0 4px;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
.interactive-session .interactive-input-part.compact .chat-editor-container {
|
|
1304
|
+
/* No scrollbar */
|
|
1305
|
+
padding-right: 4px;
|
|
1276
1306
|
}
|
|
1277
1307
|
|
|
1278
1308
|
.chat-editor-container .monaco-editor .mtk1 {
|
|
@@ -1313,10 +1343,94 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1313
1343
|
margin-top: 4px;
|
|
1314
1344
|
}
|
|
1315
1345
|
|
|
1346
|
+
/* Secondary toolbar below the input box */
|
|
1347
|
+
.interactive-session .chat-secondary-toolbar {
|
|
1348
|
+
display: flex;
|
|
1349
|
+
align-items: center;
|
|
1350
|
+
gap: 6px;
|
|
1351
|
+
padding: 0 4px 0 5px;
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
.interactive-session .chat-secondary-toolbar:empty {
|
|
1355
|
+
display: none;
|
|
1356
|
+
}
|
|
1357
|
+
|
|
1358
|
+
.interactive-session .chat-secondary-toolbar > .chat-secondary-input-toolbar {
|
|
1359
|
+
overflow: hidden;
|
|
1360
|
+
min-width: 0px;
|
|
1361
|
+
color: var(--vscode-icon-foreground);
|
|
1362
|
+
|
|
1363
|
+
.monaco-action-bar .action-item .codicon {
|
|
1364
|
+
color: var(--vscode-icon-foreground);
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1367
|
+
.chat-input-picker-item {
|
|
1368
|
+
min-width: 0px;
|
|
1369
|
+
overflow: hidden;
|
|
1370
|
+
|
|
1371
|
+
.action-label {
|
|
1372
|
+
min-width: 0px;
|
|
1373
|
+
overflow: hidden;
|
|
1374
|
+
position: relative;
|
|
1375
|
+
|
|
1376
|
+
.chat-input-picker-label {
|
|
1377
|
+
overflow: hidden;
|
|
1378
|
+
text-overflow: ellipsis;
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
span + .chat-input-picker-label {
|
|
1382
|
+
margin-left: 2px;
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1385
|
+
.codicon {
|
|
1386
|
+
font-size: 12px;
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
.codicon {
|
|
1391
|
+
flex-shrink: 0;
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
.interactive-session .chat-secondary-toolbar .chat-input-picker-item .action-label {
|
|
1397
|
+
height: 16px;
|
|
1398
|
+
padding: 3px 0px 3px 6px;
|
|
1399
|
+
display: flex;
|
|
1400
|
+
align-items: center;
|
|
1401
|
+
color: var(--vscode-icon-foreground);
|
|
1402
|
+
}
|
|
1403
|
+
|
|
1404
|
+
.interactive-session .chat-secondary-toolbar .chat-input-picker-item .action-label.warning {
|
|
1405
|
+
color: var(--vscode-problemsWarningIcon-foreground);
|
|
1406
|
+
}
|
|
1407
|
+
|
|
1408
|
+
.interactive-session .chat-secondary-toolbar .chat-input-picker-item .action-label.warning .codicon {
|
|
1409
|
+
color: var(--vscode-problemsWarningIcon-foreground) !important;
|
|
1410
|
+
}
|
|
1411
|
+
|
|
1412
|
+
.interactive-session .chat-secondary-toolbar .chat-input-picker-item .action-label.info {
|
|
1413
|
+
color: var(--vscode-problemsInfoIcon-foreground);
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
.interactive-session .chat-secondary-toolbar .chat-input-picker-item .action-label.info .codicon {
|
|
1417
|
+
color: var(--vscode-problemsInfoIcon-foreground) !important;
|
|
1418
|
+
}
|
|
1419
|
+
|
|
1420
|
+
.monaco-workbench .interactive-session .chat-secondary-toolbar .chat-input-picker-item .action-label .codicon-chevron-down {
|
|
1421
|
+
font-size: 10px;
|
|
1422
|
+
margin-left: 4px;
|
|
1423
|
+
opacity: 0.75;
|
|
1424
|
+
}
|
|
1425
|
+
|
|
1316
1426
|
.interactive-session .chat-input-toolbars :not(.responsive.chat-input-toolbar) .actions-container:first-child {
|
|
1317
1427
|
margin-right: auto;
|
|
1318
1428
|
}
|
|
1319
1429
|
|
|
1430
|
+
.interactive-session .chat-input-toolbars > .chat-input-toolbar .actions-container:first-child {
|
|
1431
|
+
margin-right: 0;
|
|
1432
|
+
}
|
|
1433
|
+
|
|
1320
1434
|
.interactive-session .chat-input-toolbars .tool-warning-indicator {
|
|
1321
1435
|
position: absolute;
|
|
1322
1436
|
bottom: 0;
|
|
@@ -1394,19 +1508,57 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1394
1508
|
.interactive-session .chat-input-toolbar .chat-input-picker-item .action-label,
|
|
1395
1509
|
.interactive-session .chat-input-toolbar .chat-sessionPicker-item .action-label {
|
|
1396
1510
|
height: 16px;
|
|
1397
|
-
padding: 3px
|
|
1511
|
+
padding: 3px 1px 3px 7px;
|
|
1398
1512
|
display: flex;
|
|
1399
1513
|
align-items: center;
|
|
1400
1514
|
color: var(--vscode-icon-foreground);
|
|
1401
1515
|
}
|
|
1402
1516
|
|
|
1517
|
+
/* Keep hover background while picker dropdown is open */
|
|
1518
|
+
.interactive-session .chat-input-toolbar .action-label[aria-expanded="true"],
|
|
1519
|
+
.interactive-session .chat-secondary-toolbar .action-label[aria-expanded="true"] {
|
|
1520
|
+
background-color: var(--vscode-toolbar-hoverBackground);
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1523
|
+
/* When chevrons are hidden and only showing an icon (no label), size to 22x22 with centered icon */
|
|
1524
|
+
.interactive-session .chat-input-toolbar .chat-input-picker-item .action-label.hide-chevrons:not(:has(.chat-input-picker-label)),
|
|
1525
|
+
.interactive-session .chat-input-toolbar .chat-input-picker-item.hide-chevrons .action-label:not(:has(.chat-input-picker-label)),
|
|
1526
|
+
.interactive-session .chat-input-toolbar .chat-sessionPicker-item .action-label.hide-chevrons:not(:has(.chat-input-picker-label)) {
|
|
1527
|
+
width: 22px;
|
|
1528
|
+
min-width: 22px;
|
|
1529
|
+
height: 22px;
|
|
1530
|
+
padding: 0;
|
|
1531
|
+
box-sizing: border-box;
|
|
1532
|
+
display: flex;
|
|
1533
|
+
align-items: center;
|
|
1534
|
+
justify-content: center;
|
|
1535
|
+
|
|
1536
|
+
.codicon {
|
|
1537
|
+
justify-content: center;
|
|
1538
|
+
}
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
|
|
1542
|
+
/* Add context button icon sizing */
|
|
1543
|
+
.interactive-session .chat-input-toolbar .action-item:has(.codicon-add) .action-label {
|
|
1544
|
+
display: flex;
|
|
1545
|
+
align-items: center;
|
|
1546
|
+
justify-content: center;
|
|
1547
|
+
}
|
|
1548
|
+
|
|
1549
|
+
.interactive-session .chat-input-toolbar .action-item:has(.codicon-add) .codicon-add {
|
|
1550
|
+
font-size: 14px;
|
|
1551
|
+
}
|
|
1552
|
+
|
|
1403
1553
|
.monaco-workbench .interactive-session .chat-input-toolbar .chat-input-picker-item .action-label .codicon-chevron-down,
|
|
1404
1554
|
.monaco-workbench .interactive-session .chat-input-toolbar .chat-sessionPicker-item .action-label .codicon-chevron-down {
|
|
1405
|
-
font-size:
|
|
1406
|
-
margin-left:
|
|
1555
|
+
font-size: 10px;
|
|
1556
|
+
margin-left: 4px;
|
|
1557
|
+
opacity: 0.75;
|
|
1407
1558
|
}
|
|
1408
1559
|
|
|
1409
|
-
.interactive-session .chat-input-toolbars .monaco-action-bar .actions-container
|
|
1560
|
+
.interactive-session .chat-input-toolbars .monaco-action-bar .actions-container,
|
|
1561
|
+
.interactive-session .chat-secondary-toolbar .monaco-action-bar .actions-container {
|
|
1410
1562
|
display: flex;
|
|
1411
1563
|
gap: 4px;
|
|
1412
1564
|
}
|
|
@@ -1436,6 +1588,18 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1436
1588
|
color: var(--vscode-textLink-activeForeground);
|
|
1437
1589
|
}
|
|
1438
1590
|
|
|
1591
|
+
.action-widget .action-list-filter-input.chat-model-picker-filter-input,
|
|
1592
|
+
.action-widget .action-list-filter-input.chat-model-picker-filter-input:focus {
|
|
1593
|
+
outline: none;
|
|
1594
|
+
box-shadow: none;
|
|
1595
|
+
border-color: transparent;
|
|
1596
|
+
background-color: transparent;
|
|
1597
|
+
}
|
|
1598
|
+
|
|
1599
|
+
.action-widget .action-list-filter:has(.chat-model-picker-filter-input) {
|
|
1600
|
+
margin-bottom: 4px;
|
|
1601
|
+
}
|
|
1602
|
+
|
|
1439
1603
|
.interactive-session .chat-input-toolbars .codicon-debug-stop {
|
|
1440
1604
|
color: var(--vscode-icon-foreground) !important;
|
|
1441
1605
|
}
|
|
@@ -1606,7 +1770,7 @@ have to be updated for changes to the rules above, or to support more deeply nes
|
|
|
1606
1770
|
|
|
1607
1771
|
.interactive-session .interactive-input-part {
|
|
1608
1772
|
margin: 0px 12px;
|
|
1609
|
-
padding: 4px 0
|
|
1773
|
+
padding: 4px 0 4px 0px;
|
|
1610
1774
|
display: flex;
|
|
1611
1775
|
flex-direction: column;
|
|
1612
1776
|
gap: 4px;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
.interactive-session.chat-view-getting-started-disabled {
|
|
18
18
|
|
|
19
|
-
/* hide most welcome pieces
|
|
19
|
+
/* hide most welcome pieces when we show recent sessions to make some space */
|
|
20
20
|
.chat-welcome-view .chat-welcome-view-icon,
|
|
21
21
|
.chat-welcome-view .chat-welcome-view-title,
|
|
22
22
|
.chat-welcome-view .chat-welcome-view-message,
|
|
@@ -157,7 +157,7 @@ div.chat-welcome-view {
|
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
& > .chat-welcome-view-disclaimer {
|
|
160
|
-
color: var(--vscode-
|
|
160
|
+
color: var(--vscode-descriptionForeground);
|
|
161
161
|
text-align: center;
|
|
162
162
|
margin: 0;
|
|
163
163
|
max-width: 256px;
|
|
@@ -225,16 +225,6 @@ div.chat-welcome-view {
|
|
|
225
225
|
color: var(--vscode-editorWidget-foreground);
|
|
226
226
|
white-space: nowrap;
|
|
227
227
|
}
|
|
228
|
-
|
|
229
|
-
& > .chat-welcome-view-suggested-prompt-description {
|
|
230
|
-
font-size: 11px;
|
|
231
|
-
color: var(--vscode-descriptionForeground);
|
|
232
|
-
overflow: hidden;
|
|
233
|
-
text-overflow: ellipsis;
|
|
234
|
-
white-space: nowrap;
|
|
235
|
-
flex: 0 1 auto;
|
|
236
|
-
min-width: 0;
|
|
237
|
-
}
|
|
238
228
|
}
|
|
239
229
|
|
|
240
230
|
> .chat-welcome-view-suggested-prompt:hover {
|
package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js
CHANGED
|
@@ -20,23 +20,19 @@ let ChatContextUsageDetails = class ChatContextUsageDetails extends Disposable {
|
|
|
20
20
|
this.menuService = menuService;
|
|
21
21
|
this.contextKeyService = contextKeyService;
|
|
22
22
|
this.domNode = $(".chat-context-usage-details");
|
|
23
|
-
this.quotaItem = this.domNode.appendChild($(".quota-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.
|
|
29
|
-
this.percentageLabel = tokenRow.appendChild($(".quota-item-value"));
|
|
23
|
+
this.quotaItem = this.domNode.appendChild($(".quota-indicator"));
|
|
24
|
+
const header = this.domNode.insertBefore($("div.header"), this.quotaItem);
|
|
25
|
+
header.textContent = ( localize(6886, "Context Window"));
|
|
26
|
+
const quotaLabel = this.quotaItem.appendChild($(".quota-label"));
|
|
27
|
+
this.tokenCountLabel = quotaLabel.appendChild($("span"));
|
|
28
|
+
this.percentageLabel = quotaLabel.appendChild($("span.quota-value"));
|
|
30
29
|
const progressBar = this.quotaItem.appendChild($(".quota-bar"));
|
|
31
30
|
this.progressFill = progressBar.appendChild($(".quota-bit"));
|
|
32
31
|
this.tokenDetailsContainer = this.domNode.appendChild($(".token-details-container"));
|
|
33
|
-
this.warningMessage = this.domNode.appendChild($(".
|
|
34
|
-
this.warningMessage.textContent = ( localize(
|
|
32
|
+
this.warningMessage = this.domNode.appendChild($("div.description"));
|
|
33
|
+
this.warningMessage.textContent = ( localize(6887, "Quality may decline as limit nears."));
|
|
35
34
|
this.warningMessage.style.display = "none";
|
|
36
35
|
this.actionsSection = this.domNode.appendChild($(".actions-section"));
|
|
37
|
-
this.actionsSection.appendChild($(".separator"));
|
|
38
|
-
const actionsHeader = this.actionsSection.appendChild($(".actions-header"));
|
|
39
|
-
actionsHeader.textContent = ( localize(6776, "Actions"));
|
|
40
36
|
const buttonBarContainer = this.actionsSection.appendChild($(".button-bar-container"));
|
|
41
37
|
this._register(this.instantiationService.createInstance(
|
|
42
38
|
MenuWorkbenchButtonBar,
|
|
@@ -70,12 +66,12 @@ let ChatContextUsageDetails = class ChatContextUsageDetails extends Disposable {
|
|
|
70
66
|
promptTokenDetails
|
|
71
67
|
} = data;
|
|
72
68
|
this.tokenCountLabel.textContent = ( localize(
|
|
73
|
-
|
|
69
|
+
6888,
|
|
74
70
|
"{0} / {1} tokens",
|
|
75
71
|
this.formatTokenCount(usedTokens, 1),
|
|
76
72
|
this.formatTokenCount(totalContextWindow, 0)
|
|
77
73
|
));
|
|
78
|
-
this.percentageLabel.textContent =
|
|
74
|
+
this.percentageLabel.textContent = ( localize(6889, "{0}%", percentage.toFixed(0)));
|
|
79
75
|
this.progressFill.style.width = `${Math.min(100, percentage)}%`;
|
|
80
76
|
this.quotaItem.classList.remove("warning", "error");
|
|
81
77
|
if (percentage >= 90) {
|
|
@@ -115,8 +111,8 @@ let ChatContextUsageDetails = class ChatContextUsageDetails extends Disposable {
|
|
|
115
111
|
}
|
|
116
112
|
if (totalPercentage < 100) {
|
|
117
113
|
const uncategorizedPercentage = 100 - totalPercentage;
|
|
118
|
-
categoryMap.set(( localize(
|
|
119
|
-
label: ( localize(
|
|
114
|
+
categoryMap.set(( localize(6890, "Uncategorized")), [{
|
|
115
|
+
label: ( localize(6891, "Other")),
|
|
120
116
|
percentageOfPrompt: uncategorizedPercentage
|
|
121
117
|
}]);
|
|
122
118
|
}
|
|
@@ -42,6 +42,7 @@ export declare class ChatContextUsageWidget extends Disposable {
|
|
|
42
42
|
readonly onDidChangeVisibility: Event<void>;
|
|
43
43
|
readonly domNode: HTMLElement;
|
|
44
44
|
private readonly progressIndicator;
|
|
45
|
+
private readonly percentageLabel;
|
|
45
46
|
private readonly _isVisible;
|
|
46
47
|
get isVisible(): IObservable<boolean>;
|
|
47
48
|
private readonly _lastRequestDisposable;
|
package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js
CHANGED
|
@@ -110,10 +110,11 @@ let ChatContextUsageWidget = class ChatContextUsageWidget extends Disposable {
|
|
|
110
110
|
this.domNode.style.display = "none";
|
|
111
111
|
this.domNode.setAttribute("tabindex", "0");
|
|
112
112
|
this.domNode.setAttribute("role", "button");
|
|
113
|
-
this.domNode.setAttribute("aria-label", ( localize(
|
|
113
|
+
this.domNode.setAttribute("aria-label", ( localize(6892, "Context window usage")));
|
|
114
114
|
const iconContainer = this.domNode.appendChild($(".icon-container"));
|
|
115
115
|
this.progressIndicator = ( new CircularProgressIndicator());
|
|
116
116
|
iconContainer.appendChild(this.progressIndicator.domNode);
|
|
117
|
+
this.percentageLabel = this.domNode.appendChild($(".percentage-label"));
|
|
117
118
|
this._contextUsageOpenedKey = ChatContextKeys.contextUsageHasBeenOpened.bindTo(this.contextKeyService);
|
|
118
119
|
if (this.storageService.getBoolean(
|
|
119
120
|
ChatContextUsageWidget_1._OPENED_STORAGE_KEY,
|
|
@@ -238,6 +239,9 @@ let ChatContextUsageWidget = class ChatContextUsageWidget extends Disposable {
|
|
|
238
239
|
promptTokenDetails
|
|
239
240
|
};
|
|
240
241
|
this.progressIndicator.setProgress(percentage);
|
|
242
|
+
const roundedPercentage = Math.round(percentage);
|
|
243
|
+
this.percentageLabel.textContent = `${roundedPercentage}%`;
|
|
244
|
+
this.domNode.setAttribute("aria-label", ( localize(6893, "Context window usage: {0}%", roundedPercentage)));
|
|
241
245
|
this.domNode.classList.remove("warning", "error");
|
|
242
246
|
if (percentage >= 90) {
|
|
243
247
|
this.domNode.classList.add("error");
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
.chat-context-usage-details {
|
|
16
16
|
display: flex;
|
|
17
17
|
flex-direction: column;
|
|
18
|
-
|
|
18
|
+
margin-top: 4px;
|
|
19
|
+
margin-bottom: 4px;
|
|
19
20
|
min-width: 200px;
|
|
20
21
|
}
|
|
21
22
|
|
|
@@ -23,97 +24,88 @@
|
|
|
23
24
|
outline: none;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
/*
|
|
27
|
-
.chat-context-usage-details .
|
|
28
|
-
margin-bottom: 4px;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.chat-context-usage-details .quota-item-header {
|
|
27
|
+
/* Section headers — matching ChatStatusDashboard */
|
|
28
|
+
.chat-context-usage-details div.header {
|
|
32
29
|
display: flex;
|
|
33
30
|
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
31
|
color: var(--vscode-descriptionForeground);
|
|
32
|
+
margin-bottom: 4px;
|
|
33
|
+
font-weight: 600;
|
|
44
34
|
}
|
|
45
35
|
|
|
46
|
-
|
|
36
|
+
/* Quota indicator — matching ChatStatusDashboard */
|
|
37
|
+
.chat-context-usage-details .quota-indicator .quota-label {
|
|
47
38
|
display: flex;
|
|
48
|
-
|
|
49
|
-
gap:
|
|
50
|
-
margin-bottom:
|
|
39
|
+
justify-content: space-between;
|
|
40
|
+
gap: 20px;
|
|
41
|
+
margin-bottom: 3px;
|
|
51
42
|
}
|
|
52
43
|
|
|
53
|
-
.chat-context-usage-details .
|
|
54
|
-
font-size: 12px;
|
|
44
|
+
.chat-context-usage-details .quota-indicator .quota-label .quota-value {
|
|
55
45
|
color: var(--vscode-descriptionForeground);
|
|
56
46
|
}
|
|
57
47
|
|
|
58
|
-
|
|
59
|
-
.chat-context-usage-details .quota-item .quota-bar {
|
|
48
|
+
.chat-context-usage-details .quota-indicator .quota-bar {
|
|
60
49
|
width: 100%;
|
|
61
50
|
height: 4px;
|
|
62
51
|
background-color: var(--vscode-gauge-background);
|
|
63
52
|
border-radius: 4px;
|
|
64
53
|
border: 1px solid var(--vscode-gauge-border);
|
|
65
|
-
margin:
|
|
54
|
+
margin: 4px 0;
|
|
66
55
|
}
|
|
67
56
|
|
|
68
|
-
.chat-context-usage-details .quota-
|
|
57
|
+
.chat-context-usage-details .quota-indicator .quota-bar .quota-bit {
|
|
69
58
|
height: 100%;
|
|
70
59
|
background-color: var(--vscode-gauge-foreground);
|
|
71
60
|
border-radius: 4px;
|
|
72
61
|
transition: width 0.3s ease;
|
|
73
62
|
}
|
|
74
63
|
|
|
75
|
-
.chat-context-usage-details .quota-
|
|
64
|
+
.chat-context-usage-details .quota-indicator.warning .quota-bar {
|
|
76
65
|
background-color: var(--vscode-gauge-warningBackground);
|
|
77
66
|
}
|
|
78
67
|
|
|
79
|
-
.chat-context-usage-details .quota-
|
|
68
|
+
.chat-context-usage-details .quota-indicator.warning .quota-bar .quota-bit {
|
|
80
69
|
background-color: var(--vscode-gauge-warningForeground);
|
|
81
70
|
}
|
|
82
71
|
|
|
83
|
-
.chat-context-usage-details .quota-
|
|
72
|
+
.chat-context-usage-details .quota-indicator.error .quota-bar {
|
|
84
73
|
background-color: var(--vscode-gauge-errorBackground);
|
|
85
74
|
}
|
|
86
75
|
|
|
87
|
-
.chat-context-usage-details .quota-
|
|
76
|
+
.chat-context-usage-details .quota-indicator.error .quota-bar .quota-bit {
|
|
88
77
|
background-color: var(--vscode-gauge-errorForeground);
|
|
89
78
|
}
|
|
90
79
|
|
|
91
|
-
|
|
92
|
-
|
|
80
|
+
/* Description / warning text — matching ChatStatusDashboard */
|
|
81
|
+
.chat-context-usage-details div.description {
|
|
82
|
+
font-size: 11px;
|
|
93
83
|
color: var(--vscode-descriptionForeground);
|
|
94
|
-
|
|
84
|
+
display: flex;
|
|
85
|
+
align-items: center;
|
|
86
|
+
gap: 3px;
|
|
95
87
|
}
|
|
96
88
|
|
|
97
89
|
/* Token details breakdown */
|
|
98
|
-
.chat-context-usage-details .token-details-container {
|
|
99
|
-
margin-top: 4px;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
90
|
.chat-context-usage-details .token-category {
|
|
103
|
-
margin-bottom:
|
|
91
|
+
margin-bottom: 6px;
|
|
104
92
|
}
|
|
105
93
|
|
|
106
94
|
.chat-context-usage-details .token-category-header {
|
|
95
|
+
display: flex;
|
|
96
|
+
align-items: center;
|
|
97
|
+
color: var(--vscode-descriptionForeground);
|
|
98
|
+
margin-top: 16px;
|
|
99
|
+
margin-bottom: 4px;
|
|
107
100
|
font-weight: 600;
|
|
108
|
-
color: var(--vscode-foreground);
|
|
109
|
-
margin-bottom: 2px;
|
|
110
101
|
}
|
|
111
102
|
|
|
112
103
|
.chat-context-usage-details .token-detail-item {
|
|
113
104
|
display: flex;
|
|
114
105
|
justify-content: space-between;
|
|
115
106
|
align-items: center;
|
|
116
|
-
|
|
107
|
+
gap: 20px;
|
|
108
|
+
margin-bottom: 2px;
|
|
117
109
|
}
|
|
118
110
|
|
|
119
111
|
.chat-context-usage-details .token-detail-label {
|
|
@@ -124,15 +116,9 @@
|
|
|
124
116
|
color: var(--vscode-descriptionForeground);
|
|
125
117
|
}
|
|
126
118
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
margin:
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
.chat-context-usage-details .actions-section .actions-header {
|
|
133
|
-
font-weight: 600;
|
|
134
|
-
color: var(--vscode-foreground);
|
|
135
|
-
margin-bottom: 4px;
|
|
119
|
+
/* Actions section */
|
|
120
|
+
.chat-context-usage-details .actions-section {
|
|
121
|
+
margin-top: 8px;
|
|
136
122
|
}
|
|
137
123
|
|
|
138
124
|
.chat-context-usage-details .actions-section .button-bar-container {
|
|
@@ -6,9 +6,7 @@
|
|
|
6
6
|
.chat-context-usage-widget {
|
|
7
7
|
display: flex;
|
|
8
8
|
align-items: center;
|
|
9
|
-
|
|
10
|
-
height: 22px;
|
|
11
|
-
width: 22px;
|
|
9
|
+
gap: 4px;
|
|
12
10
|
flex-shrink: 0;
|
|
13
11
|
cursor: pointer;
|
|
14
12
|
padding: 3px;
|
|
@@ -55,7 +53,7 @@
|
|
|
55
53
|
|
|
56
54
|
.chat-context-usage-widget .progress-arc {
|
|
57
55
|
fill: none;
|
|
58
|
-
stroke: var(--vscode-
|
|
56
|
+
stroke: var(--vscode-icon-foreground);
|
|
59
57
|
stroke-width: 4;
|
|
60
58
|
stroke-linecap: round;
|
|
61
59
|
transform: rotate(-90deg);
|
|
@@ -70,3 +68,20 @@
|
|
|
70
68
|
.chat-context-usage-widget.error .progress-arc {
|
|
71
69
|
stroke: var(--vscode-editorError-foreground);
|
|
72
70
|
}
|
|
71
|
+
|
|
72
|
+
.chat-context-usage-widget .percentage-label {
|
|
73
|
+
font-size: 11px;
|
|
74
|
+
line-height: 1;
|
|
75
|
+
color: var(--vscode-descriptionForeground);
|
|
76
|
+
white-space: nowrap;
|
|
77
|
+
max-width: 0;
|
|
78
|
+
opacity: 0;
|
|
79
|
+
overflow: hidden;
|
|
80
|
+
transition: max-width 0.1s ease-out, opacity 0.1s ease-out;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.chat-context-usage-widget:hover .percentage-label,
|
|
84
|
+
.chat-context-usage-widget:focus .percentage-label {
|
|
85
|
+
max-width: 4em;
|
|
86
|
+
opacity: 1;
|
|
87
|
+
}
|
|
@@ -64,12 +64,24 @@ function annotateSpecialMarkdownContent(response) {
|
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
} else if (item.kind === "markdownContent" && previousItem?.kind === "markdownContent"
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
} else if (item.kind === "markdownContent" && previousItem?.kind === "markdownContent") {
|
|
68
|
+
if (canMergeMarkdownStrings(previousItem.content, item.content)) {
|
|
69
|
+
const merged = appendMarkdownString(previousItem.content, item.content);
|
|
70
|
+
result[previousItemIndex] = {
|
|
71
|
+
...previousItem,
|
|
72
|
+
content: merged
|
|
73
|
+
};
|
|
74
|
+
} else if (previousItem.inlineReferences && isContentRefOnly(previousItem.content.value)) {
|
|
75
|
+
result[previousItemIndex] = {
|
|
76
|
+
...previousItem,
|
|
77
|
+
content: {
|
|
78
|
+
...item.content,
|
|
79
|
+
value: previousItem.content.value + item.content.value
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
} else {
|
|
83
|
+
result.push(item);
|
|
84
|
+
}
|
|
73
85
|
} else if (item.kind === "markdownVuln") {
|
|
74
86
|
const vulnText = encodeURIComponent(JSON.stringify(item.vulnerabilities));
|
|
75
87
|
const markdownText = `<vscode_annotation details='${vulnText}'>${item.content.value}</vscode_annotation>`;
|
|
@@ -103,6 +115,10 @@ function annotateSpecialMarkdownContent(response) {
|
|
|
103
115
|
}
|
|
104
116
|
return result;
|
|
105
117
|
}
|
|
118
|
+
const contentRefPattern = ( new RegExp(`^(\\[.*?\\]\\(${contentRefUrl}/\\d+\\))+$`));
|
|
119
|
+
function isContentRefOnly(text) {
|
|
120
|
+
return contentRefPattern.test(text);
|
|
121
|
+
}
|
|
106
122
|
function isInsideCodeContext(text) {
|
|
107
123
|
const lines = text.split("\n");
|
|
108
124
|
let inFencedBlock = false;
|