@codingame/monaco-vscode-katex-common 26.2.2 → 28.0.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 (230) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +10 -4
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +37 -11
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +3 -0
  5. package/vscode/src/vs/platform/actions/browser/buttonbar.js +15 -4
  6. package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +576 -0
  7. package/vscode/src/vs/{workbench/contrib → platform}/mcp/common/modelContextProtocolApps.js +1 -0
  8. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +5 -0
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +176 -17
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +5 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +127 -64
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +1 -0
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -11
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +26 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +106 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +9 -9
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +14 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +105 -29
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +13 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +69 -43
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +2 -2
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +35 -7
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +187 -78
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +138 -32
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -6
  28. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +394 -87
  29. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +28 -13
  31. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +38 -19
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +113 -116
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +16 -15
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -2
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +5 -5
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +1 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +2 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +30 -11
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +250 -132
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
  43. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +1 -16
  44. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -110
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.d.ts +1 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.d.ts +1 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +3 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +9 -4
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +2 -4
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +7 -10
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.d.ts +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +4 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +22 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +3 -2
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +11 -3
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.d.ts +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.d.ts +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +59 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.js +29 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.d.ts +0 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +0 -6
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.d.ts +1 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +4 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +6 -3
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.d.ts +1 -1
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.d.ts +1 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +3 -2
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +7 -6
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +0 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -27
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +4 -1
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +53 -20
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.d.ts +15 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.js +55 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.d.ts +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -7
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +1 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +3 -2
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +24 -10
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +4 -4
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -6
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +62 -7
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +414 -129
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +4 -3
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +19 -12
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.d.ts +22 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +263 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +14 -5
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +98 -26
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.d.ts +1 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +1 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.d.ts +1 -1
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +11 -2
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +252 -80
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +29 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +246 -8
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +4 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +39 -18
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +6 -4
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +36 -23
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +3 -13
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +6 -260
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.d.ts +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.d.ts +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +5 -7
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +42 -37
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +12 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +65 -18
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +9 -6
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +356 -415
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +14 -7
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +102 -7
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +68 -19
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/codeBlockPart.css +48 -15
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +5 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +47 -23
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.d.ts +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +1 -2
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +0 -5
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +8 -1
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +57 -4
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +5 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +24 -8
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.d.ts +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +18 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +103 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -1
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -18
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +44 -1
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +85 -89
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +3 -5
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +15 -17
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +4 -2
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +41 -2
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +1 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +6 -5
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.d.ts +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +13 -1
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.d.ts +1 -1
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +2 -1
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +21 -5
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +341 -88
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +13 -4
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +35 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +440 -0
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +24 -10
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +437 -241
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +77 -17
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +521 -284
  176. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +7 -1
  178. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +71 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +664 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +104 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +127 -0
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +12 -1
  183. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +57 -16
  184. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +4 -7
  185. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +89 -49
  186. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +1 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +28 -0
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +87 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +22 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +213 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +1 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +15 -17
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +7 -4
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +563 -140
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +35 -26
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +2 -2
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +26 -23
  198. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +26 -6
  199. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +145 -79
  200. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +36 -50
  201. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +35 -15
  202. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +7 -0
  203. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +127 -30
  204. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
  205. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +20 -14
  206. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +6 -6
  207. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +96 -34
  208. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +11 -2
  209. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +68 -27
  210. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +5 -0
  211. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +125 -13
  212. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +8 -11
  213. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +54 -45
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +11 -10
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +172 -112
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +2 -44
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +28 -4
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +84 -3
  221. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +9 -2
  222. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +58 -41
  223. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  224. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +1 -548
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  227. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +6 -10
  230. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +0 -187
@@ -10,7 +10,7 @@
10
10
 
11
11
  .chat-terminal-content-part .chat-terminal-content-title {
12
12
  border: 1px solid var(--vscode-chat-requestBorder);
13
- border-radius: 4px;
13
+ border-radius: var(--vscode-cornerRadius-medium);
14
14
  padding: 0px 9px 0px 5px;
15
15
  max-width: 100%;
16
16
  box-sizing: border-box;
@@ -135,8 +135,8 @@
135
135
  .chat-terminal-output-container.collapsed { display: none; }
136
136
  .chat-terminal-output-container {
137
137
  border: 1px solid var(--vscode-chat-requestBorder);
138
- border-bottom-left-radius: 4px;
139
- border-bottom-right-radius: 4px;
138
+ border-bottom-left-radius: var(--vscode-cornerRadius-medium);
139
+ border-bottom-right-radius: var(--vscode-cornerRadius-medium);
140
140
  max-height: 300px;
141
141
  box-sizing: border-box;
142
142
  overflow: hidden;
@@ -187,12 +187,10 @@ div.chat-terminal-content-part.progress-step > div.chat-terminal-output-containe
187
187
  .chat-terminal-output-terminal .xterm-viewport {
188
188
  background: inherit !important;
189
189
  }
190
+
190
191
  .chat-terminal-output-terminal.chat-terminal-output-terminal-no-output {
191
192
  display: none;
192
193
  }
193
- .chat-terminal-output-terminal.chat-terminal-output-terminal-clipped {
194
- overflow: hidden;
195
- }
196
194
  .chat-terminal-output {
197
195
  margin: 0;
198
196
  white-space: pre;
@@ -210,10 +208,19 @@ div.chat-terminal-content-part.progress-step > div.chat-terminal-output-containe
210
208
  display: block;
211
209
  }
212
210
 
213
- .chat-terminal-output-container .xterm-scrollable-element .scrollbar {
211
+ .chat-terminal-output-container .xterm-scrollable-element .xterm-scrollbar {
214
212
  display: none;
215
213
  }
216
214
 
215
+ /* Allow clicks to pass through scrollbar track to reach inline links, but keep slider draggable */
216
+ .chat-terminal-output-container > .monaco-scrollable-element > .scrollbar.horizontal {
217
+ pointer-events: none;
218
+ }
219
+
220
+ .chat-terminal-output-container > .monaco-scrollable-element > .scrollbar.horizontal .slider {
221
+ pointer-events: auto;
222
+ }
223
+
217
224
  .chat-terminal-output div,
218
225
  .chat-terminal-output span {
219
226
  height: auto;
@@ -18,16 +18,58 @@
18
18
  }
19
19
 
20
20
  > .chat-used-context-label .monaco-button.monaco-icon-button {
21
+ display: flex;
22
+ align-items: center;
21
23
  line-height: 1.5em;
22
24
  font-size: 13px;
23
25
 
24
- .codicon, .monaco-button-mdlabel {
26
+ .monaco-button-mdlabel {
25
27
  font-size: var(--vscode-chat-font-size-body-s);
26
28
  }
27
29
 
30
+ .codicon {
31
+ font-size: 12px;
32
+ }
33
+
28
34
  .rendered-markdown.collapsible-title-content {
29
35
  line-height: unset;
30
36
  }
37
+
38
+ .rendered-markdown.chat-thinking-title-detail {
39
+ display: inline;
40
+ font-size: inherit;
41
+ line-height: inherit;
42
+
43
+ > p {
44
+ display: inline;
45
+ margin: 0;
46
+ }
47
+ }
48
+
49
+ .chat-thinking-title-detail-text {
50
+ opacity: 0.7;
51
+ }
52
+ }
53
+
54
+ &.chat-thinking-active > .chat-used-context-label .monaco-button.monaco-icon-button {
55
+
56
+ .codicon.codicon-circle-filled {
57
+ display: none;
58
+ }
59
+
60
+ .chat-thinking-title-shimmer {
61
+ background: linear-gradient(90deg,
62
+ var(--vscode-descriptionForeground) 0%,
63
+ var(--vscode-descriptionForeground) 30%,
64
+ var(--vscode-chat-thinkingShimmer) 50%,
65
+ var(--vscode-descriptionForeground) 70%,
66
+ var(--vscode-descriptionForeground) 100%);
67
+ background-size: 400% 100%;
68
+ background-clip: text;
69
+ -webkit-background-clip: text;
70
+ -webkit-text-fill-color: transparent;
71
+ animation: chat-thinking-shimmer 2s linear infinite;
72
+ }
31
73
  }
32
74
 
33
75
  /* shimmer animation stuffs */
@@ -57,7 +99,7 @@
57
99
 
58
100
  .chat-used-context-list.chat-thinking-collapsible {
59
101
  border: 1px solid var(--vscode-chat-requestBorder);
60
- border-radius: 4px;
102
+ border-radius: var(--vscode-cornerRadius-medium);
61
103
  margin-bottom: 0;
62
104
  position: relative;
63
105
  overflow: hidden;
@@ -65,11 +107,33 @@
65
107
  .chat-tool-invocation-part {
66
108
  padding: 4px 12px 4px 18px;
67
109
  position: relative;
110
+ }
68
111
 
112
+ .chat-thinking-tool-wrapper {
69
113
  .chat-used-context {
70
114
  margin-bottom: 0px;
71
- margin-left: 2px;
115
+ margin-left: 4px;
72
116
  padding-left: 2px;
117
+
118
+ .monaco-button.monaco-text-button {
119
+ color: var(--vscode-descriptionForeground);
120
+ display: flex;
121
+ align-items: center;
122
+
123
+ :hover {
124
+ color: var(--vscode-foreground);
125
+ }
126
+
127
+ .monaco-button:hover .chat-collapsible-hover-chevron {
128
+ opacity: 1;
129
+ }
130
+ }
131
+ }
132
+
133
+ .chat-used-context:not(.chat-used-context-collapsed) {
134
+ .monaco-button.monaco-text-button {
135
+ color: var(--vscode-foreground);
136
+ }
73
137
  }
74
138
 
75
139
  .progress-container,
@@ -77,17 +141,35 @@
77
141
  margin: 0 0 2px 6px;
78
142
  }
79
143
 
80
- .codicon:not(.chat-thinking-icon) {
81
- display: none;
144
+ /* todo: ideally not !important, but the competing css has 14 specificity */
145
+ .codicon.codicon-check,
146
+ .codicon.codicon-loading {
147
+ display: none !important;
82
148
  }
83
149
 
150
+ .chat-collapsible-hover-chevron.codicon {
151
+ display: inline-flex;
152
+ }
153
+
154
+ .show-checkmarks .chat-confirmation-widget-title > .codicon:first-child:not(.chat-collapsible-hover-chevron) {
155
+ display: inline-block;
156
+ }
157
+
158
+ .show-checkmarks .progress-container > .codicon.codicon-check {
159
+ display: inline-flex;
160
+ }
161
+
162
+ .chat-used-context.chat-hook-outcome-blocked,
163
+ .chat-used-context.chat-hook-outcome-warning {
164
+ padding: 4px 12px 4px 20px;
165
+ margin-bottom: 0;
166
+ }
84
167
  }
85
168
 
86
169
  .chat-thinking-item.markdown-content {
87
170
  padding: 6px 12px 6px 24px;
88
171
  position: relative;
89
172
  font-size: var(--vscode-chat-font-size-body-s);
90
-
91
173
  .progress-container {
92
174
  margin-bottom: 0px;
93
175
  padding-top: 0px;
@@ -103,12 +185,16 @@
103
185
  }
104
186
 
105
187
  .chat-thinking-tool-wrapper .chat-markdown-part.rendered-markdown {
106
- padding: 5px 12px 4px 20px;
188
+ padding: 5px 12px 4px 24px;
107
189
 
108
190
  .status-icon.codicon-check {
109
191
  display: none;
110
192
  }
111
193
 
194
+ .show-checkmarks .status-icon.codicon-check {
195
+ display: inline-flex;
196
+ }
197
+
112
198
  .code:has(.chat-codeblock-pill-container) {
113
199
  margin-bottom: 0px;
114
200
 
@@ -200,6 +286,10 @@
200
286
 
201
287
  .rendered-markdown > p {
202
288
  margin: 0;
289
+
290
+ & + p {
291
+ margin-top: 5px;
292
+ }
203
293
  }
204
294
  }
205
295
 
@@ -208,6 +298,11 @@
208
298
  flex-direction: column;
209
299
  width: 100%;
210
300
 
301
+ .monaco-button.monaco-text-button {
302
+ display: flex;
303
+ align-items: center;
304
+ }
305
+
211
306
  .chat-used-context-list.chat-terminal-thinking-content {
212
307
  border: none;
213
308
  padding: 0;
@@ -3,35 +3,84 @@
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
 
6
- .interactive-item-container .chat-tip-widget {
6
+ .chat-getting-started-tip-container .chat-tip-widget .chat-tip-toolbar {
7
+ opacity: 0;
8
+ pointer-events: none;
9
+ }
10
+
11
+ .chat-getting-started-tip-container .chat-tip-widget .chat-tip-toolbar > .monaco-toolbar {
12
+ position: absolute;
13
+ top: -20px;
14
+ right: 10px;
15
+ height: 26px;
16
+ line-height: 26px;
17
+ background-color: var(--vscode-editorWidget-background);
18
+ border: 1px solid var(--vscode-chat-requestBorder);
19
+ border-radius: var(--vscode-cornerRadius-medium);
20
+ transition: opacity 0.1s ease-in-out;
21
+ }
22
+
23
+ .chat-getting-started-tip-container .chat-tip-widget:hover .chat-tip-toolbar,
24
+ .chat-getting-started-tip-container .chat-tip-widget:focus-within .chat-tip-toolbar {
25
+ opacity: 1;
26
+ pointer-events: auto;
27
+ }
28
+
29
+ .chat-getting-started-tip-container .chat-tip-widget .chat-tip-toolbar .action-item {
30
+ height: 24px;
31
+ width: 24px;
32
+ margin: 1px 2px;
33
+ }
34
+
35
+ .chat-getting-started-tip-container .chat-tip-widget .chat-tip-toolbar .action-item:first-of-type {
36
+ margin-left: 1px;
37
+ }
38
+
39
+ .chat-getting-started-tip-container .chat-tip-widget .chat-tip-toolbar .action-item:last-of-type {
40
+ margin-right: 1px;
41
+ }
42
+
43
+ .chat-getting-started-tip-container .chat-tip-widget .chat-tip-toolbar .action-item .action-label {
44
+ color: var(--vscode-descriptionForeground);
45
+ padding: 4px;
46
+ }
47
+
48
+ .chat-getting-started-tip-container .chat-tip-widget .chat-tip-toolbar .action-item .action-label:hover {
49
+ background-color: var(--vscode-toolbar-hoverBackground);
50
+ color: var(--vscode-foreground);
51
+ }
52
+
53
+ .chat-getting-started-tip-container {
54
+ margin-bottom: -4px; /* Counter the flex gap */
55
+ width: 100%;
56
+ }
57
+
58
+ .chat-getting-started-tip-container .chat-tip-widget {
7
59
  display: flex;
8
60
  align-items: center;
9
61
  gap: 4px;
10
- margin-bottom: 8px;
62
+ width: 100%;
63
+ max-width: 100%;
64
+ box-sizing: border-box;
65
+ padding: 6px;
66
+ background-color: var(--vscode-editorWidget-background);
67
+ border-radius: var(--vscode-cornerRadius-small) var(--vscode-cornerRadius-small) 0 0;
68
+ border: 1px solid var(--vscode-editorWidget-border, var(--vscode-input-border, transparent));
11
69
  font-size: var(--vscode-chat-font-size-body-s);
12
70
  font-family: var(--vscode-chat-font-family, inherit);
13
71
  color: var(--vscode-descriptionForeground);
72
+ position: relative;
14
73
  }
15
74
 
16
- .interactive-item-container .chat-tip-widget .codicon-lightbulb {
17
- font-size: var(--vscode-chat-font-size-body-s);
18
- color: var(--vscode-descriptionForeground);
75
+ .chat-getting-started-tip-container .chat-tip-widget a {
76
+ color: var(--vscode-textLink-foreground);
19
77
  }
20
78
 
21
- .interactive-item-container .chat-tip-widget .rendered-markdown p {
22
- margin: 0;
79
+ .chat-getting-started-tip-container .chat-tip-widget a:hover,
80
+ .chat-getting-started-tip-container .chat-tip-widget a:active {
81
+ color: var(--vscode-textLink-activeForeground);
23
82
  }
24
83
 
25
- /* Override bubble styling for tip widget's rendered markdown in chat editor */
26
- .interactive-session:not(.chat-widget > .interactive-session) {
27
- .interactive-item-container.interactive-request .value .chat-tip-widget .rendered-markdown {
28
- background-color: transparent;
29
- border-radius: 0;
30
- padding: 0;
31
- max-width: none;
32
- margin-left: 0;
33
- width: auto;
34
- margin-bottom: 0;
35
- position: static;
36
- }
84
+ .chat-getting-started-tip-container .chat-tip-widget .rendered-markdown p {
85
+ margin: 0;
37
86
  }
@@ -21,6 +21,7 @@
21
21
  line-height: 26px;
22
22
  background-color: var(--vscode-interactive-result-editor-background-color, var(--vscode-editor-background));
23
23
  border: 1px solid var(--vscode-chat-requestBorder);
24
+ border-radius: var(--vscode-cornerRadius-medium);
24
25
  z-index: 100;
25
26
  max-width: 70%;
26
27
  text-overflow: ellipsis;
@@ -32,7 +33,6 @@
32
33
  }
33
34
 
34
35
  .interactive-result-code-block .interactive-result-code-block-toolbar > .monaco-toolbar {
35
- border-radius: 3px;
36
36
  right: 10px;
37
37
  }
38
38
 
@@ -50,7 +50,6 @@
50
50
  .interactive-result-code-block .interactive-result-code-block-toolbar:focus-within,
51
51
  .interactive-result-code-block.focused .interactive-result-code-block-toolbar {
52
52
  opacity: 1;
53
- border-radius: 2px;
54
53
  pointer-events: auto;
55
54
  }
56
55
 
@@ -79,7 +78,7 @@
79
78
  .interactive-result-code-block,
80
79
  .interactive-result-code-block .monaco-editor,
81
80
  .interactive-result-code-block .monaco-editor .overflow-guard {
82
- border-radius: 4px;
81
+ border-radius: var(--vscode-cornerRadius-medium);
83
82
  }
84
83
 
85
84
  .interactive-result-code-block .interactive-result-vulns {
@@ -156,16 +155,50 @@
156
155
  color: var(--vscode-textLink-foreground);
157
156
  }
158
157
 
159
- .interactive-result-code-block.compare .interactive-result-header {
160
- display: flex;
161
- justify-content: space-between;
162
- align-items: center;
163
- padding: 0 3px;
164
- box-sizing: border-box;
165
- border-bottom: solid 1px var(--vscode-chat-requestBorder);
166
- }
167
-
168
- .interactive-result-code-block.compare.no-diff .interactive-result-header,
169
- .interactive-result-code-block.compare.no-diff .interactive-result-editor {
170
- display: none;
158
+ .interactive-result-code-block.compare {
159
+ & .interactive-result-header {
160
+ display: flex;
161
+ justify-content: space-between;
162
+ align-items: center;
163
+ padding: 0 3px;
164
+ box-sizing: border-box;
165
+ border-bottom: solid 1px var(--vscode-chat-requestBorder);
166
+
167
+ & .monaco-icon-label {
168
+ flex: 1;
169
+ min-width: 0;
170
+
171
+ & > .monaco-icon-label-container {
172
+ display: flex;
173
+ align-items: baseline;
174
+
175
+ & > .monaco-icon-name-container {
176
+ flex-shrink: 0;
177
+
178
+ & > .label-name {
179
+ white-space: nowrap;
180
+ }
181
+ }
182
+
183
+ & > .monaco-icon-description-container {
184
+ min-width: 0;
185
+ flex: 1;
186
+
187
+ & > .label-description {
188
+ white-space: nowrap;
189
+ overflow: hidden;
190
+ text-overflow: ellipsis;
191
+ display: block;
192
+ }
193
+ }
194
+ }
195
+ }
196
+ }
197
+
198
+ &.no-diff {
199
+ & .interactive-result-header,
200
+ & .interactive-result-editor {
201
+ display: none;
202
+ }
203
+ }
171
204
  }
@@ -6,7 +6,7 @@ import { ConfirmedReason, IChatToolInvocation } from "@codingame/monaco-vscode-a
6
6
  import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
7
7
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
8
8
  import { IChatConfirmationButton } from "../chatConfirmationWidget.js";
9
- import { IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
9
+ import { IChatContentPartRenderContext } from "../chatContentParts.js";
10
10
  import { BaseChatToolInvocationSubPart } from "./chatToolInvocationSubPart.js";
11
11
  export interface IToolConfirmationConfig {
12
12
  allowActionId: string;
@@ -16,7 +16,10 @@ export interface IToolConfirmationConfig {
16
16
  partType: string;
17
17
  subtitle?: string;
18
18
  }
19
- type AbstractToolPrimaryAction = IChatConfirmationButton<(() => void)> | Separator;
19
+ export interface IAbstractToolPrimaryAction extends IChatConfirmationButton<(() => void)> {
20
+ scope?: "session" | "workspace" | "profile";
21
+ }
22
+ type AbstractToolPrimaryAction = IAbstractToolPrimaryAction | Separator;
20
23
  /**
21
24
  * Base class for a tool confirmation.
22
25
  *
@@ -7,7 +7,7 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
7
7
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
8
8
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
9
9
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
10
- import { ToolConfirmKind, IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
10
+ import { IChatToolInvocation, ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
11
11
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
12
12
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
13
13
  import { ChatCustomConfirmationWidget } from '../chatConfirmationWidget.js';
@@ -41,28 +41,52 @@ let AbstractToolConfirmationSubPart = class AbstractToolConfirmationSubPart exte
41
41
  languageModelToolsService,
42
42
  toolInvocation
43
43
  } = this;
44
- const allowTooltip = keybindingService.appendKeybinding(config.allowLabel, config.allowActionId);
45
- const skipTooltip = keybindingService.appendKeybinding(config.skipLabel, config.skipActionId);
46
- const additionalActions = this.additionalPrimaryActions();
47
- const buttons = [{
48
- label: config.allowLabel,
49
- tooltip: allowTooltip,
50
- data: () => {
51
- this.confirmWith(toolInvocation, {
52
- type: ToolConfirmKind.UserAction
53
- });
54
- },
55
- moreActions: additionalActions.length > 0 ? additionalActions : undefined
56
- }, {
57
- label: ( localize(6036, "Skip")),
58
- tooltip: skipTooltip,
59
- data: () => {
60
- this.confirmWith(toolInvocation, {
61
- type: ToolConfirmKind.Skipped
62
- });
63
- },
64
- isSecondary: true
65
- }];
44
+ const state = toolInvocation.state.get();
45
+ const customButtons = state.type === IChatToolInvocation.StateKind.WaitingForConfirmation ? state.confirmationMessages?.customButtons : undefined;
46
+ let buttons;
47
+ if (customButtons && customButtons.length > 0) {
48
+ buttons = ( customButtons.map((label, index) => ({
49
+ label,
50
+ data: () => {
51
+ this.confirmWith(toolInvocation, {
52
+ type: ToolConfirmKind.UserAction,
53
+ selectedButton: label
54
+ });
55
+ },
56
+ isSecondary: index > 0
57
+ })));
58
+ } else {
59
+ const allowTooltip = keybindingService.appendKeybinding(config.allowLabel, config.allowActionId);
60
+ const skipTooltip = keybindingService.appendKeybinding(config.skipLabel, config.skipActionId);
61
+ const additionalActions = this.additionalPrimaryActions();
62
+ const sessionAction = additionalActions.find(action => "scope" in action && action.scope === "session");
63
+ const allowAction = {
64
+ label: config.allowLabel,
65
+ tooltip: allowTooltip,
66
+ data: () => {
67
+ this.confirmWith(toolInvocation, {
68
+ type: ToolConfirmKind.UserAction
69
+ });
70
+ }
71
+ };
72
+ const primaryAction = sessionAction ?? allowAction;
73
+ const moreActions = sessionAction ? [allowAction, ...additionalActions.filter(a => a !== sessionAction)] : additionalActions;
74
+ buttons = [{
75
+ label: primaryAction.label,
76
+ tooltip: primaryAction.tooltip,
77
+ data: primaryAction.data,
78
+ moreActions: moreActions.length > 0 ? moreActions : undefined
79
+ }, {
80
+ label: ( localize(6655, "Skip")),
81
+ tooltip: skipTooltip,
82
+ data: () => {
83
+ this.confirmWith(toolInvocation, {
84
+ type: ToolConfirmKind.Skipped
85
+ });
86
+ },
87
+ isSecondary: true
88
+ }];
89
+ }
66
90
  const contentElement = this.createContentElement();
67
91
  const tool = languageModelToolsService.getTool(toolInvocation.toolId);
68
92
  const confirmWidget = this._register(
@@ -4,7 +4,7 @@ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
4
4
  import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
5
5
  import { IChatToolInvocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
6
6
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
7
- import { IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
7
+ import { IChatContentPartRenderContext } from "../chatContentParts.js";
8
8
  import { BaseChatToolInvocationSubPart } from "./chatToolInvocationSubPart.js";
9
9
  export declare class ExtensionsInstallConfirmationWidgetSubPart extends BaseChatToolInvocationSubPart {
10
10
  readonly domNode: HTMLElement;
@@ -46,9 +46,9 @@ let ExtensionsInstallConfirmationWidgetSubPart = class ExtensionsInstallConfirma
46
46
  append(this.domNode, chatExtensionsContentPart.domNode);
47
47
  const state = toolInvocation.state.get();
48
48
  if (state.type === IChatToolInvocation.StateKind.WaitingForConfirmation) {
49
- const allowLabel = ( localize(6037, "Allow"));
49
+ const allowLabel = ( localize(6656, "Allow"));
50
50
  const allowTooltip = keybindingService.appendKeybinding(allowLabel, AcceptToolConfirmationActionId);
51
- const cancelLabel = ( localize(6038, "Cancel"));
51
+ const cancelLabel = ( localize(6657, "Cancel"));
52
52
  const cancelTooltip = keybindingService.appendKeybinding(cancelLabel, CancelChatActionId);
53
53
  const enableAllowButtonEvent = this._register(( new Emitter()));
54
54
  const buttons = [{
@@ -68,9 +68,9 @@ let ExtensionsInstallConfirmationWidgetSubPart = class ExtensionsInstallConfirma
68
68
  tooltip: cancelTooltip
69
69
  }];
70
70
  const confirmWidget = this._register(instantiationService.createInstance(ChatConfirmationWidget, context, {
71
- title: state.confirmationMessages?.title ?? ( localize(6039, "Install Extensions")),
71
+ title: state.confirmationMessages?.title ?? ( localize(6658, "Install Extensions")),
72
72
  message: state.confirmationMessages?.message ?? ( localize(
73
- 6040,
73
+ 6659,
74
74
  "Click the Install button on the extension and then press Allow when finished."
75
75
  )),
76
76
  buttons
@@ -6,14 +6,13 @@ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
6
6
  import { IChatToolInvocation, IChatToolInvocationSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
7
7
  import { IToolResultInputOutputDetails } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
8
8
  import { IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
9
- import { IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
9
+ import { IChatContentPartRenderContext } from "../chatContentParts.js";
10
10
  import { BaseChatToolInvocationSubPart } from "./chatToolInvocationSubPart.js";
11
11
  export declare class ChatInputOutputMarkdownProgressPart extends BaseChatToolInvocationSubPart {
12
12
  /** Remembers expanded tool parts on re-render */
13
13
  private static readonly _expandedByDefault;
14
14
  readonly domNode: HTMLElement;
15
15
  private readonly collapsibleListPart;
16
- private readonly _onDidChangeHeight;
17
16
  get codeblocks(): IChatCodeBlockInfo[];
18
17
  constructor(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, context: IChatContentPartRenderContext, codeBlockStartIndex: number, message: string | IMarkdownString, subtitle: string | IMarkdownString | undefined, input: string, output: IToolResultInputOutputDetails["output"] | undefined, isError: boolean, instantiationService: IInstantiationService, modelService: IModelService, languageService: ILanguageService, configurationService: IConfigurationService);
19
18
  private getAutoApproveMessageContent;
@@ -1,7 +1,6 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { ProgressBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/progressbar/progressbar';
4
- import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
5
4
  import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
6
5
  import { toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
6
  import { getExtensionForMimeType } from '@codingame/monaco-vscode-api/vscode/vs/base/common/mime';
@@ -45,7 +44,6 @@ let ChatInputOutputMarkdownProgressPart = class ChatInputOutputMarkdownProgressP
45
44
  configurationService
46
45
  ) {
47
46
  super(toolInvocation);
48
- this._onDidChangeHeight = this._register(( new Emitter()));
49
47
  let codeBlockIndex = codeBlockStartIndex;
50
48
  const createCodePart = data => ({
51
49
  kind: "code",
@@ -119,9 +117,6 @@ let ChatInputOutputMarkdownProgressPart = class ChatInputOutputMarkdownProgressP
119
117
  isError,
120
118
  (isError && configurationService.getValue(ChatConfiguration.AutoExpandToolFailures)) || (ChatInputOutputMarkdownProgressPart_1._expandedByDefault.get(toolInvocation) ?? false)
121
119
  ));
122
- this._register(
123
- collapsibleListPart.onDidChangeHeight(() => this._onDidChangeHeight.fire())
124
- );
125
120
  this._register(toDisposable(
126
121
  () => ChatInputOutputMarkdownProgressPart_1._expandedByDefault.set(toolInvocation, collapsibleListPart.expanded)
127
122
  ));
@@ -1,6 +1,7 @@
1
1
  import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
2
2
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
3
  import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
4
+ import { IChatResponseResourceFileSystemProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.service";
4
5
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
5
6
  import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
6
7
  import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
@@ -10,6 +11,7 @@ import { McpApps } from "../../../../../mcp/common/modelContextProtocolApps.js";
10
11
  import { IWebviewService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview.service";
11
12
  import { IChatToolInvocation, IChatToolInvocationSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
12
13
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
14
+ import { IChatCollapsibleIODataPart } from "../chatToolInputOutputContentPart.js";
13
15
  import { IMcpAppRenderData } from "./chatMcpAppSubPart.js";
14
16
  /**
15
17
  * Load state for the MCP App model.
@@ -33,6 +35,7 @@ export declare class ChatMcpAppModel extends Disposable {
33
35
  private readonly _instantiationService;
34
36
  private readonly _chatWidgetService;
35
37
  private readonly _webviewService;
38
+ private readonly _chatResponseResourceFsProvider;
36
39
  private readonly _logService;
37
40
  private readonly _productService;
38
41
  private readonly _openerService;
@@ -59,9 +62,12 @@ export declare class ChatMcpAppModel extends Disposable {
59
62
  /** Event fired when height changes */
60
63
  private readonly _onDidChangeHeight;
61
64
  readonly onDidChangeHeight: Event<void>;
65
+ /** Accumulated download resource parts from ui/download-file calls */
66
+ private readonly _downloadParts;
67
+ readonly downloadParts: IObservable<IChatCollapsibleIODataPart[]>;
62
68
  /** Full host context for the MCP App */
63
69
  readonly hostContext: IObservable<McpApps.McpUiHostContext>;
64
- constructor(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, renderData: IMcpAppRenderData, _container: HTMLElement, maxHeight: IObservable<number>, currentWidth: IObservable<number>, _instantiationService: IInstantiationService, _chatWidgetService: IChatWidgetService, _webviewService: IWebviewService, storageService: IStorageService, _logService: ILogService, _productService: IProductService, _openerService: IOpenerService);
70
+ constructor(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, renderData: IMcpAppRenderData, _container: HTMLElement, maxHeight: IObservable<number>, currentWidth: IObservable<number>, _instantiationService: IInstantiationService, _chatWidgetService: IChatWidgetService, _webviewService: IWebviewService, storageService: IStorageService, _chatResponseResourceFsProvider: IChatResponseResourceFileSystemProvider, _logService: ILogService, _productService: IProductService, _openerService: IOpenerService);
65
71
  /**
66
72
  * Gets the current height of the webview.
67
73
  */
@@ -96,6 +102,7 @@ export declare class ChatMcpAppModel extends Disposable {
96
102
  private _handleUpdateModelContext;
97
103
  private _handleSizeChanged;
98
104
  private _handleSandboxWheel;
105
+ private _handleDownloadFile;
99
106
  private _handleOpenLink;
100
107
  /**
101
108
  * Handles tools/call requests from the MCP App.