@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
@@ -1,9 +1,10 @@
1
1
  import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
2
2
  import { IMarkdownRenderer } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer";
3
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
3
4
  import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
4
5
  import { ChatTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
5
6
  import { ChatCollapsibleContentPart } from "./chatCollapsibleContentPart.js";
6
- import { IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
7
+ import { IChatContentPartRenderContext } from "./chatContentParts.js";
7
8
  /**
8
9
  * A collapsible content part that displays markdown content.
9
10
  * The title is shown in the collapsed state, and the full content is shown when expanded.
@@ -12,7 +13,7 @@ export declare class ChatCollapsibleMarkdownContentPart extends ChatCollapsibleC
12
13
  private readonly markdownContent;
13
14
  private readonly chatContentMarkdownRenderer;
14
15
  private contentElement;
15
- constructor(title: string, markdownContent: string, context: IChatContentPartRenderContext, chatContentMarkdownRenderer: IMarkdownRenderer, hoverService: IHoverService);
16
+ constructor(title: string, markdownContent: string, context: IChatContentPartRenderContext, chatContentMarkdownRenderer: IMarkdownRenderer, hoverService: IHoverService, configurationService: IConfigurationService);
16
17
  protected initContent(): HTMLElement;
17
18
  hasSameContent(other: IChatRendererContent, _followingContent: IChatRendererContent[], _element: ChatTreeItem): boolean;
18
19
  }
@@ -4,11 +4,19 @@ import { $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
4
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
5
5
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
6
6
  import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
7
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
7
8
  import { ChatCollapsibleContentPart } from './chatCollapsibleContentPart.js';
8
9
 
9
10
  let ChatCollapsibleMarkdownContentPart = class ChatCollapsibleMarkdownContentPart extends ChatCollapsibleContentPart {
10
- constructor(title, markdownContent, context, chatContentMarkdownRenderer, hoverService) {
11
- super(title, context, undefined, hoverService);
11
+ constructor(
12
+ title,
13
+ markdownContent,
14
+ context,
15
+ chatContentMarkdownRenderer,
16
+ hoverService,
17
+ configurationService
18
+ ) {
19
+ super(title, context, undefined, hoverService, configurationService);
12
20
  this.markdownContent = markdownContent;
13
21
  this.chatContentMarkdownRenderer = chatContentMarkdownRenderer;
14
22
  this.icon = Codicon.check;
@@ -27,6 +35,6 @@ let ChatCollapsibleMarkdownContentPart = class ChatCollapsibleMarkdownContentPar
27
35
  return false;
28
36
  }
29
37
  };
30
- ChatCollapsibleMarkdownContentPart = ( __decorate([( __param(4, IHoverService))], ChatCollapsibleMarkdownContentPart));
38
+ ChatCollapsibleMarkdownContentPart = ( __decorate([( __param(4, IHoverService)), ( __param(5, IConfigurationService))], ChatCollapsibleMarkdownContentPart));
31
39
 
32
40
  export { ChatCollapsibleMarkdownContentPart };
@@ -1,6 +1,6 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
3
- import { IChatContentPart, IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
3
+ import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentParts.js";
4
4
  import { IChatProgressRenderableResponseContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
5
5
  import { IChatCommandButton } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
6
6
  export declare class ChatCommandButtonContentPart extends Disposable implements IChatContentPart {
@@ -23,7 +23,7 @@ let ChatCommandButtonContentPart = class ChatCommandButtonContentPart extends Di
23
23
  }
24
24
  }
25
25
  renderButton(container, command, enabled, secondary) {
26
- const tooltip = enabled ? command.tooltip : ( localize(5902, "Button not available in restored chat"));
26
+ const tooltip = enabled ? command.tooltip : ( localize(6496, "Button not available in restored chat"));
27
27
  const button = this._register(( new Button(container, {
28
28
  ...defaultButtonStyles,
29
29
  supportIcons: true,
@@ -4,7 +4,7 @@ import { IChatProgressRenderableResponseContent } from "@codingame/monaco-vscode
4
4
  import { IChatConfirmation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
5
5
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
6
6
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
7
- import { IChatContentPart, IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
7
+ import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentParts.js";
8
8
  export declare class ChatConfirmationContentPart extends Disposable implements IChatContentPart {
9
9
  private readonly instantiationService;
10
10
  private readonly chatService;
@@ -26,10 +26,10 @@ let ChatConfirmationContentPart = class ChatConfirmationContentPart extends Disp
26
26
  data: confirmation.data,
27
27
  isSecondary: button !== confirmation.buttons?.[0]
28
28
  }))) : [{
29
- label: ( localize(5903, "Accept")),
29
+ label: ( localize(6497, "Accept")),
30
30
  data: confirmation.data
31
31
  }, {
32
- label: ( localize(5904, "Dismiss")),
32
+ label: ( localize(6498, "Dismiss")),
33
33
  data: confirmation.data,
34
34
  isSecondary: true
35
35
  }];
@@ -7,7 +7,7 @@ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platf
7
7
  import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
8
8
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
9
9
  import { IMarkdownRendererService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service";
10
- import { IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
10
+ import { IChatContentPartRenderContext } from "./chatContentParts.js";
11
11
  import { IChatMarkdownAnchorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service";
12
12
  export interface IChatConfirmationButton<T> {
13
13
  label: string;
@@ -405,7 +405,7 @@ function configureAccessibilityContainer(container, title, message) {
405
405
  container.tabIndex = 0;
406
406
  const titleAsString = typeof title === "string" ? title : title.value;
407
407
  const messageAsString = typeof message === "string" ? message : message && "value" in message ? message.value : message && "textContent" in message ? message.textContent : "";
408
- container.setAttribute("aria-label", ( localize(5905, "Chat Confirmation Dialog {0} {1}", titleAsString, messageAsString)));
408
+ container.setAttribute("aria-label", ( localize(6499, "Chat Confirmation Dialog {0} {1}", titleAsString, messageAsString)));
409
409
  container.classList.add("chat-confirmation-widget-container");
410
410
  }
411
411
 
@@ -0,0 +1,59 @@
1
+ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { ChatTreeItem, IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
3
+ import { IChatRendererContent, IChatRequestViewModel, IChatResponseViewModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
4
+ import { CodeBlockModelCollection } from "../../../common/widget/codeBlockModelCollection.js";
5
+ import { DiffEditorPool, EditorPool } from "./chatContentCodePools.js";
6
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
7
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
8
+ import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
9
+ import { ILanguageSelection } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language";
10
+ import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
11
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
12
+ export interface IChatContentPart extends IDisposable {
13
+ domNode: HTMLElement | undefined;
14
+ /**
15
+ * Used to indicate a part's ownership of a code block.
16
+ */
17
+ codeblocksPartId?: string;
18
+ /**
19
+ * Codeblocks that were rendered by this part into CodeBlockModelCollection.
20
+ */
21
+ codeblocks?: IChatCodeBlockInfo[];
22
+ /**
23
+ * Returns true if the other content is equivalent to what is already rendered in this content part.
24
+ * Returns false if a rerender is needed.
25
+ * followingContent is all the content that will be rendered after this content part (to support progress messages' behavior).
26
+ */
27
+ hasSameContent(other: IChatRendererContent, followingContent: IChatRendererContent[], element: ChatTreeItem): boolean;
28
+ /**
29
+ * Called when the content part is mounted to the DOM after being detached
30
+ * due to virtualization.
31
+ */
32
+ onDidRemount?(): void;
33
+ addDisposable?(disposable: IDisposable): void;
34
+ }
35
+ export interface IChatContentPartRenderContext {
36
+ readonly element: IChatRequestViewModel | IChatResponseViewModel;
37
+ readonly elementIndex: number;
38
+ readonly container: HTMLElement;
39
+ readonly content: ReadonlyArray<IChatRendererContent>;
40
+ readonly contentIndex: number;
41
+ readonly editorPool: EditorPool;
42
+ readonly codeBlockStartIndex: number;
43
+ readonly treeStartIndex: number;
44
+ readonly diffEditorPool: DiffEditorPool;
45
+ readonly codeBlockModelCollection: CodeBlockModelCollection;
46
+ readonly currentWidth: IObservable<number>;
47
+ readonly onDidChangeVisibility: Event<boolean>;
48
+ readonly inlineTextModels: InlineTextModelCollection;
49
+ }
50
+ /**
51
+ * Ref-counted collection of inline text models keyed by URI. Models are
52
+ * created on first acquire and disposed only when the last reference is
53
+ * released, preventing duplicate-model errors during re-renders.
54
+ */
55
+ export declare class InlineTextModelCollection extends Disposable {
56
+ private readonly _collection;
57
+ constructor(modelService: IModelService);
58
+ acquire(uri: URI, value: string, languageSelection: ILanguageSelection | null, isForSimpleWidget: boolean): import("@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle").IReference<ITextModel>;
59
+ }
@@ -0,0 +1,29 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Disposable, ReferenceCollection } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
5
+
6
+ let InlineTextModelCollection = class InlineTextModelCollection extends Disposable {
7
+ constructor(modelService) {
8
+ super();
9
+ this._collection = ( new InlineTextModelReferenceCollection(modelService));
10
+ }
11
+ acquire(uri, value, languageSelection, isForSimpleWidget) {
12
+ return this._collection.acquire(( uri.toString()), uri, value, languageSelection, isForSimpleWidget);
13
+ }
14
+ };
15
+ InlineTextModelCollection = ( __decorate([( __param(0, IModelService))], InlineTextModelCollection));
16
+ class InlineTextModelReferenceCollection extends ReferenceCollection {
17
+ constructor(modelService) {
18
+ super();
19
+ this.modelService = modelService;
20
+ }
21
+ createReferencedObject(key, uri, value, languageSelection, isForSimpleWidget) {
22
+ return this.modelService.createModel(value, languageSelection, uri, isForSimpleWidget);
23
+ }
24
+ destroyReferencedObject(_key, model) {
25
+ model.dispose();
26
+ }
27
+ }
28
+
29
+ export { InlineTextModelCollection };
@@ -31,8 +31,6 @@ export declare class MarkdownDiffBlockPart extends Disposable {
31
31
  private readonly modelService;
32
32
  private readonly textModelService;
33
33
  private readonly languageService;
34
- private readonly _onDidChangeContentHeight;
35
- readonly onDidChangeContentHeight: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
36
34
  readonly element: HTMLElement;
37
35
  private readonly comparePart;
38
36
  private readonly modelRef;
@@ -1,7 +1,6 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
4
- import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
5
4
  import { hashAsync } from '@codingame/monaco-vscode-api/vscode/vs/base/common/hash';
6
5
  import { Disposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
6
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
@@ -66,13 +65,8 @@ let MarkdownDiffBlockPart = class MarkdownDiffBlockPart extends Disposable {
66
65
  this.modelService = modelService;
67
66
  this.textModelService = textModelService;
68
67
  this.languageService = languageService;
69
- this._onDidChangeContentHeight = this._register(( new Emitter()));
70
- this.onDidChangeContentHeight = this._onDidChangeContentHeight.event;
71
68
  this.modelRef = this._register(( new MutableDisposable()));
72
69
  this.comparePart = this._register(diffEditorPool.get());
73
- this._register(this.comparePart.object.onDidChangeContentHeight(() => {
74
- this._onDidChangeContentHeight.fire();
75
- }));
76
70
  const originalUri = ( URI.from({
77
71
  scheme: Schemas.vscodeChatCodeBlock,
78
72
  path: `/chat-diff-original-${data.codeBlockIndex}-${generateUuid()}`
@@ -2,7 +2,7 @@ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/
2
2
  import { IMarkdownRendererService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service";
3
3
  import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
4
4
  import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
5
- import { IChatContentPart, IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
5
+ import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentParts.js";
6
6
  export declare class ChatDisabledClaudeHooksContentPart extends Disposable implements IChatContentPart {
7
7
  private readonly _openerService;
8
8
  private readonly _markdownRendererService;
@@ -24,12 +24,12 @@ let ChatDisabledClaudeHooksContentPart = class ChatDisabledClaudeHooksContentPar
24
24
  const icon = $(".chat-disabled-claude-hooks-icon");
25
25
  icon.classList.add(...ThemeIcon.asClassNameArray(Codicon.info));
26
26
  const enableLink = createMarkdownCommandLink({
27
- title: ( localize(5906, "Enable")),
27
+ title: ( localize(6500, "Enable")),
28
28
  id: "workbench.action.openSettings",
29
29
  arguments: [PromptsConfig.USE_CLAUDE_HOOKS]
30
30
  });
31
31
  const message = ( localize(
32
- 5907,
32
+ 6501,
33
33
  "Claude Code hooks are available for this workspace. {0}",
34
34
  enableLink
35
35
  ));
@@ -5,7 +5,7 @@ import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platf
5
5
  import { IChatProgressRenderableResponseContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
6
6
  import { IChatElicitationRequest, IChatElicitationRequestSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
7
7
  import { IChatAccessibilityService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
8
- import { IChatContentPart, IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
8
+ import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentParts.js";
9
9
  export declare class ChatElicitationContentPart extends Disposable implements IChatContentPart {
10
10
  private readonly elicitation;
11
11
  private readonly instantiationService;
@@ -5,12 +5,14 @@ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
5
5
  import { ChatErrorLevel, IChatResponseErrorDetailsConfirmationButton } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
6
6
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
7
7
  import { IChatErrorDetailsPart, IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
8
+ import { IChatAccessibilityService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
8
9
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
9
- import { IChatContentPart, IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
10
+ import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentParts.js";
10
11
  export declare class ChatErrorConfirmationContentPart extends Disposable implements IChatContentPart {
11
12
  private readonly errorDetails;
13
+ private readonly chatAccessibilityService;
12
14
  readonly domNode: HTMLElement;
13
- constructor(kind: ChatErrorLevel, content: IMarkdownString, errorDetails: IChatErrorDetailsPart, confirmationButtons: IChatResponseErrorDetailsConfirmationButton[], renderer: IMarkdownRenderer, context: IChatContentPartRenderContext, instantiationService: IInstantiationService, chatWidgetService: IChatWidgetService, chatService: IChatService);
15
+ constructor(kind: ChatErrorLevel, content: IMarkdownString, errorDetails: IChatErrorDetailsPart, confirmationButtons: IChatResponseErrorDetailsConfirmationButton[], renderer: IMarkdownRenderer, context: IChatContentPartRenderContext, instantiationService: IInstantiationService, chatWidgetService: IChatWidgetService, chatService: IChatService, chatAccessibilityService: IChatAccessibilityService);
14
16
  hasSameContent(other: IChatRendererContent): boolean;
15
17
  addDisposable(disposable: IDisposable): void;
16
18
  }
@@ -7,7 +7,7 @@ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
7
7
  import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
8
8
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
9
9
  import { assertIsResponseVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
10
- import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
10
+ import { IChatWidgetService, IChatAccessibilityService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
11
11
  import { ChatErrorWidget } from './chatErrorContentPart.js';
12
12
 
13
13
  const $ = $$1;
@@ -21,10 +21,12 @@ let ChatErrorConfirmationContentPart = class ChatErrorConfirmationContentPart ex
21
21
  context,
22
22
  instantiationService,
23
23
  chatWidgetService,
24
- chatService
24
+ chatService,
25
+ chatAccessibilityService
25
26
  ) {
26
27
  super();
27
28
  this.errorDetails = errorDetails;
29
+ this.chatAccessibilityService = chatAccessibilityService;
28
30
  const element = context.element;
29
31
  assertIsResponseVM(element);
30
32
  this.domNode = $(".chat-error-confirmation");
@@ -49,6 +51,7 @@ let ChatErrorConfirmationContentPart = class ChatErrorConfirmationContentPart ex
49
51
  const widget = chatWidgetService.getWidgetBySessionResource(element.sessionResource);
50
52
  options.userSelectedModelId = widget?.input.currentLanguageModel;
51
53
  Object.assign(options, widget?.getModeRequestOptions());
54
+ this.chatAccessibilityService.acceptRequest(element.sessionResource);
52
55
  await chatService.sendRequest(element.sessionResource, prompt, options);
53
56
  }));
54
57
  });
@@ -60,6 +63,6 @@ let ChatErrorConfirmationContentPart = class ChatErrorConfirmationContentPart ex
60
63
  this._register(disposable);
61
64
  }
62
65
  };
63
- ChatErrorConfirmationContentPart = ( __decorate([( __param(6, IInstantiationService)), ( __param(7, IChatWidgetService)), ( __param(8, IChatService))], ChatErrorConfirmationContentPart));
66
+ ChatErrorConfirmationContentPart = ( __decorate([( __param(6, IInstantiationService)), ( __param(7, IChatWidgetService)), ( __param(8, IChatService)), ( __param(9, IChatAccessibilityService))], ChatErrorConfirmationContentPart));
64
67
 
65
68
  export { ChatErrorConfirmationContentPart };
@@ -3,7 +3,7 @@ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/l
3
3
  import { IMarkdownRenderer } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer";
4
4
  import { ChatErrorLevel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
5
5
  import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
6
- import { IChatContentPart } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
6
+ import { IChatContentPart } from "./chatContentParts.js";
7
7
  export declare class ChatErrorContentPart extends Disposable implements IChatContentPart {
8
8
  private readonly errorDetails;
9
9
  readonly domNode: HTMLElement;
@@ -4,7 +4,7 @@ import { IExtensionsWorkbenchService } from "@codingame/monaco-vscode-api/vscode
4
4
  import { IChatExtensionsContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
5
5
  import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
6
6
  import { ChatTreeItem, IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
7
- import { IChatContentPart } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
7
+ import { IChatContentPart } from "./chatContentParts.js";
8
8
  export declare class ChatExtensionsContentPart extends Disposable implements IChatContentPart {
9
9
  private readonly extensionsContent;
10
10
  readonly domNode: HTMLElement;
@@ -30,7 +30,7 @@ let ChatExtensionsContentPart = class ChatExtensionsContentPart extends Disposab
30
30
  append(
31
31
  loadingElement,
32
32
  $(ThemeIcon.asCSSSelector(ThemeIcon.modify(Codicon.loading, "spin"))),
33
- $("span.loading-message", undefined, ( localize(5908, "Loading extensions...")))
33
+ $("span.loading-message", undefined, ( localize(6502, "Loading extensions...")))
34
34
  );
35
35
  const extensionsList = append(this.domNode, $(".extensions-list"));
36
36
  const list = this._register(
@@ -1,12 +1,13 @@
1
1
  import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
2
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
2
3
  import { IChatHookPart } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
3
4
  import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
4
5
  import { ChatTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
5
6
  import { ChatCollapsibleContentPart } from "./chatCollapsibleContentPart.js";
6
- import { IChatContentPart, IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
7
+ import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentParts.js";
7
8
  export declare class ChatHookContentPart extends ChatCollapsibleContentPart implements IChatContentPart {
8
9
  private readonly hookPart;
9
- constructor(hookPart: IChatHookPart, context: IChatContentPartRenderContext, hoverService: IHoverService);
10
+ constructor(hookPart: IChatHookPart, context: IChatContentPartRenderContext, hoverService: IHoverService, configurationService: IConfigurationService);
10
11
  protected initContent(): HTMLElement;
11
12
  hasSameContent(other: IChatRendererContent, _followingContent: IChatRendererContent[], _element: ChatTreeItem): boolean;
12
13
  }
@@ -5,22 +5,23 @@ import { $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
5
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
6
6
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
7
  import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
8
- import { HOOK_TYPES, HookType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
8
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
9
+ import { HOOK_METADATA, HookType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
9
10
  import { ChatCollapsibleContentPart } from './chatCollapsibleContentPart.js';
10
11
  import * as chatHookContentPart from './media/chatHookContentPart.css';
11
12
 
12
13
  registerCss(chatHookContentPart);
13
14
  function getHookTypeLabel(hookType) {
14
- return HOOK_TYPES.find(hook => hook.id === hookType)?.label ?? hookType;
15
+ return HOOK_METADATA[hookType]?.label ?? hookType;
15
16
  }
16
17
  let ChatHookContentPart = class ChatHookContentPart extends ChatCollapsibleContentPart {
17
- constructor(hookPart, context, hoverService) {
18
+ constructor(hookPart, context, hoverService, configurationService) {
18
19
  const hookTypeLabel = getHookTypeLabel(hookPart.hookType);
19
20
  const isStopped = !!hookPart.stopReason;
20
21
  const isWarning = !!hookPart.systemMessage;
21
22
  const toolName = hookPart.toolDisplayName;
22
- const title = isStopped ? (toolName ? ( localize(5909, "Blocked {0} - {1} hook", toolName, hookTypeLabel)) : ( localize(5910, "Blocked by {0} hook", hookTypeLabel))) : (toolName ? ( localize(5911, "Warning for {0} - {1} hook", toolName, hookTypeLabel)) : ( localize(5912, "Warning from {0} hook", hookTypeLabel)));
23
- super(title, context, undefined, hoverService);
23
+ const title = isStopped ? (toolName ? ( localize(6503, "Blocked {0} - {1} hook", toolName, hookTypeLabel)) : ( localize(6504, "Blocked by {0} hook", hookTypeLabel))) : (toolName ? ( localize(6505, "Warning for {0} - {1} hook", toolName, hookTypeLabel)) : ( localize(6506, "Warning from {0} hook", hookTypeLabel)));
24
+ super(title, context, undefined, hoverService, configurationService);
24
25
  this.hookPart = hookPart;
25
26
  this.icon = isStopped ? Codicon.error : isWarning ? Codicon.warning : Codicon.check;
26
27
  if (isStopped) {
@@ -50,6 +51,6 @@ let ChatHookContentPart = class ChatHookContentPart extends ChatCollapsibleConte
50
51
  return other.hookType === this.hookPart.hookType && other.stopReason === this.hookPart.stopReason && other.systemMessage === this.hookPart.systemMessage && other.toolDisplayName === this.hookPart.toolDisplayName;
51
52
  }
52
53
  };
53
- ChatHookContentPart = ( __decorate([( __param(2, IHoverService))], ChatHookContentPart));
54
+ ChatHookContentPart = ( __decorate([( __param(2, IHoverService)), ( __param(3, IConfigurationService))], ChatHookContentPart));
54
55
 
55
56
  export { ChatHookContentPart };
@@ -39,7 +39,6 @@ export declare class InlineAnchorWidget extends Disposable {
39
39
  private readonly notebookDocumentService;
40
40
  private readonly openerService;
41
41
  static readonly className = "chat-inline-anchor-widget";
42
- private readonly _chatResourceContext;
43
42
  readonly data: ContentRefData;
44
43
  constructor(element: HTMLAnchorElement | HTMLElement, inlineReference: IChatContentInlineReference, metadata: InlineAnchorWidgetMetadata | undefined, configurationService: IConfigurationService, originalContextKeyService: IContextKeyService, contextMenuService: IContextMenuService, fileService: IFileService, hoverService: IHoverService, instantiationService: IInstantiationService, labelService: ILabelService, languageService: ILanguageService, menuService: IMenuService, modelService: IModelService, telemetryService: ITelemetryService, themeService: IThemeService, notebookDocumentService: INotebookDocumentService, openerService: IOpenerService);
45
44
  getHTMLElement(): HTMLElement;
@@ -41,7 +41,7 @@ import { globMatchesResource } from '@codingame/monaco-vscode-api/vscode/vs/work
41
41
  import { INotebookDocumentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/notebook/common/notebookDocumentService.service';
42
42
  import { ExplorerFolderContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/files/common/files';
43
43
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
44
- import { chatAttachmentResourceContextKey, hookUpSymbolAttachmentDragAndContextMenu } from '../../attachments/chatAttachmentWidgets.js';
44
+ import { hookUpSymbolAttachmentDragAndContextMenu, chatAttachmentResourceContextKey } from '../../attachments/chatAttachmentWidgets.js';
45
45
  import { IChatMarkdownAnchorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service';
46
46
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
47
47
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
@@ -133,13 +133,10 @@ let InlineAnchorWidget = class InlineAnchorWidget extends Disposable {
133
133
  } : {
134
134
  uri: inlineReference.inlineReference
135
135
  };
136
- const contextKeyService = this._register(originalContextKeyService.createScoped(element));
137
- this._chatResourceContext = chatAttachmentResourceContextKey.bindTo(contextKeyService);
138
136
  element.classList.add(InlineAnchorWidget_1.className, "show-file-icons");
139
137
  let iconText;
140
138
  let iconClasses;
141
139
  let location;
142
- let updateContextKeys;
143
140
  if (this.data.kind === "symbol") {
144
141
  const symbol = this.data.symbol;
145
142
  location = this.data.symbol.location;
@@ -152,7 +149,7 @@ let InlineAnchorWidget = class InlineAnchorWidget extends Disposable {
152
149
  SymbolKinds.toIcon(symbol.kind)
153
150
  )];
154
151
  this._store.add(instantiationService.invokeFunction(
155
- accessor => hookUpSymbolAttachmentDragAndContextMenu(accessor, element, contextKeyService, {
152
+ accessor => hookUpSymbolAttachmentDragAndContextMenu(accessor, element, originalContextKeyService, {
156
153
  value: symbol.location,
157
154
  name: symbol.name,
158
155
  kind: symbol.kind
@@ -186,23 +183,28 @@ let InlineAnchorWidget = class InlineAnchorWidget extends Disposable {
186
183
  this._register(themeService.onDidFileIconThemeChange(() => {
187
184
  refreshIconClasses();
188
185
  }));
189
- const isFolderContext = ExplorerFolderContext.bindTo(contextKeyService);
186
+ let isDirectory = false;
190
187
  fileService.stat(location.uri).then(stat => {
191
- isFolderContext.set(stat.isDirectory);
188
+ isDirectory = stat.isDirectory;
192
189
  if (stat.isDirectory) {
193
190
  fileKind = FileKind.FOLDER;
194
191
  refreshIconClasses();
195
192
  }
196
193
  }).catch(() => {});
194
+ const contextKeyService = this._register(originalContextKeyService.createScoped(element));
195
+ chatAttachmentResourceContextKey.bindTo(contextKeyService).set(( location.uri.toString()));
196
+ const isFolderContext = ExplorerFolderContext.bindTo(contextKeyService);
197
+ let contextMenuInitialized = false;
197
198
  this._register(
198
199
  addDisposableListener(element, EventType.CONTEXT_MENU, async domEvent => {
199
200
  const event = ( new StandardMouseEvent(getWindow(domEvent), domEvent));
200
201
  EventHelper.stop(domEvent, true);
201
- try {
202
- await updateContextKeys?.();
203
- } catch (e) {
204
- console.error(e);
202
+ if (!contextMenuInitialized) {
203
+ contextMenuInitialized = true;
204
+ const resourceContextKey = ( new StaticResourceContextKey(contextKeyService, fileService, languageService, modelService));
205
+ resourceContextKey.set(location.uri);
205
206
  }
207
+ isFolderContext.set(isDirectory);
206
208
  if (this._store.isDisposed) {
207
209
  return;
208
210
  }
@@ -220,10 +222,10 @@ let InlineAnchorWidget = class InlineAnchorWidget extends Disposable {
220
222
  );
221
223
  if (location.range) {
222
224
  if (location.range.startLineNumber === location.range.endLineNumber) {
223
- element.setAttribute("aria-label", ( localize(5913, "{0} line {1}", filePathLabel, location.range.startLineNumber)));
225
+ element.setAttribute("aria-label", ( localize(6507, "{0} line {1}", filePathLabel, location.range.startLineNumber)));
224
226
  } else {
225
227
  element.setAttribute("aria-label", ( localize(
226
- 5914,
228
+ 6508,
227
229
  "{0} lines {1} to {2}",
228
230
  filePathLabel,
229
231
  location.range.startLineNumber,
@@ -232,9 +234,6 @@ let InlineAnchorWidget = class InlineAnchorWidget extends Disposable {
232
234
  }
233
235
  }
234
236
  }
235
- const resourceContextKey = ( new StaticResourceContextKey(contextKeyService, fileService, languageService, modelService));
236
- resourceContextKey.set(location.uri);
237
- this._chatResourceContext.set(( location.uri.toString()));
238
237
  const iconEl = $("span.icon");
239
238
  iconEl.classList.add(...iconClasses);
240
239
  element.replaceChildren(iconEl, $("span.icon-label", {}, ...iconText));
@@ -302,7 +301,7 @@ registerAction2(class AddFileToChatAction extends Action2 {
302
301
  constructor() {
303
302
  super({
304
303
  id: AddFileToChatAction.id,
305
- title: ( localize2(5915, "Add File to Chat")),
304
+ title: ( localize2(6509, "Add File to Chat")),
306
305
  menu: [{
307
306
  id: MenuId.ChatInlineResourceAnchorContext,
308
307
  group: "chat",
@@ -326,7 +325,7 @@ registerAction2(class CopyResourceAction extends Action2 {
326
325
  constructor() {
327
326
  super({
328
327
  id: CopyResourceAction.id,
329
- title: ( localize2(5916, "Copy")),
328
+ title: ( localize2(6510, "Copy")),
330
329
  f1: false,
331
330
  precondition: chatAttachmentResourceContextKey,
332
331
  keybinding: {
@@ -353,7 +352,7 @@ registerAction2(class OpenToSideResourceAction extends Action2 {
353
352
  constructor() {
354
353
  super({
355
354
  id: OpenToSideResourceAction.id,
356
- title: ( localize2(5917, "Open to the Side")),
355
+ title: ( localize2(6511, "Open to the Side")),
357
356
  f1: false,
358
357
  precondition: chatAttachmentResourceContextKey,
359
358
  keybinding: {
@@ -419,8 +418,8 @@ registerAction2(class GoToDefinitionAction extends Action2 {
419
418
  super({
420
419
  id: GoToDefinitionAction.id,
421
420
  title: {
422
- ...( localize2(5918, "Go to Definition")),
423
- mnemonicTitle: ( localize(5919, "Go to &&Definition"))
421
+ ...( localize2(6512, "Go to Definition")),
422
+ mnemonicTitle: ( localize(6513, "Go to &&Definition"))
424
423
  },
425
424
  menu: ( [
426
425
  MenuId.ChatInlineSymbolAnchorContext,
@@ -477,8 +476,8 @@ registerAction2(class GoToTypeDefinitionsAction extends Action2 {
477
476
  super({
478
477
  id: GoToTypeDefinitionsAction.id,
479
478
  title: {
480
- ...( localize2(5920, "Go to Type Definitions")),
481
- mnemonicTitle: ( localize(5921, "Go to &&Type Definitions"))
479
+ ...( localize2(6514, "Go to Type Definitions")),
480
+ mnemonicTitle: ( localize(6515, "Go to &&Type Definitions"))
482
481
  },
483
482
  menu: ( [
484
483
  MenuId.ChatInlineSymbolAnchorContext,
@@ -503,8 +502,8 @@ registerAction2(class GoToImplementations extends Action2 {
503
502
  super({
504
503
  id: GoToImplementations.id,
505
504
  title: {
506
- ...( localize2(5922, "Go to Implementations")),
507
- mnemonicTitle: ( localize(5923, "Go to &&Implementations"))
505
+ ...( localize2(6516, "Go to Implementations")),
506
+ mnemonicTitle: ( localize(6517, "Go to &&Implementations"))
508
507
  },
509
508
  menu: ( [
510
509
  MenuId.ChatInlineSymbolAnchorContext,
@@ -529,8 +528,8 @@ registerAction2(class GoToReferencesAction extends Action2 {
529
528
  super({
530
529
  id: GoToReferencesAction.id,
531
530
  title: {
532
- ...( localize2(5924, "Go to References")),
533
- mnemonicTitle: ( localize(5925, "Go to &&References"))
531
+ ...( localize2(6518, "Go to References")),
532
+ mnemonicTitle: ( localize(6519, "Go to &&References"))
534
533
  },
535
534
  menu: ( [
536
535
  MenuId.ChatInlineSymbolAnchorContext,