@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
@@ -5,7 +5,7 @@ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platfo
5
5
  import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
6
6
  import { IChatErrorDetailsPart, IChatRendererContent, IChatResponseViewModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
7
7
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
8
- import { IChatContentPart } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
8
+ import { IChatContentPart } from "./chatContentParts.js";
9
9
  export declare class ChatQuotaExceededPart extends Disposable implements IChatContentPart {
10
10
  private readonly content;
11
11
  readonly domNode: HTMLElement;
@@ -53,10 +53,10 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
53
53
  switch (chatEntitlementService.entitlement) {
54
54
  case ChatEntitlement.Pro:
55
55
  case ChatEntitlement.ProPlus:
56
- primaryButtonLabel = ( localize(5958, "Manage Paid Premium Requests"));
56
+ primaryButtonLabel = ( localize(6564, "Manage Paid Premium Requests"));
57
57
  break;
58
58
  case ChatEntitlement.Free:
59
- primaryButtonLabel = ( localize(5959, "Upgrade to GitHub Copilot Pro"));
59
+ primaryButtonLabel = ( localize(6565, "Upgrade to GitHub Copilot Pro"));
60
60
  break;
61
61
  }
62
62
  let hasAddedWaitWarning = false;
@@ -65,7 +65,7 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
65
65
  return;
66
66
  }
67
67
  hasAddedWaitWarning = true;
68
- append(messageContainer, $(".chat-quota-wait-warning", undefined, ( localize(5960, "Changes may take a few minutes to take effect."))));
68
+ append(messageContainer, $(".chat-quota-wait-warning", undefined, ( localize(6566, "Changes may take a few minutes to take effect."))));
69
69
  };
70
70
  let hasAddedRetryButton = false;
71
71
  const addRetryButtonIfNeeded = () => {
@@ -78,7 +78,7 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
78
78
  buttonForeground: asCssVariable(textLinkForeground)
79
79
  })));
80
80
  retryButton.element.classList.add("chat-quota-error-secondary-button");
81
- retryButton.label = ( localize(5961, "Click to Retry"));
81
+ retryButton.label = ( localize(6567, "Click to Retry"));
82
82
  this._register(retryButton.onDidClick(() => {
83
83
  const widget = chatWidgetService.getWidgetBySessionResource(element.sessionResource);
84
84
  if (!widget) {
@@ -16,8 +16,9 @@ import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/wor
16
16
  import { ChatTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
17
17
  import { ChatCollapsibleContentPart } from "./chatCollapsibleContentPart.js";
18
18
  import { IDisposableReference } from "./chatCollections.js";
19
- import { IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
19
+ import { IChatContentPartRenderContext } from "./chatContentParts.js";
20
20
  import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
21
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
21
22
  export interface IChatReferenceListItem extends IChatContentReference {
22
23
  title?: string;
23
24
  description?: string;
@@ -32,7 +33,7 @@ export declare class ChatCollapsibleListContentPart extends ChatCollapsibleConte
32
33
  private readonly menuService;
33
34
  private readonly instantiationService;
34
35
  private readonly contextMenuService;
35
- constructor(data: ReadonlyArray<IChatCollapsibleListItem>, labelOverride: IMarkdownString | string | undefined, context: IChatContentPartRenderContext, contentReferencesListPool: CollapsibleListPool, hoverMessage: IMarkdownString | undefined, openerService: IOpenerService, menuService: IMenuService, instantiationService: IInstantiationService, contextMenuService: IContextMenuService, hoverService: IHoverService);
36
+ constructor(data: ReadonlyArray<IChatCollapsibleListItem>, labelOverride: IMarkdownString | string | undefined, context: IChatContentPartRenderContext, contentReferencesListPool: CollapsibleListPool, hoverMessage: IMarkdownString | undefined, openerService: IOpenerService, menuService: IMenuService, instantiationService: IInstantiationService, contextMenuService: IContextMenuService, hoverService: IHoverService, configurationService: IConfigurationService);
36
37
  protected initContent(): HTMLElement;
37
38
  hasSameContent(other: IChatRendererContent, followingContent: IChatRendererContent[], element: ChatTreeItem): boolean;
38
39
  }
@@ -41,7 +42,7 @@ export interface IChatUsedReferencesListOptions {
41
42
  }
42
43
  export declare class ChatUsedReferencesListContentPart extends ChatCollapsibleListContentPart {
43
44
  private readonly options;
44
- constructor(data: ReadonlyArray<IChatCollapsibleListItem>, labelOverride: IMarkdownString | string | undefined, context: IChatContentPartRenderContext, contentReferencesListPool: CollapsibleListPool, options: IChatUsedReferencesListOptions, openerService: IOpenerService, menuService: IMenuService, instantiationService: IInstantiationService, contextMenuService: IContextMenuService, hoverService: IHoverService);
45
+ constructor(data: ReadonlyArray<IChatCollapsibleListItem>, labelOverride: IMarkdownString | string | undefined, context: IChatContentPartRenderContext, contentReferencesListPool: CollapsibleListPool, options: IChatUsedReferencesListOptions, openerService: IOpenerService, menuService: IMenuService, instantiationService: IInstantiationService, contextMenuService: IContextMenuService, hoverService: IHoverService, configurationService: IConfigurationService);
45
46
  protected isExpanded(): boolean;
46
47
  protected setExpanded(value: boolean): void;
47
48
  }
@@ -39,6 +39,7 @@ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workb
39
39
  import { ChatCollapsibleContentPart } from './chatCollapsibleContentPart.js';
40
40
  import { ResourcePool } from './chatCollections.js';
41
41
  import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
42
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
42
43
 
43
44
  var CollapsibleListRenderer_1;
44
45
  const $ = $$1;
@@ -53,15 +54,17 @@ let ChatCollapsibleListContentPart = class ChatCollapsibleListContentPart extend
53
54
  menuService,
54
55
  instantiationService,
55
56
  contextMenuService,
56
- hoverService
57
+ hoverService,
58
+ configurationService
57
59
  ) {
58
- super(labelOverride ?? (data.length > 1 ? ( localize(5962, "Used {0} references", data.length)) : ( localize(5963, "Used {0} reference", 1))), context, hoverMessage, hoverService);
60
+ super(labelOverride ?? (data.length > 1 ? ( localize(6568, "Used {0} references", data.length)) : ( localize(6569, "Used {0} reference", 1))), context, hoverMessage, hoverService, configurationService);
59
61
  this.data = data;
60
62
  this.contentReferencesListPool = contentReferencesListPool;
61
63
  this.openerService = openerService;
62
64
  this.menuService = menuService;
63
65
  this.instantiationService = instantiationService;
64
66
  this.contextMenuService = contextMenuService;
67
+ this.icon = Codicon.check;
65
68
  }
66
69
  initContent() {
67
70
  const ref = this._register(this.contentReferencesListPool.get());
@@ -119,7 +122,7 @@ let ChatCollapsibleListContentPart = class ChatCollapsibleListContentPart extend
119
122
  return other.kind === "references" && other.references.length === this.data.length && (!!followingContent.length === this.hasFollowingContent);
120
123
  }
121
124
  };
122
- ChatCollapsibleListContentPart = ( __decorate([( __param(5, IOpenerService)), ( __param(6, IMenuService)), ( __param(7, IInstantiationService)), ( __param(8, IContextMenuService)), ( __param(9, IHoverService))], ChatCollapsibleListContentPart));
125
+ ChatCollapsibleListContentPart = ( __decorate([( __param(5, IOpenerService)), ( __param(6, IMenuService)), ( __param(7, IInstantiationService)), ( __param(8, IContextMenuService)), ( __param(9, IHoverService)), ( __param(10, IConfigurationService))], ChatCollapsibleListContentPart));
123
126
  let ChatUsedReferencesListContentPart = class ChatUsedReferencesListContentPart extends ChatCollapsibleListContentPart {
124
127
  constructor(
125
128
  data,
@@ -131,7 +134,8 @@ let ChatUsedReferencesListContentPart = class ChatUsedReferencesListContentPart
131
134
  menuService,
132
135
  instantiationService,
133
136
  contextMenuService,
134
- hoverService
137
+ hoverService,
138
+ configurationService
135
139
  ) {
136
140
  super(
137
141
  data,
@@ -143,7 +147,8 @@ let ChatUsedReferencesListContentPart = class ChatUsedReferencesListContentPart
143
147
  menuService,
144
148
  instantiationService,
145
149
  contextMenuService,
146
- hoverService
150
+ hoverService,
151
+ configurationService
147
152
  );
148
153
  this.options = options;
149
154
  if (data.length === 0) {
@@ -159,7 +164,7 @@ let ChatUsedReferencesListContentPart = class ChatUsedReferencesListContentPart
159
164
  element.usedReferencesExpanded = !this.isExpanded();
160
165
  }
161
166
  };
162
- ChatUsedReferencesListContentPart = ( __decorate([( __param(5, IOpenerService)), ( __param(6, IMenuService)), ( __param(7, IInstantiationService)), ( __param(8, IContextMenuService)), ( __param(9, IHoverService))], ChatUsedReferencesListContentPart));
167
+ ChatUsedReferencesListContentPart = ( __decorate([( __param(5, IOpenerService)), ( __param(6, IMenuService)), ( __param(7, IInstantiationService)), ( __param(8, IContextMenuService)), ( __param(9, IHoverService)), ( __param(10, IConfigurationService))], ChatUsedReferencesListContentPart));
163
168
  let CollapsibleListPool = class CollapsibleListPool extends Disposable {
164
169
  get inUse() {
165
170
  return this._pool.inUse;
@@ -209,7 +214,7 @@ let CollapsibleListPool = class CollapsibleListPool extends Disposable {
209
214
  return basename(reference.uri.path);
210
215
  }
211
216
  },
212
- getWidgetAriaLabel: () => ( localize(5964, "Collapsible Chat References List"))
217
+ getWidgetAriaLabel: () => ( localize(6570, "Collapsible Chat References List"))
213
218
  },
214
219
  dnd: {
215
220
  getDragURI: element => getResourceForElement(element)?.toString() ?? null,
@@ -370,7 +375,9 @@ let CollapsibleListRenderer = class CollapsibleListRenderer {
370
375
  title: data.options?.status?.description
371
376
  });
372
377
  } else {
373
- templateData.label.setLabel("Unknown variable type: " + reference.variableName);
378
+ templateData.label.setLabel(reference.variableName, undefined, {
379
+ title: data.options?.status?.description ?? data.title
380
+ });
374
381
  }
375
382
  } else if (typeof reference === "string") {
376
383
  templateData.label.setLabel(reference, undefined, {
@@ -395,7 +402,7 @@ let CollapsibleListRenderer = class CollapsibleListRenderer {
395
402
  name: settingId
396
403
  }, {
397
404
  icon: Codicon.settingsGear,
398
- title: ( localize(5965, "Open setting '{0}'", settingId)),
405
+ title: ( localize(6571, "Open setting '{0}'", settingId)),
399
406
  strikethrough: data.excluded,
400
407
  extraClasses
401
408
  });
@@ -440,7 +447,7 @@ let CollapsibleListRenderer = class CollapsibleListRenderer {
440
447
  templateData.addedSpan.textContent = `+${diffMeta.added}`;
441
448
  templateData.removedSpan.textContent = `-${diffMeta.removed}`;
442
449
  templateData.fileDiffsContainer.setAttribute("aria-label", ( localize(
443
- 5966,
450
+ 6572,
444
451
  "{0} lines added, {1} lines removed",
445
452
  diffMeta.added,
446
453
  diffMeta.removed
@@ -521,7 +528,7 @@ registerAction2(class AddToChatAction extends Action2 {
521
528
  super({
522
529
  id: AddToChatAction.id,
523
530
  title: {
524
- ...( localize2(5967, "Add File to Chat"))
531
+ ...( localize2(6573, "Add File to Chat"))
525
532
  },
526
533
  f1: false,
527
534
  menu: [{
@@ -551,7 +558,7 @@ registerAction2(class OpenChatReferenceLinkAction extends Action2 {
551
558
  super({
552
559
  id: OpenChatReferenceLinkAction.id,
553
560
  title: {
554
- ...( localize2(5968, "Copy Link"))
561
+ ...( localize2(6574, "Copy Link"))
555
562
  },
556
563
  f1: false,
557
564
  menu: [{
@@ -0,0 +1,22 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
3
+ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
4
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
5
+ import { IChatCollapsibleIODataPart } from "./chatToolInputOutputContentPart.js";
6
+ export interface IChatToolOutputResourceToolbarContext {
7
+ parts: IChatCollapsibleIODataPart[];
8
+ }
9
+ /**
10
+ * A reusable widget for rendering a group of resource data parts (files, images)
11
+ * with attachment pills and a toolbar with save actions.
12
+ *
13
+ * Used by ChatToolOutputContentSubPart and ChatMcpAppSubPart (for download resources).
14
+ */
15
+ export declare class ChatResourceGroupWidget extends Disposable {
16
+ private readonly _instantiationService;
17
+ private readonly _contextMenuService;
18
+ private readonly _fileService;
19
+ readonly domNode: HTMLElement;
20
+ constructor(parts: IChatCollapsibleIODataPart[], _instantiationService: IInstantiationService, _contextMenuService: IContextMenuService, _fileService: IFileService);
21
+ private _fillInResourceGroup;
22
+ }
@@ -0,0 +1,263 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { h } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { disposableTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
5
+ import { decodeBase64 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
6
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
7
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
8
+ import { basename, joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
9
+ import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
10
+ import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
11
+ import { MenuWorkbenchToolBar } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar';
12
+ import { MenuId, Action2, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
13
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
14
+ import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
15
+ import { IFileDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
16
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
17
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
18
+ import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
19
+ import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
20
+ import { ProgressLocation } from '@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress';
21
+ import { IProgressService } from '@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service';
22
+ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
23
+ import { REVEAL_IN_EXPLORER_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/files/browser/fileConstants';
24
+ import { getAttachableImageExtension } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel';
25
+ import { ChatAttachmentsContentPart } from './chatAttachmentsContentPart.js';
26
+
27
+ const IMAGE_DECODE_DELAY_MS = 100;
28
+ let ChatResourceGroupWidget = class ChatResourceGroupWidget extends Disposable {
29
+ constructor(parts, _instantiationService, _contextMenuService, _fileService) {
30
+ super();
31
+ this._instantiationService = _instantiationService;
32
+ this._contextMenuService = _contextMenuService;
33
+ this._fileService = _fileService;
34
+ const el = h(".chat-collapsible-io-resource-group", [
35
+ h(".chat-collapsible-io-resource-items@items"),
36
+ h(".chat-collapsible-io-resource-actions@actions")
37
+ ]);
38
+ this.domNode = el.root;
39
+ this._fillInResourceGroup(parts, el.items, el.actions);
40
+ }
41
+ async _fillInResourceGroup(parts, itemsContainer, actionsContainer) {
42
+ const entries = [];
43
+ const deferredImageParts = [];
44
+ for (let i = 0; i < parts.length; i++) {
45
+ const part = parts[i];
46
+ if (part.mimeType && getAttachableImageExtension(part.mimeType)) {
47
+ if (part.base64Value) {
48
+ entries.push({
49
+ kind: "file",
50
+ id: generateUuid(),
51
+ name: basename(part.uri),
52
+ fullName: part.uri.path,
53
+ value: part.uri
54
+ });
55
+ deferredImageParts.push({
56
+ index: i,
57
+ part
58
+ });
59
+ } else if (part.value) {
60
+ entries.push({
61
+ kind: "image",
62
+ id: generateUuid(),
63
+ name: basename(part.uri),
64
+ value: part.value,
65
+ mimeType: part.mimeType,
66
+ isURL: false,
67
+ references: [{
68
+ kind: "reference",
69
+ reference: part.uri
70
+ }]
71
+ });
72
+ } else {
73
+ const value = await this._fileService.readFile(part.uri).then(f => f.value.buffer, () => undefined);
74
+ if (!value) {
75
+ entries.push({
76
+ kind: "file",
77
+ id: generateUuid(),
78
+ name: basename(part.uri),
79
+ fullName: part.uri.path,
80
+ value: part.uri
81
+ });
82
+ } else {
83
+ entries.push({
84
+ kind: "image",
85
+ id: generateUuid(),
86
+ name: basename(part.uri),
87
+ value,
88
+ mimeType: part.mimeType,
89
+ isURL: false,
90
+ references: [{
91
+ kind: "reference",
92
+ reference: part.uri
93
+ }]
94
+ });
95
+ }
96
+ }
97
+ } else {
98
+ entries.push({
99
+ kind: "file",
100
+ id: generateUuid(),
101
+ name: basename(part.uri),
102
+ fullName: part.uri.path,
103
+ value: part.uri
104
+ });
105
+ }
106
+ }
107
+ if (this._store.isDisposed) {
108
+ return;
109
+ }
110
+ const attachments = this._register(this._instantiationService.createInstance(ChatAttachmentsContentPart, {
111
+ variables: entries,
112
+ limit: 5,
113
+ contentReferences: undefined,
114
+ domNode: undefined
115
+ }));
116
+ attachments.contextMenuHandler = (attachment, event) => {
117
+ const index = entries.indexOf(attachment);
118
+ const part = parts[index];
119
+ if (part) {
120
+ event.preventDefault();
121
+ event.stopPropagation();
122
+ this._contextMenuService.showContextMenu({
123
+ menuId: MenuId.ChatToolOutputResourceContext,
124
+ menuActionOptions: {
125
+ shouldForwardArgs: true
126
+ },
127
+ getAnchor: () => ({
128
+ x: event.pageX,
129
+ y: event.pageY
130
+ }),
131
+ getActionsContext: () => ({
132
+ parts: [part]
133
+ })
134
+ });
135
+ }
136
+ };
137
+ itemsContainer.appendChild(attachments.domNode);
138
+ const toolbar = this._register(this._instantiationService.createInstance(
139
+ MenuWorkbenchToolBar,
140
+ actionsContainer,
141
+ MenuId.ChatToolOutputResourceToolbar,
142
+ {
143
+ menuOptions: {
144
+ shouldForwardArgs: true
145
+ }
146
+ }
147
+ ));
148
+ toolbar.context = {
149
+ parts
150
+ };
151
+ if (deferredImageParts.length > 0) {
152
+ this._register(disposableTimeout(() => {
153
+ for (const {
154
+ index,
155
+ part
156
+ } of deferredImageParts) {
157
+ try {
158
+ const value = decodeBase64(part.base64Value).buffer;
159
+ entries[index] = {
160
+ kind: "image",
161
+ id: generateUuid(),
162
+ name: basename(part.uri),
163
+ value,
164
+ mimeType: part.mimeType,
165
+ isURL: false,
166
+ references: [{
167
+ kind: "reference",
168
+ reference: part.uri
169
+ }]
170
+ };
171
+ } catch {}
172
+ }
173
+ attachments.updateVariables(entries);
174
+ }, IMAGE_DECODE_DELAY_MS));
175
+ }
176
+ }
177
+ };
178
+ ChatResourceGroupWidget = ( __decorate([( __param(1, IInstantiationService)), ( __param(2, IContextMenuService)), ( __param(3, IFileService))], ChatResourceGroupWidget));
179
+ class SaveResourcesAction extends Action2 {
180
+ static {
181
+ this.ID = "chat.toolOutput.save";
182
+ }
183
+ constructor() {
184
+ super({
185
+ id: SaveResourcesAction.ID,
186
+ title: ( localize2(6575, "Save...")),
187
+ icon: Codicon.cloudDownload,
188
+ menu: [{
189
+ id: MenuId.ChatToolOutputResourceToolbar,
190
+ group: "navigation",
191
+ order: 1
192
+ }, {
193
+ id: MenuId.ChatToolOutputResourceContext
194
+ }]
195
+ });
196
+ }
197
+ async run(accessor, context) {
198
+ const fileDialog = accessor.get(IFileDialogService);
199
+ const fileService = accessor.get(IFileService);
200
+ const notificationService = accessor.get(INotificationService);
201
+ const progressService = accessor.get(IProgressService);
202
+ const workspaceContextService = accessor.get(IWorkspaceContextService);
203
+ const commandService = accessor.get(ICommandService);
204
+ const labelService = accessor.get(ILabelService);
205
+ const defaultFilepath = await fileDialog.defaultFilePath();
206
+ const savePart = async (part, isFolder, uri) => {
207
+ const target = isFolder ? joinPath(uri, basename(part.uri)) : uri;
208
+ try {
209
+ if (part.kind === "data") {
210
+ await fileService.copy(part.uri, target, true);
211
+ } else {
212
+ const contents = await fileService.readFile(part.uri);
213
+ await fileService.writeFile(target, contents.value);
214
+ }
215
+ } catch (e) {
216
+ notificationService.error(( localize(6576, "Failed to save {0}: {1}", basename(part.uri), e)));
217
+ }
218
+ };
219
+ const withProgress = async (thenReveal, todo) => {
220
+ await progressService.withProgress({
221
+ location: ProgressLocation.Notification,
222
+ delay: 5_000,
223
+ title: ( localize(6577, "Saving resources..."))
224
+ }, async report => {
225
+ for (const task of todo) {
226
+ await task();
227
+ report.report({
228
+ increment: 1,
229
+ total: todo.length
230
+ });
231
+ }
232
+ });
233
+ if (workspaceContextService.isInsideWorkspace(thenReveal)) {
234
+ commandService.executeCommand(REVEAL_IN_EXPLORER_COMMAND_ID, thenReveal);
235
+ } else {
236
+ notificationService.info(( localize(6578, "Saved resources to {0}", labelService.getUriLabel(thenReveal))));
237
+ }
238
+ };
239
+ if (context.parts.length === 1) {
240
+ const part = context.parts[0];
241
+ const uri = await fileDialog.pickFileToSave(joinPath(defaultFilepath, basename(part.uri)));
242
+ if (!uri) {
243
+ return;
244
+ }
245
+ await withProgress(uri, [() => savePart(part, false, uri)]);
246
+ } else {
247
+ const uris = await fileDialog.showOpenDialog({
248
+ title: ( localize(6579, "Pick folder to save resources")),
249
+ canSelectFiles: false,
250
+ canSelectFolders: true,
251
+ canSelectMany: false,
252
+ defaultUri: workspaceContextService.getWorkspace().folders[0]?.uri
253
+ });
254
+ if (!uris?.length) {
255
+ return;
256
+ }
257
+ await withProgress(uris[0], ( context.parts.map(part => () => savePart(part, true, uris[0]))));
258
+ }
259
+ }
260
+ }
261
+ registerAction2(SaveResourcesAction);
262
+
263
+ export { ChatResourceGroupWidget };
@@ -1,16 +1,17 @@
1
1
  import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
3
3
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
4
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
4
5
  import { IMarkdownRenderer } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer";
6
+ import { IChatHookPart, IChatMarkdownContent, IChatToolInvocation, IChatToolInvocationSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
5
7
  import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
8
+ import { CodeBlockModelCollection } from "../../../common/widget/codeBlockModelCollection.js";
6
9
  import { ChatTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
7
- import { IChatContentPart, IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
8
10
  import { ChatCollapsibleContentPart } from "./chatCollapsibleContentPart.js";
9
- import { IChatHookPart, IChatMarkdownContent, IChatToolInvocation, IChatToolInvocationSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
10
- import { CollapsibleListPool } from "./chatReferencesContentPart.js";
11
11
  import { EditorPool } from "./chatContentCodePools.js";
12
- import { CodeBlockModelCollection } from "../../../common/widget/codeBlockModelCollection.js";
12
+ import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentParts.js";
13
13
  import { IChatMarkdownAnchorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service";
14
+ import { CollapsibleListPool } from "./chatReferencesContentPart.js";
14
15
  /**
15
16
  * This is generally copied from ChatThinkingContentPart. We are still experimenting with both UIs so I'm not
16
17
  * trying to refactor to share code. Both could probably be simplified when stable.
@@ -47,11 +48,19 @@ export declare class ChatSubagentContentPart extends ChatCollapsibleContentPart
47
48
  private toolsWaitingForConfirmation;
48
49
  private userManuallyExpanded;
49
50
  private autoExpandedForConfirmation;
51
+ private titleShimmerSpan;
52
+ private titleDetailContainer;
53
+ private titleDetailRendered;
54
+ /**
55
+ * Check if a tool invocation is the parent subagent tool (the tool that spawns a subagent).
56
+ * A parent subagent tool has subagent toolSpecificData but no subAgentInvocationId.
57
+ */
58
+ private static isParentSubagentTool;
50
59
  /**
51
60
  * Extracts subagent info (description, agentName, prompt) from a tool invocation.
52
61
  */
53
62
  private static extractSubagentInfo;
54
- constructor(subAgentInvocationId: string, toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, context: IChatContentPartRenderContext, chatContentMarkdownRenderer: IMarkdownRenderer, listPool: CollapsibleListPool, editorPool: EditorPool, currentWidthDelegate: () => number, codeBlockModelCollection: CodeBlockModelCollection, announcedToolProgressKeys: Set<string>, instantiationService: IInstantiationService, chatMarkdownAnchorService: IChatMarkdownAnchorService, hoverService: IHoverService);
63
+ constructor(subAgentInvocationId: string, toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, context: IChatContentPartRenderContext, chatContentMarkdownRenderer: IMarkdownRenderer, listPool: CollapsibleListPool, editorPool: EditorPool, currentWidthDelegate: () => number, codeBlockModelCollection: CodeBlockModelCollection, announcedToolProgressKeys: Set<string>, instantiationService: IInstantiationService, chatMarkdownAnchorService: IChatMarkdownAnchorService, hoverService: IHoverService, configurationService: IConfigurationService);
55
64
  protected initContent(): HTMLElement;
56
65
  /**
57
66
  * Renders the prompt as a collapsible section at the start of the content.