@codingame/monaco-vscode-katex-common 25.1.2 → 26.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +23 -2
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +64 -27
  4. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.d.ts +3 -1
  5. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.js +31 -28
  6. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +2 -0
  7. package/vscode/src/vs/platform/actions/browser/buttonbar.js +71 -50
  8. package/vscode/src/vs/platform/editor/browser/editor.js +17 -7
  9. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +112 -129
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +10 -1
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +110 -85
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +5 -5
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +21 -6
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +308 -216
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +153 -148
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +27 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +247 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +71 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +347 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +44 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +287 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +20 -0
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +89 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +188 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +677 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentSessionHoverWidget.css +98 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +263 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +34 -25
  29. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +19 -14
  30. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +762 -359
  31. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +22 -1
  32. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +188 -99
  33. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +9 -3
  34. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +166 -113
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +12 -5
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +279 -213
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +46 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +533 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +28 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +382 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +101 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +509 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +130 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +276 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +24 -7
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +128 -52
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +153 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +1218 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionPickerActionItem.css +14 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +39 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +193 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +2 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +93 -89
  54. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome.js +5 -2
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +42 -47
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +58 -56
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +18 -14
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +17 -15
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +6 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +132 -68
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +0 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +68 -47
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +14 -13
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +4 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +36 -24
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +18 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +32 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.d.ts +7 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.js +15 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.d.ts +1 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +22 -14
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.d.ts +0 -2
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +34 -27
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +1 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +198 -135
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.d.ts +2 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +38 -10
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +29 -27
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +0 -2
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +41 -36
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +0 -2
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +23 -18
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.js +13 -13
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.d.ts +0 -3
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +20 -14
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +11 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +291 -152
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +2 -3
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +227 -162
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownDecorationsRenderer.js +68 -72
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.d.ts +2 -4
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +76 -75
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +2 -5
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +96 -76
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +4 -1
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +74 -38
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +0 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -25
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +107 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +814 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +0 -2
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +34 -29
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +8 -10
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +236 -197
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +123 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +492 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +75 -47
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.d.ts +2 -4
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +31 -20
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.d.ts +0 -3
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +42 -36
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +55 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +714 -148
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +7 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +21 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +2 -7
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +143 -153
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +14 -5
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +79 -61
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +10 -4
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +209 -77
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.d.ts +9 -7
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +71 -54
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.d.ts +18 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +83 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +4 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +248 -190
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +1 -14
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +23 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPullRequestContent.css +5 -41
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +493 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +63 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +9 -1
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +121 -5
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +37 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +51 -45
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +46 -42
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +4 -2
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +99 -67
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +112 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +634 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +49 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +132 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.js +15 -9
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +196 -149
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +17 -1
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +577 -193
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +119 -86
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +10 -2
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +165 -36
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.d.ts +0 -2
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.js +5 -8
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +5 -3
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +75 -65
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +30 -28
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -5
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +102 -106
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +44 -20
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.d.ts +19 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +67 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +57 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +69 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +122 -82
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +39 -12
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +1110 -597
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +291 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +485 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatOptions.js +38 -28
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +9 -20
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +650 -689
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +21 -18
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +102 -36
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +1253 -790
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.d.ts +0 -7
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.js +11 -11
  176. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +34 -0
  177. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +55 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.d.ts +6 -2
  179. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +51 -35
  180. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +22 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +102 -0
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +16 -4
  183. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +192 -44
  184. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +11 -12
  185. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +99 -66
  186. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +47 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +188 -0
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.d.ts +20 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +115 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +129 -167
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +16 -3
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +37 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +143 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +56 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +206 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +152 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +67 -0
  198. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +22 -0
  199. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +170 -0
  200. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
  201. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +80 -19
  202. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.js +20 -28
  203. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.d.ts +2 -1
  204. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +22 -19
  205. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +15 -0
  206. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +122 -0
  207. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +19 -104
  208. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +316 -1040
  209. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +28 -0
  210. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +162 -0
  211. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +21 -0
  212. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +98 -0
  213. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +68 -0
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +416 -0
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +1 -6
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +194 -215
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +0 -1
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +74 -104
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +45 -91
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +22 -0
  221. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +98 -0
  222. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +5 -2
  223. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +96 -68
  224. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +7 -0
  225. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +11 -0
  226. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +20 -0
  227. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +150 -0
  228. package/vscode/src/vs/workbench/contrib/markdown/browser/markedKatexSupport.js +141 -147
  229. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.d.ts +64 -0
  230. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.js +200 -0
  231. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +548 -0
  232. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.js +23 -0
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +22 -0
  234. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +338 -0
  235. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +18 -0
  236. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +58 -0
  237. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +75 -0
  238. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +364 -0
  239. package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +21 -0
  240. package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +36 -0
  241. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +110 -0
  242. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +692 -0
  243. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +40 -0
  244. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +158 -0
  245. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.d.ts +80 -21
  246. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +440 -82
  247. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatInputRelatedFilesContrib.d.ts +0 -34
  248. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatInputRelatedFilesContrib.js +0 -139
  249. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +0 -10
  250. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +0 -1081
  251. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.d.ts +0 -199
  252. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +0 -482
  253. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -28
  254. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -37
  255. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +0 -94
  256. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +0 -495
  257. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.d.ts +0 -72
  258. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +0 -454
  259. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.d.ts +0 -13
  260. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +0 -66
  261. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +0 -41
  262. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +0 -372
  263. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +0 -4
  264. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +0 -58
  265. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +0 -26
  266. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +0 -594
  267. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +0 -8
  268. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +0 -55
  269. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +0 -273
  270. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +0 -1746
  271. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +0 -50
  272. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +0 -269
  273. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +0 -258
  274. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +0 -806
  275. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +0 -41
  276. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +0 -116
  277. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +0 -17
  278. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +0 -62
  279. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +0 -27
  280. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +0 -40
  281. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +0 -23
  282. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +0 -295
  283. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +0 -51
  284. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +0 -241
  285. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +0 -24
  286. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +0 -146
  287. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +0 -28
  288. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +0 -90
  289. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +0 -10
  290. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +0 -41
  291. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +0 -21
  292. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +0 -42
  293. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +0 -25
  294. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +0 -77
  295. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +0 -469
  296. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +0 -149
  297. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +0 -823
  298. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +0 -180
  299. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +0 -29
  300. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +0 -102
  301. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +0 -567
  302. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +0 -30
  303. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +0 -189
  304. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +0 -75
  305. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +0 -439
  306. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.d.ts +0 -57
  307. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.js +0 -263
  308. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.d.ts +0 -22
  309. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.js +0 -48
  310. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +0 -13
  311. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +0 -39
  312. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +0 -19
  313. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +0 -89
  314. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +0 -26
  315. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +0 -92
  316. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.d.ts +0 -33
  317. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +0 -108
@@ -37,3 +37,17 @@
37
37
  margin-left: 2px;
38
38
  }
39
39
  }
40
+
41
+ /* Locked state styling - matches disabled action item styling */
42
+ .monaco-action-bar .action-item.locked .chat-session-option-picker {
43
+ color: var(--vscode-disabledForeground);
44
+ cursor: default;
45
+ }
46
+
47
+ .monaco-action-bar .action-item.locked .chat-session-option-picker .codicon {
48
+ color: var(--vscode-disabledForeground);
49
+ }
50
+
51
+ .monaco-action-bar .action-item.locked {
52
+ pointer-events: none;
53
+ }
@@ -0,0 +1,39 @@
1
+ import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
2
+ import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
3
+ import { IActionWidgetDropdownAction } from "../../../../../platform/actionWidget/browser/actionWidgetDropdown.js";
4
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
5
+ import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
6
+ import { IChatSessionProviderOptionGroup, IChatSessionProviderOptionItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService";
7
+ import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
8
+ import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service";
9
+ import { ChatSessionPickerActionItem, IChatSessionPickerDelegate } from "./chatSessionPickerActionItem.js";
10
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
11
+ import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
12
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
13
+ /**
14
+ * Action view item for searchable option groups with QuickPick.
15
+ * Used when an option group has `searchable: true` (e.g., repository selection).
16
+ * Shows an inline dropdown with items + "See more..." option that opens a searchable QuickPick.
17
+ */
18
+ export declare class SearchableOptionPickerActionItem extends ChatSessionPickerActionItem {
19
+ private readonly quickInputService;
20
+ private readonly logService;
21
+ private static readonly SEE_MORE_ID;
22
+ constructor(action: IAction, initialState: {
23
+ group: IChatSessionProviderOptionGroup;
24
+ item: IChatSessionProviderOptionItem | undefined;
25
+ }, delegate: IChatSessionPickerDelegate, actionWidgetService: IActionWidgetService, contextKeyService: IContextKeyService, keybindingService: IKeybindingService, quickInputService: IQuickInputService, logService: ILogService, commandService: ICommandService, telemetryService: ITelemetryService);
26
+ protected getDropdownActions(): IActionWidgetDropdownAction[];
27
+ protected renderLabel(element: HTMLElement): IDisposable | null;
28
+ protected getContainerClass(): string;
29
+ /**
30
+ * Shows the full searchable QuickPick with all items (initial + search results)
31
+ * Called when user clicks "See more..." from the dropdown
32
+ */
33
+ private showSearchableQuickPick;
34
+ private createQuickPickItem;
35
+ /**
36
+ * Opens the picker programmatically.
37
+ */
38
+ show(): void;
39
+ }
@@ -0,0 +1,193 @@
1
+
2
+ import { registerCss } from '@codingame/monaco-vscode-api/css';
3
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
4
+ import * as chatSessionPickerActionItem from './media/chatSessionPickerActionItem.css';
5
+ import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
6
+ import { Delayer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
7
+ import { $, reset } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
8
+ import { IActionWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service';
9
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
10
+ import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
11
+ import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
12
+ import { renderIcon, renderLabelWithIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
13
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
14
+ import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
15
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
16
+ import { ChatSessionPickerActionItem } from './chatSessionPickerActionItem.js';
17
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
18
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
19
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
20
+
21
+ var SearchableOptionPickerActionItem_1;
22
+ registerCss(chatSessionPickerActionItem);
23
+ function isSearchableOptionQuickPickItem(item) {
24
+ return !!item && typeof item.optionItem === "object";
25
+ }
26
+ let SearchableOptionPickerActionItem = class SearchableOptionPickerActionItem extends ChatSessionPickerActionItem {
27
+ static {
28
+ SearchableOptionPickerActionItem_1 = this;
29
+ }
30
+ static {
31
+ this.SEE_MORE_ID = "__see_more__";
32
+ }
33
+ constructor(
34
+ action,
35
+ initialState,
36
+ delegate,
37
+ actionWidgetService,
38
+ contextKeyService,
39
+ keybindingService,
40
+ quickInputService,
41
+ logService,
42
+ commandService,
43
+ telemetryService
44
+ ) {
45
+ super(
46
+ action,
47
+ initialState,
48
+ delegate,
49
+ actionWidgetService,
50
+ contextKeyService,
51
+ keybindingService,
52
+ commandService,
53
+ telemetryService
54
+ );
55
+ this.quickInputService = quickInputService;
56
+ this.logService = logService;
57
+ }
58
+ getDropdownActions() {
59
+ const currentOption = this.delegate.getCurrentOption();
60
+ if (currentOption?.locked) {
61
+ return [this.createLockedOptionAction(currentOption)];
62
+ }
63
+ const optionGroup = this.delegate.getOptionGroup();
64
+ if (!optionGroup) {
65
+ return [];
66
+ }
67
+ const actions = ( optionGroup.items.map(optionItem => {
68
+ const isCurrent = optionItem.id === currentOption?.id;
69
+ return {
70
+ id: optionItem.id,
71
+ enabled: !optionItem.locked,
72
+ icon: optionItem.icon,
73
+ checked: isCurrent,
74
+ class: undefined,
75
+ description: optionItem.description,
76
+ tooltip: optionItem.description ?? optionItem.name,
77
+ label: optionItem.name,
78
+ run: () => {
79
+ this.delegate.setOption(optionItem);
80
+ }
81
+ };
82
+ }));
83
+ if (optionGroup.onSearch) {
84
+ actions.push({
85
+ id: SearchableOptionPickerActionItem_1.SEE_MORE_ID,
86
+ enabled: true,
87
+ checked: false,
88
+ class: "searchable-picker-see-more",
89
+ description: undefined,
90
+ tooltip: ( localize(5517, "Search for more options")),
91
+ label: ( localize(5518, "See more...")),
92
+ run: () => {
93
+ this.showSearchableQuickPick(optionGroup);
94
+ }
95
+ });
96
+ }
97
+ return actions;
98
+ }
99
+ renderLabel(element) {
100
+ const domChildren = [];
101
+ const optionGroup = this.delegate.getOptionGroup();
102
+ element.classList.add("chat-session-option-picker");
103
+ if (optionGroup?.icon) {
104
+ domChildren.push(renderIcon(optionGroup.icon));
105
+ }
106
+ const label = this.currentOption?.name ?? optionGroup?.name ?? ( localize(5519, "Select..."));
107
+ domChildren.push($("span.chat-session-option-label", undefined, label));
108
+ domChildren.push(...renderLabelWithIcons(`$(chevron-down)`));
109
+ reset(element, ...domChildren);
110
+ this.setAriaLabelAttributes(element);
111
+ return null;
112
+ }
113
+ getContainerClass() {
114
+ return "chat-searchable-option-picker-item";
115
+ }
116
+ async showSearchableQuickPick(optionGroup) {
117
+ if (optionGroup.onSearch) {
118
+ const disposables = ( new DisposableStore());
119
+ const quickPick = this.quickInputService.createQuickPick();
120
+ disposables.add(quickPick);
121
+ quickPick.placeholder = optionGroup.description ?? ( localize(5520, "Select {0}", optionGroup.name));
122
+ quickPick.matchOnDescription = true;
123
+ quickPick.matchOnDetail = true;
124
+ quickPick.ignoreFocusOut = true;
125
+ quickPick.busy = true;
126
+ quickPick.show();
127
+ let currentSearchCts;
128
+ const searchDelayer = disposables.add(( new Delayer(300)));
129
+ const performSearch = async query => {
130
+ currentSearchCts?.cancel();
131
+ currentSearchCts?.dispose();
132
+ currentSearchCts = ( new CancellationTokenSource());
133
+ const token = currentSearchCts.token;
134
+ quickPick.busy = true;
135
+ try {
136
+ const items = await optionGroup.onSearch(query, token);
137
+ if (!token.isCancellationRequested) {
138
+ quickPick.items = ( items.map(item => this.createQuickPickItem(item)));
139
+ }
140
+ } catch (error) {
141
+ if (!token.isCancellationRequested) {
142
+ this.logService.error("Error fetching searchable option items:", error);
143
+ }
144
+ } finally {
145
+ if (!token.isCancellationRequested) {
146
+ quickPick.busy = false;
147
+ }
148
+ }
149
+ };
150
+ await performSearch("");
151
+ disposables.add(quickPick.onDidChangeValue(value => {
152
+ searchDelayer.trigger(() => performSearch(value));
153
+ }));
154
+ return ( new Promise(resolve => {
155
+ disposables.add(quickPick.onDidAccept(() => {
156
+ const pick = quickPick.selectedItems[0];
157
+ if (isSearchableOptionQuickPickItem(pick)) {
158
+ const selectedItem = pick.optionItem;
159
+ if (!selectedItem.locked) {
160
+ this.delegate.setOption(selectedItem);
161
+ }
162
+ }
163
+ quickPick.hide();
164
+ }));
165
+ disposables.add(quickPick.onDidHide(() => {
166
+ currentSearchCts?.cancel();
167
+ currentSearchCts?.dispose();
168
+ disposables.dispose();
169
+ resolve();
170
+ }));
171
+ }));
172
+ }
173
+ }
174
+ createQuickPickItem(item) {
175
+ const iconClass = item.icon ? ThemeIcon.asClassName(item.icon) : undefined;
176
+ return {
177
+ label: item.name,
178
+ description: item.description,
179
+ iconClass,
180
+ disabled: item.locked,
181
+ optionItem: item
182
+ };
183
+ }
184
+ show() {
185
+ const optionGroup = this.delegate.getOptionGroup();
186
+ if (optionGroup) {
187
+ this.showSearchableQuickPick(optionGroup);
188
+ }
189
+ }
190
+ };
191
+ SearchableOptionPickerActionItem = SearchableOptionPickerActionItem_1 = ( __decorate([( __param(3, IActionWidgetService)), ( __param(4, IContextKeyService)), ( __param(5, IKeybindingService)), ( __param(6, IQuickInputService)), ( __param(7, ILogService)), ( __param(8, ICommandService)), ( __param(9, ITelemetryService))], SearchableOptionPickerActionItem));
192
+
193
+ export { SearchableOptionPickerActionItem };
@@ -13,6 +13,7 @@ import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/
13
13
  import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
14
14
  import { ChatAgentLocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
15
15
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
16
+ import { IChatViewsWelcomeDescriptor } from "./chatViewsWelcome.js";
16
17
  export interface IViewWelcomeDelegate {
17
18
  readonly onDidChangeViewWelcomeState: Event<void>;
18
19
  shouldShowWelcome(): boolean;
@@ -30,6 +31,7 @@ export declare class ChatViewWelcomeController extends Disposable {
30
31
  private readonly _isShowingWelcome;
31
32
  get isShowingWelcome(): IObservable<boolean>;
32
33
  constructor(container: HTMLElement, delegate: IViewWelcomeDelegate, location: ChatAgentLocation, contextKeyService: IContextKeyService, instantiationService: IInstantiationService);
34
+ getMatchingWelcomeView(): IChatViewsWelcomeDescriptor | undefined;
33
35
  private update;
34
36
  private render;
35
37
  }
@@ -45,10 +45,17 @@ let ChatViewWelcomeController = class ChatViewWelcomeController extends Disposab
45
45
  this.enabledDisposables = this._register(( new DisposableStore()));
46
46
  this.renderDisposables = this._register(( new DisposableStore()));
47
47
  this._isShowingWelcome = observableValue(this, false);
48
- this.element = append(this.container, $$1('.chat-view-welcome'));
49
- this._register(Event.runAndSubscribe(delegate.onDidChangeViewWelcomeState, () => this.update()));
48
+ this.element = append(this.container, $$1(".chat-view-welcome"));
49
+ this._register(
50
+ Event.runAndSubscribe(delegate.onDidChangeViewWelcomeState, () => this.update())
51
+ );
50
52
  this._register(chatViewsWelcomeRegistry.onDidChange(() => this.update(true)));
51
53
  }
54
+ getMatchingWelcomeView() {
55
+ const descriptors = chatViewsWelcomeRegistry.get();
56
+ const matchingDescriptors = descriptors.filter(descriptor => this.contextKeyService.contextMatchesRules(descriptor.when));
57
+ return matchingDescriptors.at(0);
58
+ }
52
59
  update(force) {
53
60
  const enabled = this.delegate.shouldShowWelcome();
54
61
  if (this.enabled === enabled && !force) {
@@ -57,7 +64,7 @@ let ChatViewWelcomeController = class ChatViewWelcomeController extends Disposab
57
64
  this.enabled = enabled;
58
65
  this.enabledDisposables.clear();
59
66
  if (!enabled) {
60
- this.container.classList.toggle('chat-view-welcome-visible', false);
67
+ this.container.classList.toggle("chat-view-welcome-visible", false);
61
68
  this.renderDisposables.clear();
62
69
  this._isShowingWelcome.set(false, undefined);
63
70
  return;
@@ -84,23 +91,31 @@ let ChatViewWelcomeController = class ChatViewWelcomeController extends Disposab
84
91
  title: enabledDescriptor.title,
85
92
  message: enabledDescriptor.content
86
93
  };
87
- const welcomeView = this.renderDisposables.add(this.instantiationService.createInstance(ChatViewWelcomePart, content, { firstLinkToButton: true, location: this.location }));
94
+ const welcomeView = this.renderDisposables.add(this.instantiationService.createInstance(ChatViewWelcomePart, content, {
95
+ firstLinkToButton: true,
96
+ location: this.location
97
+ }));
88
98
  this.element.appendChild(welcomeView.element);
89
- this.container.classList.toggle('chat-view-welcome-visible', true);
99
+ this.container.classList.toggle("chat-view-welcome-visible", true);
90
100
  this._isShowingWelcome.set(true, undefined);
91
- }
92
- else {
93
- this.container.classList.toggle('chat-view-welcome-visible', false);
101
+ } else {
102
+ this.container.classList.toggle("chat-view-welcome-visible", false);
94
103
  this._isShowingWelcome.set(false, undefined);
95
104
  }
96
105
  }
97
106
  };
98
- ChatViewWelcomeController = ( __decorate([
99
- ( __param(3, IContextKeyService)),
100
- ( __param(4, IInstantiationService))
101
- ], ChatViewWelcomeController));
107
+ ChatViewWelcomeController = ( __decorate([( __param(3, IContextKeyService)), ( __param(4, IInstantiationService))], ChatViewWelcomeController));
102
108
  let ChatViewWelcomePart = class ChatViewWelcomePart extends Disposable {
103
- constructor(content, options, openerService, logService, chatWidgetService, telemetryService, markdownRendererService, contextMenuService) {
109
+ constructor(
110
+ content,
111
+ options,
112
+ openerService,
113
+ logService,
114
+ chatWidgetService,
115
+ telemetryService,
116
+ markdownRendererService,
117
+ contextMenuService
118
+ ) {
104
119
  super();
105
120
  this.content = content;
106
121
  this.openerService = openerService;
@@ -109,157 +124,153 @@ let ChatViewWelcomePart = class ChatViewWelcomePart extends Disposable {
109
124
  this.telemetryService = telemetryService;
110
125
  this.markdownRendererService = markdownRendererService;
111
126
  this.contextMenuService = contextMenuService;
112
- this.element = $$1('.chat-welcome-view');
127
+ this.element = $$1(".chat-welcome-view");
113
128
  try {
114
- const icon = append(this.element, $('.chat-welcome-view-icon'));
129
+ const icon = append(this.element, $(".chat-welcome-view-icon"));
115
130
  if (content.useLargeIcon) {
116
- icon.classList.add('large-icon');
131
+ icon.classList.add("large-icon");
117
132
  }
118
133
  if (content.icon) {
119
134
  if (ThemeIcon.isThemeIcon(content.icon)) {
120
135
  const iconElement = renderIcon(content.icon);
121
136
  icon.appendChild(iconElement);
122
- }
123
- else if (URI.isUri(content.icon)) {
137
+ } else if (URI.isUri(content.icon)) {
124
138
  const cssUrl = asCSSUrl(content.icon);
125
139
  const hash = ( new StringSHA1());
126
140
  hash.update(cssUrl);
127
141
  const iconId = `chat-welcome-icon-${hash.digest()}`;
128
142
  const iconClass = `.chat-welcome-view-icon.${iconId}`;
129
143
  createCSSRule(iconClass, `
130
- mask: ${cssUrl} no-repeat 50% 50%;
131
- -webkit-mask: ${cssUrl} no-repeat 50% 50%;
132
- background-color: var(--vscode-icon-foreground);
133
- `);
134
- icon.classList.add(iconId, 'custom-icon');
144
+ mask: ${cssUrl} no-repeat 50% 50%;
145
+ -webkit-mask: ${cssUrl} no-repeat 50% 50%;
146
+ background-color: var(--vscode-icon-foreground);
147
+ `);
148
+ icon.classList.add(iconId, "custom-icon");
135
149
  }
136
150
  }
137
- const title = append(this.element, $('.chat-welcome-view-title'));
151
+ const title = append(this.element, $(".chat-welcome-view-title"));
138
152
  title.textContent = content.title;
139
- const message = append(this.element, $('.chat-welcome-view-message'));
153
+ const message = append(this.element, $(".chat-welcome-view-message"));
140
154
  const messageResult = this.renderMarkdownMessageContent(content.message, options);
141
155
  append(message, messageResult.element);
142
156
  if (content.additionalMessage) {
143
- const disclaimers = append(this.element, $('.chat-welcome-view-disclaimer'));
144
- if (typeof content.additionalMessage === 'string') {
157
+ const disclaimers = append(this.element, $(".chat-welcome-view-disclaimer"));
158
+ if (typeof content.additionalMessage === "string") {
145
159
  disclaimers.textContent = content.additionalMessage;
146
- }
147
- else {
160
+ } else {
148
161
  const additionalMessageResult = this.renderMarkdownMessageContent(content.additionalMessage, options);
149
162
  disclaimers.appendChild(additionalMessageResult.element);
150
163
  }
151
164
  }
152
165
  if (content.suggestedPrompts && content.suggestedPrompts.length) {
153
- const suggestedPromptsContainer = append(this.element, $('.chat-welcome-view-suggested-prompts'));
154
- const titleElement = append(suggestedPromptsContainer, $('.chat-welcome-view-suggested-prompts-title'));
155
- titleElement.textContent = ( localize(5597, 'Suggested Actions'));
166
+ const suggestedPromptsContainer = append(this.element, $(".chat-welcome-view-suggested-prompts"));
167
+ const titleElement = append(suggestedPromptsContainer, $(".chat-welcome-view-suggested-prompts-title"));
168
+ titleElement.textContent = ( localize(5816, "Suggested Actions"));
156
169
  for (const prompt of content.suggestedPrompts) {
157
- const promptElement = append(suggestedPromptsContainer, $('.chat-welcome-view-suggested-prompt'));
158
- promptElement.setAttribute('role', 'button');
159
- promptElement.setAttribute('tabindex', '0');
160
- const promptAriaLabel = prompt.description
161
- ? ( localize(5598, 'Suggested prompt: {0}, {1}', prompt.label, prompt.description))
162
- : ( localize(5599, 'Suggested prompt: {0}', prompt.label));
163
- promptElement.setAttribute('aria-label', promptAriaLabel);
164
- const titleElement = append(promptElement, $('.chat-welcome-view-suggested-prompt-title'));
170
+ const promptElement = append(suggestedPromptsContainer, $(".chat-welcome-view-suggested-prompt"));
171
+ promptElement.setAttribute("role", "button");
172
+ promptElement.setAttribute("tabindex", "0");
173
+ const promptAriaLabel = prompt.description ? ( localize(5817, "Suggested prompt: {0}, {1}", prompt.label, prompt.description)) : ( localize(5818, "Suggested prompt: {0}", prompt.label));
174
+ promptElement.setAttribute("aria-label", promptAriaLabel);
175
+ const titleElement = append(promptElement, $(".chat-welcome-view-suggested-prompt-title"));
165
176
  titleElement.textContent = prompt.label;
166
- const tooltip = ( localize(5600, "Suggested prompt: {0}", prompt.prompt));
177
+ const tooltip = ( localize(5819, "Suggested prompt: {0}", prompt.prompt));
167
178
  promptElement.title = tooltip;
168
179
  titleElement.title = tooltip;
169
180
  if (prompt.description) {
170
- const descriptionElement = append(promptElement, $('.chat-welcome-view-suggested-prompt-description'));
181
+ const descriptionElement = append(promptElement, $(".chat-welcome-view-suggested-prompt-description"));
171
182
  descriptionElement.textContent = prompt.description;
172
183
  descriptionElement.title = prompt.description;
173
184
  }
174
185
  const executePrompt = () => {
175
- this.telemetryService.publicLog2('chat.clickedSuggestedPrompt', {
176
- suggestedPrompt: prompt.prompt,
186
+ this.telemetryService.publicLog2("chat.clickedSuggestedPrompt", {
187
+ suggestedPrompt: prompt.prompt
177
188
  });
178
189
  if (!this.chatWidgetService.lastFocusedWidget) {
179
190
  const widgets = this.chatWidgetService.getWidgetsByLocations(ChatAgentLocation.Chat);
180
191
  if (widgets.length) {
181
192
  widgets[0].setInput(prompt.prompt);
182
193
  }
183
- }
184
- else {
194
+ } else {
185
195
  this.chatWidgetService.lastFocusedWidget.setInput(prompt.prompt);
186
196
  }
187
197
  };
188
- this._register(addDisposableListener(promptElement, EventType.CONTEXT_MENU, (e) => {
189
- e.preventDefault();
190
- e.stopImmediatePropagation();
191
- const actions = this.getPromptContextMenuActions(prompt);
192
- this.contextMenuService.showContextMenu({
193
- getAnchor: () => ({ x: e.clientX, y: e.clientY }),
194
- getActions: () => actions,
195
- });
196
- }));
197
- this._register(addDisposableListener(promptElement, EventType.CLICK, executePrompt));
198
- this._register(addDisposableListener(promptElement, EventType.KEY_DOWN, (e) => {
198
+ this._register(
199
+ addDisposableListener(promptElement, EventType.CONTEXT_MENU, e => {
200
+ e.preventDefault();
201
+ e.stopImmediatePropagation();
202
+ const actions = this.getPromptContextMenuActions(prompt);
203
+ this.contextMenuService.showContextMenu({
204
+ getAnchor: () => ({
205
+ x: e.clientX,
206
+ y: e.clientY
207
+ }),
208
+ getActions: () => actions
209
+ });
210
+ })
211
+ );
212
+ this._register(
213
+ addDisposableListener(promptElement, EventType.CLICK, executePrompt)
214
+ );
215
+ this._register(addDisposableListener(promptElement, EventType.KEY_DOWN, e => {
199
216
  const event = ( new StandardKeyboardEvent(e));
200
217
  if (event.equals(KeyCode.Enter) || event.equals(KeyCode.Space)) {
201
218
  e.preventDefault();
202
219
  e.stopPropagation();
203
220
  executePrompt();
204
- }
205
- else if (event.equals(KeyCode.F10) && event.shiftKey) {
221
+ } else if (event.equals(KeyCode.F10) && event.shiftKey) {
206
222
  e.preventDefault();
207
223
  e.stopPropagation();
208
224
  const actions = this.getPromptContextMenuActions(prompt);
209
225
  this.contextMenuService.showContextMenu({
210
226
  getAnchor: () => promptElement,
211
- getActions: () => actions,
227
+ getActions: () => actions
212
228
  });
213
229
  }
214
230
  }));
215
231
  }
216
232
  }
217
233
  if (content.tips) {
218
- const tips = append(this.element, $('.chat-welcome-view-tips'));
234
+ const tips = append(this.element, $(".chat-welcome-view-tips"));
219
235
  const tipsResult = this._register(this.markdownRendererService.render(content.tips));
220
236
  tips.appendChild(tipsResult.element);
221
237
  }
222
- }
223
- catch (err) {
224
- this.logService.error('Failed to render chat view welcome content', err);
238
+ } catch (err) {
239
+ this.logService.error("Failed to render chat view welcome content", err);
225
240
  }
226
241
  }
227
242
  getPromptContextMenuActions(prompt) {
228
243
  const actions = [];
229
244
  if (prompt.uri) {
230
245
  const uri = prompt.uri;
231
- actions.push(( new Action('chat.editPromptFile', ( localize(5601, "Edit Prompt File")), ThemeIcon.asClassName(Codicon.goToFile), true, async () => {
246
+ actions.push(( new Action("chat.editPromptFile", ( localize(5820, "Edit Prompt File")), ThemeIcon.asClassName(Codicon.goToFile), true, async () => {
232
247
  try {
233
248
  await this.openerService.open(uri);
234
- }
235
- catch (error) {
236
- this.logService.error('Failed to open prompt file:', error);
249
+ } catch (error) {
250
+ this.logService.error("Failed to open prompt file:", error);
237
251
  }
238
252
  })));
239
253
  }
240
254
  return actions;
241
255
  }
242
256
  needsRerender(content) {
243
- return !!(this.content.title !== content.title ||
244
- this.content.message.value !== content.message.value ||
245
- this.content.additionalMessage !== content.additionalMessage ||
246
- this.content.tips?.value !== content.tips?.value ||
247
- this.content.suggestedPrompts?.length !== content.suggestedPrompts?.length ||
248
- this.content.suggestedPrompts?.some((prompt, index) => {
249
- const incoming = content.suggestedPrompts?.[index];
250
- return incoming?.label !== prompt.label || incoming?.description !== prompt.description;
251
- }));
257
+ return !!(this.content.title !== content.title || this.content.message.value !== content.message.value || this.content.additionalMessage !== content.additionalMessage || this.content.tips?.value !== content.tips?.value || this.content.suggestedPrompts?.length !== content.suggestedPrompts?.length || this.content.suggestedPrompts?.some((prompt, index) => {
258
+ const incoming = content.suggestedPrompts?.[index];
259
+ return incoming?.label !== prompt.label || incoming?.description !== prompt.description;
260
+ }));
252
261
  }
253
262
  renderMarkdownMessageContent(content, options) {
254
263
  const messageResult = this._register(this.markdownRendererService.render(content));
255
- const firstLink = options?.firstLinkToButton ? messageResult.element.querySelector('a') : undefined;
264
+ const firstLink = options?.firstLinkToButton ? messageResult.element.querySelector("a") : undefined;
256
265
  if (firstLink) {
257
- const target = firstLink.getAttribute('data-href');
266
+ const target = firstLink.getAttribute("data-href");
258
267
  const button = this._register(( new Button(firstLink.parentElement, defaultButtonStyles)));
259
- button.label = firstLink.textContent ?? '';
268
+ button.label = firstLink.textContent ?? "";
260
269
  if (target) {
261
270
  this._register(button.onDidClick(() => {
262
- this.openerService.open(target, { allowCommands: true });
271
+ this.openerService.open(target, {
272
+ allowCommands: true
273
+ });
263
274
  }));
264
275
  }
265
276
  firstLink.replaceWith(button.element);
@@ -267,13 +278,6 @@ let ChatViewWelcomePart = class ChatViewWelcomePart extends Disposable {
267
278
  return messageResult;
268
279
  }
269
280
  };
270
- ChatViewWelcomePart = ( __decorate([
271
- ( __param(2, IOpenerService)),
272
- ( __param(3, ILogService)),
273
- ( __param(4, IChatWidgetService)),
274
- ( __param(5, ITelemetryService)),
275
- ( __param(6, IMarkdownRendererService)),
276
- ( __param(7, IContextMenuService))
277
- ], ChatViewWelcomePart));
281
+ ChatViewWelcomePart = ( __decorate([( __param(2, IOpenerService)), ( __param(3, ILogService)), ( __param(4, IChatWidgetService)), ( __param(5, ITelemetryService)), ( __param(6, IMarkdownRendererService)), ( __param(7, IContextMenuService))], ChatViewWelcomePart));
278
282
 
279
283
  export { ChatViewWelcomeController, ChatViewWelcomePart };
@@ -4,7 +4,7 @@ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/l
4
4
  import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
5
5
 
6
6
  var ChatViewsWelcomeExtensions;
7
- (function (ChatViewsWelcomeExtensions) {
7
+ (function(ChatViewsWelcomeExtensions) {
8
8
  ChatViewsWelcomeExtensions["ChatViewsWelcomeRegistry"] = "workbench.registry.chat.viewsWelcome";
9
9
  })(ChatViewsWelcomeExtensions || (ChatViewsWelcomeExtensions = {}));
10
10
  class ChatViewsWelcomeContributionRegistry extends Disposable {
@@ -23,6 +23,9 @@ class ChatViewsWelcomeContributionRegistry extends Disposable {
23
23
  }
24
24
  }
25
25
  const chatViewsWelcomeRegistry = ( new ChatViewsWelcomeContributionRegistry());
26
- Registry.add(ChatViewsWelcomeExtensions.ChatViewsWelcomeRegistry, chatViewsWelcomeRegistry);
26
+ Registry.add(
27
+ ChatViewsWelcomeExtensions.ChatViewsWelcomeRegistry,
28
+ chatViewsWelcomeRegistry
29
+ );
27
30
 
28
31
  export { ChatViewsWelcomeExtensions, chatViewsWelcomeRegistry };