@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
@@ -1,6 +1,8 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
3
+ import { Disposable, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
5
+ import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
6
  import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
5
7
  import { DetachedProcessInfo } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/detachedTerminal';
6
8
  import { TERMINAL_BACKGROUND_COLOR } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/common/terminalColorRegistry';
@@ -34,26 +36,41 @@ function getChatTerminalBackgroundColor(theme, contextKeyService, storedBackgrou
34
36
  const isInEditor = ChatContextKeys.inChatEditor.getValue(contextKeyService);
35
37
  return theme.getColor(isInEditor ? editorBackground : PANEL_BACKGROUND);
36
38
  }
37
- class DetachedTerminalMirror extends Disposable {
38
- _setDetachedTerminal(detachedTerminal) {
39
- this._detachedTerminal = detachedTerminal.then(terminal => this._register(terminal));
40
- }
41
- async _getTerminal() {
42
- if (!this._detachedTerminal) {
43
- throw ( new Error('Detached terminal not initialized'));
39
+ function computeMaxBufferColumnWidth(buffer, cols) {
40
+ let maxWidth = 0;
41
+ for (let y = 0; y < buffer.length; y++) {
42
+ const line = buffer.getLine(y);
43
+ if (!line) {
44
+ continue;
45
+ }
46
+ const lineLength = Math.min(line.length, cols);
47
+ for (let x = lineLength - 1; x >= 0; x--) {
48
+ if (line.getCell(x)?.getChars()) {
49
+ maxWidth = Math.max(maxWidth, x + 1);
50
+ break;
51
+ }
44
52
  }
45
- return this._detachedTerminal;
46
53
  }
47
- async _attachToContainer(container) {
48
- const terminal = await this._getTerminal();
49
- container.classList.add('chat-terminal-output-terminal');
50
- const needsAttach = this._attachedContainer !== container || container.firstChild === null;
51
- if (needsAttach) {
52
- terminal.attachToElement(container, { enableGpu: false });
53
- this._attachedContainer = container;
54
+ return maxWidth;
55
+ }
56
+ function vtBoundaryMatches(newVT, oldVT, slicePoint, windowSize = 50) {
57
+ const start = Math.max(0, slicePoint - windowSize);
58
+ const end = slicePoint;
59
+ for (let i = start; i < end; i++) {
60
+ if (newVT.charCodeAt(i) !== oldVT.charCodeAt(i)) {
61
+ return false;
54
62
  }
55
- return terminal;
56
63
  }
64
+ return true;
65
+ }
66
+ var ChatTerminalMirrorMetrics;
67
+ (function(ChatTerminalMirrorMetrics) {
68
+ ChatTerminalMirrorMetrics[ChatTerminalMirrorMetrics["MirrorRowCount"] = 10] = "MirrorRowCount";
69
+ ChatTerminalMirrorMetrics[ChatTerminalMirrorMetrics["MirrorColCountFallback"] = 80] = "MirrorColCountFallback";
70
+ ChatTerminalMirrorMetrics[ChatTerminalMirrorMetrics["MaxLinesForColumnWidthComputation"] = 100] = "MaxLinesForColumnWidthComputation";
71
+ })(ChatTerminalMirrorMetrics || (ChatTerminalMirrorMetrics = {}));
72
+ function computeOutputLineCount(startLine, endLine) {
73
+ return Math.max(endLine - startLine, 0);
57
74
  }
58
75
  async function getCommandOutputSnapshot(xtermTerminal, command, log) {
59
76
  const executedMarker = command.executedMarker;
@@ -64,11 +81,7 @@ async function getCommandOutputSnapshot(xtermTerminal, command, log) {
64
81
  if (!executedMarker || executedMarker.isDisposed) {
65
82
  const raw = xtermTerminal.raw;
66
83
  const buffer = raw.buffer.active;
67
- const offsets = [
68
- -(buffer.baseY + buffer.cursorY),
69
- -buffer.baseY,
70
- 0
71
- ];
84
+ const offsets = [-(buffer.baseY + buffer.cursorY), -buffer.baseY, 0];
72
85
  let startMarker;
73
86
  for (const offset of offsets) {
74
87
  startMarker = raw.registerMarker(offset);
@@ -77,85 +90,383 @@ async function getCommandOutputSnapshot(xtermTerminal, command, log) {
77
90
  }
78
91
  }
79
92
  if (!startMarker || startMarker.isDisposed) {
80
- return { text: '', lineCount: 0 };
93
+ return {
94
+ text: "",
95
+ lineCount: 0
96
+ };
81
97
  }
82
98
  const startLine = startMarker.line;
83
99
  let text;
84
100
  try {
85
101
  text = await xtermTerminal.getRangeAsVT(startMarker, endMarker, true);
86
- }
87
- catch (error) {
88
- log?.('fallback', error);
102
+ } catch (error) {
103
+ log?.("fallback", error);
89
104
  return undefined;
90
- }
91
- finally {
105
+ } finally {
92
106
  startMarker.dispose();
93
107
  }
94
108
  if (!text) {
95
- return { text: '', lineCount: 0 };
109
+ return {
110
+ text: "",
111
+ lineCount: 0
112
+ };
96
113
  }
97
- const endLine = endMarker.line - 1;
98
- const lineCount = Math.max(endLine - startLine + 1, 0);
99
- return { text, lineCount };
114
+ const endLine = endMarker.line;
115
+ const lineCount = computeOutputLineCount(startLine, endLine);
116
+ return {
117
+ text,
118
+ lineCount
119
+ };
100
120
  }
101
121
  const startLine = executedMarker.line;
102
- const endLine = endMarker.line - 1;
103
- const lineCount = Math.max(endLine - startLine + 1, 0);
122
+ const endLine = endMarker.line;
123
+ const lineCount = computeOutputLineCount(startLine, endLine);
104
124
  let text;
105
125
  try {
106
126
  text = await xtermTerminal.getRangeAsVT(executedMarker, endMarker, true);
107
- }
108
- catch (error) {
109
- log?.('primary', error);
127
+ } catch (error) {
128
+ log?.("primary", error);
110
129
  return undefined;
111
130
  }
112
131
  if (!text) {
113
- return { text: '', lineCount: 0 };
132
+ return {
133
+ text: "",
134
+ lineCount: 0
135
+ };
114
136
  }
115
- return { text, lineCount };
137
+ return {
138
+ text,
139
+ lineCount
140
+ };
116
141
  }
117
- let DetachedTerminalCommandMirror = class DetachedTerminalCommandMirror extends DetachedTerminalMirror {
142
+ let DetachedTerminalCommandMirror = class DetachedTerminalCommandMirror extends Disposable {
118
143
  constructor(_xtermTerminal, _command, _terminalService, _contextKeyService) {
119
144
  super();
120
145
  this._xtermTerminal = _xtermTerminal;
121
146
  this._command = _command;
122
147
  this._terminalService = _terminalService;
123
148
  this._contextKeyService = _contextKeyService;
124
- const processInfo = this._register(( new DetachedProcessInfo({ initialCwd: '' })));
125
- this._setDetachedTerminal(this._terminalService.createDetachedTerminal({
126
- cols: this._xtermTerminal.raw.cols,
127
- rows: 10,
128
- readonly: true,
129
- processInfo,
130
- disableOverviewRuler: true,
131
- colorProvider: {
132
- getBackgroundColor: theme => getChatTerminalBackgroundColor(theme, this._contextKeyService),
133
- },
149
+ this._streamingDisposables = this._register(( new DisposableStore()));
150
+ this._onDidUpdateEmitter = this._register(( new Emitter()));
151
+ this.onDidUpdate = this._onDidUpdateEmitter.event;
152
+ this._onDidInputEmitter = this._register(( new Emitter()));
153
+ this.onDidInput = this._onDidInputEmitter.event;
154
+ this._lastVT = "";
155
+ this._lineCount = 0;
156
+ this._maxColumnWidth = 0;
157
+ this._dirtyScheduled = false;
158
+ this._isStreaming = false;
159
+ this._register(toDisposable(() => {
160
+ this._stopStreaming();
134
161
  }));
135
162
  }
136
163
  async attach(container) {
137
- await this._attachToContainer(container);
164
+ if (this._store.isDisposed) {
165
+ return;
166
+ }
167
+ let terminal;
168
+ try {
169
+ terminal = await this._getOrCreateTerminal();
170
+ } catch (error) {
171
+ if (error instanceof CancellationError) {
172
+ return;
173
+ }
174
+ throw error;
175
+ }
176
+ if (this._store.isDisposed) {
177
+ return;
178
+ }
179
+ if (this._attachedContainer !== container) {
180
+ container.classList.add("chat-terminal-output-terminal");
181
+ terminal.attachToElement(container, {
182
+ enableGpu: false
183
+ });
184
+ this._attachedContainer = container;
185
+ }
138
186
  }
139
187
  async renderCommand() {
140
- const vt = await getCommandOutputSnapshot(this._xtermTerminal, this._command);
188
+ if (this._store.isDisposed) {
189
+ return undefined;
190
+ }
191
+ let detached;
192
+ try {
193
+ detached = await this._getOrCreateTerminal();
194
+ } catch (error) {
195
+ if (error instanceof CancellationError) {
196
+ return undefined;
197
+ }
198
+ throw error;
199
+ }
200
+ if (this._store.isDisposed) {
201
+ return undefined;
202
+ }
203
+ let vt;
204
+ try {
205
+ vt = await this._getCommandOutputAsVT(this._xtermTerminal);
206
+ } catch {}
141
207
  if (!vt) {
142
208
  return undefined;
143
209
  }
144
- if (!vt.text) {
145
- return { lineCount: 0 };
210
+ if (this._store.isDisposed) {
211
+ return undefined;
212
+ }
213
+ await ( new Promise(resolve => {
214
+ const canAppend = !!this._lastVT && vt.text.length >= this._lastVT.length && this._vtBoundaryMatches(vt.text, this._lastVT.length);
215
+ if (!canAppend) {
216
+ if (this._lastVT) {
217
+ detached.xterm.reset();
218
+ }
219
+ if (vt.text) {
220
+ detached.xterm.write(vt.text, resolve);
221
+ } else {
222
+ resolve();
223
+ }
224
+ } else {
225
+ const appended = vt.text.slice(this._lastVT.length);
226
+ if (appended) {
227
+ detached.xterm.write(appended, resolve);
228
+ } else {
229
+ resolve();
230
+ }
231
+ }
232
+ }));
233
+ this._lastVT = vt.text;
234
+ const sourceRaw = this._xtermTerminal.raw;
235
+ if (sourceRaw) {
236
+ this._sourceRaw = sourceRaw;
237
+ this._lastUpToDateCursorY = this._getAbsoluteCursorY(sourceRaw);
238
+ if (!this._isStreaming && (!this._command.endMarker || this._command.endMarker.isDisposed)) {
239
+ this._startStreaming(sourceRaw);
240
+ }
241
+ }
242
+ this._lineCount = this._getRenderedLineCount();
243
+ const commandFinished = this._command.endMarker && !this._command.endMarker.isDisposed;
244
+ if (commandFinished && this._lineCount <= ChatTerminalMirrorMetrics.MaxLinesForColumnWidthComputation) {
245
+ this._maxColumnWidth = this._computeMaxColumnWidth();
246
+ }
247
+ return {
248
+ lineCount: this._lineCount,
249
+ maxColumnWidth: this._maxColumnWidth
250
+ };
251
+ }
252
+ async _getCommandOutputAsVT(source) {
253
+ if (this._store.isDisposed) {
254
+ return undefined;
255
+ }
256
+ const executedMarker = this._command.executedMarker ?? this._command.commandExecutedMarker;
257
+ if (!executedMarker) {
258
+ return undefined;
259
+ }
260
+ const endMarker = this._command.endMarker;
261
+ const text = await source.getRangeAsVT(executedMarker, endMarker, endMarker?.line !== executedMarker.line);
262
+ if (this._store.isDisposed) {
263
+ return undefined;
264
+ }
265
+ if (!text) {
266
+ return {
267
+ text: ""
268
+ };
269
+ }
270
+ return {
271
+ text
272
+ };
273
+ }
274
+ _getRenderedLineCount() {
275
+ const endMarker = this._command.endMarker;
276
+ if (this._command.executedMarker && endMarker && !endMarker.isDisposed) {
277
+ const startLine = this._command.executedMarker.line;
278
+ const endLine = endMarker.line;
279
+ return computeOutputLineCount(startLine, endLine);
280
+ }
281
+ const executedMarker = this._command.executedMarker ?? this._command.commandExecutedMarker;
282
+ if (executedMarker && this._sourceRaw) {
283
+ const buffer = this._sourceRaw.buffer.active;
284
+ const currentLine = buffer.baseY + buffer.cursorY;
285
+ return computeOutputLineCount(executedMarker.line, currentLine);
286
+ }
287
+ return this._lineCount;
288
+ }
289
+ _computeMaxColumnWidth() {
290
+ const detached = this._detachedTerminal;
291
+ if (!detached) {
292
+ return 0;
293
+ }
294
+ return computeMaxBufferColumnWidth(detached.xterm.buffer.active, detached.xterm.cols);
295
+ }
296
+ async _getOrCreateTerminal() {
297
+ if (this._detachedTerminal) {
298
+ return this._detachedTerminal;
299
+ }
300
+ if (this._detachedTerminalPromise) {
301
+ return this._detachedTerminalPromise;
146
302
  }
147
- const detached = await this._getTerminal();
303
+ if (this._store.isDisposed) {
304
+ throw ( new CancellationError());
305
+ }
306
+ const createPromise = (async () => {
307
+ const colorProvider = {
308
+ getBackgroundColor: theme => getChatTerminalBackgroundColor(theme, this._contextKeyService)
309
+ };
310
+ const processInfo = ( new DetachedProcessInfo({
311
+ initialCwd: ""
312
+ }));
313
+ const detached = await this._terminalService.createDetachedTerminal({
314
+ cols: this._xtermTerminal.raw.cols ?? ChatTerminalMirrorMetrics.MirrorColCountFallback,
315
+ rows: ChatTerminalMirrorMetrics.MirrorRowCount,
316
+ readonly: false,
317
+ processInfo,
318
+ disableOverviewRuler: true,
319
+ colorProvider
320
+ });
321
+ if (this._store.isDisposed) {
322
+ processInfo.dispose();
323
+ detached.dispose();
324
+ throw ( new CancellationError());
325
+ }
326
+ this._detachedTerminal = detached;
327
+ this._register(processInfo);
328
+ this._register(detached);
329
+ this._register(detached.onData(data => this._onDidInputEmitter.fire(data)));
330
+ return detached;
331
+ })();
332
+ this._detachedTerminalPromise = createPromise;
333
+ return createPromise;
334
+ }
335
+ _startStreaming(raw) {
336
+ if (this._store.isDisposed || this._isStreaming) {
337
+ return;
338
+ }
339
+ this._isStreaming = true;
340
+ this._streamingDisposables.add(
341
+ Event.any(raw.onCursorMove, raw.onLineFeed, raw.onWriteParsed)(() => this._handleCursorEvent())
342
+ );
343
+ this._streamingDisposables.add(raw.onData(() => this._handleCursorEvent()));
344
+ }
345
+ _stopStreaming() {
346
+ if (!this._isStreaming) {
347
+ return;
348
+ }
349
+ this._streamingDisposables.clear();
350
+ this._isStreaming = false;
351
+ this._lowestDirtyCursorY = undefined;
352
+ this._sourceRaw = undefined;
353
+ }
354
+ _handleCursorEvent() {
355
+ if (this._store.isDisposed || !this._sourceRaw) {
356
+ return;
357
+ }
358
+ const cursorY = this._getAbsoluteCursorY(this._sourceRaw);
359
+ this._lowestDirtyCursorY = this._lowestDirtyCursorY === undefined ? cursorY : Math.min(this._lowestDirtyCursorY, cursorY);
360
+ this._scheduleFlush();
361
+ }
362
+ _scheduleFlush() {
363
+ if (this._dirtyScheduled || this._store.isDisposed) {
364
+ return;
365
+ }
366
+ this._dirtyScheduled = true;
367
+ queueMicrotask(() => {
368
+ this._dirtyScheduled = false;
369
+ if (this._store.isDisposed) {
370
+ return;
371
+ }
372
+ this._flushDirtyRange();
373
+ });
374
+ }
375
+ _flushDirtyRange() {
376
+ if (this._store.isDisposed || this._flushPromise) {
377
+ return;
378
+ }
379
+ this._flushPromise = this._doFlushDirtyRange().finally(() => {
380
+ this._flushPromise = undefined;
381
+ });
382
+ }
383
+ async _doFlushDirtyRange() {
384
+ if (this._store.isDisposed) {
385
+ return;
386
+ }
387
+ const sourceRaw = this._xtermTerminal.raw;
388
+ let detached = this._detachedTerminal;
389
+ if (!detached) {
390
+ try {
391
+ detached = await this._getOrCreateTerminal();
392
+ } catch (error) {
393
+ if (error instanceof CancellationError) {
394
+ return;
395
+ }
396
+ throw error;
397
+ }
398
+ }
399
+ if (this._store.isDisposed) {
400
+ return;
401
+ }
402
+ const detachedRaw = detached?.xterm;
403
+ if (!sourceRaw || !detachedRaw) {
404
+ return;
405
+ }
406
+ this._sourceRaw = sourceRaw;
407
+ const currentCursor = this._getAbsoluteCursorY(sourceRaw);
408
+ const previousCursor = this._lastUpToDateCursorY ?? currentCursor;
409
+ const startCandidate = this._lowestDirtyCursorY ?? currentCursor;
410
+ this._lowestDirtyCursorY = undefined;
411
+ const startLine = Math.min(previousCursor, startCandidate);
412
+ const vt = await this._getCommandOutputAsVT(this._xtermTerminal);
413
+ if (!vt) {
414
+ return;
415
+ }
416
+ if (this._store.isDisposed) {
417
+ return;
418
+ }
419
+ if (vt.text === this._lastVT) {
420
+ this._lastUpToDateCursorY = currentCursor;
421
+ if (this._command.endMarker && !this._command.endMarker.isDisposed) {
422
+ this._stopStreaming();
423
+ }
424
+ return;
425
+ }
426
+ const canAppend = !!this._lastVT && startLine >= previousCursor && vt.text.length >= this._lastVT.length && this._vtBoundaryMatches(vt.text, this._lastVT.length);
148
427
  await ( new Promise(resolve => {
149
- detached.xterm.write(vt.text, () => resolve());
428
+ if (!canAppend) {
429
+ if (this._lastVT) {
430
+ detachedRaw.reset();
431
+ }
432
+ if (vt.text) {
433
+ detachedRaw.write(vt.text, resolve);
434
+ } else {
435
+ resolve();
436
+ }
437
+ } else {
438
+ const appended = vt.text.slice(this._lastVT.length);
439
+ if (appended) {
440
+ detachedRaw.write(appended, resolve);
441
+ } else {
442
+ resolve();
443
+ }
444
+ }
150
445
  }));
151
- return { lineCount: vt.lineCount };
446
+ this._lastVT = vt.text;
447
+ this._lineCount = this._getRenderedLineCount();
448
+ this._lastUpToDateCursorY = currentCursor;
449
+ const commandFinished = this._command.endMarker && !this._command.endMarker.isDisposed;
450
+ if (commandFinished) {
451
+ if (this._lineCount <= ChatTerminalMirrorMetrics.MaxLinesForColumnWidthComputation) {
452
+ this._maxColumnWidth = this._computeMaxColumnWidth();
453
+ }
454
+ this._stopStreaming();
455
+ }
456
+ this._onDidUpdateEmitter.fire({
457
+ lineCount: this._lineCount,
458
+ maxColumnWidth: this._maxColumnWidth
459
+ });
460
+ }
461
+ _getAbsoluteCursorY(raw) {
462
+ return raw.buffer.active.baseY + raw.buffer.active.cursorY;
463
+ }
464
+ _vtBoundaryMatches(newVT, slicePoint) {
465
+ return vtBoundaryMatches(newVT, this._lastVT, slicePoint);
152
466
  }
153
467
  };
154
- DetachedTerminalCommandMirror = ( __decorate([
155
- ( __param(2, ITerminalService)),
156
- ( __param(3, IContextKeyService))
157
- ], DetachedTerminalCommandMirror));
158
- let DetachedTerminalSnapshotMirror = class DetachedTerminalSnapshotMirror extends DetachedTerminalMirror {
468
+ DetachedTerminalCommandMirror = ( __decorate([( __param(2, ITerminalService)), ( __param(3, IContextKeyService))], DetachedTerminalCommandMirror));
469
+ let DetachedTerminalSnapshotMirror = class DetachedTerminalSnapshotMirror extends Disposable {
159
470
  constructor(output, _getTheme, _terminalService, _contextKeyService) {
160
471
  super();
161
472
  this._getTheme = _getTheme;
@@ -163,10 +474,12 @@ let DetachedTerminalSnapshotMirror = class DetachedTerminalSnapshotMirror extend
163
474
  this._contextKeyService = _contextKeyService;
164
475
  this._dirty = true;
165
476
  this._output = output;
166
- const processInfo = this._register(( new DetachedProcessInfo({ initialCwd: '' })));
167
- this._setDetachedTerminal(this._terminalService.createDetachedTerminal({
168
- cols: 80,
169
- rows: 10,
477
+ const processInfo = this._register(( new DetachedProcessInfo({
478
+ initialCwd: ""
479
+ })));
480
+ this._detachedTerminal = this._terminalService.createDetachedTerminal({
481
+ cols: ChatTerminalMirrorMetrics.MirrorColCountFallback,
482
+ rows: ChatTerminalMirrorMetrics.MirrorRowCount,
170
483
  readonly: true,
171
484
  processInfo,
172
485
  disableOverviewRuler: true,
@@ -176,14 +489,37 @@ let DetachedTerminalSnapshotMirror = class DetachedTerminalSnapshotMirror extend
176
489
  return getChatTerminalBackgroundColor(theme, this._contextKeyService, storedBackground);
177
490
  }
178
491
  }
179
- }));
492
+ }).then(terminal => {
493
+ if (this._store.isDisposed) {
494
+ terminal.dispose();
495
+ return terminal;
496
+ }
497
+ return this._register(terminal);
498
+ });
499
+ }
500
+ async _getTerminal() {
501
+ if (!this._detachedTerminal) {
502
+ throw ( new Error("Detached terminal not initialized"));
503
+ }
504
+ return this._detachedTerminal;
180
505
  }
181
506
  setOutput(output) {
182
507
  this._output = output;
183
508
  this._dirty = true;
184
509
  }
185
510
  async attach(container) {
186
- await this._attachToContainer(container);
511
+ const terminal = await this._getTerminal();
512
+ if (this._store.isDisposed) {
513
+ return;
514
+ }
515
+ container.classList.add("chat-terminal-output-terminal");
516
+ const needsAttach = this._attachedContainer !== container || container.firstChild === null;
517
+ if (needsAttach) {
518
+ terminal.attachToElement(container, {
519
+ enableGpu: false
520
+ });
521
+ this._attachedContainer = container;
522
+ }
187
523
  this._container = container;
188
524
  this._applyTheme(container);
189
525
  }
@@ -193,38 +529,63 @@ let DetachedTerminalSnapshotMirror = class DetachedTerminalSnapshotMirror extend
193
529
  return undefined;
194
530
  }
195
531
  if (!this._dirty) {
196
- return { lineCount: this._lastRenderedLineCount ?? output.lineCount };
532
+ return {
533
+ lineCount: this._lastRenderedLineCount ?? output.lineCount,
534
+ maxColumnWidth: this._lastRenderedMaxColumnWidth
535
+ };
197
536
  }
198
537
  const terminal = await this._getTerminal();
538
+ if (this._store.isDisposed) {
539
+ return undefined;
540
+ }
199
541
  if (this._container) {
200
542
  this._applyTheme(this._container);
201
543
  }
202
- const text = output.text ?? '';
544
+ const text = output.text ?? "";
203
545
  const lineCount = output.lineCount ?? this._estimateLineCount(text);
204
546
  if (!text) {
205
547
  this._dirty = false;
206
548
  this._lastRenderedLineCount = lineCount;
207
- return { lineCount: 0 };
549
+ this._lastRenderedMaxColumnWidth = 0;
550
+ return {
551
+ lineCount: 0,
552
+ maxColumnWidth: 0
553
+ };
208
554
  }
209
555
  await ( new Promise(resolve => terminal.xterm.write(text, resolve)));
556
+ if (this._store.isDisposed) {
557
+ return undefined;
558
+ }
210
559
  this._dirty = false;
211
560
  this._lastRenderedLineCount = lineCount;
212
- return { lineCount };
561
+ if (this._shouldComputeMaxColumnWidth(lineCount)) {
562
+ this._lastRenderedMaxColumnWidth = this._computeMaxColumnWidth(terminal);
563
+ }
564
+ return {
565
+ lineCount,
566
+ maxColumnWidth: this._lastRenderedMaxColumnWidth
567
+ };
568
+ }
569
+ _computeMaxColumnWidth(terminal) {
570
+ return computeMaxBufferColumnWidth(terminal.xterm.buffer.active, terminal.xterm.cols);
213
571
  }
214
572
  _estimateLineCount(text) {
215
573
  if (!text) {
216
574
  return 0;
217
575
  }
218
- const sanitized = text.replace(/\r/g, '');
219
- const segments = sanitized.split('\n');
220
- const count = sanitized.endsWith('\n') ? segments.length - 1 : segments.length;
576
+ const sanitized = text.replace(/\r/g, "");
577
+ const segments = sanitized.split("\n");
578
+ const count = sanitized.endsWith("\n") ? segments.length - 1 : segments.length;
221
579
  return Math.max(count, 1);
222
580
  }
581
+ _shouldComputeMaxColumnWidth(lineCount) {
582
+ return lineCount <= ChatTerminalMirrorMetrics.MaxLinesForColumnWidthComputation;
583
+ }
223
584
  _applyTheme(container) {
224
585
  const theme = this._getTheme();
225
586
  if (!theme) {
226
- container.style.removeProperty('background-color');
227
- container.style.removeProperty('color');
587
+ container.style.removeProperty("background-color");
588
+ container.style.removeProperty("color");
228
589
  return;
229
590
  }
230
591
  if (theme.background) {
@@ -235,9 +596,6 @@ let DetachedTerminalSnapshotMirror = class DetachedTerminalSnapshotMirror extend
235
596
  }
236
597
  }
237
598
  };
238
- DetachedTerminalSnapshotMirror = ( __decorate([
239
- ( __param(2, ITerminalService)),
240
- ( __param(3, IContextKeyService))
241
- ], DetachedTerminalSnapshotMirror));
599
+ DetachedTerminalSnapshotMirror = ( __decorate([( __param(2, ITerminalService)), ( __param(3, IContextKeyService))], DetachedTerminalSnapshotMirror));
242
600
 
243
- export { DetachedTerminalCommandMirror, DetachedTerminalSnapshotMirror, getCommandOutputSnapshot };
601
+ export { DetachedTerminalCommandMirror, DetachedTerminalSnapshotMirror, computeMaxBufferColumnWidth, getCommandOutputSnapshot, vtBoundaryMatches };
@@ -1,34 +0,0 @@
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 { ResourceSet } from "@codingame/monaco-vscode-api/vscode/vs/base/common/map";
4
- import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
5
- import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
6
- import { IChatEditingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService.service";
7
- import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
8
- export declare class ChatRelatedFilesContribution extends Disposable implements IWorkbenchContribution {
9
- private readonly chatEditingService;
10
- private readonly chatWidgetService;
11
- static readonly ID = "chat.relatedFilesWorkingSet";
12
- private readonly chatEditingSessionDisposables;
13
- private _currentRelatedFilesRetrievalOperation;
14
- constructor(chatEditingService: IChatEditingService, chatWidgetService: IChatWidgetService);
15
- private _updateRelatedFileSuggestions;
16
- private _handleNewEditingSession;
17
- dispose(): void;
18
- }
19
- export interface IChatRelatedFile {
20
- uri: URI;
21
- description: string;
22
- }
23
- export declare class ChatRelatedFiles extends Disposable {
24
- private readonly _onDidChange;
25
- readonly onDidChange: Event<void>;
26
- private _removedFiles;
27
- get removedFiles(): ResourceSet;
28
- private _value;
29
- get value(): IChatRelatedFile[];
30
- set value(value: IChatRelatedFile[]);
31
- remove(uri: URI): void;
32
- clearRemovedFiles(): void;
33
- clear(): void;
34
- }