@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.
Files changed (317) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +23 -2
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +64 -27
  4. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.d.ts +3 -1
  5. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.js +31 -28
  6. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +2 -0
  7. package/vscode/src/vs/platform/actions/browser/buttonbar.js +71 -50
  8. package/vscode/src/vs/platform/editor/browser/editor.js +17 -7
  9. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +112 -129
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +10 -1
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +110 -85
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +5 -5
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +21 -6
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +308 -216
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +153 -148
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +27 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +247 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +71 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +347 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +44 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +287 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +20 -0
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +89 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +188 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +677 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentSessionHoverWidget.css +98 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +263 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +34 -25
  29. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +19 -14
  30. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +762 -359
  31. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +22 -1
  32. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +188 -99
  33. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +9 -3
  34. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +166 -113
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +12 -5
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +279 -213
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +46 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +533 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +28 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +382 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +101 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +509 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +130 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +276 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +24 -7
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +128 -52
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +153 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +1218 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionPickerActionItem.css +14 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +39 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +193 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +2 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +93 -89
  54. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome.js +5 -2
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +42 -47
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +58 -56
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +18 -14
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +17 -15
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +6 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +132 -68
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +0 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +68 -47
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +14 -13
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +4 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +36 -24
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +18 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +32 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.d.ts +7 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.js +15 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.d.ts +1 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +22 -14
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.d.ts +0 -2
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +34 -27
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +1 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +198 -135
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.d.ts +2 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +38 -10
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +29 -27
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +0 -2
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +41 -36
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +0 -2
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +23 -18
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.js +13 -13
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.d.ts +0 -3
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +20 -14
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +11 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +291 -152
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +2 -3
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +227 -162
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownDecorationsRenderer.js +68 -72
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.d.ts +2 -4
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +76 -75
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +2 -5
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +96 -76
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +4 -1
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +74 -38
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +0 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -25
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +107 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +814 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +0 -2
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +34 -29
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +8 -10
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +236 -197
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +123 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +492 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +75 -47
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.d.ts +2 -4
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +31 -20
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.d.ts +0 -3
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +42 -36
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +55 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +714 -148
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +7 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +21 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +2 -7
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +143 -153
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +14 -5
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +79 -61
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +10 -4
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +209 -77
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.d.ts +9 -7
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +71 -54
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.d.ts +18 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +83 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +4 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +248 -190
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +1 -14
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +23 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPullRequestContent.css +5 -41
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +493 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +63 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +9 -1
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +121 -5
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +37 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +51 -45
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +46 -42
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +4 -2
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +99 -67
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +112 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +634 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +49 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +132 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.js +15 -9
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +196 -149
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +17 -1
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +577 -193
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +119 -86
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +10 -2
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +165 -36
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.d.ts +0 -2
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.js +5 -8
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +5 -3
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +75 -65
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +30 -28
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -5
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +102 -106
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +44 -20
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.d.ts +19 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +67 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +57 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +69 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +122 -82
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +39 -12
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +1110 -597
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +291 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +485 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatOptions.js +38 -28
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +9 -20
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +650 -689
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +21 -18
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +102 -36
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +1253 -790
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.d.ts +0 -7
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.js +11 -11
  176. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +34 -0
  177. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +55 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.d.ts +6 -2
  179. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +51 -35
  180. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +22 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +102 -0
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +16 -4
  183. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +192 -44
  184. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +11 -12
  185. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +99 -66
  186. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +47 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +188 -0
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.d.ts +20 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +115 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +129 -167
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +16 -3
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +37 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +143 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +56 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +206 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +152 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +67 -0
  198. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +22 -0
  199. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +170 -0
  200. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
  201. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +80 -19
  202. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.js +20 -28
  203. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.d.ts +2 -1
  204. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +22 -19
  205. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +15 -0
  206. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +122 -0
  207. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +19 -104
  208. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +316 -1040
  209. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +28 -0
  210. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +162 -0
  211. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +21 -0
  212. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +98 -0
  213. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +68 -0
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +416 -0
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +1 -6
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +194 -215
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +0 -1
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +74 -104
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +45 -91
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +22 -0
  221. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +98 -0
  222. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +5 -2
  223. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +96 -68
  224. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +7 -0
  225. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +11 -0
  226. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +20 -0
  227. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +150 -0
  228. package/vscode/src/vs/workbench/contrib/markdown/browser/markedKatexSupport.js +141 -147
  229. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.d.ts +64 -0
  230. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.js +200 -0
  231. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +548 -0
  232. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.js +23 -0
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +22 -0
  234. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +338 -0
  235. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +18 -0
  236. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +58 -0
  237. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +75 -0
  238. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +364 -0
  239. package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +21 -0
  240. package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +36 -0
  241. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +110 -0
  242. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +692 -0
  243. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +40 -0
  244. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +158 -0
  245. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.d.ts +80 -21
  246. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +440 -82
  247. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatInputRelatedFilesContrib.d.ts +0 -34
  248. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatInputRelatedFilesContrib.js +0 -139
  249. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +0 -10
  250. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +0 -1081
  251. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.d.ts +0 -199
  252. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +0 -482
  253. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -28
  254. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -37
  255. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +0 -94
  256. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +0 -495
  257. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.d.ts +0 -72
  258. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +0 -454
  259. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.d.ts +0 -13
  260. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +0 -66
  261. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +0 -41
  262. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +0 -372
  263. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +0 -4
  264. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +0 -58
  265. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +0 -26
  266. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +0 -594
  267. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +0 -8
  268. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +0 -55
  269. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +0 -273
  270. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +0 -1746
  271. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +0 -50
  272. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +0 -269
  273. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +0 -258
  274. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +0 -806
  275. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +0 -41
  276. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +0 -116
  277. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +0 -17
  278. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +0 -62
  279. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +0 -27
  280. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +0 -40
  281. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +0 -23
  282. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +0 -295
  283. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +0 -51
  284. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +0 -241
  285. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +0 -24
  286. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +0 -146
  287. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +0 -28
  288. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +0 -90
  289. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +0 -10
  290. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +0 -41
  291. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +0 -21
  292. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +0 -42
  293. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +0 -25
  294. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +0 -77
  295. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +0 -469
  296. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +0 -149
  297. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +0 -823
  298. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +0 -180
  299. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +0 -29
  300. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +0 -102
  301. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +0 -567
  302. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +0 -30
  303. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +0 -189
  304. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +0 -75
  305. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +0 -439
  306. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.d.ts +0 -57
  307. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.js +0 -263
  308. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.d.ts +0 -22
  309. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.js +0 -48
  310. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +0 -13
  311. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +0 -39
  312. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +0 -19
  313. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +0 -89
  314. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +0 -26
  315. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +0 -92
  316. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.d.ts +0 -33
  317. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +0 -108
@@ -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
+ }
@@ -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
+ };