@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,347 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { append, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
5
+ import { IconLabel } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabel';
6
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
7
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
8
+ import { DisposableStore, Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
9
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
10
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
11
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
12
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
13
+ import { WorkbenchList } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
14
+ import { IChatTodoListService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatTodoListService.service';
15
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
16
+ import { TodoListToolDescriptionFieldSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/manageTodoListTool';
17
+ import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
18
+
19
+ class TodoListDelegate {
20
+ getHeight(element) {
21
+ return 22;
22
+ }
23
+ getTemplateId(element) {
24
+ return TodoListRenderer.TEMPLATE_ID;
25
+ }
26
+ }
27
+ class TodoListRenderer {
28
+ static { this.TEMPLATE_ID = 'todoListRenderer'; }
29
+ constructor(configurationService) {
30
+ this.configurationService = configurationService;
31
+ this.templateId = TodoListRenderer.TEMPLATE_ID;
32
+ }
33
+ renderTemplate(container) {
34
+ const templateDisposables = ( new DisposableStore());
35
+ const todoElement = append(container, $('li.todo-item'));
36
+ todoElement.setAttribute('role', 'listitem');
37
+ const statusIcon = append(todoElement, $('.todo-status-icon.codicon'));
38
+ statusIcon.setAttribute('aria-hidden', 'true');
39
+ const todoContent = append(todoElement, $('.todo-content'));
40
+ const iconLabel = templateDisposables.add(( new IconLabel(todoContent, { supportIcons: false })));
41
+ return { templateDisposables, todoElement, statusIcon, iconLabel };
42
+ }
43
+ renderElement(todo, index, templateData) {
44
+ const { todoElement, statusIcon, iconLabel } = templateData;
45
+ statusIcon.className = `todo-status-icon codicon ${this.getStatusIconClass(todo.status)}`;
46
+ statusIcon.style.color = this.getStatusIconColor(todo.status);
47
+ const includeDescription = this.configurationService.getValue(TodoListToolDescriptionFieldSettingId) !== false;
48
+ const title = includeDescription && todo.description && todo.description.trim() ? todo.description : undefined;
49
+ iconLabel.setLabel(todo.title, undefined, { title });
50
+ const statusText = this.getStatusText(todo.status);
51
+ const ariaLabel = includeDescription && todo.description && todo.description.trim()
52
+ ? ( localize(5106, '{0}, {1}, {2}', todo.title, statusText, todo.description))
53
+ : ( localize(5107, '{0}, {1}', todo.title, statusText));
54
+ todoElement.setAttribute('aria-label', ariaLabel);
55
+ }
56
+ disposeTemplate(templateData) {
57
+ templateData.templateDisposables.dispose();
58
+ }
59
+ getStatusText(status) {
60
+ switch (status) {
61
+ case 'completed':
62
+ return localize(5108, 'completed');
63
+ case 'in-progress':
64
+ return localize(5109, 'in progress');
65
+ case 'not-started':
66
+ default:
67
+ return localize(5110, 'not started');
68
+ }
69
+ }
70
+ getStatusIconClass(status) {
71
+ switch (status) {
72
+ case 'completed':
73
+ return 'codicon-pass';
74
+ case 'in-progress':
75
+ return 'codicon-record';
76
+ case 'not-started':
77
+ default:
78
+ return 'codicon-circle-outline';
79
+ }
80
+ }
81
+ getStatusIconColor(status) {
82
+ switch (status) {
83
+ case 'completed':
84
+ return 'var(--vscode-charts-green)';
85
+ case 'in-progress':
86
+ return 'var(--vscode-charts-blue)';
87
+ case 'not-started':
88
+ default:
89
+ return 'var(--vscode-foreground)';
90
+ }
91
+ }
92
+ }
93
+ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
94
+ constructor(chatTodoListService, configurationService, instantiationService, contextKeyService) {
95
+ super();
96
+ this.chatTodoListService = chatTodoListService;
97
+ this.configurationService = configurationService;
98
+ this.instantiationService = instantiationService;
99
+ this.contextKeyService = contextKeyService;
100
+ this._onDidChangeHeight = this._register(( new Emitter()));
101
+ this.onDidChangeHeight = this._onDidChangeHeight.event;
102
+ this._isExpanded = false;
103
+ this._userManuallyExpanded = false;
104
+ this.domNode = this.createChatTodoWidget();
105
+ this._register(this.contextKeyService.onDidChangeContext(e => {
106
+ if (e.affectsSome(( new Set([ChatContextKeys.requestInProgress.key])))) {
107
+ this.updateClearButtonState();
108
+ }
109
+ }));
110
+ }
111
+ get height() {
112
+ return this.domNode.style.display === 'none' ? 0 : this.domNode.offsetHeight;
113
+ }
114
+ hideWidget() {
115
+ this.domNode.style.display = 'none';
116
+ this._onDidChangeHeight.fire();
117
+ }
118
+ createChatTodoWidget() {
119
+ const container = $('.chat-todo-list-widget');
120
+ container.style.display = 'none';
121
+ const expandoContainer = $('.todo-list-expand');
122
+ this.expandoButton = this._register(( new Button(expandoContainer, {
123
+ supportIcons: true
124
+ })));
125
+ this.expandoButton.element.setAttribute('aria-expanded', String(this._isExpanded));
126
+ this.expandoButton.element.setAttribute('aria-controls', 'todo-list-container');
127
+ const titleSection = $('.todo-list-title-section');
128
+ this.expandIcon = $('.expand-icon.codicon');
129
+ this.expandIcon.classList.add(this._isExpanded ? 'codicon-chevron-down' : 'codicon-chevron-right');
130
+ this.expandIcon.setAttribute('aria-hidden', 'true');
131
+ this.titleElement = $('.todo-list-title');
132
+ this.titleElement.id = 'todo-list-title';
133
+ this.titleElement.textContent = ( localize(5111, 'Todos'));
134
+ this.clearButtonContainer = $('.todo-clear-button-container');
135
+ this.createClearButton();
136
+ titleSection.appendChild(this.expandIcon);
137
+ titleSection.appendChild(this.titleElement);
138
+ this.expandoButton.element.appendChild(titleSection);
139
+ this.expandoButton.element.appendChild(this.clearButtonContainer);
140
+ this.todoListContainer = $('.todo-list-container');
141
+ this.todoListContainer.style.display = this._isExpanded ? 'block' : 'none';
142
+ this.todoListContainer.id = 'todo-list-container';
143
+ this.todoListContainer.setAttribute('role', 'list');
144
+ this.todoListContainer.setAttribute('aria-labelledby', 'todo-list-title');
145
+ container.appendChild(expandoContainer);
146
+ container.appendChild(this.todoListContainer);
147
+ this._register(this.expandoButton.onDidClick(() => {
148
+ this.toggleExpanded();
149
+ }));
150
+ return container;
151
+ }
152
+ createClearButton() {
153
+ this.clearButton = ( new Button(this.clearButtonContainer, {
154
+ supportIcons: true,
155
+ }));
156
+ this.clearButton.element.tabIndex = 0;
157
+ this.clearButton.icon = Codicon.clearAll;
158
+ this._register(this.clearButton);
159
+ this._register(this.clearButton.onDidClick(() => {
160
+ this.clearAllTodos();
161
+ }));
162
+ }
163
+ render(sessionResource) {
164
+ if (!sessionResource) {
165
+ this.hideWidget();
166
+ return;
167
+ }
168
+ if (!isEqual(this._currentSessionResource, sessionResource)) {
169
+ this._userManuallyExpanded = false;
170
+ this._currentSessionResource = sessionResource;
171
+ this.hideWidget();
172
+ }
173
+ this.updateTodoDisplay();
174
+ }
175
+ clear(sessionResource, force = false) {
176
+ if (!sessionResource || this.domNode.style.display === 'none') {
177
+ return;
178
+ }
179
+ const currentTodos = this.chatTodoListService.getTodos(sessionResource);
180
+ const shouldClear = force || (currentTodos.length > 0 && !( currentTodos.some(todo => todo.status !== 'completed')));
181
+ if (shouldClear) {
182
+ this.clearAllTodos();
183
+ }
184
+ }
185
+ updateTodoDisplay() {
186
+ if (!this._currentSessionResource) {
187
+ return;
188
+ }
189
+ const todoList = this.chatTodoListService.getTodos(this._currentSessionResource);
190
+ const shouldShow = todoList.length > 2;
191
+ if (!shouldShow) {
192
+ this.domNode.classList.remove('has-todos');
193
+ return;
194
+ }
195
+ this.domNode.classList.add('has-todos');
196
+ this.renderTodoList(todoList);
197
+ this.domNode.style.display = 'block';
198
+ this._onDidChangeHeight.fire();
199
+ }
200
+ renderTodoList(todoList) {
201
+ this.updateTitleElement(this.titleElement, todoList);
202
+ const allIncomplete = todoList.every(todo => todo.status === 'not-started');
203
+ if (allIncomplete) {
204
+ this._userManuallyExpanded = false;
205
+ }
206
+ if (!this._todoList) {
207
+ this._todoList = this._register(this.instantiationService.createInstance((WorkbenchList), 'ChatTodoListRenderer', this.todoListContainer, ( new TodoListDelegate()), [( new TodoListRenderer(this.configurationService))], {
208
+ alwaysConsumeMouseWheel: false,
209
+ accessibilityProvider: {
210
+ getAriaLabel: (todo) => {
211
+ const statusText = this.getStatusText(todo.status);
212
+ const includeDescription = this.configurationService.getValue(TodoListToolDescriptionFieldSettingId) !== false;
213
+ return includeDescription && todo.description && todo.description.trim()
214
+ ? ( localize(5106, '{0}, {1}, {2}', todo.title, statusText, todo.description))
215
+ : ( localize(5107, '{0}, {1}', todo.title, statusText));
216
+ },
217
+ getWidgetAriaLabel: () => ( localize(5112, 'Chat Todo List'))
218
+ }
219
+ }));
220
+ }
221
+ const maxItemsShown = 6;
222
+ const itemsShown = Math.min(todoList.length, maxItemsShown);
223
+ const height = itemsShown * 22;
224
+ this._todoList.layout(height);
225
+ this._todoList.getHTMLElement().style.height = `${height}px`;
226
+ this._todoList.splice(0, this._todoList.length, todoList);
227
+ const hasInProgressTask = ( todoList.some(todo => todo.status === 'in-progress'));
228
+ const hasCompletedTask = ( todoList.some(todo => todo.status === 'completed'));
229
+ this.updateClearButtonState();
230
+ if ((hasInProgressTask || hasCompletedTask) && this._isExpanded && !this._userManuallyExpanded) {
231
+ this._isExpanded = false;
232
+ this.expandoButton.element.setAttribute('aria-expanded', 'false');
233
+ this.todoListContainer.style.display = 'none';
234
+ this.expandIcon.classList.remove('codicon-chevron-down');
235
+ this.expandIcon.classList.add('codicon-chevron-right');
236
+ this.updateTitleElement(this.titleElement, todoList);
237
+ this._onDidChangeHeight.fire();
238
+ }
239
+ }
240
+ toggleExpanded() {
241
+ this._isExpanded = !this._isExpanded;
242
+ this._userManuallyExpanded = true;
243
+ this.expandIcon.classList.toggle('codicon-chevron-down', this._isExpanded);
244
+ this.expandIcon.classList.toggle('codicon-chevron-right', !this._isExpanded);
245
+ this.todoListContainer.style.display = this._isExpanded ? 'block' : 'none';
246
+ if (this._currentSessionResource) {
247
+ const todoList = this.chatTodoListService.getTodos(this._currentSessionResource);
248
+ this.updateTitleElement(this.titleElement, todoList);
249
+ }
250
+ this._onDidChangeHeight.fire();
251
+ }
252
+ clearAllTodos() {
253
+ if (!this._currentSessionResource) {
254
+ return;
255
+ }
256
+ this.chatTodoListService.setTodos(this._currentSessionResource, []);
257
+ this.hideWidget();
258
+ }
259
+ updateClearButtonState() {
260
+ if (!this._currentSessionResource) {
261
+ return;
262
+ }
263
+ const todoList = this.chatTodoListService.getTodos(this._currentSessionResource);
264
+ const hasInProgressTask = ( todoList.some(todo => todo.status === 'in-progress'));
265
+ const isRequestInProgress = ChatContextKeys.requestInProgress.getValue(this.contextKeyService) ?? false;
266
+ const shouldDisable = isRequestInProgress && hasInProgressTask;
267
+ this.clearButton.enabled = !shouldDisable;
268
+ if (shouldDisable) {
269
+ this.clearButton.setTitle(( localize(5113, 'Cannot clear todos while a task is in progress')));
270
+ }
271
+ else {
272
+ this.clearButton.setTitle(( localize(5114, 'Clear all todos')));
273
+ }
274
+ }
275
+ updateTitleElement(titleElement, todoList) {
276
+ titleElement.textContent = '';
277
+ const completedCount = todoList.filter(todo => todo.status === 'completed').length;
278
+ const totalCount = todoList.length;
279
+ const inProgressTodos = todoList.filter(todo => todo.status === 'in-progress');
280
+ const firstInProgressTodo = inProgressTodos.length > 0 ? inProgressTodos[0] : undefined;
281
+ const notStartedTodos = todoList.filter(todo => todo.status === 'not-started');
282
+ const firstNotStartedTodo = notStartedTodos.length > 0 ? notStartedTodos[0] : undefined;
283
+ const currentTaskNumber = inProgressTodos.length > 0 ? completedCount + 1 : Math.max(1, completedCount);
284
+ const expandButtonLabel = this._isExpanded
285
+ ? ( localize(5115, 'Collapse Todos'))
286
+ : ( localize(5116, 'Expand Todos'));
287
+ this.expandoButton.element.setAttribute('aria-label', expandButtonLabel);
288
+ this.expandoButton.element.setAttribute('aria-expanded', this._isExpanded ? 'true' : 'false');
289
+ if (this._isExpanded) {
290
+ const titleText = $('span');
291
+ titleText.textContent = totalCount > 0 ?
292
+ ( localize(5117, 'Todos ({0}/{1})', currentTaskNumber, totalCount)) :
293
+ ( localize(5111, 'Todos'));
294
+ titleElement.appendChild(titleText);
295
+ }
296
+ else {
297
+ const todoToShow = firstInProgressTodo || firstNotStartedTodo;
298
+ if (todoToShow) {
299
+ const icon = $('.codicon');
300
+ if (todoToShow === firstInProgressTodo) {
301
+ icon.classList.add('codicon-record');
302
+ icon.style.color = 'var(--vscode-charts-blue)';
303
+ }
304
+ else {
305
+ icon.classList.add('codicon-circle-outline');
306
+ icon.style.color = 'var(--vscode-foreground)';
307
+ }
308
+ icon.style.marginRight = '4px';
309
+ icon.style.verticalAlign = 'middle';
310
+ titleElement.appendChild(icon);
311
+ const todoText = $('span');
312
+ todoText.textContent = ( localize(5118, '{0} ({1}/{2})', todoToShow.title, currentTaskNumber, totalCount));
313
+ todoText.style.verticalAlign = 'middle';
314
+ todoText.style.overflow = 'hidden';
315
+ todoText.style.textOverflow = 'ellipsis';
316
+ todoText.style.whiteSpace = 'nowrap';
317
+ todoText.style.minWidth = '0';
318
+ titleElement.appendChild(todoText);
319
+ }
320
+ else if (completedCount > 0 && completedCount === totalCount) {
321
+ const doneText = $('span');
322
+ doneText.textContent = ( localize(5117, 'Todos ({0}/{1})', totalCount, totalCount));
323
+ doneText.style.verticalAlign = 'middle';
324
+ titleElement.appendChild(doneText);
325
+ }
326
+ }
327
+ }
328
+ getStatusText(status) {
329
+ switch (status) {
330
+ case 'completed':
331
+ return localize(5108, 'completed');
332
+ case 'in-progress':
333
+ return localize(5109, 'in progress');
334
+ case 'not-started':
335
+ default:
336
+ return localize(5110, 'not started');
337
+ }
338
+ }
339
+ };
340
+ ChatTodoListWidget = ( __decorate([
341
+ ( __param(0, IChatTodoListService)),
342
+ ( __param(1, IConfigurationService)),
343
+ ( __param(2, IInstantiationService)),
344
+ ( __param(3, IContextKeyService))
345
+ ], ChatTodoListWidget));
346
+
347
+ export { ChatTodoListWidget };
@@ -0,0 +1,56 @@
1
+ import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
2
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
+ import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
5
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
6
+ import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
7
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
8
+ import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatViewModel";
9
+ import { LanguageModelPartAudience } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
10
+ import { ChatTreeItem, IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
11
+ import { ICodeBlockRenderOptions } from "../codeBlockPart.js";
12
+ import { IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts";
13
+ export interface IChatCollapsibleIOCodePart {
14
+ kind: "code";
15
+ textModel: ITextModel;
16
+ languageId: string;
17
+ options: ICodeBlockRenderOptions;
18
+ codeBlockInfo: IChatCodeBlockInfo;
19
+ }
20
+ export interface IChatCollapsibleIODataPart {
21
+ kind: "data";
22
+ value?: Uint8Array;
23
+ audience?: LanguageModelPartAudience[];
24
+ mimeType: string | undefined;
25
+ uri: URI;
26
+ }
27
+ export type ChatCollapsibleIOPart = IChatCollapsibleIOCodePart | IChatCollapsibleIODataPart;
28
+ export interface IChatCollapsibleInputData extends IChatCollapsibleIOCodePart {
29
+ }
30
+ export interface IChatCollapsibleOutputData {
31
+ parts: ChatCollapsibleIOPart[];
32
+ }
33
+ export declare class ChatCollapsibleInputOutputContentPart extends Disposable {
34
+ private readonly context;
35
+ private readonly input;
36
+ private readonly output;
37
+ private readonly contextKeyService;
38
+ private readonly _instantiationService;
39
+ private readonly _onDidChangeHeight;
40
+ readonly onDidChangeHeight: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
41
+ private _currentWidth;
42
+ private readonly _editorReferences;
43
+ private readonly _titlePart;
44
+ private _outputSubPart;
45
+ readonly domNode: HTMLElement;
46
+ get codeblocks(): IChatCodeBlockInfo[];
47
+ set title(s: string | IMarkdownString);
48
+ get title(): string | IMarkdownString;
49
+ private readonly _expanded;
50
+ get expanded(): boolean;
51
+ constructor(title: IMarkdownString | string, subtitle: string | IMarkdownString | undefined, progressTooltip: IMarkdownString | string | undefined, context: IChatContentPartRenderContext, input: IChatCollapsibleInputData, output: IChatCollapsibleOutputData | undefined, isError: boolean, initiallyExpanded: boolean, contextKeyService: IContextKeyService, _instantiationService: IInstantiationService, hoverService: IHoverService);
52
+ private createMessageContents;
53
+ private addCodeBlock;
54
+ hasSameContent(other: IChatRendererContent, followingContent: IChatRendererContent[], element: ChatTreeItem): boolean;
55
+ layout(width: number): void;
56
+ }
@@ -0,0 +1,164 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { h, createElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { ButtonWithIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
5
+ import { HoverStyle } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hover';
6
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
7
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
8
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
9
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
10
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
11
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
13
+ import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
14
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
15
+ import { LanguageModelPartAudience } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
16
+ import { ChatQueryTitlePart } from './chatConfirmationWidget.js';
17
+ import { ChatToolOutputContentSubPart } from './chatToolOutputContentSubPart.js';
18
+ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
19
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
20
+
21
+ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputContentPart extends Disposable {
22
+ get codeblocks() {
23
+ const inputCodeblocks = ( this._editorReferences.map(ref => {
24
+ const cbi = this.input.codeBlockInfo;
25
+ return cbi;
26
+ }));
27
+ const outputCodeblocks = this._outputSubPart?.codeblocks ?? [];
28
+ return [...inputCodeblocks, ...outputCodeblocks];
29
+ }
30
+ set title(s) {
31
+ this._titlePart.title = s;
32
+ }
33
+ get title() {
34
+ return this._titlePart.title;
35
+ }
36
+ get expanded() {
37
+ return this._expanded.get();
38
+ }
39
+ constructor(title, subtitle, progressTooltip, context, input, output, isError, initiallyExpanded, contextKeyService, _instantiationService, hoverService) {
40
+ super();
41
+ this.context = context;
42
+ this.input = input;
43
+ this.output = output;
44
+ this.contextKeyService = contextKeyService;
45
+ this._instantiationService = _instantiationService;
46
+ this._onDidChangeHeight = this._register(( new Emitter()));
47
+ this.onDidChangeHeight = this._onDidChangeHeight.event;
48
+ this._currentWidth = 0;
49
+ this._editorReferences = [];
50
+ this._currentWidth = context.currentWidth();
51
+ const container = h('.chat-confirmation-widget-container');
52
+ const titleEl = h('.chat-confirmation-widget-title-inner');
53
+ const elements = h('.chat-confirmation-widget');
54
+ this.domNode = container.root;
55
+ container.root.appendChild(elements.root);
56
+ const titlePart = this._titlePart = this._register(_instantiationService.createInstance(ChatQueryTitlePart, titleEl.root, title, subtitle));
57
+ this._register(titlePart.onDidChangeHeight(() => this._onDidChangeHeight.fire()));
58
+ const spacer = createElement('span');
59
+ spacer.style.flexGrow = '1';
60
+ const btn = this._register(( new ButtonWithIcon(elements.root, {})));
61
+ btn.element.classList.add('chat-confirmation-widget-title', 'monaco-text-button');
62
+ btn.labelElement.append(titleEl.root);
63
+ const check = h(isError
64
+ ? ThemeIcon.asCSSSelector(Codicon.error)
65
+ : output
66
+ ? ThemeIcon.asCSSSelector(Codicon.check)
67
+ : ThemeIcon.asCSSSelector(ThemeIcon.modify(Codicon.loading, 'spin')));
68
+ if (progressTooltip) {
69
+ this._register(hoverService.setupDelayedHover(check.root, {
70
+ content: progressTooltip,
71
+ style: HoverStyle.Pointer,
72
+ }));
73
+ }
74
+ const expanded = this._expanded = observableValue(this, initiallyExpanded);
75
+ this._register(autorun(r => {
76
+ const value = expanded.read(r);
77
+ btn.icon = isError
78
+ ? Codicon.error
79
+ : output
80
+ ? Codicon.check
81
+ : ThemeIcon.modify(Codicon.loading, 'spin');
82
+ elements.root.classList.toggle('collapsed', !value);
83
+ this._onDidChangeHeight.fire();
84
+ }));
85
+ const toggle = (e) => {
86
+ if (!e.defaultPrevented) {
87
+ const value = expanded.get();
88
+ expanded.set(!value, undefined);
89
+ e.preventDefault();
90
+ }
91
+ };
92
+ this._register(btn.onDidClick(toggle));
93
+ const message = h('.chat-confirmation-widget-message');
94
+ message.root.appendChild(this.createMessageContents());
95
+ elements.root.appendChild(message.root);
96
+ const topLevelResources = this.output?.parts
97
+ .filter(p => p.kind === 'data')
98
+ .filter(p => !p.audience || p.audience.includes(LanguageModelPartAudience.User));
99
+ if (topLevelResources?.length) {
100
+ const resourceSubPart = this._register(this._instantiationService.createInstance(ChatToolOutputContentSubPart, this.context, topLevelResources));
101
+ const group = resourceSubPart.domNode;
102
+ group.classList.add('chat-collapsible-top-level-resource-group');
103
+ container.root.appendChild(group);
104
+ this._register(autorun(r => {
105
+ group.style.display = expanded.read(r) ? 'none' : '';
106
+ }));
107
+ }
108
+ }
109
+ createMessageContents() {
110
+ const contents = h('div', [
111
+ h('h3@inputTitle'),
112
+ h('div@input'),
113
+ h('h3@outputTitle'),
114
+ h('div@output'),
115
+ ]);
116
+ const { input, output } = this;
117
+ contents.inputTitle.textContent = ( localize(5119, "Input"));
118
+ this.addCodeBlock(input, contents.input);
119
+ if (!output) {
120
+ contents.output.remove();
121
+ contents.outputTitle.remove();
122
+ }
123
+ else {
124
+ contents.outputTitle.textContent = ( localize(5120, "Output"));
125
+ const outputSubPart = this._register(this._instantiationService.createInstance(ChatToolOutputContentSubPart, this.context, output.parts));
126
+ this._outputSubPart = outputSubPart;
127
+ this._register(outputSubPart.onDidChangeHeight(() => this._onDidChangeHeight.fire()));
128
+ contents.output.appendChild(outputSubPart.domNode);
129
+ }
130
+ return contents.root;
131
+ }
132
+ addCodeBlock(part, container) {
133
+ const data = {
134
+ languageId: part.languageId,
135
+ textModel: Promise.resolve(part.textModel),
136
+ codeBlockIndex: part.codeBlockInfo.codeBlockIndex,
137
+ codeBlockPartIndex: 0,
138
+ element: this.context.element,
139
+ parentContextKeyService: this.contextKeyService,
140
+ renderOptions: part.options,
141
+ chatSessionResource: this.context.element.sessionResource,
142
+ };
143
+ const editorReference = this._register(this.context.editorPool.get());
144
+ editorReference.object.render(data, this._currentWidth || 300);
145
+ this._register(editorReference.object.onDidChangeContentHeight(() => this._onDidChangeHeight.fire()));
146
+ container.appendChild(editorReference.object.element);
147
+ this._editorReferences.push(editorReference);
148
+ }
149
+ hasSameContent(other, followingContent, element) {
150
+ return false;
151
+ }
152
+ layout(width) {
153
+ this._currentWidth = width;
154
+ this._editorReferences.forEach(r => r.object.layout(width));
155
+ this._outputSubPart?.layout(width);
156
+ }
157
+ };
158
+ ChatCollapsibleInputOutputContentPart = ( __decorate([
159
+ ( __param(8, IContextKeyService)),
160
+ ( __param(9, IInstantiationService)),
161
+ ( __param(10, IHoverService))
162
+ ], ChatCollapsibleInputOutputContentPart));
163
+
164
+ export { ChatCollapsibleInputOutputContentPart };
@@ -0,0 +1,32 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
3
+ import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
4
+ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
5
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
6
+ import { IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
7
+ import { IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts";
8
+ import { ChatCollapsibleIOPart } from "./chatToolInputOutputContentPart.js";
9
+ /**
10
+ * A reusable component for rendering tool output consisting of code blocks and/or resources.
11
+ * This is used by both ChatCollapsibleInputOutputContentPart and ChatToolPostExecuteConfirmationPart.
12
+ */
13
+ export declare class ChatToolOutputContentSubPart extends Disposable {
14
+ private readonly context;
15
+ private readonly parts;
16
+ private readonly contextKeyService;
17
+ private readonly _instantiationService;
18
+ private readonly _contextMenuService;
19
+ private readonly _fileService;
20
+ private readonly _onDidChangeHeight;
21
+ readonly onDidChangeHeight: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
22
+ private _currentWidth;
23
+ private readonly _editorReferences;
24
+ readonly domNode: HTMLElement;
25
+ readonly codeblocks: IChatCodeBlockInfo[];
26
+ constructor(context: IChatContentPartRenderContext, parts: ChatCollapsibleIOPart[], contextKeyService: IContextKeyService, _instantiationService: IInstantiationService, _contextMenuService: IContextMenuService, _fileService: IFileService);
27
+ private createOutputContents;
28
+ private addResourceGroup;
29
+ private fillInResourceGroup;
30
+ private addCodeBlock;
31
+ layout(width: number): void;
32
+ }