@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,562 @@
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 { h, trackFocus, reset, getTotalHeight, getActiveElement, getWindow, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
+ import { getDefaultHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
6
+ import { renderLabelWithIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
7
+ import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
8
+ import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
9
+ import { DisposableStore, toDisposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
10
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
11
+ import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
12
+ import { AccessibleDiffViewer } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer';
13
+ import { EditorOption } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/config/editorOptions';
14
+ import { LineRange } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/ranges/lineRange';
15
+ import { Selection } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/selection';
16
+ import { RangeMapping, DetailedLineRangeMapping } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/rangeMapping';
17
+ import { ScrollType } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorCommon';
18
+ import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
19
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
20
+ import { IAccessibleViewService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView.service';
21
+ import { IAccessibilityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility.service';
22
+ import { MenuWorkbenchButtonBar } from '../../../../platform/actions/browser/buttonbar.js';
23
+ import { createActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
24
+ import { MenuWorkbenchToolBar } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar';
25
+ import { MenuId, MenuItemAction } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
26
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
27
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
28
+ import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
29
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
30
+ import { ServiceCollection } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/serviceCollection';
31
+ import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
32
+ import { ILayoutService } from '@codingame/monaco-vscode-api/vscode/vs/platform/layout/browser/layoutService.service';
33
+ import { IMarkdownRendererService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service';
34
+ import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
35
+ import { asCssVariableName, asCssVariable } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
36
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/baseColors';
37
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/chartsColors';
38
+ import { editorBackground } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/editorColors';
39
+ import { inputBackground } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/inputColors';
40
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/listColors';
41
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/menuColors';
42
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/minimapColors';
43
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/miscColors';
44
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
45
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
46
+ import { EDITOR_DRAG_AND_DROP_BACKGROUND } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/theme';
47
+ import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
48
+ import { AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
49
+ import { AccessibilityCommandId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/common/accessibilityCommands';
50
+ import { MarkUnhelpfulActionId } from '../../chat/browser/actions/chatTitleActions.js';
51
+ import { ChatVoteDownButton } from '../../chat/browser/chatListRenderer.js';
52
+ import { ChatWidget } from '../../chat/browser/chatWidget.js';
53
+ import { chatRequestBackground } from '../../chat/common/chatColors.js';
54
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
55
+ import { ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
56
+ import { ChatAgentVoteDirection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService';
57
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
58
+ import { isResponseVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatViewModel';
59
+ import { inlineChatBackground, inlineChatForeground, CTX_INLINE_CHAT_RESPONSE_FOCUSED, CTX_INLINE_CHAT_FOCUSED } from '../common/inlineChat.js';
60
+ import * as inlineChat from './media/inlineChat.css';
61
+ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
62
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
63
+ import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
64
+ import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
65
+
66
+ var HunkAccessibleDiffViewer_1;
67
+ registerCss(inlineChat);
68
+ let InlineChatWidget = class InlineChatWidget {
69
+ constructor(location, _options, _instantiationService, _contextKeyService, _keybindingService, _accessibilityService, _configurationService, _accessibleViewService, _textModelResolverService, _chatService, _hoverService, _chatEntitlementService, _markdownRendererService) {
70
+ this._options = _options;
71
+ this._instantiationService = _instantiationService;
72
+ this._contextKeyService = _contextKeyService;
73
+ this._keybindingService = _keybindingService;
74
+ this._accessibilityService = _accessibilityService;
75
+ this._configurationService = _configurationService;
76
+ this._accessibleViewService = _accessibleViewService;
77
+ this._textModelResolverService = _textModelResolverService;
78
+ this._chatService = _chatService;
79
+ this._hoverService = _hoverService;
80
+ this._chatEntitlementService = _chatEntitlementService;
81
+ this._markdownRendererService = _markdownRendererService;
82
+ this._elements = h('div.inline-chat@root', [
83
+ h('div.chat-widget@chatWidget'),
84
+ h('div.accessibleViewer@accessibleViewer'),
85
+ h('div.status@status', [
86
+ h('div.label.info.hidden@infoLabel'),
87
+ h('div.actions.hidden@toolbar1'),
88
+ h('div.label.status.hidden@statusLabel'),
89
+ h('div.actions.secondary.hidden@toolbar2'),
90
+ h('div.label.disclaimer.hidden@disclaimerLabel'),
91
+ ]),
92
+ ]);
93
+ this._store = ( new DisposableStore());
94
+ this._onDidChangeHeight = this._store.add(( new Emitter()));
95
+ this.onDidChangeHeight = Event.filter(this._onDidChangeHeight.event, _ => !this._isLayouting);
96
+ this._requestInProgress = observableValue(this, false);
97
+ this.requestInProgress = this._requestInProgress;
98
+ this._isLayouting = false;
99
+ this.scopedContextKeyService = this._store.add(_contextKeyService.createScoped(this._elements.chatWidget));
100
+ const scopedInstaService = _instantiationService.createChild(( new ServiceCollection([
101
+ IContextKeyService,
102
+ this.scopedContextKeyService
103
+ ])), this._store);
104
+ this._chatWidget = scopedInstaService.createInstance(ChatWidget, location, { isInlineChat: true }, {
105
+ autoScroll: true,
106
+ defaultElementHeight: 32,
107
+ renderStyle: 'minimal',
108
+ renderInputOnTop: false,
109
+ renderFollowups: true,
110
+ supportsFileReferences: true,
111
+ filter: item => {
112
+ if (!isResponseVM(item) || item.errorDetails) {
113
+ return true;
114
+ }
115
+ const emptyResponse = item.response.value.length === 0;
116
+ if (emptyResponse) {
117
+ return false;
118
+ }
119
+ if (item.response.value.every(item => item.kind === 'textEditGroup' && _options.chatWidgetViewOptions?.rendererOptions?.renderTextEditsAsSummary?.(item.uri))) {
120
+ return false;
121
+ }
122
+ return true;
123
+ },
124
+ dndContainer: this._elements.root,
125
+ defaultMode: ChatMode.Ask,
126
+ ..._options.chatWidgetViewOptions
127
+ }, {
128
+ listForeground: inlineChatForeground,
129
+ listBackground: inlineChatBackground,
130
+ overlayBackground: EDITOR_DRAG_AND_DROP_BACKGROUND,
131
+ inputEditorBackground: inputBackground,
132
+ resultEditorBackground: editorBackground
133
+ });
134
+ this._elements.root.classList.toggle('in-zone-widget', !!_options.inZoneWidget);
135
+ this._chatWidget.render(this._elements.chatWidget);
136
+ this._elements.chatWidget.style.setProperty(asCssVariableName(chatRequestBackground), asCssVariable(inlineChatBackground));
137
+ this._chatWidget.setVisible(true);
138
+ this._store.add(this._chatWidget);
139
+ const ctxResponse = ChatContextKeys.isResponse.bindTo(this.scopedContextKeyService);
140
+ const ctxResponseVote = ChatContextKeys.responseVote.bindTo(this.scopedContextKeyService);
141
+ const ctxResponseSupportIssues = ChatContextKeys.responseSupportsIssueReporting.bindTo(this.scopedContextKeyService);
142
+ const ctxResponseError = ChatContextKeys.responseHasError.bindTo(this.scopedContextKeyService);
143
+ const ctxResponseErrorFiltered = ChatContextKeys.responseIsFiltered.bindTo(this.scopedContextKeyService);
144
+ const viewModelStore = this._store.add(( new DisposableStore()));
145
+ this._store.add(this._chatWidget.onDidChangeViewModel(() => {
146
+ viewModelStore.clear();
147
+ const viewModel = this._chatWidget.viewModel;
148
+ if (!viewModel) {
149
+ return;
150
+ }
151
+ viewModelStore.add(toDisposable(() => {
152
+ toolbar2.context = undefined;
153
+ ctxResponse.reset();
154
+ ctxResponseVote.reset();
155
+ ctxResponseError.reset();
156
+ ctxResponseErrorFiltered.reset();
157
+ ctxResponseSupportIssues.reset();
158
+ }));
159
+ viewModelStore.add(viewModel.onDidChange(() => {
160
+ this._requestInProgress.set(viewModel.model.requestInProgress.get(), undefined);
161
+ const last = viewModel.getItems().at(-1);
162
+ toolbar2.context = last;
163
+ ctxResponse.set(isResponseVM(last));
164
+ ctxResponseVote.set(isResponseVM(last) ? last.vote === ChatAgentVoteDirection.Down ? 'down' : last.vote === ChatAgentVoteDirection.Up ? 'up' : '' : '');
165
+ ctxResponseError.set(isResponseVM(last) && last.errorDetails !== undefined);
166
+ ctxResponseErrorFiltered.set((!!(isResponseVM(last) && last.errorDetails?.responseIsFiltered)));
167
+ ctxResponseSupportIssues.set(isResponseVM(last) && (last.agent?.metadata.supportIssueReporting ?? false));
168
+ this._onDidChangeHeight.fire();
169
+ }));
170
+ this._onDidChangeHeight.fire();
171
+ }));
172
+ this._store.add(this.chatWidget.onDidChangeContentHeight(() => {
173
+ this._onDidChangeHeight.fire();
174
+ }));
175
+ this._ctxResponseFocused = CTX_INLINE_CHAT_RESPONSE_FOCUSED.bindTo(this._contextKeyService);
176
+ const tracker = this._store.add(trackFocus(this.domNode));
177
+ this._store.add(tracker.onDidBlur(() => this._ctxResponseFocused.set(false)));
178
+ this._store.add(tracker.onDidFocus(() => this._ctxResponseFocused.set(true)));
179
+ this._ctxInputEditorFocused = CTX_INLINE_CHAT_FOCUSED.bindTo(_contextKeyService);
180
+ this._store.add(this._chatWidget.inputEditor.onDidFocusEditorWidget(() => this._ctxInputEditorFocused.set(true)));
181
+ this._store.add(this._chatWidget.inputEditor.onDidBlurEditorWidget(() => this._ctxInputEditorFocused.set(false)));
182
+ const statusMenuId = _options.statusMenuId instanceof MenuId ? _options.statusMenuId : _options.statusMenuId.menu;
183
+ const statusMenuOptions = _options.statusMenuId instanceof MenuId ? undefined : _options.statusMenuId.options;
184
+ const statusButtonBar = scopedInstaService.createInstance(MenuWorkbenchButtonBar, this._elements.toolbar1, statusMenuId, {
185
+ toolbarOptions: { primaryGroup: '0_main' },
186
+ telemetrySource: _options.chatWidgetViewOptions?.menus?.telemetrySource,
187
+ menuOptions: { renderShortTitle: true },
188
+ ...statusMenuOptions,
189
+ });
190
+ this._store.add(statusButtonBar.onDidChange(() => this._onDidChangeHeight.fire()));
191
+ this._store.add(statusButtonBar);
192
+ const toolbar2 = scopedInstaService.createInstance(MenuWorkbenchToolBar, this._elements.toolbar2, _options.secondaryMenuId ?? MenuId.for(''), {
193
+ telemetrySource: _options.chatWidgetViewOptions?.menus?.telemetrySource,
194
+ menuOptions: { renderShortTitle: true, shouldForwardArgs: true },
195
+ actionViewItemProvider: (action, options) => {
196
+ if (action instanceof MenuItemAction && action.item.id === MarkUnhelpfulActionId) {
197
+ return scopedInstaService.createInstance(ChatVoteDownButton, action, options);
198
+ }
199
+ return createActionViewItem(scopedInstaService, action, options);
200
+ }
201
+ });
202
+ this._store.add(toolbar2.onDidChangeMenuItems(() => this._onDidChangeHeight.fire()));
203
+ this._store.add(toolbar2);
204
+ this._store.add(this._configurationService.onDidChangeConfiguration(e => {
205
+ if (e.affectsConfiguration(AccessibilityVerbositySettingId.InlineChat)) {
206
+ this._updateAriaLabel();
207
+ }
208
+ }));
209
+ this._elements.root.tabIndex = 0;
210
+ this._elements.statusLabel.tabIndex = 0;
211
+ this._updateAriaLabel();
212
+ this._setupDisclaimer();
213
+ this._store.add(this._hoverService.setupManagedHover(getDefaultHoverDelegate('element'), this._elements.statusLabel, () => {
214
+ return this._elements.statusLabel.dataset['title'];
215
+ }));
216
+ this._store.add(this._chatService.onDidPerformUserAction(e => {
217
+ if (isEqual(e.sessionResource, this._chatWidget.viewModel?.model.sessionResource) && e.action.kind === 'vote') {
218
+ this.updateStatus(( localize(8320, "Thank you for your feedback!")), { resetAfter: 1250 });
219
+ }
220
+ }));
221
+ }
222
+ _updateAriaLabel() {
223
+ this._elements.root.ariaLabel = this._accessibleViewService.getOpenAriaHint(AccessibilityVerbositySettingId.InlineChat);
224
+ if (this._accessibilityService.isScreenReaderOptimized()) {
225
+ let label = defaultAriaLabel;
226
+ if (this._configurationService.getValue(AccessibilityVerbositySettingId.InlineChat)) {
227
+ const kbLabel = this._keybindingService.lookupKeybinding(AccessibilityCommandId.OpenAccessibilityHelp)?.getLabel();
228
+ label = kbLabel
229
+ ? ( localize(
230
+ 8321,
231
+ "Inline Chat Input, Use {0} for Inline Chat Accessibility Help.",
232
+ kbLabel
233
+ ))
234
+ : ( localize(
235
+ 8322,
236
+ "Inline Chat Input, Run the Inline Chat Accessibility Help command for more information."
237
+ ));
238
+ }
239
+ this._chatWidget.inputEditor.updateOptions({ ariaLabel: label });
240
+ }
241
+ }
242
+ _setupDisclaimer() {
243
+ const disposables = this._store.add(( new DisposableStore()));
244
+ this._store.add(autorun(reader => {
245
+ disposables.clear();
246
+ reset(this._elements.disclaimerLabel);
247
+ const sentiment = this._chatEntitlementService.sentimentObs.read(reader);
248
+ const anonymous = this._chatEntitlementService.anonymousObs.read(reader);
249
+ const requestInProgress = this._chatService.requestInProgressObs.read(reader);
250
+ const showDisclaimer = !sentiment.installed && anonymous && !requestInProgress;
251
+ this._elements.disclaimerLabel.classList.toggle('hidden', !showDisclaimer);
252
+ if (showDisclaimer) {
253
+ const renderedMarkdown = disposables.add(this._markdownRendererService.render(( new MarkdownString(( localize(
254
+ 8323,
255
+ "By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
256
+ product.defaultChatAgent?.provider?.default?.name ?? '',
257
+ product.defaultChatAgent?.provider?.default?.name ?? '',
258
+ product.defaultChatAgent?.termsStatementUrl ?? '',
259
+ product.defaultChatAgent?.privacyStatementUrl ?? ''
260
+ )), { isTrusted: true }))));
261
+ this._elements.disclaimerLabel.appendChild(renderedMarkdown.element);
262
+ }
263
+ this._onDidChangeHeight.fire();
264
+ }));
265
+ }
266
+ dispose() {
267
+ this._store.dispose();
268
+ }
269
+ get domNode() {
270
+ return this._elements.root;
271
+ }
272
+ get chatWidget() {
273
+ return this._chatWidget;
274
+ }
275
+ saveState() {
276
+ this._chatWidget.saveState();
277
+ }
278
+ layout(widgetDim) {
279
+ const contentHeight = this.contentHeight;
280
+ this._isLayouting = true;
281
+ try {
282
+ this._doLayout(widgetDim);
283
+ }
284
+ finally {
285
+ this._isLayouting = false;
286
+ if (this.contentHeight !== contentHeight) {
287
+ this._onDidChangeHeight.fire();
288
+ }
289
+ }
290
+ }
291
+ _doLayout(dimension) {
292
+ const extraHeight = this._getExtraHeight();
293
+ const statusHeight = getTotalHeight(this._elements.status);
294
+ this._elements.root.style.height = `${dimension.height - extraHeight}px`;
295
+ this._elements.root.style.width = `${dimension.width}px`;
296
+ this._chatWidget.layout(dimension.height - statusHeight - extraHeight, dimension.width);
297
+ }
298
+ get contentHeight() {
299
+ const data = {
300
+ chatWidgetContentHeight: this._chatWidget.contentHeight,
301
+ statusHeight: getTotalHeight(this._elements.status),
302
+ extraHeight: this._getExtraHeight()
303
+ };
304
+ const result = data.chatWidgetContentHeight + data.statusHeight + data.extraHeight;
305
+ return result;
306
+ }
307
+ get minHeight() {
308
+ let maxWidgetOutputHeight = 100;
309
+ for (const item of this._chatWidget.viewModel?.getItems() ?? []) {
310
+ if (isResponseVM(item) && ( item.response.value.some(r => r.kind === 'textEditGroup' && !r.state?.applied))) {
311
+ maxWidgetOutputHeight = 270;
312
+ break;
313
+ }
314
+ }
315
+ let value = this.contentHeight;
316
+ value -= this._chatWidget.contentHeight;
317
+ value += Math.min(this._chatWidget.input.contentHeight + maxWidgetOutputHeight, this._chatWidget.contentHeight);
318
+ return value;
319
+ }
320
+ _getExtraHeight() {
321
+ return this._options.inZoneWidget ? 1 : ((2 + 4) );
322
+ }
323
+ get value() {
324
+ return this._chatWidget.getInput();
325
+ }
326
+ set value(value) {
327
+ this._chatWidget.setInput(value);
328
+ }
329
+ selectAll() {
330
+ this._chatWidget.inputEditor.setSelection(( new Selection(1, 1, Number.MAX_SAFE_INTEGER, 1)));
331
+ }
332
+ set placeholder(value) {
333
+ this._chatWidget.setInputPlaceholder(value);
334
+ }
335
+ toggleStatus(show) {
336
+ this._elements.toolbar1.classList.toggle('hidden', !show);
337
+ this._elements.toolbar2.classList.toggle('hidden', !show);
338
+ this._elements.status.classList.toggle('hidden', !show);
339
+ this._elements.infoLabel.classList.toggle('hidden', !show);
340
+ this._onDidChangeHeight.fire();
341
+ }
342
+ updateToolbar(show) {
343
+ this._elements.root.classList.toggle('toolbar', show);
344
+ this._elements.toolbar1.classList.toggle('hidden', !show);
345
+ this._elements.toolbar2.classList.toggle('hidden', !show);
346
+ this._elements.status.classList.toggle('actions', show);
347
+ this._elements.infoLabel.classList.toggle('hidden', show);
348
+ this._onDidChangeHeight.fire();
349
+ }
350
+ async getCodeBlockInfo(codeBlockIndex) {
351
+ const { viewModel } = this._chatWidget;
352
+ if (!viewModel) {
353
+ return undefined;
354
+ }
355
+ const items = viewModel.getItems().filter(i => isResponseVM(i));
356
+ const item = items.at(-1);
357
+ if (!item) {
358
+ return;
359
+ }
360
+ return viewModel.codeBlockModelCollection.get(viewModel.sessionResource, item, codeBlockIndex)?.model;
361
+ }
362
+ get responseContent() {
363
+ const requests = this._chatWidget.viewModel?.model.getRequests();
364
+ return requests?.at(-1)?.response?.response.toString();
365
+ }
366
+ getChatModel() {
367
+ return this._chatWidget.viewModel?.model;
368
+ }
369
+ setChatModel(chatModel) {
370
+ chatModel.inputModel.setState({ inputText: '', selections: [] });
371
+ this._chatWidget.setModel(chatModel);
372
+ }
373
+ updateInfo(message) {
374
+ this._elements.infoLabel.classList.toggle('hidden', !message);
375
+ const renderedMessage = renderLabelWithIcons(message);
376
+ reset(this._elements.infoLabel, ...renderedMessage);
377
+ this._onDidChangeHeight.fire();
378
+ }
379
+ updateStatus(message, ops = {}) {
380
+ const isTempMessage = typeof ops.resetAfter === 'number';
381
+ if (isTempMessage && !this._elements.statusLabel.dataset['state']) {
382
+ const statusLabel = this._elements.statusLabel.innerText;
383
+ const title = this._elements.statusLabel.dataset['title'];
384
+ const classes = Array.from(( this._elements.statusLabel.classList.values()));
385
+ setTimeout(() => {
386
+ this.updateStatus(statusLabel, { classes, keepMessage: true, title });
387
+ }, ops.resetAfter);
388
+ }
389
+ const renderedMessage = renderLabelWithIcons(message);
390
+ reset(this._elements.statusLabel, ...renderedMessage);
391
+ this._elements.statusLabel.className = `label status ${(ops.classes ?? []).join(' ')}`;
392
+ this._elements.statusLabel.classList.toggle('hidden', !message);
393
+ if (isTempMessage) {
394
+ this._elements.statusLabel.dataset['state'] = 'temp';
395
+ }
396
+ else {
397
+ delete this._elements.statusLabel.dataset['state'];
398
+ }
399
+ if (ops.title) {
400
+ this._elements.statusLabel.dataset['title'] = ops.title;
401
+ }
402
+ else {
403
+ delete this._elements.statusLabel.dataset['title'];
404
+ }
405
+ this._onDidChangeHeight.fire();
406
+ }
407
+ reset() {
408
+ this._chatWidget.attachmentModel.clear(true);
409
+ this._chatWidget.saveState();
410
+ reset(this._elements.statusLabel);
411
+ this._elements.statusLabel.classList.toggle('hidden', true);
412
+ this._elements.toolbar1.classList.add('hidden');
413
+ this._elements.toolbar2.classList.add('hidden');
414
+ this.updateInfo('');
415
+ this._elements.accessibleViewer.classList.toggle('hidden', true);
416
+ this._onDidChangeHeight.fire();
417
+ }
418
+ focus() {
419
+ this._chatWidget.focusInput();
420
+ }
421
+ hasFocus() {
422
+ return this.domNode.contains(getActiveElement());
423
+ }
424
+ };
425
+ InlineChatWidget = ( __decorate([
426
+ ( __param(2, IInstantiationService)),
427
+ ( __param(3, IContextKeyService)),
428
+ ( __param(4, IKeybindingService)),
429
+ ( __param(5, IAccessibilityService)),
430
+ ( __param(6, IConfigurationService)),
431
+ ( __param(7, IAccessibleViewService)),
432
+ ( __param(8, ITextModelService)),
433
+ ( __param(9, IChatService)),
434
+ ( __param(10, IHoverService)),
435
+ ( __param(11, IChatEntitlementService)),
436
+ ( __param(12, IMarkdownRendererService))
437
+ ], InlineChatWidget));
438
+ const defaultAriaLabel = ( localize(8324, "Inline Chat Input"));
439
+ let EditorBasedInlineChatWidget = class EditorBasedInlineChatWidget extends InlineChatWidget {
440
+ constructor(location, _parentEditor, options, contextKeyService, keybindingService, instantiationService, accessibilityService, configurationService, accessibleViewService, textModelResolverService, chatService, hoverService, layoutService, chatEntitlementService, markdownRendererService) {
441
+ const overflowWidgetsNode = layoutService.getContainer(getWindow(_parentEditor.getContainerDomNode())).appendChild($('.inline-chat-overflow.monaco-editor'));
442
+ super(location, {
443
+ ...options,
444
+ chatWidgetViewOptions: {
445
+ ...options.chatWidgetViewOptions,
446
+ editorOverflowWidgetsDomNode: overflowWidgetsNode
447
+ }
448
+ }, instantiationService, contextKeyService, keybindingService, accessibilityService, configurationService, accessibleViewService, textModelResolverService, chatService, hoverService, chatEntitlementService, markdownRendererService);
449
+ this._parentEditor = _parentEditor;
450
+ this._accessibleViewer = this._store.add(( new MutableDisposable()));
451
+ this._store.add(toDisposable(() => {
452
+ overflowWidgetsNode.remove();
453
+ }));
454
+ }
455
+ get contentHeight() {
456
+ let result = super.contentHeight;
457
+ if (this._accessibleViewer.value) {
458
+ result += this._accessibleViewer.value.height + 8 ;
459
+ }
460
+ return result;
461
+ }
462
+ _doLayout(dimension) {
463
+ let newHeight = dimension.height;
464
+ if (this._accessibleViewer.value) {
465
+ this._accessibleViewer.value.width = dimension.width - 12;
466
+ newHeight -= this._accessibleViewer.value.height + 8;
467
+ }
468
+ super._doLayout(dimension.with(undefined, newHeight));
469
+ this._elements.root.style.height = `${dimension.height - this._getExtraHeight()}px`;
470
+ }
471
+ reset() {
472
+ this._accessibleViewer.clear();
473
+ this.chatWidget.setInput();
474
+ super.reset();
475
+ }
476
+ showAccessibleHunk(session, hunkData) {
477
+ this._elements.accessibleViewer.classList.remove('hidden');
478
+ this._accessibleViewer.clear();
479
+ this._accessibleViewer.value = this._instantiationService.createInstance(HunkAccessibleDiffViewer, this._elements.accessibleViewer, session, hunkData, ( new AccessibleHunk(this._parentEditor, session, hunkData)));
480
+ this._onDidChangeHeight.fire();
481
+ }
482
+ };
483
+ EditorBasedInlineChatWidget = ( __decorate([
484
+ ( __param(3, IContextKeyService)),
485
+ ( __param(4, IKeybindingService)),
486
+ ( __param(5, IInstantiationService)),
487
+ ( __param(6, IAccessibilityService)),
488
+ ( __param(7, IConfigurationService)),
489
+ ( __param(8, IAccessibleViewService)),
490
+ ( __param(9, ITextModelService)),
491
+ ( __param(10, IChatService)),
492
+ ( __param(11, IHoverService)),
493
+ ( __param(12, ILayoutService)),
494
+ ( __param(13, IChatEntitlementService)),
495
+ ( __param(14, IMarkdownRendererService))
496
+ ], EditorBasedInlineChatWidget));
497
+ let HunkAccessibleDiffViewer = HunkAccessibleDiffViewer_1 = class HunkAccessibleDiffViewer extends AccessibleDiffViewer {
498
+ set width(value) {
499
+ this._width2.set(value, undefined);
500
+ }
501
+ constructor(parentNode, session, hunk, models, instantiationService) {
502
+ const width = observableValue('width', 0);
503
+ const diff = observableValue('diff', HunkAccessibleDiffViewer_1._asMapping(hunk));
504
+ const diffs = derived(r => [diff.read(r)]);
505
+ const lines = Math.min(10, 8 + diff.get().changedLineCount);
506
+ const height = models.getModifiedOptions().get(EditorOption.lineHeight) * lines;
507
+ super(parentNode, constObservable(true), () => { }, constObservable(false), width, constObservable(height), diffs, models, instantiationService);
508
+ this.height = height;
509
+ this._width2 = width;
510
+ this._store.add(session.textModelN.onDidChangeContent(() => {
511
+ diff.set(HunkAccessibleDiffViewer_1._asMapping(hunk), undefined);
512
+ }));
513
+ }
514
+ static _asMapping(hunk) {
515
+ const ranges0 = hunk.getRanges0();
516
+ const rangesN = hunk.getRangesN();
517
+ const originalLineRange = LineRange.fromRangeInclusive(ranges0[0]);
518
+ const modifiedLineRange = LineRange.fromRangeInclusive(rangesN[0]);
519
+ const innerChanges = [];
520
+ for (let i = 1; i < ranges0.length; i++) {
521
+ innerChanges.push(( new RangeMapping(ranges0[i], rangesN[i])));
522
+ }
523
+ return ( new DetailedLineRangeMapping(originalLineRange, modifiedLineRange, innerChanges));
524
+ }
525
+ };
526
+ HunkAccessibleDiffViewer = HunkAccessibleDiffViewer_1 = ( __decorate([
527
+ ( __param(4, IInstantiationService))
528
+ ], HunkAccessibleDiffViewer));
529
+ class AccessibleHunk {
530
+ constructor(_editor, _session, _hunk) {
531
+ this._editor = _editor;
532
+ this._session = _session;
533
+ this._hunk = _hunk;
534
+ }
535
+ getOriginalModel() {
536
+ return this._session.textModel0;
537
+ }
538
+ getModifiedModel() {
539
+ return this._session.textModelN;
540
+ }
541
+ getOriginalOptions() {
542
+ return this._editor.getOptions();
543
+ }
544
+ getModifiedOptions() {
545
+ return this._editor.getOptions();
546
+ }
547
+ originalReveal(range) {
548
+ }
549
+ modifiedReveal(range) {
550
+ this._editor.revealRangeInCenterIfOutsideViewport(range || this._hunk.getRangesN()[0], ScrollType.Smooth);
551
+ }
552
+ modifiedSetSelection(range) {
553
+ }
554
+ modifiedFocus() {
555
+ this._editor.focus();
556
+ }
557
+ getModifiedPosition() {
558
+ return this._hunk.getRangesN()[0].getStartPosition();
559
+ }
560
+ }
561
+
562
+ export { EditorBasedInlineChatWidget, InlineChatWidget };
@@ -0,0 +1,42 @@
1
+ import { ICodeEditor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser";
2
+ import { Position } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/position";
3
+ import { Range } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range";
4
+ import { ZoneWidget } from "@codingame/monaco-vscode-api/vscode/vs/editor/contrib/zoneWidget/browser/zoneWidget";
5
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
6
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
7
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
8
+ import { IChatWidgetViewOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
9
+ import { IChatWidgetLocationOptions } from "../../chat/browser/chatWidget.js";
10
+ import { INotebookEditor } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser";
11
+ import { EditorBasedInlineChatWidget } from "./inlineChatWidget.js";
12
+ export declare class InlineChatZoneWidget extends ZoneWidget {
13
+ private readonly _instaService;
14
+ private _logService;
15
+ private static readonly _options;
16
+ readonly widget: EditorBasedInlineChatWidget;
17
+ private readonly _scrollUp;
18
+ private readonly _ctxCursorPosition;
19
+ private _dimension?;
20
+ private notebookEditor?;
21
+ constructor(location: IChatWidgetLocationOptions, options: IChatWidgetViewOptions | undefined, editors: {
22
+ editor: ICodeEditor;
23
+ notebookEditor?: INotebookEditor;
24
+ },
25
+ /** @deprecated should go away with inline2 */
26
+ clearDelegate: () => Promise<void>, _instaService: IInstantiationService, _logService: ILogService, contextKeyService: IContextKeyService);
27
+ protected _fillContainer(container: HTMLElement): void;
28
+ protected _doLayout(heightInPixel: number): void;
29
+ private _computeHeight;
30
+ protected _getResizeBounds(): {
31
+ minLines: number;
32
+ maxLines: number;
33
+ };
34
+ protected _onWidth(_widthInPixel: number): void;
35
+ show(position: Position): void;
36
+ private _updatePadding;
37
+ reveal(position: Position): void;
38
+ updatePositionAndHeight(position: Position): void;
39
+ private _createZoneAndScrollRestoreFn;
40
+ protected revealRange(range: Range, isLastLine: boolean): void;
41
+ hide(): void;
42
+ }