@codingame/monaco-vscode-katex-common 30.0.1 → 31.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/package.json +3 -3
  2. package/vscode/src/vs/platform/actions/browser/actionbar.d.ts +16 -0
  3. package/vscode/src/vs/platform/actions/browser/actionbar.js +22 -0
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
  5. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
  6. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
  7. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
  8. package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
  9. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
  10. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
  11. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +73 -0
  12. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +3 -1
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +51 -24
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +2 -1
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +64 -72
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +2 -1
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -14
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +17 -18
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +5 -2
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +5 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +73 -9
  28. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +32 -32
  30. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.d.ts +1 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +20 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +1 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +73 -49
  34. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +12 -12
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +0 -6
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +41 -99
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +13 -9
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +14 -15
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +11 -12
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +339 -161
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +9 -2
  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.js +2 -2
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +9 -4
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +33 -5
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.d.ts +43 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.js +147 -2
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +4 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +55 -6
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.d.ts +1 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +7 -5
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +1 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +42 -10
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animation.d.ts +18 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.d.ts +15 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.js +16 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.d.ts +13 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.js +33 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/buffer.d.ts +46 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.d.ts +11 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.js +12 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.d.ts +9 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.js +12 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +23 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +37 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.d.ts +34 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.js +68 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +77 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +170 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/media/chatIncrementalRendering.css +112 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +3 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -16
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +24 -6
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +111 -145
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.d.ts +58 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +425 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +16 -7
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +68 -25
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +101 -45
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +36 -4
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +217 -25
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +23 -3
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +168 -60
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +10 -10
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +18 -17
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -5
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +7 -18
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +1 -5
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +7 -19
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +24 -19
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +104 -78
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +11 -2
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +257 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +19 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +30 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +1 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +12 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +286 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +15 -11
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -7
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +25 -47
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +29 -53
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +258 -321
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +53 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +392 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -3
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +24 -30
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +2 -3
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +9 -8
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +6 -3
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +2 -3
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +38 -11
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +577 -113
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +0 -7
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +4 -7
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +1 -8
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +58 -75
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +44 -12
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +362 -188
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +0 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +4 -5
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +42 -95
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +2 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +9 -10
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +57 -38
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +21 -15
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/{modelPickerActionItem2.js → modelPickerActionItem.js} +5 -7
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +38 -31
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +4 -5
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +94 -40
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
  166. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +16 -0
  167. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +218 -0
  168. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +7 -7
  169. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +6 -1
  170. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
  171. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +12 -21
  172. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -32
  173. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +355 -156
  174. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +2 -13
  175. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +72 -65
  176. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +4 -43
  177. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +238 -204
  178. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +4 -19
  179. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +128 -115
  180. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +6 -9
  181. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +152 -49
  182. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +64 -0
  183. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +40 -40
  184. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  185. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  186. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  187. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  188. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  189. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  190. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  191. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  192. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  193. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  194. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  196. package/vscode/src/vs/workbench/contrib/terminal/terminalContribChatExports.d.ts +2 -0
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +45 -0
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +165 -0
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +53 -0
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +163 -0
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +142 -0
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +29 -0
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +144 -0
  210. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +42 -0
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +256 -0
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +42 -0
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +94 -0
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +221 -0
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +52 -0
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +19 -0
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +168 -0
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +22 -0
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +47 -0
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +24 -0
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +32 -0
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +108 -0
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +412 -0
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
  256. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
  257. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +192 -0
  258. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2258 -0
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +22 -0
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +43 -0
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +1 -0
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +25 -0
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +141 -0
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +85 -0
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +608 -0
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +0 -40
  271. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +0 -196
  272. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +0 -29
  273. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.d.ts +0 -46
  274. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +0 -215
  275. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +0 -18
  276. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +0 -107
@@ -12,19 +12,18 @@ import { wrapTablesWithScrollable } from './chatMarkdownTableScrolling.js';
12
12
  import { coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
13
13
  import { findLast } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arraysFind';
14
14
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
15
+ import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
15
16
  import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
16
17
  import { Disposable, MutableDisposable, DisposableStore, dispose } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
17
18
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
18
19
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
19
20
  import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
20
- import { equalsIgnoreCase } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
21
21
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
22
22
  import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
23
- import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
23
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
24
24
  import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
25
25
  import { getIconClasses } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/getIconClasses';
26
26
  import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
27
- import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
28
27
  import { EditDeltaInfo } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditSource';
29
28
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
30
29
  import { getFlatContextMenuActions } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
@@ -43,16 +42,17 @@ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench
43
42
  import { AccessibilityWorkbenchSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
44
43
  import { IAiEditTelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service';
45
44
  import { MarkedKatexSupport } from '../../../../markdown/browser/markedKatexSupport.js';
46
- import { extractCodeblockUrisFromText } from '../../../common/widget/annotations.js';
45
+ import { extractCodeblockUrisFromText, extractVulnerabilitiesFromText } from '../../../common/widget/annotations.js';
47
46
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
48
47
  import { isResponseVM, isRequestVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
49
48
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
50
49
  import { allowedChatMarkdownHtmlTags } from '../chatContentMarkdownRenderer.js';
51
50
  import { parseUnifiedDiff, MarkdownDiffBlockPart } from './chatDiffBlockPart.js';
52
51
  import { ChatMarkdownDecorationsRenderer } from './chatMarkdownDecorationsRenderer.js';
53
- import { localFileLanguageId, parseLocalFileData, CodeBlockPart } from './codeBlockPart.js';
52
+ import { CodeBlockPart } from './codeBlockPart.js';
54
53
  import * as chatCodeBlockPill from './media/chatCodeBlockPill.css';
55
54
  import { ChatExtensionsContentPart } from './chatExtensionsContentPart.js';
55
+ import { IncrementalDOMMorpher } from './chatIncrementalRendering/chatIncrementalRendering.js';
56
56
  import * as chatMarkdownPart from './media/chatMarkdownPart.css';
57
57
  import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
58
58
  import { autorun, autorunSelfDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
@@ -80,20 +80,16 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
80
80
  renderer,
81
81
  markdownRenderOptions,
82
82
  currentWidth,
83
- codeBlockModelCollection,
84
83
  rendererOptions,
85
84
  contextKeyService,
86
85
  configurationService,
87
- textModelService,
88
86
  instantiationService,
89
87
  aiEditTelemetryService
90
88
  ) {
91
89
  super();
92
90
  this.markdown = markdown;
93
91
  this.editorPool = editorPool;
94
- this.codeBlockModelCollection = codeBlockModelCollection;
95
92
  this.rendererOptions = rendererOptions;
96
- this.textModelService = textModelService;
97
93
  this.instantiationService = instantiationService;
98
94
  this.aiEditTelemetryService = aiEditTelemetryService;
99
95
  this.codeblocksPartId = String(++ChatMarkdownContentPart_1.ID_POOL);
@@ -107,7 +103,6 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
107
103
  const element = context.element;
108
104
  const inUndoStop = findLast(context.content, e => e.kind === "undoStop", context.contentIndex)?.id;
109
105
  let globalCodeBlockIndexStart = codeBlockStartIndex;
110
- let thisPartCodeBlockIndexStart = 0;
111
106
  this.domNode = $("div.chat-markdown-part");
112
107
  if (this.rendererOptions.accessibilityOptions?.statusMessage) {
113
108
  this.domNode.ariaLabel = this.rendererOptions.accessibilityOptions.statusMessage;
@@ -116,6 +111,23 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
116
111
  }
117
112
  }
118
113
  const enableMath = configurationService.getValue(ChatConfiguration.EnableMath);
114
+ const incrementalRenderingEnabled = configurationService.getValue(ChatConfiguration.IncrementalRendering);
115
+ if (incrementalRenderingEnabled && isResponseVM(element) && fillInIncompleteTokens && !element.isComplete) {
116
+ this._incrementalMorpher = this._register(instantiationService.createInstance(IncrementalDOMMorpher, this.domNode));
117
+ this._incrementalMorpher.setRenderCallback(newMd => {
118
+ const savedMarkdown = this.markdown;
119
+ const content = ( new MarkdownString(newMd, this.markdown.content));
120
+ content.baseUri = URI.revive(this.markdown.content.baseUri);
121
+ content.uris = this.markdown.content.uris;
122
+ this.markdown = {
123
+ ...this.markdown,
124
+ content
125
+ };
126
+ doRenderMarkdown();
127
+ this.markdown = savedMarkdown;
128
+ this._onDidChangeHeight.fire();
129
+ });
130
+ }
119
131
  const renderStore = this._register(( new MutableDisposable()));
120
132
  const doRenderMarkdown = () => {
121
133
  if (this._store.isDisposed) {
@@ -124,12 +136,11 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
124
136
  const store = ( new DisposableStore());
125
137
  renderStore.value = store;
126
138
  clearNode(this.domNode);
139
+ dispose(this.allRefs);
127
140
  this.allRefs.length = 0;
128
141
  this._codeblocks.length = 0;
129
142
  this.mathLayoutParticipants.clear();
130
143
  globalCodeBlockIndexStart = codeBlockStartIndex;
131
- thisPartCodeBlockIndexStart = 0;
132
- const orderedDisposablesList = [];
133
144
  const markedExtensions = enableMath ? coalesce([MarkedKatexSupport.getExtension(getWindow(context.container), {
134
145
  throwOnError: false
135
146
  })]) : [];
@@ -137,7 +148,7 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
137
148
  gfm: true,
138
149
  breaks: true
139
150
  };
140
- const result = store.add(renderer.render(markdown.content, {
151
+ const result = store.add(renderer.render(this.markdown.content, {
141
152
  sanitizerConfig: MarkedKatexSupport.getSanitizerOptions({
142
153
  allowedTags: allowedChatMarkdownHtmlTags,
143
154
  allowedAttributes: allowedMarkdownHtmlAttributes
@@ -181,7 +192,7 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
181
192
  dispose: () => diffPart.dispose()
182
193
  };
183
194
  this.allRefs.push(ref);
184
- orderedDisposablesList.push(ref);
195
+ store.add(ref);
185
196
  return diffPart.element;
186
197
  }
187
198
  }
@@ -193,39 +204,17 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
193
204
  return chatExtensions.domNode;
194
205
  }
195
206
  const globalIndex = globalCodeBlockIndexStart++;
196
- const thisPartIndex = thisPartCodeBlockIndexStart++;
197
- let textModel;
198
- let range;
199
- let vulns;
200
- let codeblockEntry;
201
- if (equalsIgnoreCase(languageId, localFileLanguageId)) {
202
- try {
203
- const parsedBody = parseLocalFileData(text);
204
- range = parsedBody.range && Range.lift(parsedBody.range);
205
- const modelRefPromise = this.textModelService.createModelReference(parsedBody.uri);
206
- textModel = modelRefPromise.then(ref => {
207
- if (!store.isDisposed) {
208
- store.add(ref);
209
- }
210
- return ref.object.textEditorModel;
211
- });
212
- } catch (e) {
213
- return $("div");
214
- }
215
- } else {
216
- if (isResponseVM(element) || isRequestVM(element)) {
217
- const modelEntry = this.codeBlockModelCollection.getOrCreate(element.sessionResource, element, globalIndex);
218
- const fastUpdateModelEntry = this.codeBlockModelCollection.updateSync(element.sessionResource, element, globalIndex, {
219
- text,
220
- languageId,
221
- isComplete: isCodeBlockComplete
222
- });
223
- vulns = modelEntry.vulns;
224
- codeblockEntry = fastUpdateModelEntry;
225
- textModel = modelEntry.model;
226
- } else {
227
- textModel = undefined;
228
- }
207
+ let codeBlockText = text;
208
+ const extractedVulns = extractVulnerabilitiesFromText(text);
209
+ codeBlockText = fixCodeText(extractedVulns.newText, languageId);
210
+ const vulns = extractedVulns.vulnerabilities;
211
+ let codemapperUri;
212
+ let isEdit;
213
+ const codeblockUri = extractCodeblockUrisFromText(codeBlockText);
214
+ if (codeblockUri) {
215
+ codemapperUri = codeblockUri.uri;
216
+ isEdit = codeblockUri.isEdit;
217
+ codeBlockText = codeblockUri.textWithoutResult;
229
218
  }
230
219
  const hideToolbar = isResponseVM(element) && element.errorDetails?.responseIsFiltered;
231
220
  const renderOptions = {
@@ -236,89 +225,54 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
236
225
  }
237
226
  const codeBlockInfo = {
238
227
  languageId,
239
- textModel,
228
+ text: codeBlockText,
240
229
  codeBlockIndex: globalIndex,
241
- codeBlockPartIndex: thisPartIndex,
242
230
  element,
243
- range,
244
231
  parentContextKeyService: contextKeyService,
245
232
  vulns,
246
- codemapperUri: codeblockEntry?.codemapperUri,
233
+ codemapperUri,
247
234
  renderOptions,
248
235
  chatSessionResource: element.sessionResource
249
236
  };
250
- if (element.isCompleteAddedRequest || !codeblockEntry?.codemapperUri || !codeblockEntry.isEdit) {
251
- const ref = this.renderCodeBlock(codeBlockInfo, text, isCodeBlockComplete, currentWidth);
252
- this.allRefs.push(ref);
253
- const ownerMarkdownPartId = this.codeblocksPartId;
254
- const info = new (class {
255
- constructor() {
256
- this.ownerMarkdownPartId = ownerMarkdownPartId;
257
- this.codeBlockIndex = globalIndex;
258
- this.elementId = element.id;
259
- this.chatSessionResource = element.sessionResource;
260
- this.languageId = languageId;
261
- this.isStreamingEdit = false;
262
- this.editDeltaInfo = EditDeltaInfo.fromText(text);
263
- this.codemapperUri = undefined;
264
- this.uriPromise = textModel?.then(model => model.uri) ?? Promise.resolve(undefined);
265
- }
237
+ const baseCodeBlockInfo = {
238
+ ownerMarkdownPartId: this.codeblocksPartId,
239
+ codeBlockIndex: globalIndex,
240
+ elementId: element.id,
241
+ chatSessionResource: element.sessionResource,
242
+ languageId,
243
+ editDeltaInfo: EditDeltaInfo.fromText(text)
244
+ };
245
+ if (element.isCompleteAddedRequest || !codemapperUri || !isEdit) {
246
+ const ref = this.renderCodeBlock(codeBlockInfo, currentWidth);
247
+ this._codeblocks.push({
248
+ ...baseCodeBlockInfo,
249
+ codemapperUri: codeBlockInfo.codemapperUri,
250
+ isStreamingEdit: false,
266
251
  get uri() {
267
252
  return ref.object.uri;
268
- }
253
+ },
269
254
  focus() {
270
255
  ref.object.focus();
271
256
  }
272
- })();
273
- this._codeblocks.push(info);
274
- orderedDisposablesList.push(ref);
275
- return ref.object.element;
276
- } else {
277
- const requestId = isRequestVM(element) ? element.id : element.requestId;
278
- const ref = this.renderCodeBlockPill(
279
- element.sessionResource,
280
- requestId,
281
- inUndoStop,
282
- codeBlockInfo.codemapperUri
283
- );
284
- if (isResponseVM(codeBlockInfo.element)) {
285
- this.codeBlockModelCollection.update(
286
- codeBlockInfo.element.sessionResource,
287
- codeBlockInfo.element,
288
- codeBlockInfo.codeBlockIndex,
289
- {
290
- text,
291
- languageId: codeBlockInfo.languageId,
292
- isComplete: isCodeBlockComplete
293
- }
294
- ).then(e => {
295
- this._codeblocks[codeBlockInfo.codeBlockPartIndex].codemapperUri = e.codemapperUri;
296
- });
297
- }
298
- const ownerMarkdownPartId = this.codeblocksPartId;
299
- const info = new (class {
300
- constructor() {
301
- this.ownerMarkdownPartId = ownerMarkdownPartId;
302
- this.codeBlockIndex = globalIndex;
303
- this.elementId = element.id;
304
- this.codemapperUri = codeblockEntry?.codemapperUri;
305
- this.chatSessionResource = element.sessionResource;
306
- this.isStreamingEdit = !isCodeBlockComplete;
307
- this.uriPromise = Promise.resolve(undefined);
308
- this.languageId = languageId;
309
- this.editDeltaInfo = EditDeltaInfo.fromText(text);
310
- }
311
- get uri() {
312
- return undefined;
313
- }
314
- focus() {
315
- return ref.object.element.focus();
316
- }
317
- })();
318
- this._codeblocks.push(info);
319
- orderedDisposablesList.push(ref);
257
+ });
258
+ store.add(ref);
320
259
  return ref.object.element;
321
260
  }
261
+ const requestId = isRequestVM(element) ? element.id : element.requestId;
262
+ const ref = this.renderCodeBlockPill(element.sessionResource, requestId, inUndoStop, codemapperUri);
263
+ this._codeblocks.push({
264
+ ...baseCodeBlockInfo,
265
+ codemapperUri,
266
+ isStreamingEdit: !isCodeBlockComplete,
267
+ get uri() {
268
+ return undefined;
269
+ },
270
+ focus() {
271
+ return ref.object.element.focus();
272
+ }
273
+ });
274
+ store.add(ref);
275
+ return ref.object.element;
322
276
  },
323
277
  markedOptions: markedOpts,
324
278
  markedExtensions,
@@ -342,7 +296,7 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
342
296
  }
343
297
  const markdownDecorationsRenderer = instantiationService.createInstance(ChatMarkdownDecorationsRenderer);
344
298
  store.add(
345
- markdownDecorationsRenderer.walkTreeAndAnnotateReferenceLinks(markdown, result.element)
299
+ markdownDecorationsRenderer.walkTreeAndAnnotateReferenceLinks(this.markdown, result.element)
346
300
  );
347
301
  const layoutParticipants = ( new Lazy(() => {
348
302
  const observer = store.add(( new DisposableResizeObserver(() => this.mathLayoutParticipants.forEach(layout => layout()))));
@@ -357,17 +311,17 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
357
311
  vertical: ScrollbarVisibility.Hidden,
358
312
  horizontal: ScrollbarVisibility.Auto
359
313
  }));
360
- orderedDisposablesList.push(scrollable);
314
+ store.add(scrollable);
361
315
  katexBlock.replaceWith(scrollable.getDomNode());
362
316
  layoutParticipants.value.add(() => {
363
317
  scrollable.scanDomNode();
364
318
  });
365
319
  scrollable.scanDomNode();
366
320
  }
367
- orderedDisposablesList.push(wrapTablesWithScrollable(this.domNode, layoutParticipants));
368
- orderedDisposablesList.reverse().forEach(d => store.add(d));
321
+ store.add(wrapTablesWithScrollable(this.domNode, layoutParticipants));
369
322
  };
370
323
  doRenderMarkdown();
324
+ this._incrementalMorpher?.seed(markdown.content.value, true);
371
325
  if (enableMath && !MarkedKatexSupport.getExtension(getWindow(context.container))) {
372
326
  MarkedKatexSupport.loadExtension(getWindow(context.container)).then(() => {
373
327
  doRenderMarkdown();
@@ -394,9 +348,7 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
394
348
  };
395
349
  this.allRefs.push(ref);
396
350
  diffListenerStore.add(codeBlock.onDidChangeDiff(() => this.fireAggregatedDiff()));
397
- if (codemapperUri) {
398
- codeBlock.render(codemapperUri);
399
- }
351
+ codeBlock.render(codemapperUri);
400
352
  return ref;
401
353
  }
402
354
  fireAggregatedDiff() {
@@ -413,21 +365,14 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
413
365
  removed: totalRemoved
414
366
  });
415
367
  }
416
- renderCodeBlock(data, text, isComplete, currentWidth) {
417
- const ref = this.editorPool.get();
418
- const editorInfo = ref.object;
419
- this.codeBlockModelCollection.update(data.element.sessionResource, data.element, data.codeBlockIndex, {
420
- text,
421
- languageId: data.languageId,
422
- isComplete
423
- }).then(e => {
424
- this._codeblocks[data.codeBlockPartIndex].codemapperUri = e.codemapperUri;
425
- });
426
- editorInfo.render(data, currentWidth).then(() => {
427
- if (!this._store.isDisposed && isRequestVM(data.element)) {
428
- this._onDidChangeHeight.fire();
429
- }
430
- });
368
+ renderCodeBlock(data, currentWidth) {
369
+ const key = CodeBlockPart.poolKey(data.element.id, data.codeBlockIndex);
370
+ const ref = this.editorPool.get(key);
371
+ this.allRefs.push(ref);
372
+ ref.object.render(data, currentWidth);
373
+ if (!this._store.isDisposed && isRequestVM(data.element)) {
374
+ this._onDidChangeHeight.fire();
375
+ }
431
376
  return ref;
432
377
  }
433
378
  hasSameContent(other) {
@@ -443,6 +388,19 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
443
388
  }
444
389
  return false;
445
390
  }
391
+ tryIncrementalUpdate(newMarkdown) {
392
+ if (!this._incrementalMorpher) {
393
+ return false;
394
+ }
395
+ const success = this._incrementalMorpher.tryMorph(newMarkdown.content.value);
396
+ if (success) {
397
+ this.markdown = newMarkdown;
398
+ }
399
+ return success;
400
+ }
401
+ updateStreamRate(rate, isComplete) {
402
+ this._incrementalMorpher?.updateStreamRate(rate, isComplete);
403
+ }
446
404
  layout(width) {
447
405
  this.allRefs.forEach((ref, index) => {
448
406
  if (ref.object instanceof CodeBlockPart) {
@@ -469,7 +427,7 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
469
427
  this._register(disposable);
470
428
  }
471
429
  };
472
- ChatMarkdownContentPart = ChatMarkdownContentPart_1 = ( __decorate([( __param(10, IContextKeyService)), ( __param(11, IConfigurationService)), ( __param(12, ITextModelService)), ( __param(13, IInstantiationService)), ( __param(14, IAiEditTelemetryService))], ChatMarkdownContentPart));
430
+ ChatMarkdownContentPart = ChatMarkdownContentPart_1 = ( __decorate([( __param(9, IContextKeyService)), ( __param(10, IConfigurationService)), ( __param(11, IInstantiationService)), ( __param(12, IAiEditTelemetryService))], ChatMarkdownContentPart));
473
431
  function codeblockHasClosingBackticks(str) {
474
432
  str = str.trim();
475
433
  return !!str.match(/\n```+$/);
@@ -615,7 +573,7 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends Disposable {
615
573
  statusIconEl.classList.add(...statusIconClasses);
616
574
  const entry = editSession.readEntry(uri, r);
617
575
  const rwRatio = Math.floor((entry?.rewriteRatio.read(r) || 0) * 100);
618
- statusLabelEl.textContent = ( localize(6747, "Applying edits"));
576
+ statusLabelEl.textContent = ( localize(6833, "Applying edits"));
619
577
  const showAnimation = this.configurationService.getValue(ChatConfiguration.ShowCodeBlockProgressAnimation);
620
578
  if (showAnimation) {
621
579
  progressFill.style.width = `${rwRatio}%`;
@@ -624,13 +582,13 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends Disposable {
624
582
  } else {
625
583
  progressFill.style.width = "0%";
626
584
  this.pillElement.classList.remove("progress-filling");
627
- labelDetail.textContent = rwRatio === 0 || !rwRatio ? ( localize(6748, "Generating edits...")) : ( localize(6749, "({0}%)...", rwRatio));
585
+ labelDetail.textContent = rwRatio === 0 || !rwRatio ? ( localize(6834, "Generating edits...")) : ( localize(6835, "({0}%)...", rwRatio));
628
586
  }
629
587
  } else {
630
588
  const statusCodeicon = Codicon.check;
631
589
  statusIconClasses = ThemeIcon.asClassNameArray(statusCodeicon);
632
590
  statusIconEl.classList.add(...statusIconClasses);
633
- statusLabelEl.textContent = ( localize(6750, "Edited"));
591
+ statusLabelEl.textContent = ( localize(6836, "Edited"));
634
592
  const fileKind = uri.path.endsWith("/") ? FileKind.FOLDER : FileKind.FILE;
635
593
  pillIconClasses = getIconClasses(this.modelService, this.languageService, uri, fileKind);
636
594
  iconEl.classList.add(...pillIconClasses);
@@ -651,10 +609,10 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends Disposable {
651
609
  this._onDidChangeDiff.fire(changes);
652
610
  labelAdded.textContent = `+${changes.added}`;
653
611
  labelRemoved.textContent = `-${changes.removed}`;
654
- const insertionsFragment = changes.added === 1 ? ( localize(6751, "1 insertion")) : ( localize(6752, "{0} insertions", changes.added));
655
- const deletionsFragment = changes.removed === 1 ? ( localize(6753, "1 deletion")) : ( localize(6754, "{0} deletions", changes.removed));
612
+ const insertionsFragment = changes.added === 1 ? ( localize(6837, "1 insertion")) : ( localize(6838, "{0} insertions", changes.added));
613
+ const deletionsFragment = changes.removed === 1 ? ( localize(6839, "1 deletion")) : ( localize(6840, "{0} deletions", changes.removed));
656
614
  const summary = ( localize(
657
- 6755,
615
+ 6841,
658
616
  "Edited {0}, {1}, {2}",
659
617
  iconText,
660
618
  insertionsFragment,
@@ -684,5 +642,13 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends Disposable {
684
642
  }
685
643
  };
686
644
  CollapsedCodeBlock = ( __decorate([( __param(3, ILabelService)), ( __param(4, IEditorService)), ( __param(5, IModelService)), ( __param(6, ILanguageService)), ( __param(7, IContextMenuService)), ( __param(8, IContextKeyService)), ( __param(9, IMenuService)), ( __param(10, IHoverService)), ( __param(11, IChatService)), ( __param(12, IConfigurationService))], CollapsedCodeBlock));
645
+ function fixCodeText(text, languageId) {
646
+ if (languageId === "php") {
647
+ if (!text.trim().startsWith("<?")) {
648
+ return `<?php\n${text}`;
649
+ }
650
+ }
651
+ return text;
652
+ }
687
653
 
688
654
  export { ChatMarkdownContentPart, CollapsedCodeBlock, codeblockHasClosingBackticks };
@@ -92,25 +92,25 @@ let ChatMcpServersInteractionContentPart = class ChatMcpServersInteractionConten
92
92
  text: "`" + escapeMarkdownSyntaxTokens(s.label) + "`",
93
93
  id: McpCommandIds.ServerOptions,
94
94
  arguments: [s.id],
95
- tooltip: ( localize(6756, "Show options for {0}", s.label))
95
+ tooltip: ( localize(6842, "Show options for {0}", s.label))
96
96
  }, false))).join(", ");
97
97
  }
98
98
  updateDetailedProgress(state) {
99
99
  const skipText = createMarkdownCommandLink({
100
- text: ( localize(6757, "Skip?")),
100
+ text: ( localize(6843, "Skip?")),
101
101
  id: McpCommandIds.SkipCurrentAutostart,
102
- tooltip: ( localize(6758, "Skip starting this MCP server"))
102
+ tooltip: ( localize(6844, "Skip starting this MCP server"))
103
103
  });
104
104
  let content;
105
105
  if (state.starting.length === 0) {
106
106
  content = ( new MarkdownString(undefined, {
107
107
  isTrusted: true
108
- })).appendText(( localize(6759, "Activating MCP extensions...")) + " ").appendMarkdown(skipText);
108
+ })).appendText(( localize(6845, "Activating MCP extensions...")) + " ").appendMarkdown(skipText);
109
109
  } else {
110
110
  const serverLinks = this.createServerCommandLinks(state.starting);
111
111
  content = ( new MarkdownString(undefined, {
112
112
  isTrusted: true
113
- })).appendMarkdown(( localize(6760, "Starting MCP servers {0}...", serverLinks)) + " ").appendMarkdown(skipText);
113
+ })).appendMarkdown(( localize(6846, "Starting MCP servers {0}...", serverLinks)) + " ").appendMarkdown(skipText);
114
114
  }
115
115
  if (this.workingProgressPart) {
116
116
  this.workingProgressPart.updateMessage(content);
@@ -149,12 +149,12 @@ let ChatMcpServersInteractionContentPart = class ChatMcpServersInteractionConten
149
149
  const count = serversRequiringInteraction.length;
150
150
  const links = this.createServerCommandLinks(serversRequiringInteraction);
151
151
  const content = count === 1 ? ( localize(
152
- 6761,
152
+ 6847,
153
153
  "The MCP server {0} may have new tools and requires interaction to start. [Start it now?]({1})",
154
154
  links,
155
155
  "#start"
156
156
  )) : ( localize(
157
- 6762,
157
+ 6848,
158
158
  "The MCP servers {0} may have new tools and require interaction to start. [Start them now?]({1})",
159
159
  links,
160
160
  "#start"
@@ -196,7 +196,7 @@ let ChatMcpServersInteractionContentPart = class ChatMcpServersInteractionConten
196
196
  const serversToStart = state.serversRequiringInteraction;
197
197
  for (let i = 0; i < serversToStart.length; i++) {
198
198
  const serverInfo = serversToStart[i];
199
- startLink.textContent = ( localize(6763, "Starting {0}...", serverInfo.label));
199
+ startLink.textContent = ( localize(6849, "Starting {0}...", serverInfo.label));
200
200
  const server = this.mcpService.servers.get().find(s => s.definition.id === serverInfo.id);
201
201
  if (server) {
202
202
  await startServerAndWaitForLiveTools(server, {
@@ -64,7 +64,7 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
64
64
  const viewListButton = ( new ButtonWithIcon(viewListButtonContainer, {}));
65
65
  this._register(autorun(reader => {
66
66
  const fileCount = this.diffData.read(reader).resources.length;
67
- viewListButton.label = fileCount === 1 ? ( localize(6764, "Changed 1 file")) : ( localize(6765, "Changed {0} files", fileCount));
67
+ viewListButton.label = fileCount === 1 ? ( localize(6850, "Changed 1 file")) : ( localize(6851, "Changed {0} files", fileCount));
68
68
  }));
69
69
  const setExpansionState = () => {
70
70
  viewListButton.icon = this.isCollapsed ? Codicon.chevronRight : Codicon.chevronDown;
@@ -86,7 +86,7 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
86
86
  renderViewAllFileChangesButton(container) {
87
87
  const button = container.appendChild($(".chat-view-changes-icon"));
88
88
  button.classList.add(...ThemeIcon.asClassNameArray(Codicon.diffMultiple));
89
- button.title = ( localize(6766, "Open Changes"));
89
+ button.title = ( localize(6852, "Open Changes"));
90
90
  return addDisposableListener(button, "click", e => {
91
91
  const source = ( URI.parse(`multi-diff-editor:${( ( new Date()).getMilliseconds().toString()) + ( Math.random().toString())}`));
92
92
  const {
@@ -143,7 +143,7 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
143
143
  alwaysConsumeMouseWheel: false,
144
144
  accessibilityProvider: {
145
145
  getAriaLabel: element => element.uri.path,
146
- getWidgetAriaLabel: () => ( localize(6767, "File Changes"))
146
+ getWidgetAriaLabel: () => ( localize(6853, "File Changes"))
147
147
  }
148
148
  })
149
149
  );
@@ -259,7 +259,7 @@ class ChatMultiDiffListRenderer {
259
259
  const removedElement = changesSummary.appendChild($(".deletions"));
260
260
  removedElement.textContent = `-${element.diff.removed}`;
261
261
  changesSummary.setAttribute("aria-label", ( localize(
262
- 6768,
262
+ 6854,
263
263
  "{0} lines added, {1} lines removed",
264
264
  element.diff.added,
265
265
  element.diff.removed
@@ -0,0 +1,58 @@
1
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
2
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
4
+ import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service";
5
+ import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
6
+ import { IMarkdownRendererService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service";
7
+ import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
8
+ import { IChatPlanReview, IChatPlanReviewResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
9
+ import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
10
+ import { ChatTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
11
+ import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentParts.js";
12
+ export interface IChatPlanReviewPartOptions {
13
+ onSubmit: (result: IChatPlanReviewResult) => void;
14
+ }
15
+ export declare class ChatPlanReviewPart extends Disposable implements IChatContentPart {
16
+ readonly review: IChatPlanReview;
17
+ private readonly _options;
18
+ private readonly _markdownRendererService;
19
+ private readonly _contextMenuService;
20
+ private readonly _dialogService;
21
+ private readonly _editorService;
22
+ private readonly _hoverService;
23
+ readonly domNode: HTMLElement;
24
+ private readonly _onDidChangeHeight;
25
+ readonly onDidChangeHeight: Event<void>;
26
+ private readonly _buttonStore;
27
+ private readonly _messageContentDisposables;
28
+ private readonly _titleActionsEl;
29
+ private readonly _inlineActionsEl;
30
+ private readonly _footerButtonsEl;
31
+ private readonly _messageEl;
32
+ private readonly _messageScrollable;
33
+ private readonly _collapseButton;
34
+ private readonly _restoreButton;
35
+ private _isCollapsed;
36
+ private _isExpanded;
37
+ private _isSubmitted;
38
+ private _selectedAction;
39
+ private _feedbackTextarea;
40
+ private _feedbackSection;
41
+ private _isFeedbackMode;
42
+ constructor(review: IChatPlanReview, context: IChatContentPartRenderContext, _options: IChatPlanReviewPartOptions, _markdownRendererService: IMarkdownRendererService, _contextMenuService: IContextMenuService, _dialogService: IDialogService, _editorService: IEditorService, _hoverService: IHoverService);
43
+ hasSameContent(other: IChatRendererContent, _followingContent: IChatRendererContent[], _element: ChatTreeItem): boolean;
44
+ private renderMarkdown;
45
+ private renderFeedback;
46
+ private renderActionButtons;
47
+ private toggleCollapsed;
48
+ private toggleExpanded;
49
+ private updateCollapsedPresentation;
50
+ private updateExpandedPresentation;
51
+ private openPlanFile;
52
+ private submitApproval;
53
+ private submitRejection;
54
+ private enterFeedbackMode;
55
+ private submitFeedback;
56
+ private confirmAutopilot;
57
+ private markUsed;
58
+ }