@codingame/monaco-vscode-katex-common 26.2.1 → 27.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 (183) 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 +35 -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 +548 -0
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +5 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +168 -15
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +67 -51
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +1 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -11
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +9 -9
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +8 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +42 -19
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +12 -1
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +63 -40
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +7 -5
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +77 -73
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +69 -32
  23. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -6
  24. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +381 -83
  25. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +28 -13
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +38 -19
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +109 -113
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +16 -15
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -2
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +2 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +28 -9
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +226 -123
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
  37. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -4
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +3 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +9 -4
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +1 -3
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +7 -10
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +3 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +22 -4
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +2 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +11 -3
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.d.ts +0 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +0 -6
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +3 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +6 -3
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +2 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +5 -4
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +0 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -27
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +3 -0
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +52 -22
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -7
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +2 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +20 -8
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +3 -3
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -6
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +36 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +166 -45
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +3 -2
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +16 -11
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +14 -5
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +98 -26
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +1 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +10 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +244 -80
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +29 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +252 -8
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +4 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +39 -18
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +5 -3
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +36 -23
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +5 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +5 -7
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +42 -37
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +12 -3
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +48 -18
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +9 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +351 -422
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +14 -7
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +102 -7
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +69 -19
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/codeBlockPart.css +48 -15
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +4 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +47 -23
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +0 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +0 -5
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +2 -2
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +7 -7
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +18 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +103 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -18
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +1 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +63 -69
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +7 -9
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +3 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +41 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +6 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +13 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +2 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +17 -3
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +310 -79
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +13 -4
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +35 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +441 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +24 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +392 -86
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +52 -6
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +271 -187
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +68 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +668 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +12 -1
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +57 -16
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +2 -6
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +78 -45
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +1 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +28 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +86 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +9 -5
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +4 -3
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +393 -134
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +36 -17
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +2 -2
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +20 -13
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +25 -6
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +141 -79
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +18 -13
  155. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +7 -0
  156. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +108 -27
  157. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
  158. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +20 -14
  159. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +4 -6
  160. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +74 -32
  161. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +11 -2
  162. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +68 -27
  163. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +5 -0
  164. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +125 -13
  165. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +8 -11
  166. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +54 -45
  167. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +11 -10
  168. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +172 -112
  169. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  170. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  171. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +0 -42
  172. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +27 -3
  173. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +83 -2
  174. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +8 -1
  175. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +58 -33
  176. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  177. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +1 -548
  178. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  179. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  180. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  181. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +0 -187
  183. /package/vscode/src/vs/{workbench/contrib → platform}/mcp/common/modelContextProtocolApps.js +0 -0
@@ -1,7 +1,35 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service";
3
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
4
+ import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
5
+ import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
6
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
2
7
  import { IMarkdownRenderer } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer";
8
+ import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
3
9
  import { IChatTip } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/workbench/contrib/chat/browser/chatTipService";
10
+ import { IChatTipService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatTipService.service";
11
+ import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
4
12
  export declare class ChatTipContentPart extends Disposable {
13
+ private readonly _renderer;
14
+ private readonly _chatTipService;
15
+ private readonly _contextMenuService;
16
+ private readonly _menuService;
17
+ private readonly _contextKeyService;
18
+ private readonly _instantiationService;
19
+ private readonly _openerService;
20
+ private readonly _commandService;
21
+ private readonly _chatEntitlementService;
5
22
  readonly domNode: HTMLElement;
6
- constructor(tip: IChatTip, renderer: IMarkdownRenderer);
23
+ private readonly _onDidHide;
24
+ readonly onDidHide: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
25
+ private readonly _renderedContent;
26
+ private readonly _toolbar;
27
+ private readonly _inChatTipContextKey;
28
+ private readonly _multipleChatTipsContextKey;
29
+ constructor(tip: IChatTip, _renderer: IMarkdownRenderer, _chatTipService: IChatTipService, _contextMenuService: IContextMenuService, _menuService: IMenuService, _contextKeyService: IContextKeyService, _instantiationService: IInstantiationService, _openerService: IOpenerService, _commandService: ICommandService, _chatEntitlementService: IChatEntitlementService);
30
+ hasFocus(): boolean;
31
+ focus(): void;
32
+ private _renderTip;
33
+ private _handleTipAction;
34
+ private _shouldTriggerSetup;
7
35
  }
@@ -1,21 +1,265 @@
1
1
 
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
4
  import * as chatTipContent from './media/chatTipContent.css';
4
- import { $ as $$1 } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
- import { renderIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
5
+ import { $ as $$1, trackFocus, runAtThisOrScheduleAtNextAnimationFrame, getWindow, addDisposableListener, EventType, EventHelper, isAncestorOfActiveElement, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
6
+ import { StandardMouseEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/mouseEvent';
6
7
  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 { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
9
+ import { onUnexpectedError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
10
+ import { Disposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
11
+ import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
+ import { getFlatContextMenuActions } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
13
+ import { MenuWorkbenchToolBar } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar';
14
+ import { MenuId, registerAction2, Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
15
+ import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
16
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
17
+ import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
18
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
19
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
20
+ import { openLinkFromMarkdown } from '@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer';
21
+ import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
22
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
23
+ import { CHAT_SETUP_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
24
+ import { IChatTipService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatTipService.service';
25
+ import { ChatEntitlement } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
26
+ import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
8
27
 
9
28
  registerCss(chatTipContent);
10
29
  const $ = $$1;
11
- class ChatTipContentPart extends Disposable {
12
- constructor(tip, renderer) {
30
+ let ChatTipContentPart = class ChatTipContentPart extends Disposable {
31
+ constructor(
32
+ tip,
33
+ _renderer,
34
+ _chatTipService,
35
+ _contextMenuService,
36
+ _menuService,
37
+ _contextKeyService,
38
+ _instantiationService,
39
+ _openerService,
40
+ _commandService,
41
+ _chatEntitlementService
42
+ ) {
13
43
  super();
44
+ this._renderer = _renderer;
45
+ this._chatTipService = _chatTipService;
46
+ this._contextMenuService = _contextMenuService;
47
+ this._menuService = _menuService;
48
+ this._contextKeyService = _contextKeyService;
49
+ this._instantiationService = _instantiationService;
50
+ this._openerService = _openerService;
51
+ this._commandService = _commandService;
52
+ this._chatEntitlementService = _chatEntitlementService;
53
+ this._onDidHide = this._register(( new Emitter()));
54
+ this.onDidHide = this._onDidHide.event;
55
+ this._renderedContent = this._register(( new MutableDisposable()));
56
+ this._toolbar = this._register(( new MutableDisposable()));
14
57
  this.domNode = $(".chat-tip-widget");
15
- this.domNode.appendChild(renderIcon(Codicon.lightbulb));
16
- const markdownContent = this._register(renderer.render(tip.content));
58
+ this.domNode.tabIndex = 0;
59
+ this.domNode.setAttribute("role", "region");
60
+ this.domNode.setAttribute("aria-roledescription", ( localize(6513, "tip")));
61
+ this._inChatTipContextKey = ChatContextKeys.inChatTip.bindTo(this._contextKeyService);
62
+ this._multipleChatTipsContextKey = ChatContextKeys.multipleChatTips.bindTo(this._contextKeyService);
63
+ const focusTracker = this._register(trackFocus(this.domNode));
64
+ this._register(focusTracker.onDidFocus(() => this._inChatTipContextKey.set(true)));
65
+ this._register(focusTracker.onDidBlur(() => this._inChatTipContextKey.set(false)));
66
+ this._register({
67
+ dispose: () => {
68
+ this._inChatTipContextKey.reset();
69
+ this._multipleChatTipsContextKey.reset();
70
+ }
71
+ });
72
+ this._renderTip(tip);
73
+ this._register(this._chatTipService.onDidDismissTip(() => {
74
+ const nextTip = this._chatTipService.navigateToNextTip();
75
+ if (nextTip) {
76
+ this._renderTip(nextTip);
77
+ runAtThisOrScheduleAtNextAnimationFrame(getWindow(this.domNode), () => this.focus());
78
+ } else {
79
+ this._onDidHide.fire();
80
+ }
81
+ }));
82
+ this._register(this._chatTipService.onDidNavigateTip(tip => {
83
+ this._renderTip(tip);
84
+ runAtThisOrScheduleAtNextAnimationFrame(getWindow(this.domNode), () => this.focus());
85
+ }));
86
+ this._register(this._chatTipService.onDidHideTip(() => {
87
+ this._onDidHide.fire();
88
+ }));
89
+ this._register(this._chatTipService.onDidDisableTips(() => {
90
+ this._onDidHide.fire();
91
+ }));
92
+ this._register(addDisposableListener(this.domNode, EventType.CONTEXT_MENU, e => {
93
+ EventHelper.stop(e, true);
94
+ const event = ( new StandardMouseEvent(getWindow(this.domNode), e));
95
+ this._contextMenuService.showContextMenu({
96
+ getAnchor: () => event,
97
+ getActions: () => {
98
+ const menu = this._menuService.getMenuActions(MenuId.ChatTipContext, this._contextKeyService);
99
+ return getFlatContextMenuActions(menu);
100
+ }
101
+ });
102
+ }));
103
+ }
104
+ hasFocus() {
105
+ return isAncestorOfActiveElement(this.domNode);
106
+ }
107
+ focus() {
108
+ this.domNode.focus();
109
+ }
110
+ _renderTip(tip) {
111
+ clearNode(this.domNode);
112
+ this._toolbar.clear();
113
+ this._multipleChatTipsContextKey.set(this._chatTipService.hasMultipleTips());
114
+ const markdownContent = this._renderer.render(tip.content, {
115
+ actionHandler: (link, md) => {
116
+ this._handleTipAction(link, md).catch(onUnexpectedError);
117
+ }
118
+ });
119
+ this._renderedContent.value = markdownContent;
17
120
  this.domNode.appendChild(markdownContent.element);
121
+ const toolbarContainer = $(".chat-tip-toolbar");
122
+ this._toolbar.value = this._instantiationService.createInstance(MenuWorkbenchToolBar, toolbarContainer, MenuId.ChatTipToolbar, {
123
+ menuOptions: {
124
+ shouldForwardArgs: true
125
+ }
126
+ });
127
+ this.domNode.appendChild(toolbarContainer);
128
+ const textContent = markdownContent.element.textContent ?? ( localize(6514, "Chat tip"));
129
+ const hasLink = /\[.*?\]\(.*?\)/.test(tip.content.value);
130
+ const ariaLabel = hasLink ? ( localize(6515, "{0} Tab to reach the action.", textContent)) : textContent;
131
+ this.domNode.setAttribute("aria-label", ariaLabel);
132
+ }
133
+ async _handleTipAction(link, mdStr) {
134
+ if (link.startsWith("command:") && this._shouldTriggerSetup()) {
135
+ const setupSucceeded = await this._commandService.executeCommand(CHAT_SETUP_ACTION_ID);
136
+ if (!setupSucceeded) {
137
+ return;
138
+ }
139
+ }
140
+ await openLinkFromMarkdown(this._openerService, link, mdStr.isTrusted);
141
+ }
142
+ _shouldTriggerSetup() {
143
+ const sentiment = this._chatEntitlementService.sentiment;
144
+ if (!sentiment?.installed) {
145
+ return true;
146
+ }
147
+ return this._chatEntitlementService.entitlement === ChatEntitlement.Unknown;
148
+ }
149
+ };
150
+ ChatTipContentPart = ( __decorate([( __param(2, IChatTipService)), ( __param(3, IContextMenuService)), ( __param(4, IMenuService)), ( __param(5, IContextKeyService)), ( __param(6, IInstantiationService)), ( __param(7, IOpenerService)), ( __param(8, ICommandService)), ( __param(9, IChatEntitlementService))], ChatTipContentPart));
151
+ registerAction2(class PreviousTipAction extends Action2 {
152
+ constructor() {
153
+ super({
154
+ id: "workbench.action.chat.previousTip",
155
+ title: ( localize2(6516, "Previous tip")),
156
+ icon: Codicon.chevronLeft,
157
+ precondition: ChatContextKeys.multipleChatTips,
158
+ f1: false,
159
+ menu: [{
160
+ id: MenuId.ChatTipToolbar,
161
+ group: "navigation",
162
+ order: 1
163
+ }]
164
+ });
165
+ }
166
+ async run(accessor) {
167
+ const chatTipService = accessor.get(IChatTipService);
168
+ chatTipService.navigateToPreviousTip();
169
+ }
170
+ });
171
+ registerAction2(class NextTipAction extends Action2 {
172
+ constructor() {
173
+ super({
174
+ id: "workbench.action.chat.nextTip",
175
+ title: ( localize2(6517, "Next tip")),
176
+ icon: Codicon.chevronRight,
177
+ precondition: ChatContextKeys.multipleChatTips,
178
+ f1: false,
179
+ menu: [{
180
+ id: MenuId.ChatTipToolbar,
181
+ group: "navigation",
182
+ order: 2
183
+ }]
184
+ });
185
+ }
186
+ async run(accessor) {
187
+ const chatTipService = accessor.get(IChatTipService);
188
+ chatTipService.navigateToNextTip();
189
+ }
190
+ });
191
+ registerAction2(class DismissTipToolbarAction extends Action2 {
192
+ constructor() {
193
+ super({
194
+ id: "workbench.action.chat.dismissTipToolbar",
195
+ title: ( localize2(6518, "Dismiss tip")),
196
+ icon: Codicon.check,
197
+ f1: false,
198
+ menu: [{
199
+ id: MenuId.ChatTipToolbar,
200
+ group: "navigation",
201
+ order: 3
202
+ }]
203
+ });
204
+ }
205
+ async run(accessor) {
206
+ accessor.get(IChatTipService).dismissTip();
207
+ }
208
+ });
209
+ registerAction2(class DismissTipAction extends Action2 {
210
+ constructor() {
211
+ super({
212
+ id: "workbench.action.chat.dismissTip",
213
+ title: ( localize2(6519, "Dismiss this tip")),
214
+ f1: false,
215
+ menu: [{
216
+ id: MenuId.ChatTipContext,
217
+ group: "chatTip",
218
+ order: 1
219
+ }]
220
+ });
221
+ }
222
+ async run(accessor) {
223
+ accessor.get(IChatTipService).dismissTip();
224
+ }
225
+ });
226
+ registerAction2(class DisableTipsAction extends Action2 {
227
+ constructor() {
228
+ super({
229
+ id: "workbench.action.chat.disableTips",
230
+ title: ( localize2(6520, "Disable tips")),
231
+ icon: Codicon.bellSlash,
232
+ f1: false,
233
+ menu: [{
234
+ id: MenuId.ChatTipContext,
235
+ group: "chatTip",
236
+ order: 2
237
+ }, {
238
+ id: MenuId.ChatTipToolbar,
239
+ group: "navigation",
240
+ order: 5
241
+ }]
242
+ });
243
+ }
244
+ async run(accessor) {
245
+ const chatTipService = accessor.get(IChatTipService);
246
+ const commandService = accessor.get(ICommandService);
247
+ await chatTipService.disableTips();
248
+ await commandService.executeCommand("workbench.action.openSettings", "chat.tips.enabled");
249
+ }
250
+ });
251
+ registerAction2(class ResetDismissedTipsAction extends Action2 {
252
+ constructor() {
253
+ super({
254
+ id: "workbench.action.chat.resetDismissedTips",
255
+ title: ( localize2(6521, "Reset Dismissed Tips")),
256
+ f1: true,
257
+ precondition: ChatContextKeys.enabled
258
+ });
259
+ }
260
+ async run(accessor) {
261
+ accessor.get(IChatTipService).clearDismissedTips();
18
262
  }
19
- }
263
+ });
20
264
 
21
265
  export { ChatTipContentPart };
@@ -18,6 +18,7 @@ export declare class ChatTodoListWidget extends Disposable {
18
18
  private clearButton;
19
19
  private _currentSessionResource;
20
20
  private _todoList;
21
+ private readonly _inChatTodoListContextKey;
21
22
  constructor(chatTodoListService: IChatTodoListService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService);
22
23
  get height(): number;
23
24
  private hideWidget;
@@ -25,6 +26,9 @@ export declare class ChatTodoListWidget extends Disposable {
25
26
  private createClearButton;
26
27
  render(sessionResource: URI | undefined): void;
27
28
  clear(sessionResource: URI | undefined, force?: boolean): void;
29
+ hasTodos(): boolean;
30
+ hasFocus(): boolean;
31
+ focus(): boolean;
28
32
  private updateTodoDisplay;
29
33
  private renderTodoList;
30
34
  private toggleExpanded;
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { append, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
+ import { append, $, trackFocus, isAncestorOfActiveElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
4
  import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
5
5
  import { IconLabel } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabel';
6
6
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
@@ -55,7 +55,7 @@ class TodoListRenderer {
55
55
  statusIcon.style.color = this.getStatusIconColor(todo.status);
56
56
  iconLabel.setLabel(todo.title);
57
57
  const statusText = this.getStatusText(todo.status);
58
- const ariaLabel = ( localize(5999, "{0}, {1}", todo.title, statusText));
58
+ const ariaLabel = ( localize(6522, "{0}, {1}", todo.title, statusText));
59
59
  todoElement.setAttribute("aria-label", ariaLabel);
60
60
  }
61
61
  disposeTemplate(templateData) {
@@ -64,12 +64,12 @@ class TodoListRenderer {
64
64
  getStatusText(status) {
65
65
  switch (status) {
66
66
  case "completed":
67
- return localize(6000, "completed");
67
+ return localize(6523, "completed");
68
68
  case "in-progress":
69
- return localize(6001, "in progress");
69
+ return localize(6524, "in progress");
70
70
  case "not-started":
71
71
  default:
72
- return localize(6002, "not started");
72
+ return localize(6525, "not started");
73
73
  }
74
74
  }
75
75
  getStatusIconClass(status) {
@@ -103,7 +103,11 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
103
103
  this.contextKeyService = contextKeyService;
104
104
  this._isExpanded = false;
105
105
  this._userManuallyExpanded = false;
106
+ this._inChatTodoListContextKey = ChatContextKeys.inChatTodoList.bindTo(contextKeyService);
106
107
  this.domNode = this.createChatTodoWidget();
108
+ const focusTracker = this._register(trackFocus(this.domNode));
109
+ this._register(focusTracker.onDidFocus(() => this._inChatTodoListContextKey.set(true)));
110
+ this._register(focusTracker.onDidBlur(() => this._inChatTodoListContextKey.set(false)));
107
111
  this._register(this.contextKeyService.onDidChangeContext(e => {
108
112
  if (e.affectsSome(( new Set([ChatContextKeys.requestInProgress.key])))) {
109
113
  this.updateClearButtonState();
@@ -131,7 +135,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
131
135
  this.expandIcon.setAttribute("aria-hidden", "true");
132
136
  this.titleElement = $(".todo-list-title");
133
137
  this.titleElement.id = "todo-list-title";
134
- this.titleElement.textContent = ( localize(6003, "Todos"));
138
+ this.titleElement.textContent = ( localize(6526, "Todos"));
135
139
  this.clearButtonContainer = $(".todo-clear-button-container");
136
140
  this.createClearButton();
137
141
  titleSection.appendChild(this.expandIcon);
@@ -152,7 +156,8 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
152
156
  }
153
157
  createClearButton() {
154
158
  this.clearButton = ( new Button(this.clearButtonContainer, {
155
- supportIcons: true
159
+ supportIcons: true,
160
+ ariaLabel: ( localize(6527, "Clear all todos"))
156
161
  }));
157
162
  this.clearButton.element.tabIndex = 0;
158
163
  this.clearButton.icon = Codicon.clearAll;
@@ -183,6 +188,22 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
183
188
  this.clearAllTodos();
184
189
  }
185
190
  }
191
+ hasTodos() {
192
+ return this.domNode.classList.contains("has-todos") && !!this._todoList && this._todoList.length > 0;
193
+ }
194
+ hasFocus() {
195
+ return isAncestorOfActiveElement(this.todoListContainer);
196
+ }
197
+ focus() {
198
+ if (!this.hasTodos()) {
199
+ return false;
200
+ }
201
+ if (!this._isExpanded) {
202
+ this.toggleExpanded();
203
+ }
204
+ this._todoList?.domFocus();
205
+ return this.hasFocus();
206
+ }
186
207
  updateTodoDisplay() {
187
208
  if (!this._currentSessionResource) {
188
209
  return;
@@ -215,9 +236,9 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
215
236
  accessibilityProvider: {
216
237
  getAriaLabel: todo => {
217
238
  const statusText = this.getStatusText(todo.status);
218
- return localize(5999, "{0}, {1}", todo.title, statusText);
239
+ return localize(6522, "{0}, {1}", todo.title, statusText);
219
240
  },
220
- getWidgetAriaLabel: () => ( localize(6004, "Chat Todo List"))
241
+ getWidgetAriaLabel: () => ( localize(6528, "Chat Todo List"))
221
242
  }
222
243
  }
223
244
  ));
@@ -268,9 +289,9 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
268
289
  const shouldDisable = isRequestInProgress && hasInProgressTask;
269
290
  this.clearButton.enabled = !shouldDisable;
270
291
  if (shouldDisable) {
271
- this.clearButton.setTitle(( localize(6005, "Cannot clear todos while a task is in progress")));
292
+ this.clearButton.setTitle(( localize(6529, "Cannot clear todos while a task is in progress")));
272
293
  } else {
273
- this.clearButton.setTitle(( localize(6006, "Clear all todos")));
294
+ this.clearButton.setTitle(( localize(6527, "Clear all todos")));
274
295
  }
275
296
  }
276
297
  updateTitleElement(titleElement, todoList) {
@@ -282,12 +303,12 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
282
303
  const notStartedTodos = todoList.filter(todo => todo.status === "not-started");
283
304
  const firstNotStartedTodo = notStartedTodos.length > 0 ? notStartedTodos[0] : undefined;
284
305
  const currentTaskNumber = inProgressTodos.length > 0 ? completedCount + 1 : Math.max(1, completedCount);
285
- const expandButtonLabel = this._isExpanded ? ( localize(6007, "Collapse Todos")) : ( localize(6008, "Expand Todos"));
306
+ const expandButtonLabel = this._isExpanded ? ( localize(6530, "Collapse Todos")) : ( localize(6531, "Expand Todos"));
286
307
  this.expandoButton.element.setAttribute("aria-label", expandButtonLabel);
287
308
  this.expandoButton.element.setAttribute("aria-expanded", this._isExpanded ? "true" : "false");
288
309
  if (this._isExpanded) {
289
310
  const titleText = $("span");
290
- titleText.textContent = totalCount > 0 ? ( localize(6009, "Todos ({0}/{1})", currentTaskNumber, totalCount)) : ( localize(6003, "Todos"));
311
+ titleText.textContent = totalCount > 0 ? ( localize(6532, "Todos ({0}/{1})", currentTaskNumber, totalCount)) : ( localize(6526, "Todos"));
291
312
  titleElement.appendChild(titleText);
292
313
  } else {
293
314
  const todoToShow = firstInProgressTodo || firstNotStartedTodo;
@@ -304,7 +325,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
304
325
  icon.style.verticalAlign = "middle";
305
326
  titleElement.appendChild(icon);
306
327
  const todoText = $("span");
307
- todoText.textContent = ( localize(6010, "{0} ({1}/{2})", todoToShow.title, currentTaskNumber, totalCount));
328
+ todoText.textContent = ( localize(6533, "{0} ({1}/{2})", todoToShow.title, currentTaskNumber, totalCount));
308
329
  todoText.style.verticalAlign = "middle";
309
330
  todoText.style.overflow = "hidden";
310
331
  todoText.style.textOverflow = "ellipsis";
@@ -314,7 +335,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
314
335
  }
315
336
  else if (completedCount > 0 && completedCount === totalCount) {
316
337
  const doneText = $("span");
317
- doneText.textContent = ( localize(6009, "Todos ({0}/{1})", totalCount, totalCount));
338
+ doneText.textContent = ( localize(6532, "Todos ({0}/{1})", totalCount, totalCount));
318
339
  doneText.style.verticalAlign = "middle";
319
340
  titleElement.appendChild(doneText);
320
341
  }
@@ -323,12 +344,12 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
323
344
  getStatusText(status) {
324
345
  switch (status) {
325
346
  case "completed":
326
- return localize(6000, "completed");
347
+ return localize(6523, "completed");
327
348
  case "in-progress":
328
- return localize(6001, "in progress");
349
+ return localize(6524, "in progress");
329
350
  case "not-started":
330
351
  default:
331
- return localize(6002, "not started");
352
+ return localize(6525, "not started");
332
353
  }
333
354
  }
334
355
  };
@@ -4,6 +4,7 @@ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
4
  import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service";
5
5
  import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
6
6
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
7
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
7
8
  import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
8
9
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
9
10
  import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
@@ -11,6 +12,7 @@ import { LanguageModelPartAudience } from "@codingame/monaco-vscode-api/vscode/v
11
12
  import { ChatTreeItem, IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
12
13
  import { ICodeBlockRenderOptions } from "./codeBlockPart.js";
13
14
  import { IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
15
+ import { IChatMarkdownAnchorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service";
14
16
  export interface IChatCollapsibleIOCodePart {
15
17
  kind: "code";
16
18
  data: string;
@@ -46,8 +48,8 @@ export declare class ChatCollapsibleInputOutputContentPart extends Disposable {
46
48
  private readonly _instantiationService;
47
49
  private readonly modelService;
48
50
  private readonly languageService;
49
- private readonly _onDidChangeHeight;
50
- readonly onDidChangeHeight: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
51
+ private readonly chatMarkdownAnchorService;
52
+ private readonly configurationService;
51
53
  private readonly _editorReferences;
52
54
  private readonly _titlePart;
53
55
  private _outputSubPart;
@@ -58,7 +60,7 @@ export declare class ChatCollapsibleInputOutputContentPart extends Disposable {
58
60
  get title(): string | IMarkdownString;
59
61
  private readonly _expanded;
60
62
  get expanded(): boolean;
61
- constructor(title: IMarkdownString | string, subtitle: string | IMarkdownString | undefined, progressTooltip: IMarkdownString | string | undefined, context: IChatContentPartRenderContext, input: IChatCollapsibleInputData, output: IChatCollapsibleOutputData | undefined, isError: boolean, initiallyExpanded: boolean, contextKeyService: IContextKeyService, _instantiationService: IInstantiationService, hoverService: IHoverService, modelService: IModelService, languageService: ILanguageService);
63
+ constructor(title: IMarkdownString | string, subtitle: string | IMarkdownString | undefined, progressTooltip: IMarkdownString | string | undefined, context: IChatContentPartRenderContext, input: IChatCollapsibleInputData, output: IChatCollapsibleOutputData | undefined, isError: boolean, initiallyExpanded: boolean, contextKeyService: IContextKeyService, _instantiationService: IInstantiationService, hoverService: IHoverService, modelService: IModelService, languageService: ILanguageService, chatMarkdownAnchorService: IChatMarkdownAnchorService, configurationService: IConfigurationService);
62
64
  private createMessageContents;
63
65
  private addCodeBlock;
64
66
  hasSameContent(other: IChatRendererContent, followingContent: IChatRendererContent[], element: ChatTreeItem): boolean;