@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,87 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ .chat-agent-hover {
7
+ line-height: unset;
8
+ padding: 6px 0px;
9
+ }
10
+
11
+ .chat-agent-hover-header {
12
+ display: flex;
13
+ gap: 8px;
14
+ margin-bottom: 4px;
15
+ }
16
+
17
+ .chat-agent-hover-icon img,
18
+ .chat-agent-hover-icon .codicon {
19
+ width: 32px;
20
+ height: 32px;
21
+ border-radius: 50%;
22
+ outline: 1px solid var(--vscode-chat-requestBorder);
23
+ }
24
+
25
+ .chat-agent-hover .chat-agent-hover-icon .codicon {
26
+ font-size: 23px !important; /* Override workbench hover styles */
27
+ display: flex;
28
+ justify-content: center;
29
+ align-items: center;
30
+ }
31
+
32
+ .chat-agent-hover-publisher {
33
+ display: flex;
34
+ gap: 4px;
35
+ }
36
+
37
+ .chat-agent-hover .chat-agent-hover-publisher .codicon.codicon-extensions-verified-publisher {
38
+ color: var(--vscode-extensionIcon-verifiedForeground);
39
+ }
40
+
41
+ .chat-agent-hover .extension-verified-publisher {
42
+ display: none;
43
+ }
44
+
45
+ .chat-agent-hover.verifiedPublisher .extension-verified-publisher {
46
+ display: flex;
47
+ align-items: start;
48
+ margin-top: 1px;
49
+ }
50
+
51
+ .chat-agent-hover .chat-agent-hover-warning .codicon {
52
+ color: var(--vscode-notificationsWarningIcon-foreground) !important;
53
+ margin-right: 3px;
54
+ }
55
+
56
+ .chat-agent-hover.allowedName .chat-agent-hover-warning {
57
+ display: none;
58
+ }
59
+
60
+ .chat-agent-hover-header .chat-agent-hover-name {
61
+ font-size: 14px;
62
+ font-weight: 600;
63
+ }
64
+
65
+ .chat-agent-hover-header .chat-agent-hover-details {
66
+ font-size: 12px;
67
+ }
68
+
69
+ .chat-agent-hover-extension {
70
+ display: flex;
71
+ gap: 6px;
72
+ color: var(--vscode-descriptionForeground);
73
+ }
74
+
75
+ .chat-agent-hover.noExtensionName .chat-agent-hover-separator,
76
+ .chat-agent-hover.noExtensionName .chat-agent-hover-extension-name {
77
+ display: none;
78
+ }
79
+
80
+ .chat-agent-hover-separator {
81
+ opacity: 0.7;
82
+ }
83
+
84
+ .chat-agent-hover-description,
85
+ .chat-agent-hover-warning {
86
+ font-size: 13px;
87
+ }
@@ -0,0 +1,139 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ .interactive-item-container.interactive-response .value .chat-markdown-part.rendered-markdown .code:has(.chat-codeblock-pill-container) {
7
+ margin-bottom: 8px;
8
+ }
9
+
10
+ .chat-markdown-part.rendered-markdown .code .chat-codeblock-pill-container {
11
+ display: flex;
12
+ align-items: center;
13
+ gap: 5px;
14
+ margin: 0 0 6px 4px;
15
+ font-size: var(--vscode-chat-font-size-body-s);
16
+ color: var(--vscode-descriptionForeground);
17
+
18
+ .status-indicator-container {
19
+ display: flex;
20
+ align-items: center;
21
+ gap: 7px;
22
+ flex-shrink: 0;
23
+
24
+ .status-icon {
25
+ display: inline-flex;
26
+ align-items: center;
27
+ line-height: 1em;
28
+ top: 1px;
29
+ color: var(--vscode-icon-foreground) !important;
30
+
31
+ &::before {
32
+ font-size: var(--vscode-chat-font-size-body-s);
33
+ }
34
+ }
35
+
36
+ .status-label {
37
+ color: var(--vscode-descriptionForeground);
38
+ white-space: nowrap;
39
+ }
40
+ }
41
+
42
+ .chat-codeblock-pill-widget {
43
+ border: 1px solid var(--vscode-chat-requestBorder, var(--vscode-input-background, transparent));
44
+ border-radius: 4px;
45
+ text-wrap: nowrap;
46
+ width: fit-content;
47
+ font-weight: normal;
48
+ text-decoration: none;
49
+ padding: 1px 3px;
50
+ cursor: pointer;
51
+ position: relative;
52
+ overflow: hidden;
53
+ line-height: 1em;
54
+
55
+ .progress-fill {
56
+ display: none;
57
+ position: absolute;
58
+ top: 0;
59
+ left: 0;
60
+ height: 100%;
61
+ width: 0%;
62
+ background-color: var(--vscode-list-hoverBackground);
63
+ pointer-events: none;
64
+ transition: width 0.2s ease-out;
65
+ z-index: 0;
66
+ }
67
+
68
+ &.progress-filling .progress-fill {
69
+ display: block;
70
+ }
71
+
72
+ .icon, .icon-label, .label-detail, span.label-added, span.label-removed {
73
+ position: relative;
74
+ z-index: 1;
75
+ }
76
+
77
+ .icon {
78
+ vertical-align: middle;
79
+ line-height: 1em;
80
+ overflow: hidden;
81
+ font-size: 90%;
82
+ top: 1px;
83
+ }
84
+
85
+ .icon-label {
86
+ padding: 0px 3px;
87
+ text-wrap: wrap;
88
+ vertical-align: middle;
89
+ line-height: 1em;
90
+ }
91
+
92
+ .icon::before {
93
+ display: inline-block;
94
+ line-height: 100%;
95
+ overflow: hidden;
96
+ background-size: contain;
97
+ background-position: center;
98
+ background-repeat: no-repeat;
99
+ font-size: 100% !important;
100
+ margin-bottom: 1px;
101
+ }
102
+
103
+ span.label-detail {
104
+ padding-left: 4px;
105
+ font-style: italic;
106
+ font-size: var(--vscode-chat-font-size-body-s);
107
+ color: var(--vscode-descriptionForeground);
108
+
109
+ &:empty {
110
+ display: none;
111
+ }
112
+ }
113
+
114
+ span.label-added, span.label-removed {
115
+ padding-left: 4px;
116
+ font-size: var(--vscode-chat-font-size-body-s);
117
+ vertical-align: middle;
118
+ line-height: 1em;
119
+
120
+ &:empty {
121
+ padding: 0;
122
+ }
123
+ }
124
+
125
+ span.label-removed {
126
+ padding-right: 2px;
127
+ color: var(--vscode-chat-linesRemovedForeground);
128
+ }
129
+
130
+ span.label-added {
131
+ color: var(--vscode-chat-linesAddedForeground);
132
+ }
133
+
134
+ &:hover {
135
+ background-color: var(--vscode-list-hoverBackground);
136
+ color: var(--vscode-textLink-foreground);
137
+ }
138
+ }
139
+ }
@@ -0,0 +1,61 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ .chat-inline-anchor-widget {
7
+ border: 1px solid var(--vscode-chat-requestBorder, var(--vscode-input-background, transparent));
8
+ border-radius: 4px;
9
+ margin: 0 1px;
10
+ padding: 1px 3px;
11
+ text-wrap: nowrap;
12
+ width: fit-content;
13
+ font-weight: normal;
14
+ text-decoration: none;
15
+ }
16
+
17
+ .chat-inline-anchor-widget .icon-label {
18
+ padding: 0 3px;
19
+ text-wrap: wrap;
20
+
21
+ .label-suffix {
22
+ color: var(--vscode-peekViewTitleDescription-foreground);
23
+ }
24
+ }
25
+
26
+ .chat-inline-anchor-widget:hover .icon-label .label-suffix {
27
+ color: currentColor
28
+ }
29
+
30
+ .interactive-item-container .value .rendered-markdown .chat-inline-anchor-widget {
31
+ color: inherit;
32
+ }
33
+
34
+ .chat-inline-anchor-widget:hover {
35
+ background-color: var(--vscode-list-hoverBackground);
36
+ }
37
+
38
+ .chat-inline-anchor-widget .icon {
39
+ vertical-align: middle;
40
+ line-height: 1em;
41
+ font-size: 90% !important;
42
+ overflow: hidden;
43
+
44
+ top: 0 !important;
45
+ }
46
+
47
+ .show-file-icons.chat-inline-anchor-widget .icon::before {
48
+ display: inline-block;
49
+ line-height: 100%;
50
+ overflow: hidden;
51
+ font-size: 100% !important;
52
+
53
+ background-size: contain;
54
+ background-position: center;
55
+ background-repeat: no-repeat;
56
+
57
+ padding: 0 !important;
58
+ margin-bottom: 1px;
59
+
60
+ flex-shrink: 0;
61
+ }
@@ -0,0 +1,209 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ .pane-body.chat-view-welcome-visible {
7
+
8
+ & > .interactive-session {
9
+ display: none;
10
+ }
11
+
12
+ & > .chat-view-welcome {
13
+ display: flex;
14
+ }
15
+ }
16
+
17
+ /* Chat welcome container */
18
+ .interactive-session .chat-welcome-view-container {
19
+ display: flex;
20
+ flex-direction: column;
21
+ align-items: center;
22
+ justify-content: center;
23
+ overflow: hidden;
24
+ flex: 1;
25
+ position: relative; /* Allow absolute positioning of prompts */
26
+ }
27
+
28
+ /* Container for ChatViewPane welcome view */
29
+ .pane-body > .chat-view-welcome {
30
+ flex-direction: column;
31
+ justify-content: center;
32
+ overflow: hidden;
33
+ height: 100%;
34
+ display: none;
35
+ }
36
+
37
+ div.chat-welcome-view {
38
+ display: flex;
39
+ flex-direction: column;
40
+ align-items: center;
41
+ padding: 12px;
42
+
43
+ & > .chat-welcome-view-icon {
44
+ min-height: 48px;
45
+ }
46
+
47
+ & > .chat-welcome-view-icon .codicon {
48
+ font-size: 40px;
49
+ }
50
+
51
+ & > .chat-welcome-view-icon.custom-icon {
52
+ mask-size: 40px;
53
+ -webkit-mask-size: 40px;
54
+ }
55
+
56
+ & > .chat-welcome-view-icon.large-icon {
57
+ min-width: 72px;
58
+ min-height: 72px;
59
+ }
60
+
61
+ & > .chat-welcome-view-icon.large-icon .codicon {
62
+ font-size: 72px;
63
+ width: 72px;
64
+ height: 72px;
65
+ }
66
+
67
+ & > .chat-welcome-view-icon.large-icon.custom-icon {
68
+ mask-size: 72px !important;
69
+ -webkit-mask-size: 72px !important;
70
+ width: 72px;
71
+ height: 72px;
72
+ }
73
+
74
+ & > .chat-welcome-view-title {
75
+ font-size: 24px;
76
+ margin-top: 5px;
77
+ text-align: center;
78
+ line-height: normal;
79
+ padding: 0 8px;
80
+ }
81
+
82
+ & > .chat-welcome-view-message {
83
+ position: relative;
84
+ text-align: center;
85
+ max-width: 100%;
86
+ padding: 0 20px;
87
+ margin: 0 auto;
88
+ color: var(--vscode-input-placeholderForeground);
89
+
90
+ a {
91
+ color: var(--vscode-textLink-foreground);
92
+ }
93
+
94
+ a:focus {
95
+ outline: 1px solid var(--vscode-focusBorder);
96
+ }
97
+
98
+ p {
99
+ margin-top: 8px;
100
+ margin-bottom: 8px;
101
+ }
102
+ }
103
+
104
+ .monaco-button {
105
+ display: inline-block;
106
+ width: initial;
107
+ padding: 4px 7px;
108
+ }
109
+
110
+ & > .chat-welcome-view-tips {
111
+ max-width: 250px;
112
+ margin: 10px 5px 0px;
113
+
114
+ .rendered-markdown {
115
+ gap: 6px;
116
+ display: flex;
117
+ align-items: start;
118
+ flex-direction: column;
119
+ }
120
+
121
+ .rendered-markdown p {
122
+ display: flex;
123
+ gap: 6px;
124
+ margin: 6px 0 0 0;
125
+
126
+ .codicon {
127
+ padding-top: 1px;
128
+ }
129
+ }
130
+ }
131
+
132
+ & > .chat-welcome-view-disclaimer {
133
+ color: var(--vscode-input-placeholderForeground);
134
+ text-align: center;
135
+ margin: -16px auto;
136
+ max-width: 400px;
137
+ padding: 0 12px;
138
+
139
+ a {
140
+ color: var(--vscode-textLink-foreground);
141
+ }
142
+
143
+ a:focus {
144
+ outline: 1px solid var(--vscode-focusBorder);
145
+ }
146
+ }
147
+ }
148
+
149
+ /* Suggested prompts section - positioned at bottom of welcome container */
150
+ .chat-welcome-view-suggested-prompts {
151
+ position: absolute;
152
+ bottom: 0;
153
+ left: 0;
154
+ right: 0;
155
+ display: flex;
156
+ flex-wrap: wrap;
157
+ justify-content: flex-start;
158
+ gap: 8px;
159
+ padding: 32px 16px 8px 16px;
160
+ /* Extra top padding for title */
161
+
162
+ .chat-welcome-view-suggested-prompts-title {
163
+ position: absolute;
164
+ top: 8px;
165
+ left: 16px;
166
+ font-size: 11px;
167
+ text-transform: uppercase;
168
+ letter-spacing: 0.5px;
169
+ color: var(--vscode-descriptionForeground);
170
+ margin: 0;
171
+ text-align: left;
172
+ }
173
+
174
+ > .chat-welcome-view-suggested-prompt {
175
+ display: flex;
176
+ align-items: center;
177
+ gap: 6px;
178
+ height: 24px;
179
+ padding: 0 8px;
180
+ border-radius: 4px;
181
+ background-color: var(--vscode-editorWidget-background);
182
+ cursor: pointer;
183
+ border: 1px solid var(--vscode-chat-requestBorder, var(--vscode-input-background, transparent));
184
+ width: fit-content;
185
+ margin: 0;
186
+ box-sizing: border-box;
187
+ flex: 0 0 auto;
188
+
189
+ & > .chat-welcome-view-suggested-prompt-title {
190
+ font-size: 13px;
191
+ color: var(--vscode-editorWidget-foreground);
192
+ white-space: nowrap;
193
+ }
194
+
195
+ & > .chat-welcome-view-suggested-prompt-description {
196
+ font-size: 13px;
197
+ color: var(--vscode-descriptionForeground);
198
+ overflow: hidden;
199
+ text-overflow: ellipsis;
200
+ white-space: nowrap;
201
+ flex: 0 1 auto;
202
+ min-width: 0;
203
+ }
204
+ }
205
+
206
+ > .chat-welcome-view-suggested-prompt:hover {
207
+ background-color: var(--vscode-list-hoverBackground);
208
+ }
209
+ }
@@ -0,0 +1,28 @@
1
+ import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
3
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
+ import { ActionWidgetDropdownActionViewItem } from "../../../../../platform/actions/browser/actionWidgetDropdownActionViewItem.js";
5
+ import { MenuItemAction } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions";
6
+ import { IMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service";
7
+ import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
8
+ import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
9
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
10
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
11
+ import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
12
+ import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
13
+ import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
14
+ import { IChatMode } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes";
15
+ import { IChatModeService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service";
16
+ export interface IModePickerDelegate {
17
+ readonly currentMode: IObservable<IChatMode>;
18
+ readonly sessionResource: () => URI | undefined;
19
+ }
20
+ export declare class ModePickerActionItem extends ActionWidgetDropdownActionViewItem {
21
+ private readonly delegate;
22
+ private readonly contextKeyService;
23
+ private readonly menuService;
24
+ constructor(action: MenuItemAction, delegate: IModePickerDelegate, actionWidgetService: IActionWidgetService, chatAgentService: IChatAgentService, keybindingService: IKeybindingService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, chatModeService: IChatModeService, menuService: IMenuService, commandService: ICommandService, productService: IProductService);
25
+ private getModePickerActionBarActions;
26
+ protected renderLabel(element: HTMLElement): IDisposable | null;
27
+ render(container: HTMLElement): void;
28
+ }
@@ -0,0 +1,135 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { reset, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { renderLabelWithIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
5
+ import { coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
6
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
7
+ import { groupBy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/collections';
8
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
9
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
10
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
11
+ import { ActionWidgetDropdownActionViewItem } from '../../../../../platform/actions/browser/actionWidgetDropdownActionViewItem.js';
12
+ import { getFlatActionBarActions } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
13
+ import { MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
14
+ import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
15
+ import { IActionWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service';
16
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
17
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
18
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
19
+ import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
20
+ import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
21
+ import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
22
+ import { ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
23
+ import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
24
+ import { ChatConfiguration, ChatModeKind, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
25
+ import { PromptsStorage, ExtensionAgentSourceType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
26
+ import { getOpenChatActionIdForMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
27
+ import { ToggleAgentModeActionId } from '../actions/chatExecuteActions.js';
28
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
29
+
30
+ let ModePickerActionItem = class ModePickerActionItem extends ActionWidgetDropdownActionViewItem {
31
+ constructor(action, delegate, actionWidgetService, chatAgentService, keybindingService, configurationService, contextKeyService, chatModeService, menuService, commandService, productService) {
32
+ const builtInCategory = { label: ( localize(5739, "Built-In")), order: 0 };
33
+ const customCategory = { label: ( localize(5740, "Custom")), order: 1 };
34
+ const policyDisabledCategory = { label: ( localize(5741, "Managed by your organization")), order: 999, showHeader: true };
35
+ const agentModeDisabledViaPolicy = configurationService.inspect(ChatConfiguration.AgentEnabled).policyValue === false;
36
+ const makeAction = (mode, currentMode) => {
37
+ const isDisabledViaPolicy = mode.kind === ChatModeKind.Agent &&
38
+ agentModeDisabledViaPolicy;
39
+ const tooltip = chatAgentService.getDefaultAgent(ChatAgentLocation.Chat, mode.kind)?.description ?? action.tooltip;
40
+ return {
41
+ ...action,
42
+ id: getOpenChatActionIdForMode(mode),
43
+ label: mode.label.get(),
44
+ icon: isDisabledViaPolicy ? ThemeIcon.fromId(Codicon.lock.id) : undefined,
45
+ class: isDisabledViaPolicy ? 'disabled-by-policy' : undefined,
46
+ enabled: !isDisabledViaPolicy,
47
+ checked: !isDisabledViaPolicy && currentMode.id === mode.id,
48
+ tooltip,
49
+ run: async () => {
50
+ if (isDisabledViaPolicy) {
51
+ return;
52
+ }
53
+ const result = await commandService.executeCommand(ToggleAgentModeActionId, { modeId: mode.id, sessionResource: this.delegate.sessionResource() });
54
+ this.renderLabel(this.element);
55
+ return result;
56
+ },
57
+ category: isDisabledViaPolicy ? policyDisabledCategory : builtInCategory
58
+ };
59
+ };
60
+ const makeActionFromCustomMode = (mode, currentMode) => {
61
+ return {
62
+ ...makeAction(mode, currentMode),
63
+ tooltip: mode.description.get() ?? chatAgentService.getDefaultAgent(ChatAgentLocation.Chat, mode.kind)?.description ?? action.tooltip,
64
+ category: agentModeDisabledViaPolicy ? policyDisabledCategory : customCategory
65
+ };
66
+ };
67
+ const actionProvider = {
68
+ getActions: () => {
69
+ const modes = chatModeService.getModes();
70
+ const currentMode = delegate.currentMode.get();
71
+ const agentMode = modes.builtin.find(mode => mode.id === ChatMode.Agent.id);
72
+ const otherBuiltinModes = modes.builtin.filter(mode => mode.id !== ChatMode.Agent.id);
73
+ const customModes = groupBy(modes.custom, mode => mode.source?.storage === PromptsStorage.extension && mode.source.extensionId.value === productService.defaultChatAgent?.chatExtensionId && mode.source.type === ExtensionAgentSourceType.contribution ?
74
+ 'builtin' : 'custom');
75
+ const customBuiltinModeActions = customModes.builtin?.map(mode => {
76
+ const action = makeActionFromCustomMode(mode, currentMode);
77
+ action.category = agentModeDisabledViaPolicy ? policyDisabledCategory : builtInCategory;
78
+ return action;
79
+ }) ?? [];
80
+ const orderedModes = coalesce([
81
+ agentMode && makeAction(agentMode, currentMode),
82
+ ...( otherBuiltinModes.map(mode => mode && makeAction(mode, currentMode))),
83
+ ...customBuiltinModeActions, ...(customModes.custom?.map(mode => makeActionFromCustomMode(mode, currentMode)) ?? [])
84
+ ]);
85
+ return orderedModes;
86
+ }
87
+ };
88
+ const modePickerActionWidgetOptions = {
89
+ actionProvider,
90
+ actionBarActionProvider: {
91
+ getActions: () => this.getModePickerActionBarActions()
92
+ },
93
+ showItemKeybindings: true
94
+ };
95
+ super(action, modePickerActionWidgetOptions, actionWidgetService, keybindingService, contextKeyService);
96
+ this.delegate = delegate;
97
+ this.contextKeyService = contextKeyService;
98
+ this.menuService = menuService;
99
+ this._register(autorun(reader => {
100
+ this.delegate.currentMode.read(reader).label.read(reader);
101
+ if (this.element) {
102
+ this.renderLabel(this.element);
103
+ }
104
+ }));
105
+ }
106
+ getModePickerActionBarActions() {
107
+ const menuActions = this.menuService.createMenu(MenuId.ChatModePicker, this.contextKeyService);
108
+ const menuContributions = getFlatActionBarActions(menuActions.getActions({ renderShortTitle: true }));
109
+ menuActions.dispose();
110
+ return menuContributions;
111
+ }
112
+ renderLabel(element) {
113
+ this.setAriaLabelAttributes(element);
114
+ const state = this.delegate.currentMode.get().label.get();
115
+ reset(element, $('span.chat-model-label', undefined, state), ...renderLabelWithIcons(`$(chevron-down)`));
116
+ return null;
117
+ }
118
+ render(container) {
119
+ super.render(container);
120
+ container.classList.add('chat-modelPicker-item');
121
+ }
122
+ };
123
+ ModePickerActionItem = ( __decorate([
124
+ ( __param(2, IActionWidgetService)),
125
+ ( __param(3, IChatAgentService)),
126
+ ( __param(4, IKeybindingService)),
127
+ ( __param(5, IConfigurationService)),
128
+ ( __param(6, IContextKeyService)),
129
+ ( __param(7, IChatModeService)),
130
+ ( __param(8, IMenuService)),
131
+ ( __param(9, ICommandService)),
132
+ ( __param(10, IProductService))
133
+ ], ModePickerActionItem));
134
+
135
+ export { ModePickerActionItem };
@@ -0,0 +1,28 @@
1
+ import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
2
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
+ import { ILanguageModelChatMetadataAndIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
4
+ import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
5
+ import { ActionWidgetDropdownActionViewItem } from "../../../../../platform/actions/browser/actionWidgetDropdownActionViewItem.js";
6
+ import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
7
+ import { IActionWidgetDropdownOptions } from "../../../../../platform/actionWidget/browser/actionWidgetDropdown.js";
8
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
9
+ import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
10
+ import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
11
+ import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
12
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
13
+ import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
14
+ export interface IModelPickerDelegate {
15
+ readonly onDidChangeModel: Event<ILanguageModelChatMetadataAndIdentifier>;
16
+ getCurrentModel(): ILanguageModelChatMetadataAndIdentifier | undefined;
17
+ setModel(model: ILanguageModelChatMetadataAndIdentifier): void;
18
+ getModels(): ILanguageModelChatMetadataAndIdentifier[];
19
+ }
20
+ /**
21
+ * Action view item for selecting a language model in the chat interface.
22
+ */
23
+ export declare class ModelPickerActionItem extends ActionWidgetDropdownActionViewItem {
24
+ protected currentModel: ILanguageModelChatMetadataAndIdentifier | undefined;
25
+ constructor(action: IAction, currentModel: ILanguageModelChatMetadataAndIdentifier | undefined, widgetOptions: Omit<IActionWidgetDropdownOptions, "label" | "labelRenderer"> | undefined, delegate: IModelPickerDelegate, actionWidgetService: IActionWidgetService, contextKeyService: IContextKeyService, commandService: ICommandService, chatEntitlementService: IChatEntitlementService, keybindingService: IKeybindingService, telemetryService: ITelemetryService, productService: IProductService);
26
+ protected renderLabel(element: HTMLElement): IDisposable | null;
27
+ render(container: HTMLElement): void;
28
+ }