@codingame/monaco-vscode-katex-common 24.1.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 (262) hide show
  1. package/empty.js +1 -0
  2. package/package.json +45 -0
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +37 -0
  4. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +127 -0
  5. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.d.ts +27 -0
  6. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.js +81 -0
  7. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +44 -0
  8. package/vscode/src/vs/platform/actions/browser/buttonbar.js +172 -0
  9. package/vscode/src/vs/platform/editor/browser/editor.d.ts +12 -0
  10. package/vscode/src/vs/platform/editor/browser/editor.js +51 -0
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +41 -0
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +295 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.d.ts +2 -0
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +60 -0
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +65 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +650 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +2 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +364 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +38 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +207 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.d.ts +17 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +216 -0
  23. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.d.ts +24 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +114 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentModel.d.ts +34 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentModel.js +141 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentWidgets.d.ts +169 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentWidgets.js +951 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentMarkdownRenderer.d.ts +19 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentMarkdownRenderer.js +109 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAgentCommandContentPart.d.ts +12 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAgentCommandContentPart.js +47 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAnonymousRateLimitedPart.d.ts +13 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAnonymousRateLimitedPart.js +49 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAttachmentsContentPart.d.ts +27 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAttachmentsContentPart.js +160 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatChangesSummaryPart.d.ts +40 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatChangesSummaryPart.js +286 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCodeCitationContentPart.d.ts +13 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCodeCitationContentPart.js +49 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollapsibleContentPart.d.ts +34 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollapsibleContentPart.js +101 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.d.ts +14 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.js +30 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.d.ts +11 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +37 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.d.ts +17 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +69 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationWidget.d.ts +116 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationWidget.js +417 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentCodePools.d.ts +20 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentCodePools.js +66 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatElicitationContentPart.d.ts +25 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatElicitationContentPart.js +123 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatErrorConfirmationPart.d.ts +18 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatErrorConfirmationPart.js +60 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatErrorContentPart.d.ts +16 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatErrorContentPart.js +46 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatExtensionsContentPart.d.ts +19 -0
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatExtensionsContentPart.js +57 -0
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.d.ts +94 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.js +567 -0
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMcpServersInteractionContentPart.d.ts +34 -0
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMcpServersInteractionContentPart.js +224 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMultiDiffContentPart.d.ts +34 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMultiDiffContentPart.js +259 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.d.ts +38 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.js +160 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatPullRequestContentPart.d.ts +16 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatPullRequestContentPart.js +55 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatQuotaExceededPart.d.ts +17 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatQuotaExceededPart.js +117 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.d.ts +66 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +528 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatSuggestNextWidget.d.ts +31 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatSuggestNextWidget.js +160 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.d.ts +17 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +49 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.d.ts +18 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +91 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.service.d.ts +13 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.service.js +6 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatThinkingContentPart.d.ts +54 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatThinkingContentPart.js +429 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTodoListWidget.d.ts +40 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTodoListWidget.js +347 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatToolInputOutputContentPart.d.ts +56 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatToolInputOutputContentPart.js +164 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatToolOutputContentSubPart.d.ts +32 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatToolOutputContentSubPart.js +224 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.d.ts +35 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +173 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatConfirmationWidget.css +341 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatExtensionsContent.css +27 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatMarkdownPart.css +23 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatMcpServersInteractionContent.css +14 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatPullRequestContent.css +75 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatTerminalToolProgressPart.css +221 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatThinkingContent.css +162 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +41 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +94 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.d.ts +15 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +96 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +18 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +147 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatResultListSubPart.d.ts +14 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatResultListSubPart.js +23 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +68 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +353 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +100 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +1085 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +39 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +275 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +32 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +119 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.d.ts +19 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.js +36 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +21 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolOutputPart.js +130 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +25 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +225 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolProgressPart.d.ts +24 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolProgressPart.js +101 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDiffBlockPart.d.ts +42 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDiffBlockPart.js +127 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDragAndDrop.d.ts +43 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDragAndDrop.js +388 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +49 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +721 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.d.ts +13 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +52 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatInlineAnchorWidget.d.ts +39 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatInlineAnchorWidget.js +409 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.d.ts +334 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +2008 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPartWidgets.d.ts +52 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPartWidgets.js +93 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.d.ts +217 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +1573 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.d.ts +43 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +249 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatOptions.d.ts +50 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatOptions.js +84 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatSelectedTools.d.ts +32 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatSelectedTools.js +174 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +31 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +101 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.d.ts +19 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.js +76 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionAction.css +39 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.d.ts +292 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +2014 -0
  153. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css +171 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.d.ts +173 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +797 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatImplicitContext.d.ts +54 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatImplicitContext.js +345 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputCompletions.d.ts +10 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputCompletions.js +1069 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputRelatedFilesContrib.d.ts +34 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputRelatedFilesContrib.js +139 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css +2880 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css +87 -0
  164. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatCodeBlockPill.css +139 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatInlineAnchorWidget.css +61 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewWelcome.css +209 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/modelPicker/modePickerActionItem.d.ts +28 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/modelPicker/modePickerActionItem.js +135 -0
  169. package/vscode/src/vs/workbench/contrib/chat/browser/modelPicker/modelPickerActionItem.d.ts +28 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/modelPicker/modelPickerActionItem.js +147 -0
  171. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +71 -0
  172. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +279 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome.d.ts +28 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome.js +28 -0
  175. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.d.ts +13 -0
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +38 -0
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.d.ts +55 -0
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.js +176 -0
  179. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.d.ts +45 -0
  180. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +207 -0
  181. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +48 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +373 -0
  183. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +171 -0
  184. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +1442 -0
  185. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.d.ts +199 -0
  186. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +482 -0
  187. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +28 -0
  188. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +37 -0
  189. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +95 -0
  190. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +497 -0
  191. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.d.ts +76 -0
  192. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +464 -0
  193. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +124 -0
  194. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +562 -0
  195. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +42 -0
  196. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +279 -0
  197. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +411 -0
  198. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.d.ts +13 -0
  199. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +66 -0
  200. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +61 -0
  201. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +154 -0
  202. package/vscode/src/vs/workbench/contrib/markdown/browser/markedKatexSupport.d.ts +19 -0
  203. package/vscode/src/vs/workbench/contrib/markdown/browser/markedKatexSupport.js +201 -0
  204. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +41 -0
  205. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +372 -0
  206. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +4 -0
  207. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +58 -0
  208. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +26 -0
  209. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +594 -0
  210. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +8 -0
  211. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +55 -0
  212. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +273 -0
  213. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1746 -0
  214. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +50 -0
  215. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +269 -0
  216. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +258 -0
  217. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +806 -0
  218. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +41 -0
  219. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +116 -0
  220. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +17 -0
  221. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +62 -0
  222. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +27 -0
  223. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +40 -0
  224. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +23 -0
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +295 -0
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +51 -0
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +241 -0
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +24 -0
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +146 -0
  230. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +28 -0
  231. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +90 -0
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +10 -0
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +41 -0
  234. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +21 -0
  235. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +42 -0
  236. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +25 -0
  237. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +77 -0
  238. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +469 -0
  239. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +149 -0
  240. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +823 -0
  241. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +180 -0
  242. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +29 -0
  243. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +102 -0
  244. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +567 -0
  245. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +30 -0
  246. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +189 -0
  247. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +75 -0
  248. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +439 -0
  249. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.d.ts +57 -0
  250. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.js +263 -0
  251. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.d.ts +22 -0
  252. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.js +48 -0
  253. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +13 -0
  254. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +39 -0
  255. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +19 -0
  256. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +89 -0
  257. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +26 -0
  258. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +92 -0
  259. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.d.ts +33 -0
  260. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +108 -0
  261. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.d.ts +34 -0
  262. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +145 -0
@@ -0,0 +1,567 @@
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 $$1, getWindow, isHTMLElement, addDisposableListener, EventType, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
+ import { allowedMarkdownHtmlAttributes } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
6
+ import { StandardMouseEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/mouseEvent';
7
+ import { status } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
8
+ import { HoverStyle } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hover';
9
+ import { HoverPosition } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverWidget';
10
+ import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
11
+ import { coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
12
+ import { findLast } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arraysFind';
13
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
14
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
15
+ import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
16
+ import { Disposable, toDisposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
17
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
18
+ import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
19
+ import { equalsIgnoreCase } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
20
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
21
+ import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
22
+ import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
23
+ import { getIconClasses } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/getIconClasses';
24
+ import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
25
+ import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
26
+ import { EditDeltaInfo } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditSource';
27
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
28
+ import { getFlatContextMenuActions } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
29
+ import { MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
30
+ import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
31
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
32
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
33
+ import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
34
+ import { registerOpenEditorListeners } from '../../../../../platform/editor/browser/editor.js';
35
+ import { FileKind } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
36
+ import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
37
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
38
+ import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
39
+ import { SIDE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
40
+ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
41
+ import { AccessibilityWorkbenchSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
42
+ import { IAiEditTelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service';
43
+ import { MarkedKatexSupport } from '../../../markdown/browser/markedKatexSupport.js';
44
+ import { extractCodeblockUrisFromText } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/annotations';
45
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
46
+ import { isResponseVM, isRequestVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatViewModel';
47
+ import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
48
+ import { allowedChatMarkdownHtmlTags } from '../chatContentMarkdownRenderer.js';
49
+ import { parseUnifiedDiff, MarkdownDiffBlockPart } from '../chatDiffBlockPart.js';
50
+ import { ChatMarkdownDecorationsRenderer } from '../chatMarkdownDecorationsRenderer.js';
51
+ import { localFileLanguageId, parseLocalFileData, CodeBlockPart } from '../codeBlockPart.js';
52
+ import * as chatCodeBlockPill from '../media/chatCodeBlockPill.css';
53
+ import { ChatExtensionsContentPart } from './chatExtensionsContentPart.js';
54
+ import * as chatMarkdownPart from './media/chatMarkdownPart.css';
55
+ import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
56
+ import { autorun, autorunSelfDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
57
+
58
+ var ChatMarkdownContentPart_1;
59
+ registerCss(chatCodeBlockPill);
60
+ registerCss(chatMarkdownPart);
61
+ const $ = $$1;
62
+ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
63
+ static { ChatMarkdownContentPart_1 = this; }
64
+ static { this.ID_POOL = 0; }
65
+ get codeblocks() {
66
+ return this._codeblocks;
67
+ }
68
+ constructor(markdown, context, editorPool, fillInIncompleteTokens = false, codeBlockStartIndex = 0, renderer, markdownRenderOptions, currentWidth, codeBlockModelCollection, rendererOptions, contextKeyService, configurationService, textModelService, instantiationService, aiEditTelemetryService) {
69
+ super();
70
+ this.markdown = markdown;
71
+ this.editorPool = editorPool;
72
+ this.codeBlockModelCollection = codeBlockModelCollection;
73
+ this.rendererOptions = rendererOptions;
74
+ this.textModelService = textModelService;
75
+ this.instantiationService = instantiationService;
76
+ this.aiEditTelemetryService = aiEditTelemetryService;
77
+ this.codeblocksPartId = String(++ChatMarkdownContentPart_1.ID_POOL);
78
+ this.allRefs = [];
79
+ this._onDidChangeHeight = this._register(( new Emitter()));
80
+ this.onDidChangeHeight = this._onDidChangeHeight.event;
81
+ this._codeblocks = [];
82
+ this.mathLayoutParticipants = ( new Set());
83
+ const element = context.element;
84
+ const inUndoStop = findLast(context.content, e => e.kind === 'undoStop', context.contentIndex)?.id;
85
+ const orderedDisposablesList = [];
86
+ let globalCodeBlockIndexStart = codeBlockStartIndex;
87
+ let thisPartCodeBlockIndexStart = 0;
88
+ this.domNode = $('div.chat-markdown-part');
89
+ if (this.rendererOptions.accessibilityOptions?.statusMessage) {
90
+ this.domNode.ariaLabel = this.rendererOptions.accessibilityOptions.statusMessage;
91
+ if (configurationService.getValue(AccessibilityWorkbenchSettingId.VerboseChatProgressUpdates)) {
92
+ status(this.rendererOptions.accessibilityOptions.statusMessage);
93
+ }
94
+ }
95
+ const enableMath = configurationService.getValue(ChatConfiguration.EnableMath);
96
+ const doRenderMarkdown = () => {
97
+ if (this._store.isDisposed) {
98
+ return;
99
+ }
100
+ const markedExtensions = enableMath
101
+ ? coalesce([MarkedKatexSupport.getExtension(getWindow(context.container), {
102
+ throwOnError: false
103
+ })])
104
+ : [];
105
+ const markedOpts = {
106
+ gfm: true,
107
+ breaks: true,
108
+ };
109
+ const result = this._register(renderer.render(markdown.content, {
110
+ sanitizerConfig: MarkedKatexSupport.getSanitizerOptions({
111
+ allowedTags: allowedChatMarkdownHtmlTags,
112
+ allowedAttributes: allowedMarkdownHtmlAttributes,
113
+ }),
114
+ fillInIncompleteTokens,
115
+ codeBlockRendererSync: (languageId, text, raw) => {
116
+ const isCodeBlockComplete = !isResponseVM(context.element) || context.element.isComplete || !raw || codeblockHasClosingBackticks(raw);
117
+ if ((!text || (text.startsWith('<vscode_codeblock_uri') && !text.includes('\n'))) && !isCodeBlockComplete) {
118
+ const hideEmptyCodeblock = $('div');
119
+ hideEmptyCodeblock.style.display = 'none';
120
+ return hideEmptyCodeblock;
121
+ }
122
+ if (languageId === 'diff' && raw && this.rendererOptions.allowInlineDiffs) {
123
+ const match = raw.match(/^```diff:(\w+)/);
124
+ if (match && isResponseVM(context.element)) {
125
+ const actualLanguageId = match[1];
126
+ const codeBlockUri = extractCodeblockUrisFromText(text);
127
+ const { before, after } = parseUnifiedDiff(codeBlockUri?.textWithoutResult ?? text);
128
+ const diffData = {
129
+ element: context.element,
130
+ codeBlockIndex: globalCodeBlockIndexStart++,
131
+ languageId: actualLanguageId,
132
+ beforeContent: before,
133
+ afterContent: after,
134
+ codeBlockResource: codeBlockUri?.uri,
135
+ isReadOnly: true,
136
+ horizontalPadding: this.rendererOptions.horizontalPadding,
137
+ };
138
+ const diffPart = this.instantiationService.createInstance(MarkdownDiffBlockPart, diffData, context.diffEditorPool, context.currentWidth());
139
+ const ref = {
140
+ object: diffPart,
141
+ isStale: () => false,
142
+ dispose: () => diffPart.dispose()
143
+ };
144
+ this.allRefs.push(ref);
145
+ this._register(diffPart.onDidChangeContentHeight(() => this._onDidChangeHeight.fire()));
146
+ orderedDisposablesList.push(ref);
147
+ return diffPart.element;
148
+ }
149
+ }
150
+ if (languageId === 'vscode-extensions') {
151
+ const chatExtensions = this._register(instantiationService.createInstance(ChatExtensionsContentPart, { kind: 'extensions', extensions: text.split(',') }));
152
+ this._register(chatExtensions.onDidChangeHeight(() => this._onDidChangeHeight.fire()));
153
+ return chatExtensions.domNode;
154
+ }
155
+ const globalIndex = globalCodeBlockIndexStart++;
156
+ const thisPartIndex = thisPartCodeBlockIndexStart++;
157
+ let textModel;
158
+ let range;
159
+ let vulns;
160
+ let codeblockEntry;
161
+ if (equalsIgnoreCase(languageId, localFileLanguageId)) {
162
+ try {
163
+ const parsedBody = parseLocalFileData(text);
164
+ range = parsedBody.range && Range.lift(parsedBody.range);
165
+ textModel = this.textModelService.createModelReference(parsedBody.uri).then(ref => ref.object.textEditorModel);
166
+ }
167
+ catch (e) {
168
+ return $('div');
169
+ }
170
+ }
171
+ else {
172
+ if (isResponseVM(element) || isRequestVM(element)) {
173
+ const modelEntry = this.codeBlockModelCollection.getOrCreate(element.sessionResource, element, globalIndex);
174
+ const fastUpdateModelEntry = this.codeBlockModelCollection.updateSync(element.sessionResource, element, globalIndex, { text, languageId, isComplete: isCodeBlockComplete });
175
+ vulns = modelEntry.vulns;
176
+ codeblockEntry = fastUpdateModelEntry;
177
+ textModel = modelEntry.model;
178
+ }
179
+ else {
180
+ textModel = undefined;
181
+ }
182
+ }
183
+ const hideToolbar = isResponseVM(element) && element.errorDetails?.responseIsFiltered;
184
+ const renderOptions = {
185
+ ...this.rendererOptions.codeBlockRenderOptions,
186
+ };
187
+ if (hideToolbar !== undefined) {
188
+ renderOptions.hideToolbar = hideToolbar;
189
+ }
190
+ const codeBlockInfo = { languageId, textModel, codeBlockIndex: globalIndex, codeBlockPartIndex: thisPartIndex, element, range, parentContextKeyService: contextKeyService, vulns, codemapperUri: codeblockEntry?.codemapperUri, renderOptions, chatSessionResource: element.sessionResource };
191
+ if (element.isCompleteAddedRequest || !codeblockEntry?.codemapperUri || !codeblockEntry.isEdit) {
192
+ const ref = this.renderCodeBlock(codeBlockInfo, text, isCodeBlockComplete, currentWidth);
193
+ this.allRefs.push(ref);
194
+ this._register(ref.object.onDidChangeContentHeight(() => this._onDidChangeHeight.fire()));
195
+ const ownerMarkdownPartId = this.codeblocksPartId;
196
+ const info = new (class {
197
+ constructor() {
198
+ this.ownerMarkdownPartId = ownerMarkdownPartId;
199
+ this.codeBlockIndex = globalIndex;
200
+ this.elementId = element.id;
201
+ this.chatSessionResource = element.sessionResource;
202
+ this.languageId = languageId;
203
+ this.isStreamingEdit = false;
204
+ this.editDeltaInfo = EditDeltaInfo.fromText(text);
205
+ this.codemapperUri = undefined;
206
+ this.uriPromise = textModel?.then(model => model.uri) ?? Promise.resolve(undefined);
207
+ }
208
+ get uri() {
209
+ return ref.object.uri;
210
+ }
211
+ focus() {
212
+ ref.object.focus();
213
+ }
214
+ })();
215
+ this._codeblocks.push(info);
216
+ orderedDisposablesList.push(ref);
217
+ return ref.object.element;
218
+ }
219
+ else {
220
+ const requestId = isRequestVM(element) ? element.id : element.requestId;
221
+ const ref = this.renderCodeBlockPill(element.sessionResource, requestId, inUndoStop, codeBlockInfo.codemapperUri, this.markdown.fromSubagent);
222
+ if (isResponseVM(codeBlockInfo.element)) {
223
+ this.codeBlockModelCollection.update(codeBlockInfo.element.sessionResource, codeBlockInfo.element, codeBlockInfo.codeBlockIndex, { text, languageId: codeBlockInfo.languageId, isComplete: isCodeBlockComplete }).then((e) => {
224
+ this._codeblocks[codeBlockInfo.codeBlockPartIndex].codemapperUri = e.codemapperUri;
225
+ this._onDidChangeHeight.fire();
226
+ });
227
+ }
228
+ this.allRefs.push(ref);
229
+ const ownerMarkdownPartId = this.codeblocksPartId;
230
+ const info = new (class {
231
+ constructor() {
232
+ this.ownerMarkdownPartId = ownerMarkdownPartId;
233
+ this.codeBlockIndex = globalIndex;
234
+ this.elementId = element.id;
235
+ this.codemapperUri = codeblockEntry?.codemapperUri;
236
+ this.chatSessionResource = element.sessionResource;
237
+ this.isStreamingEdit = !isCodeBlockComplete;
238
+ this.uriPromise = Promise.resolve(undefined);
239
+ this.languageId = languageId;
240
+ this.editDeltaInfo = EditDeltaInfo.fromText(text);
241
+ }
242
+ get uri() {
243
+ return undefined;
244
+ }
245
+ focus() {
246
+ return ref.object.element.focus();
247
+ }
248
+ })();
249
+ this._codeblocks.push(info);
250
+ orderedDisposablesList.push(ref);
251
+ return ref.object.element;
252
+ }
253
+ },
254
+ asyncRenderCallback: () => this._onDidChangeHeight.fire(),
255
+ markedOptions: markedOpts,
256
+ markedExtensions,
257
+ ...markdownRenderOptions,
258
+ }, this.domNode));
259
+ if (isResponseVM(element) && !element.model.codeBlockInfos && element.model.isComplete) {
260
+ element.model.initializeCodeBlockInfos(( this._codeblocks.map(info => {
261
+ return {
262
+ suggestionId: this.aiEditTelemetryService.createSuggestionId({
263
+ presentation: 'codeBlock',
264
+ feature: 'sideBarChat',
265
+ editDeltaInfo: info.editDeltaInfo,
266
+ languageId: info.languageId,
267
+ modeId: element.model.request?.modeInfo?.modeId,
268
+ modelId: element.model.request?.modelId,
269
+ applyCodeBlockSuggestionId: undefined,
270
+ source: undefined,
271
+ })
272
+ };
273
+ })));
274
+ }
275
+ const markdownDecorationsRenderer = instantiationService.createInstance(ChatMarkdownDecorationsRenderer);
276
+ this._register(markdownDecorationsRenderer.walkTreeAndAnnotateReferenceLinks(markdown, result.element));
277
+ const layoutParticipants = ( new Lazy(() => {
278
+ const observer = ( new ResizeObserver(() => this.mathLayoutParticipants.forEach(layout => layout())));
279
+ observer.observe(this.domNode);
280
+ this._register(toDisposable(() => observer.disconnect()));
281
+ return this.mathLayoutParticipants;
282
+ }));
283
+ for (const katexBlock of this.domNode.querySelectorAll('.katex-display')) {
284
+ if (!isHTMLElement(katexBlock)) {
285
+ continue;
286
+ }
287
+ const scrollable = ( new DomScrollableElement(katexBlock.cloneNode(true), {
288
+ vertical: ScrollbarVisibility.Hidden,
289
+ horizontal: ScrollbarVisibility.Auto,
290
+ }));
291
+ orderedDisposablesList.push(scrollable);
292
+ katexBlock.replaceWith(scrollable.getDomNode());
293
+ layoutParticipants.value.add(() => { scrollable.scanDomNode(); });
294
+ scrollable.scanDomNode();
295
+ }
296
+ orderedDisposablesList.reverse().forEach(d => this._register(d));
297
+ };
298
+ if (enableMath && !MarkedKatexSupport.getExtension(getWindow(context.container))) {
299
+ MarkedKatexSupport.loadExtension(getWindow(context.container))
300
+ .catch(e => {
301
+ console.error('Failed to load MarkedKatexSupport extension:', e);
302
+ }).finally(() => {
303
+ doRenderMarkdown();
304
+ if (!this._store.isDisposed) {
305
+ this._onDidChangeHeight.fire();
306
+ }
307
+ });
308
+ }
309
+ else {
310
+ doRenderMarkdown();
311
+ }
312
+ }
313
+ renderCodeBlockPill(sessionResource, requestId, inUndoStop, codemapperUri, fromSubagent) {
314
+ const codeBlock = this.instantiationService.createInstance(CollapsedCodeBlock, sessionResource, requestId, inUndoStop);
315
+ if (codemapperUri) {
316
+ codeBlock.render(codemapperUri, fromSubagent);
317
+ }
318
+ return {
319
+ object: codeBlock,
320
+ isStale: () => false,
321
+ dispose: () => codeBlock.dispose()
322
+ };
323
+ }
324
+ renderCodeBlock(data, text, isComplete, currentWidth) {
325
+ const ref = this.editorPool.get();
326
+ const editorInfo = ref.object;
327
+ if (isResponseVM(data.element)) {
328
+ this.codeBlockModelCollection.update(data.element.sessionResource, data.element, data.codeBlockIndex, { text, languageId: data.languageId, isComplete }).then((e) => {
329
+ this._codeblocks[data.codeBlockPartIndex].codemapperUri = e.codemapperUri;
330
+ this._onDidChangeHeight.fire();
331
+ });
332
+ }
333
+ editorInfo.render(data, currentWidth).then(() => {
334
+ this._onDidChangeHeight.fire();
335
+ });
336
+ return ref;
337
+ }
338
+ hasSameContent(other) {
339
+ if (other.kind !== 'markdownContent') {
340
+ return false;
341
+ }
342
+ if (other.content.value === this.markdown.content.value) {
343
+ return true;
344
+ }
345
+ const lastCodeblock = this._codeblocks.at(-1);
346
+ if (lastCodeblock && lastCodeblock.codemapperUri !== undefined && lastCodeblock.isStreamingEdit) {
347
+ return other.content.value.lastIndexOf('```') === this.markdown.content.value.lastIndexOf('```');
348
+ }
349
+ return false;
350
+ }
351
+ layout(width) {
352
+ this.allRefs.forEach((ref, index) => {
353
+ if (ref.object instanceof CodeBlockPart) {
354
+ ref.object.layout(width);
355
+ }
356
+ else if (ref.object instanceof MarkdownDiffBlockPart) {
357
+ ref.object.layout(width);
358
+ }
359
+ else if (ref.object instanceof CollapsedCodeBlock) {
360
+ const codeblockModel = this._codeblocks[index];
361
+ if (codeblockModel.codemapperUri && ref.object.uri?.toString() !== ( codeblockModel.codemapperUri.toString())) {
362
+ ref.object.render(codeblockModel.codemapperUri);
363
+ }
364
+ }
365
+ });
366
+ this.mathLayoutParticipants.forEach(layout => layout());
367
+ }
368
+ addDisposable(disposable) {
369
+ this._register(disposable);
370
+ }
371
+ };
372
+ ChatMarkdownContentPart = ChatMarkdownContentPart_1 = ( __decorate([
373
+ ( __param(10, IContextKeyService)),
374
+ ( __param(11, IConfigurationService)),
375
+ ( __param(12, ITextModelService)),
376
+ ( __param(13, IInstantiationService)),
377
+ ( __param(14, IAiEditTelemetryService))
378
+ ], ChatMarkdownContentPart));
379
+ function codeblockHasClosingBackticks(str) {
380
+ str = str.trim();
381
+ return !!str.match(/\n```+$/);
382
+ }
383
+ let CollapsedCodeBlock = class CollapsedCodeBlock extends Disposable {
384
+ get uri() { return this._uri; }
385
+ constructor(sessionResource, requestId, inUndoStop, labelService, editorService, modelService, languageService, contextMenuService, contextKeyService, menuService, hoverService, chatService, configurationService) {
386
+ super();
387
+ this.sessionResource = sessionResource;
388
+ this.requestId = requestId;
389
+ this.inUndoStop = inUndoStop;
390
+ this.labelService = labelService;
391
+ this.editorService = editorService;
392
+ this.modelService = modelService;
393
+ this.languageService = languageService;
394
+ this.contextMenuService = contextMenuService;
395
+ this.contextKeyService = contextKeyService;
396
+ this.menuService = menuService;
397
+ this.hoverService = hoverService;
398
+ this.chatService = chatService;
399
+ this.configurationService = configurationService;
400
+ this.hover = this._register(( new MutableDisposable()));
401
+ this.progressStore = this._store.add(( new DisposableStore()));
402
+ this.element = $('div.chat-codeblock-pill-container');
403
+ this.statusIndicatorContainer = $('div.status-indicator-container');
404
+ this.pillElement = $('.chat-codeblock-pill-widget');
405
+ this.pillElement.tabIndex = 0;
406
+ this.pillElement.classList.add('show-file-icons');
407
+ this.pillElement.role = 'button';
408
+ this.element.appendChild(this.statusIndicatorContainer);
409
+ this.element.appendChild(this.pillElement);
410
+ this.registerListeners();
411
+ }
412
+ registerListeners() {
413
+ this._register(registerOpenEditorListeners(this.pillElement, e => this.showDiff(e)));
414
+ this._register(addDisposableListener(this.pillElement, EventType.CONTEXT_MENU, e => {
415
+ const event = ( new StandardMouseEvent(getWindow(e), e));
416
+ EventHelper.stop(e, true);
417
+ this.contextMenuService.showContextMenu({
418
+ contextKeyService: this.contextKeyService,
419
+ getAnchor: () => event,
420
+ getActions: () => {
421
+ if (!this.uri) {
422
+ return [];
423
+ }
424
+ const menu = this.menuService.getMenuActions(MenuId.ChatEditingCodeBlockContext, this.contextKeyService, {
425
+ arg: {
426
+ sessionResource: this.sessionResource,
427
+ requestId: this.requestId,
428
+ uri: this.uri,
429
+ stopId: this.inUndoStop
430
+ }
431
+ });
432
+ return getFlatContextMenuActions(menu);
433
+ },
434
+ });
435
+ }));
436
+ }
437
+ showDiff({ editorOptions: options, openToSide }) {
438
+ if (this.currentDiff) {
439
+ this.editorService.openEditor({
440
+ original: { resource: this.currentDiff.originalURI },
441
+ modified: { resource: this.currentDiff.modifiedURI },
442
+ options
443
+ }, openToSide ? SIDE_GROUP : undefined);
444
+ }
445
+ else if (this.uri) {
446
+ this.editorService.openEditor({ resource: this.uri, options }, openToSide ? SIDE_GROUP : undefined);
447
+ }
448
+ }
449
+ render(uri, fromSubagent) {
450
+ this.pillElement.classList.toggle('from-sub-agent', !!fromSubagent);
451
+ this.progressStore.clear();
452
+ this._uri = uri;
453
+ const session = this.chatService.getSession(this.sessionResource);
454
+ const iconText = this.labelService.getUriBasenameLabel(uri);
455
+ const statusIconEl = $$1('span.status-icon');
456
+ const statusLabelEl = $$1('span.status-label', {}, '');
457
+ this.statusIndicatorContainer.replaceChildren(statusIconEl, statusLabelEl);
458
+ const iconEl = $$1('span.icon');
459
+ const iconLabelEl = $$1('span.icon-label', {}, iconText);
460
+ const labelDetail = $$1('span.label-detail', {}, '');
461
+ const progressFill = $$1('span.progress-fill');
462
+ this.pillElement.replaceChildren(progressFill, iconEl, iconLabelEl, labelDetail);
463
+ const tooltipLabel = this.labelService.getUriLabel(uri, { relative: true });
464
+ this.updateTooltip(tooltipLabel);
465
+ const editSession = session?.editingSession;
466
+ if (!editSession) {
467
+ return;
468
+ }
469
+ const diffObservable = ( derived(reader => {
470
+ const entry = editSession.readEntry(uri, reader);
471
+ return entry && editSession.getEntryDiffBetweenStops(entry.modifiedURI, this.requestId, this.inUndoStop);
472
+ }).map((d, r) => d?.read(r)));
473
+ const isStreaming = derived(r => {
474
+ const entry = editSession.readEntry(uri, r);
475
+ const currentlyModified = entry?.isCurrentlyBeingModifiedBy.read(r);
476
+ return !!currentlyModified && currentlyModified.responseModel.requestId === this.requestId && currentlyModified.undoStopId === this.inUndoStop;
477
+ });
478
+ let statusIconClasses = [];
479
+ let pillIconClasses = [];
480
+ this.progressStore.add(autorun(r => {
481
+ statusIconEl.classList.remove(...statusIconClasses);
482
+ iconEl.classList.remove(...pillIconClasses);
483
+ if (isStreaming.read(r)) {
484
+ const codicon = ThemeIcon.modify(Codicon.loading, 'spin');
485
+ statusIconClasses = ThemeIcon.asClassNameArray(codicon);
486
+ statusIconEl.classList.add(...statusIconClasses);
487
+ const entry = editSession.readEntry(uri, r);
488
+ const rwRatio = Math.floor((entry?.rewriteRatio.read(r) || 0) * 100);
489
+ statusLabelEl.textContent = ( localize(5057, 'Applying edits'));
490
+ const showAnimation = this.configurationService.getValue(ChatConfiguration.ShowCodeBlockProgressAnimation);
491
+ if (showAnimation) {
492
+ progressFill.style.width = `${rwRatio}%`;
493
+ this.pillElement.classList.add('progress-filling');
494
+ labelDetail.textContent = '';
495
+ }
496
+ else {
497
+ progressFill.style.width = '0%';
498
+ this.pillElement.classList.remove('progress-filling');
499
+ labelDetail.textContent = rwRatio === 0 || !rwRatio ? ( localize(5058, "Generating edits...")) : ( localize(5059, "({0}%)...", rwRatio));
500
+ }
501
+ }
502
+ else {
503
+ const statusCodeicon = Codicon.check;
504
+ statusIconClasses = ThemeIcon.asClassNameArray(statusCodeicon);
505
+ statusIconEl.classList.add(...statusIconClasses);
506
+ statusLabelEl.textContent = ( localize(5060, 'Edited'));
507
+ const fileKind = uri.path.endsWith('/') ? FileKind.FOLDER : FileKind.FILE;
508
+ pillIconClasses = getIconClasses(this.modelService, this.languageService, uri, fileKind);
509
+ iconEl.classList.add(...pillIconClasses);
510
+ this.pillElement.classList.remove('progress-filling');
511
+ progressFill.style.width = '0%';
512
+ labelDetail.textContent = '';
513
+ }
514
+ }));
515
+ this.progressStore.add(autorunSelfDisposable(r => {
516
+ const changes = diffObservable.read(r);
517
+ if (changes === undefined) {
518
+ return;
519
+ }
520
+ const labelAdded = this.pillElement.querySelector('.label-added') ?? this.pillElement.appendChild($$1('span.label-added'));
521
+ const labelRemoved = this.pillElement.querySelector('.label-removed') ?? this.pillElement.appendChild($$1('span.label-removed'));
522
+ if (changes && !changes?.identical && !changes?.quitEarly) {
523
+ this.currentDiff = changes;
524
+ labelAdded.textContent = `+${changes.added}`;
525
+ labelRemoved.textContent = `-${changes.removed}`;
526
+ const insertionsFragment = changes.added === 1 ? ( localize(5061, "1 insertion")) : ( localize(5062, "{0} insertions", changes.added));
527
+ const deletionsFragment = changes.removed === 1 ? ( localize(5063, "1 deletion")) : ( localize(5064, "{0} deletions", changes.removed));
528
+ const summary = ( localize(
529
+ 5065,
530
+ 'Edited {0}, {1}, {2}',
531
+ iconText,
532
+ insertionsFragment,
533
+ deletionsFragment
534
+ ));
535
+ this.element.ariaLabel = summary;
536
+ if (changes.isFinal) {
537
+ r.dispose();
538
+ }
539
+ }
540
+ }));
541
+ }
542
+ updateTooltip(tooltip) {
543
+ this.tooltip = tooltip;
544
+ if (!this.hover.value) {
545
+ this.hover.value = this.hoverService.setupDelayedHover(this.pillElement, () => ({
546
+ content: this.tooltip,
547
+ style: HoverStyle.Pointer,
548
+ position: { hoverPosition: HoverPosition.BELOW },
549
+ persistence: { hideOnKeyDown: true },
550
+ }));
551
+ }
552
+ }
553
+ };
554
+ CollapsedCodeBlock = ( __decorate([
555
+ ( __param(3, ILabelService)),
556
+ ( __param(4, IEditorService)),
557
+ ( __param(5, IModelService)),
558
+ ( __param(6, ILanguageService)),
559
+ ( __param(7, IContextMenuService)),
560
+ ( __param(8, IContextKeyService)),
561
+ ( __param(9, IMenuService)),
562
+ ( __param(10, IHoverService)),
563
+ ( __param(11, IChatService)),
564
+ ( __param(12, IConfigurationService))
565
+ ], CollapsedCodeBlock));
566
+
567
+ export { ChatMarkdownContentPart, CollapsedCodeBlock, codeblockHasClosingBackticks };
@@ -0,0 +1,34 @@
1
+ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IMarkdownRendererService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service";
3
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
4
+ import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
5
+ import { IMcpService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service";
6
+ import { IChatMcpServersStarting } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
7
+ import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatViewModel";
8
+ import { IChatContentPart, IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts";
9
+ export declare class ChatMcpServersInteractionContentPart extends Disposable implements IChatContentPart {
10
+ private readonly data;
11
+ private readonly context;
12
+ private readonly mcpService;
13
+ private readonly instantiationService;
14
+ private readonly _openerService;
15
+ private readonly _markdownRendererService;
16
+ readonly domNode: HTMLElement;
17
+ private readonly _onDidChangeHeight;
18
+ readonly onDidChangeHeight: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
19
+ private workingProgressPart;
20
+ private interactionContainer;
21
+ private readonly interactionMd;
22
+ private readonly showSpecificServersScheduler;
23
+ private readonly previousParts;
24
+ constructor(data: IChatMcpServersStarting, context: IChatContentPartRenderContext, mcpService: IMcpService, instantiationService: IInstantiationService, _openerService: IOpenerService, _markdownRendererService: IMarkdownRendererService);
25
+ private updateForState;
26
+ private createServerCommandLinks;
27
+ private updateDetailedProgress;
28
+ private renderInteractionRequired;
29
+ private updateInteractionRequired;
30
+ private createInteractionMessage;
31
+ private _start;
32
+ hasSameContent(other: IChatRendererContent): boolean;
33
+ addDisposable(disposable: IDisposable): void;
34
+ }