@codingame/monaco-vscode-katex-common 30.0.0 → 31.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 (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
@@ -15,7 +15,6 @@ import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/c
15
15
  import { ChatAgentLocation, ChatModeKind } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
16
16
  import { IChatRequestModeInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
17
17
  import { IChatRequestViewModel, IChatResponseViewModel, IChatViewModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
18
- import { CodeBlockModelCollection } from "../../common/widget/codeBlockModelCollection.js";
19
18
  import { ChatTreeItem, IChatCodeBlockInfo, IChatFileTreeInfo, IChatListItemRendererOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
20
19
  import { IChatAccessibilityService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
21
20
  import { CodeBlockPart } from "./chatContentParts/codeBlockPart.js";
@@ -62,11 +61,6 @@ export interface IChatListWidgetOptions {
62
61
  * Optional filter for the tree.
63
62
  */
64
63
  readonly filter?: ITreeFilter<ChatTreeItem, FuzzyScore>;
65
- /**
66
- * Optional code block model collection to use.
67
- * If not provided, one will be created.
68
- */
69
- readonly codeBlockModelCollection?: CodeBlockModelCollection;
70
64
  /**
71
65
  * Initial view model.
72
66
  */
@@ -138,7 +132,6 @@ export declare class ChatListWidget extends Disposable {
138
132
  get onDidFocusOutside(): Event<void>;
139
133
  private readonly _tree;
140
134
  private readonly _renderer;
141
- private readonly _codeBlockModelCollection;
142
135
  private _viewModel;
143
136
  private _visible;
144
137
  private _lastItem;
@@ -29,7 +29,6 @@ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
29
29
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
30
30
  import { ChatConfiguration, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
31
31
  import { isRequestVM, isResponseVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
32
- import { CodeBlockModelCollection } from '../../common/widget/codeBlockModelCollection.js';
33
32
  import { ChatAccessibilityProvider } from '../accessibility/chatAccessibilityProvider.js';
34
33
  import { IChatAccessibilityService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
35
34
  import { ChatListDelegate, ChatListItemRenderer } from './chatListRenderer.js';
@@ -111,9 +110,6 @@ let ChatListWidget = class ChatListWidget extends Disposable {
111
110
  this._bodyDimension = null;
112
111
  this._previousLastItemMinHeight = null;
113
112
  this._viewModel = options.viewModel;
114
- this._codeBlockModelCollection = options.codeBlockModelCollection ?? this._register(
115
- this.instantiationService.createInstance(CodeBlockModelCollection, "chatListWidget")
116
- );
117
113
  this._location = options.location;
118
114
  this._getCurrentLanguageModelId = options.getCurrentLanguageModelId;
119
115
  this._getCurrentModeInfo = options.getCurrentModeInfo;
@@ -156,7 +152,6 @@ let ChatListWidget = class ChatListWidget extends Disposable {
156
152
  editorOptions,
157
153
  options.rendererOptions ?? {},
158
154
  rendererDelegate,
159
- this._codeBlockModelCollection,
160
155
  overflowWidgetsContainer,
161
156
  this._viewModel
162
157
  ));
@@ -267,6 +262,7 @@ let ChatListWidget = class ChatListWidget extends Disposable {
267
262
  this._onDidScroll.fire(e);
268
263
  this.updateScrollDownButtonVisibility();
269
264
  }));
265
+ this.updateScrollDownButtonVisibility();
270
266
  this._register(this._tree.onContextMenu(e => {
271
267
  this.handleContextMenu(e);
272
268
  }));
@@ -278,8 +274,9 @@ let ChatListWidget = class ChatListWidget extends Disposable {
278
274
  }));
279
275
  }
280
276
  updateScrollDownButtonVisibility() {
281
- const show = !this.isScrolledToBottom && !this._scrollLock;
282
- this._scrollDownButton.element.style.display = show ? "" : "none";
277
+ const atBottom = this.isScrolledToBottom || this._scrollLock;
278
+ this._scrollDownButton.element.style.display = atBottom ? "none" : "";
279
+ this._container.classList.toggle("chat-list-at-bottom", atBottom);
283
280
  }
284
281
  handleContextMenu(e) {
285
282
  e.browserEvent.preventDefault();
@@ -133,7 +133,6 @@ export declare class ChatWidget extends Disposable implements IChatWidget {
133
133
  private container;
134
134
  get domNode(): HTMLElement;
135
135
  private listWidget;
136
- private readonly _codeBlockModelCollection;
137
136
  private inputPartMaxHeightOverride;
138
137
  private readonly visibilityTimeoutDisposable;
139
138
  private readonly visibilityAnimationFrameDisposable;
@@ -151,6 +150,7 @@ export declare class ChatWidget extends Disposable implements IChatWidget {
151
150
  private bodyDimension;
152
151
  private visibleChangeCount;
153
152
  private requestInProgress;
153
+ private hasActiveRequest;
154
154
  private agentInInput;
155
155
  private _visible;
156
156
  get visible(): boolean;
@@ -304,12 +304,5 @@ export declare class ChatWidget extends Disposable implements IChatWidget {
304
304
  private updateChatInputContext;
305
305
  private _switchToAgentByName;
306
306
  private _applyPromptMetadata;
307
- /**
308
- * Adds additional instructions to the context
309
- * - instructions that have a 'applyTo' pattern that matches the current input
310
- * - instructions referenced in the copilot settings 'copilot-instructions'
311
- * - instructions referenced in an already included instruction file
312
- */
313
- private _autoAttachInstructions;
314
307
  delegateScrollFromMouseWheelEvent(browserEvent: IMouseWheelEvent): void;
315
308
  }
@@ -60,12 +60,9 @@ import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs
60
60
  import { IChatTodoListService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/chatTodoListService.service';
61
61
  import { isWorkspaceVariableEntry, isPromptFileVariableEntry, isPromptTextVariableEntry, toPromptFileVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
62
62
  import { isResponseVM, isRequestVM, ChatViewModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
63
- import { CodeBlockModelCollection } from '../../common/widget/codeBlockModelCollection.js';
64
63
  import { ChatModeKind, ChatPermissionLevel, ChatConfiguration, ThinkingDisplayMode, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
65
64
  import { isToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
66
65
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
67
- import { ComputeAutomaticInstructions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions';
68
- import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
69
66
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
70
67
  import { GENERATE_AGENT_INSTRUCTIONS_COMMAND_ID, handleModeSwitch } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
71
68
  import { isIChatResourceViewContext, isIChatViewViewContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
@@ -110,9 +107,10 @@ const supportsAllAttachments = {
110
107
  supportsSymbolAttachments: true,
111
108
  supportsTerminalAttachments: true,
112
109
  supportsPromptAttachments: true,
113
- supportsHandOffs: true
110
+ supportsHandOffs: true,
111
+ supportsCheckpoints: true
114
112
  };
115
- const DISCLAIMER = ( localize(7016, "AI responses may be inaccurate"));
113
+ const DISCLAIMER = ( localize(7140, "AI responses may be inaccurate"));
116
114
  let ChatWidget = class ChatWidget extends Disposable {
117
115
  static {
118
116
  ChatWidget_1 = this;
@@ -316,6 +314,7 @@ let ChatWidget = class ChatWidget extends Disposable {
316
314
  ChatContextKeys.inQuickChat.bindTo(contextKeyService).set(isQuickChat(this));
317
315
  this.agentInInput = ChatContextKeys.inputHasAgent.bindTo(contextKeyService);
318
316
  this.requestInProgress = ChatContextKeys.requestInProgress.bindTo(contextKeyService);
317
+ this.hasActiveRequest = ChatContextKeys.hasActiveRequest.bindTo(contextKeyService);
319
318
  this._register(
320
319
  this.chatEntitlementService.onDidChangeAnonymous(() => this.renderWelcomeViewContentIfNeeded())
321
320
  );
@@ -393,7 +392,6 @@ let ChatWidget = class ChatWidget extends Disposable {
393
392
  return lastResponse?.result?.errorDetails && !lastResponse?.result?.errorDetails.responseIsIncomplete;
394
393
  })
395
394
  );
396
- this._codeBlockModelCollection = this._register(instantiationService.createInstance(CodeBlockModelCollection, undefined));
397
395
  this.chatSuggestNextWidget = this._register(this.instantiationService.createInstance(ChatSuggestNextWidget));
398
396
  this._register(autorun(r => {
399
397
  const viewModel = viewModelObs.read(r);
@@ -798,7 +796,7 @@ let ChatWidget = class ChatWidget extends Disposable {
798
796
  }
799
797
  this.container.classList.toggle(
800
798
  "chat-view-getting-started-disabled",
801
- this.chatEntitlementService.sentiment.installed
799
+ this.chatEntitlementService.sentiment.completed
802
800
  );
803
801
  this._onDidChangeEmptyState.fire();
804
802
  }
@@ -809,6 +807,9 @@ let ChatWidget = class ChatWidget extends Disposable {
809
807
  if (this._isRenderingWelcome) {
810
808
  return;
811
809
  }
810
+ if (!this.inputPartDisposable.value) {
811
+ return;
812
+ }
812
813
  this._isRenderingWelcome = true;
813
814
  try {
814
815
  if (this.viewOptions.renderStyle === "compact" || this.viewOptions.renderStyle === "minimal" || this.lifecycleService.willShutdown) {
@@ -818,10 +819,10 @@ let ChatWidget = class ChatWidget extends Disposable {
818
819
  if (!numItems) {
819
820
  const defaultAgent = this.chatAgentService.getDefaultAgent(this.location, this.input.currentModeKind);
820
821
  let additionalMessage;
821
- if (this.chatEntitlementService.anonymous && !this.chatEntitlementService.sentiment.installed) {
822
+ if (this.chatEntitlementService.anonymous && !this.chatEntitlementService.sentiment.completed) {
822
823
  const providers = product.defaultChatAgent.provider;
823
824
  additionalMessage = ( new MarkdownString(( localize(
824
- 7017,
825
+ 7141,
825
826
  "By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3}).",
826
827
  providers.default.name,
827
828
  providers.default.name,
@@ -903,7 +904,7 @@ let ChatWidget = class ChatWidget extends Disposable {
903
904
  return ( new MarkdownString(""));
904
905
  } else if (this._instructionFilesExist === false) {
905
906
  return (new MarkdownString(localize(
906
- 7018,
907
+ 7142,
907
908
  "[Generate Agent Instructions]({0}) to onboard AI onto your codebase.",
908
909
  `command:${GENERATE_AGENT_INSTRUCTIONS_COMMAND_ID}`
909
910
  ), {
@@ -929,19 +930,19 @@ let ChatWidget = class ChatWidget extends Disposable {
929
930
  const providerTitle = contribution?.welcomeTitle;
930
931
  const providerMessage = contribution?.welcomeMessage;
931
932
  const message = providerMessage ? ( new MarkdownString(providerMessage)) : (this._lockedAgent?.prefix === "@copilot " ? ( new MarkdownString(( localize(
932
- 7019,
933
+ 7143,
933
934
  "This chat session will be forwarded to the {0} [coding agent]({1}) where work is completed in the background. ",
934
935
  this._lockedAgent.prefix,
935
936
  "https://aka.ms/coding-agent-docs"
936
937
  )) + DISCLAIMER, {
937
938
  isTrusted: true
938
939
  })) : ( new MarkdownString(( localize(
939
- 7020,
940
+ 7144,
940
941
  "This chat session will be forwarded to the {0} coding agent where work is completed in the background. ",
941
942
  this._lockedAgent?.prefix
942
943
  )) + DISCLAIMER)));
943
944
  return {
944
- title: providerTitle ?? ( localize(7021, "Delegate to {0}", this._lockedAgent?.prefix)),
945
+ title: providerTitle ?? ( localize(7145, "Delegate to {0}", this._lockedAgent?.prefix)),
945
946
  message,
946
947
  icon: providerIcon ?? Codicon.sendToRemoteAgent,
947
948
  additionalMessage,
@@ -950,11 +951,11 @@ let ChatWidget = class ChatWidget extends Disposable {
950
951
  }
951
952
  let title;
952
953
  if (this.input.currentModeKind === ChatModeKind.Ask) {
953
- title = ( localize(7022, "Ask about your code"));
954
+ title = ( localize(7146, "Ask about your code"));
954
955
  } else if (this.input.currentModeKind === ChatModeKind.Edit) {
955
- title = ( localize(7023, "Edit in context"));
956
+ title = ( localize(7147, "Edit in context"));
956
957
  } else {
957
- title = ( localize(7024, "Build with Agent"));
958
+ title = ( localize(7148, "Build with Agent"));
958
959
  }
959
960
  return {
960
961
  title,
@@ -1229,7 +1230,6 @@ let ChatWidget = class ChatWidget extends Disposable {
1229
1230
  filter: this.viewOptions.filter ? {
1230
1231
  filter: this.viewOptions.filter.bind(this.viewOptions)
1231
1232
  } : undefined,
1232
- codeBlockModelCollection: this._codeBlockModelCollection,
1233
1233
  viewModel: this.viewModel,
1234
1234
  editorOptions: this.editorOptions,
1235
1235
  location: this.location,
@@ -1615,15 +1615,14 @@ let ChatWidget = class ChatWidget extends Disposable {
1615
1615
  const tipContainer = this.inputPart.gettingStartedTipContainerElement;
1616
1616
  clearNode(tipContainer);
1617
1617
  setVisibility(false, tipContainer);
1618
- this._codeBlockModelCollection.clear();
1619
1618
  this.inputPart.setInputModel(model.inputModel, model.getRequests().length === 0);
1620
- this.viewModel = this.instantiationService.createInstance(ChatViewModel, model, this._codeBlockModelCollection, undefined);
1619
+ this.viewModel = this.instantiationService.createInstance(ChatViewModel, model, undefined);
1621
1620
  this.listWidget.setViewModel(this.viewModel);
1622
1621
  if (this._lockedAgent) {
1623
1622
  let placeholder = this.chatSessionsService.getChatSessionContribution(this._lockedAgent.id)?.inputPlaceholder;
1624
1623
  if (!placeholder) {
1625
1624
  placeholder = ( localize(
1626
- 7025,
1625
+ 7149,
1627
1626
  "Chat with {0}",
1628
1627
  this._lockedAgent.displayName || this._lockedAgent.name
1629
1628
  ));
@@ -1645,6 +1644,7 @@ let ChatWidget = class ChatWidget extends Disposable {
1645
1644
  return;
1646
1645
  }
1647
1646
  this.requestInProgress.set(this.viewModel.model.requestInProgress.get());
1647
+ this.hasActiveRequest.set(this.viewModel.model.hasActiveRequest.get());
1648
1648
  if (events?.some(e => e?.kind === "changePlaceholder")) {
1649
1649
  this.inputEditor.updateOptions({
1650
1650
  placeholder: this.viewModel.inputPlaceholder
@@ -1677,7 +1677,7 @@ let ChatWidget = class ChatWidget extends Disposable {
1677
1677
  this._hasPendingRequestsContextKey.set(pendingCount > 0);
1678
1678
  const steeringCount = pendingRequests.filter(pending => pending.kind === ChatRequestQueueKind.Steering).length;
1679
1679
  if (announceSteering && steeringCount > 0 && lastSteeringCount === 0) {
1680
- status(( localize(7026, "Steering")));
1680
+ status(( localize(7150, "Steering")));
1681
1681
  }
1682
1682
  lastSteeringCount = steeringCount;
1683
1683
  };
@@ -1763,10 +1763,11 @@ let ChatWidget = class ChatWidget extends Disposable {
1763
1763
  this.renderWelcomeViewContentIfNeeded();
1764
1764
  const agent = this.chatAgentService.getAgent(agentId);
1765
1765
  this._updateAgentCapabilitiesContextKeys(agent);
1766
+ const supportsCheckpoints = this._attachmentCapabilities.supportsCheckpoints ?? false;
1766
1767
  this.listWidget?.updateRendererOptions({
1767
- restorable: false,
1768
- editable: false,
1769
- noFooter: true,
1768
+ restorable: supportsCheckpoints,
1769
+ editable: supportsCheckpoints,
1770
+ noFooter: false,
1770
1771
  progressMessageAtBottomOfResponse: true
1771
1772
  });
1772
1773
  if (this.visible) {
@@ -1789,7 +1790,6 @@ let ChatWidget = class ChatWidget extends Disposable {
1789
1790
  this.listWidget?.updateRendererOptions({
1790
1791
  restorable: true,
1791
1792
  editable: true,
1792
- noFooter: false,
1793
1793
  progressMessageAtBottomOfResponse: mode => mode !== ChatModeKind.Ask
1794
1794
  });
1795
1795
  if (this.visible) {
@@ -1864,11 +1864,12 @@ let ChatWidget = class ChatWidget extends Disposable {
1864
1864
  const refs = parseResult.body?.variableReferences.map((
1865
1865
  {
1866
1866
  name,
1867
- offset
1867
+ offset,
1868
+ fullLength
1868
1869
  }
1869
1870
  ) => ({
1870
1871
  name,
1871
- range: ( new OffsetRange(offset, offset + name.length + 1))
1872
+ range: ( new OffsetRange(offset, offset + fullLength))
1872
1873
  })) ?? [];
1873
1874
  const toolReferences = this.toolsService.toToolReferences(refs);
1874
1875
  requestInput.attachedContext.insertFirst(toPromptFileVariableEntry(
@@ -1878,12 +1879,11 @@ let ChatWidget = class ChatWidget extends Disposable {
1878
1879
  true,
1879
1880
  toolReferences
1880
1881
  ));
1881
- const promptPath = slashCommand.promptPath;
1882
1882
  const promptRunEvent = {
1883
- storage: promptPath.storage
1883
+ storage: slashCommand.storage
1884
1884
  };
1885
- if (promptPath.storage === PromptsStorage.extension) {
1886
- promptRunEvent.extensionId = promptPath.extension.identifier.value;
1885
+ if (slashCommand.extension) {
1886
+ promptRunEvent.extensionId = slashCommand.extension.identifier.value;
1887
1887
  promptRunEvent.promptName = slashCommand.name;
1888
1888
  } else {
1889
1889
  promptRunEvent.promptNameHash = ( hash(slashCommand.name).toString(16));
@@ -1927,6 +1927,7 @@ let ChatWidget = class ChatWidget extends Disposable {
1927
1927
  const isUserQuery = !query;
1928
1928
  const isEditing = this.viewModel?.editing;
1929
1929
  if (isEditing) {
1930
+ this.inputPart?.clearToolConfirmationCarousel();
1930
1931
  const editingPendingRequest = this.viewModel.editing.pendingKind;
1931
1932
  if (editingPendingRequest !== undefined) {
1932
1933
  const editingRequestId = this.viewModel.editing.id;
@@ -1936,8 +1937,14 @@ let ChatWidget = class ChatWidget extends Disposable {
1936
1937
  await this.chatService.cancelCurrentRequestForSession(this.viewModel.sessionResource, "acceptInput-editing");
1937
1938
  options.queue = undefined;
1938
1939
  }
1940
+ const preserveCheckpoint = this._lockedAgent && !!this._attachmentCapabilities.supportsCheckpoints;
1941
+ if (preserveCheckpoint) {
1942
+ this.recentlyRestoredCheckpoint = true;
1943
+ }
1939
1944
  this.finishedEditing(true);
1940
- this.viewModel.model?.setCheckpoint(undefined);
1945
+ if (!preserveCheckpoint) {
1946
+ this.viewModel.model?.setCheckpoint(undefined);
1947
+ }
1941
1948
  }
1942
1949
  const model = this.viewModel.model;
1943
1950
  const requestInProgress = model.requestInProgress.get();
@@ -1952,9 +1959,6 @@ let ChatWidget = class ChatWidget extends Disposable {
1952
1959
  return;
1953
1960
  }
1954
1961
  await this._applyPromptFileIfSet(requestInputs);
1955
- markChat(this.viewModel.sessionResource, ChatPerfMark.WillCollectInstructions);
1956
- await this._autoAttachInstructions(requestInputs);
1957
- markChat(this.viewModel.sessionResource, ChatPerfMark.DidCollectInstructions);
1958
1962
  if (this.viewOptions.enableWorkingSet !== undefined && this.input.currentModeKind === ChatModeKind.Edit) {
1959
1963
  const uniqueWorkingSetEntries = ( new ResourceSet());
1960
1964
  const editingSessionAttachedContext = requestInputs.attachedContext;
@@ -1981,13 +1985,18 @@ let ChatWidget = class ChatWidget extends Disposable {
1981
1985
  const requests = this.viewModel.model.getRequests();
1982
1986
  for (let i = requests.length - 1; i >= 0; i -= 1) {
1983
1987
  const request = requests[i];
1984
- if (request.shouldBeBlocked) {
1988
+ if (request.shouldBeBlocked.get() || request === this.viewModel.model.checkpoint) {
1985
1989
  this.chatService.removeRequest(this.viewModel.sessionResource, request.id);
1986
1990
  }
1987
1991
  }
1992
+ this.viewModel.model.setCheckpoint(undefined);
1988
1993
  }
1994
+ const enabledTools = this.input.currentModeKind === ChatModeKind.Agent ? this.input.selectedToolsModel.userSelectedTools.get() : undefined;
1995
+ const enabledSubAgents = this.input.currentModeKind === ChatModeKind.Agent ? this.input.currentModeObs.get().agents?.get() : undefined;
1989
1996
  const resolvedImageVariables = await this._resolveDirectoryImageAttachments(requestInputs.attachedContext.asArray());
1990
1997
  const submittedSessionResource = this.viewModel.sessionResource;
1998
+ const contribution = this._lockedAgent ? this.chatSessionsService.getChatSessionContribution(this._lockedAgent.id) : undefined;
1999
+ const autoAttachEnabled = contribution ? contribution.autoAttachReferences === true : true;
1991
2000
  const result = await this.chatService.sendRequest(this.viewModel.sessionResource, requestInputs.input, {
1992
2001
  userSelectedModelId: this.input.currentLanguageModel,
1993
2002
  location: this.location,
@@ -2003,7 +2012,12 @@ let ChatWidget = class ChatWidget extends Disposable {
2003
2012
  ...this.getModeRequestOptions(),
2004
2013
  modeInfo: this.input.currentModeInfo,
2005
2014
  agentIdSilent: this._lockedAgent?.id,
2006
- queue: options?.queue
2015
+ queue: options?.queue,
2016
+ instructionContext: autoAttachEnabled ? {
2017
+ modeKind: this.input.currentModeKind,
2018
+ enabledTools,
2019
+ enabledSubAgents
2020
+ } : undefined
2007
2021
  });
2008
2022
  if (ChatSendResult.isRejected(result)) {
2009
2023
  return;
@@ -2076,16 +2090,16 @@ let ChatWidget = class ChatWidget extends Disposable {
2076
2090
  }
2077
2091
  const promptResult = await this.dialogService.prompt({
2078
2092
  type: "question",
2079
- message: ( localize(7027, "You already have pending requests.")),
2093
+ message: ( localize(7151, "You already have pending requests.")),
2080
2094
  detail: ( localize(
2081
- 7028,
2095
+ 7152,
2082
2096
  "Do you want to keep them in the queue or remove them before sending this message?"
2083
2097
  )),
2084
2098
  buttons: [{
2085
- label: ( localize(7029, "Keep Pending Requests")),
2099
+ label: ( localize(7153, "Keep Pending Requests")),
2086
2100
  run: () => "keep"
2087
2101
  }, {
2088
- label: ( localize(7030, "Remove Pending Requests")),
2102
+ label: ( localize(7154, "Remove Pending Requests")),
2089
2103
  run: () => "remove"
2090
2104
  }],
2091
2105
  cancelButton: true
@@ -2106,6 +2120,9 @@ let ChatWidget = class ChatWidget extends Disposable {
2106
2120
  const userSelectedTools = this.input.selectedToolsModel.userSelectedTools;
2107
2121
  let lastToolsSnapshot = userSelectedTools.get();
2108
2122
  const scopedTools = derived(reader => {
2123
+ if (this._store.isDisposed) {
2124
+ return lastToolsSnapshot;
2125
+ }
2109
2126
  const activeSession = this._viewModelObs.read(reader)?.sessionResource;
2110
2127
  const currentModeId = this.input.currentModeObs.read(reader).id;
2111
2128
  if (isEqual(activeSession, sessionResource) && currentModeId === capturedModeId) {
@@ -2316,40 +2333,6 @@ let ChatWidget = class ChatWidget extends Disposable {
2316
2333
  this.input.switchModelByQualifiedName(model);
2317
2334
  }
2318
2335
  }
2319
- async _autoAttachInstructions(
2320
- {
2321
- attachedContext
2322
- }
2323
- ) {
2324
- const contribution = this._lockedAgent ? this.chatSessionsService.getChatSessionContribution(this._lockedAgent.id) : undefined;
2325
- const isContributedSession = !!contribution;
2326
- const autoAttachEnabled = isContributedSession ? contribution.autoAttachReferences === true : true;
2327
- if (!autoAttachEnabled) {
2328
- this.logService.debug(
2329
- `ChatWidget#_autoAttachInstructions: skipped, autoAttachReferences is disabled`
2330
- );
2331
- return;
2332
- }
2333
- try {
2334
- this.logService.debug(`ChatWidget#_autoAttachInstructions: prompt files are enabled`);
2335
- const enabledTools = this.input.currentModeKind === ChatModeKind.Agent ? this.input.selectedToolsModel.userSelectedTools.get() : undefined;
2336
- const enabledSubAgents = this.input.currentModeKind === ChatModeKind.Agent ? this.input.currentModeObs.get().agents?.get() : undefined;
2337
- const sessionResource = this._viewModel?.model.sessionResource;
2338
- const computer = this.instantiationService.createInstance(
2339
- ComputeAutomaticInstructions,
2340
- this.input.currentModeKind,
2341
- enabledTools,
2342
- enabledSubAgents,
2343
- sessionResource
2344
- );
2345
- await computer.collect(attachedContext, CancellationToken.None);
2346
- } catch (err) {
2347
- this.logService.error(
2348
- `ChatWidget#_autoAttachInstructions: failed to compute automatic instructions`,
2349
- err
2350
- );
2351
- }
2352
- }
2353
2336
  delegateScrollFromMouseWheelEvent(browserEvent) {
2354
2337
  this.listWidget.delegateScrollFromMouseWheelEvent(browserEvent);
2355
2338
  }
@@ -45,7 +45,7 @@ let ChatFollowups = class ChatFollowups extends Disposable {
45
45
  } else if (followup.kind === "command") {
46
46
  button.element.classList.add("interactive-followup-command");
47
47
  }
48
- button.element.ariaLabel = ( localize(7031, "Follow up question: {0}", baseTitle));
48
+ button.element.ariaLabel = ( localize(7155, "Follow up question: {0}", baseTitle));
49
49
  button.label = ( new MarkdownString(baseTitle));
50
50
  this._register(button.onDidClick(() => this.clickHandler(followup)));
51
51
  }
@@ -18,17 +18,16 @@ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform
18
18
  import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
19
19
  import { ISharedWebContentExtractorService } from "@codingame/monaco-vscode-api/vscode/vs/platform/webContentExtractor/common/webContentExtractor.service";
20
20
  import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
21
+ import { ISCMService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service";
21
22
  import { IWorkbenchLayoutService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService.service";
22
23
  import { IViewDescriptorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service";
23
- import { IWorkbenchAssignmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service";
24
24
  import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
25
25
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
26
26
  import { ChatContextKeys } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys";
27
27
  import { ChatRequestVariableSet, IChatRequestVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
28
28
  import { IChatMode } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes";
29
29
  import { IChatModeService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service";
30
- import { IChatFollowup, IChatQuestionCarousel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
31
- import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
30
+ import { IChatFollowup, IChatPlanReview, IChatQuestionCarousel, IChatToolInvocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
32
31
  import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
33
32
  import { ChatAgentLocation, ChatModeKind, ChatPermissionLevel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
34
33
  import { IChatEditingSession } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService";
@@ -45,7 +44,10 @@ import { IChatAttachmentWidgetRegistry } from "@codingame/monaco-vscode-api/vsco
45
44
  import { ChatImplicitContexts } from "../../attachments/chatImplicitContext.js";
46
45
  import { IChatWidget, ISessionTypePickerDelegate, IWorkspacePickerDelegate } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
47
46
  import { IChatContextService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.service";
47
+ import { ChatPlanReviewPart, IChatPlanReviewPartOptions } from "../chatContentParts/chatPlanReviewPart.js";
48
48
  import { ChatQuestionCarouselPart, IChatQuestionCarouselOptions } from "../chatContentParts/chatQuestionCarouselPart.js";
49
+ import { ChatToolConfirmationCarouselPart, ToolInvocationPartFactory, ScrollToSubagentCallback } from "../chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js";
50
+ import { ChatToolInvocationPart } from "../chatContentParts/toolInvocationParts/chatToolInvocationPart.js";
49
51
  import { IChatContentPartRenderContext } from "../chatContentParts/chatContentParts.js";
50
52
  import { ChatDragAndDrop } from "../chatDragAndDrop.js";
51
53
  import { ChatSelectedTools } from "./chatSelectedTools.js";
@@ -120,15 +122,14 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
120
122
  private readonly storageService;
121
123
  private readonly agentService;
122
124
  private readonly sharedWebExtracterService;
123
- private readonly experimentService;
124
125
  private readonly entitlementService;
125
126
  private readonly chatModeService;
126
127
  private readonly toolService;
127
- private readonly chatService;
128
128
  private readonly chatSessionsService;
129
129
  private readonly chatContextService;
130
130
  private readonly agentSessionsService;
131
131
  private readonly workspaceContextService;
132
+ private readonly scmService;
132
133
  private readonly layoutService;
133
134
  private readonly viewDescriptorService;
134
135
  private readonly _chatAttachmentWidgetRegistry;
@@ -141,6 +142,10 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
141
142
  private readonly _questionCarouselResponseIds;
142
143
  private readonly _questionCarouselSessionResources;
143
144
  private _hasQuestionCarouselContextKey;
145
+ private readonly _chatPlanReviewWidgets;
146
+ private readonly _planReviewResponseIds;
147
+ private readonly _planReviewSessionResources;
148
+ private readonly _chatToolConfirmationCarousels;
144
149
  private readonly _chatEditingTodosDisposables;
145
150
  private _lastEditingSessionResource;
146
151
  private _onDidLoadInputState;
@@ -195,6 +200,8 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
195
200
  private chatArtifactsWidgetContainer;
196
201
  private chatGettingStartedTipContainer;
197
202
  private chatQuestionCarouselContainer;
203
+ private chatPlanReviewContainer;
204
+ private chatToolConfirmationCarouselContainer;
198
205
  private chatInputWidgetsContainer;
199
206
  private inputContainer;
200
207
  private readonly _widgetController;
@@ -300,7 +307,7 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
300
307
  private _chatSessionIsEmpty;
301
308
  private _pendingDelegationTarget;
302
309
  private _currentSessionType;
303
- constructor(location: ChatAgentLocation, options: IChatInputPartOptions, styles: IChatInputStyles, inline: boolean, modelService: IModelService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, configurationService: IConfigurationService, keybindingService: IKeybindingService, accessibilityService: IAccessibilityService, languageModelsService: ILanguageModelsService, logService: ILogService, fileService: IFileService, editorService: IEditorService, themeService: IThemeService, textModelResolverService: ITextModelService, storageService: IStorageService, agentService: IChatAgentService, sharedWebExtracterService: ISharedWebContentExtractorService, experimentService: IWorkbenchAssignmentService, entitlementService: IChatEntitlementService, chatModeService: IChatModeService, toolService: ILanguageModelToolsService, chatService: IChatService, chatSessionsService: IChatSessionsService, chatContextService: IChatContextService, agentSessionsService: IAgentSessionsService, workspaceContextService: IWorkspaceContextService, layoutService: IWorkbenchLayoutService, viewDescriptorService: IViewDescriptorService, _chatAttachmentWidgetRegistry: IChatAttachmentWidgetRegistry);
310
+ constructor(location: ChatAgentLocation, options: IChatInputPartOptions, styles: IChatInputStyles, inline: boolean, modelService: IModelService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, configurationService: IConfigurationService, keybindingService: IKeybindingService, accessibilityService: IAccessibilityService, languageModelsService: ILanguageModelsService, logService: ILogService, fileService: IFileService, editorService: IEditorService, themeService: IThemeService, textModelResolverService: ITextModelService, storageService: IStorageService, agentService: IChatAgentService, sharedWebExtracterService: ISharedWebContentExtractorService, entitlementService: IChatEntitlementService, chatModeService: IChatModeService, toolService: ILanguageModelToolsService, chatSessionsService: IChatSessionsService, chatContextService: IChatContextService, agentSessionsService: IAgentSessionsService, workspaceContextService: IWorkspaceContextService, scmService: ISCMService, layoutService: IWorkbenchLayoutService, viewDescriptorService: IViewDescriptorService, _chatAttachmentWidgetRegistry: IChatAttachmentWidgetRegistry);
304
311
  private setImplicitContextEnablement;
305
312
  setIsWithinEditSession(inInsideDiff: boolean, isFilePartOfEditSession: boolean): void;
306
313
  private getSelectedModelStorageKey;
@@ -314,6 +321,8 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
314
321
  openModePicker(): void;
315
322
  openPermissionPicker(): void;
316
323
  setPermissionLevel(level: ChatPermissionLevel): void;
324
+ private getDefaultPermissionLevel;
325
+ private getPermittedPermissionLevel;
317
326
  openSessionTargetPicker(): void;
318
327
  openDelegationPicker(): void;
319
328
  openChatSessionPicker(): void;
@@ -350,7 +359,6 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
350
359
  private getModels;
351
360
  /**
352
361
  * Get the chat session type for the current session, if any.
353
- * Uses the delegate or `getChatSessionFromInternalUri` to determine the session type.
354
362
  */
355
363
  private getCurrentSessionType;
356
364
  /**
@@ -364,6 +372,10 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
364
372
  * Called when switching sessions to prevent cross-contamination.
365
373
  */
366
374
  private checkModelInSessionPool;
375
+ /**
376
+ * Reset the current mode when it is not valid for the current session type.
377
+ */
378
+ private checkModeInSessionPool;
367
379
  /**
368
380
  * Pre-select the model in the model picker based on the `modelId` from the
369
381
  * last request in the current session's history. This ensures that when a
@@ -378,7 +390,6 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
378
390
  getCurrentInputState(): IChatModelInputState;
379
391
  private _getAriaLabel;
380
392
  private validateCurrentChatMode;
381
- private getDefaultModeExperimentStorageKey;
382
393
  logInputHistory(): void;
383
394
  setVisible(visible: boolean): void;
384
395
  /** If consumers are busy generating the chat input, returns the promise resolved when they finish */
@@ -434,11 +445,12 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
434
445
  *
435
446
  * This method also updates the `chatSessionHasOptions` context key, which controls
436
447
  * whether the picker action is shown in the toolbar via its `when` clause.
437
- *
438
- * @returns The result containing visible group IDs and related context, or undefined
439
- * if there are no visible option groups
440
448
  */
441
- private computeVisibleOptionGroups;
449
+ private getVisibleOptionGroupsModeAndUpdateContextKeys;
450
+ private getCurrentSessionResource;
451
+ private areAllOptionsValid;
452
+ private getAllOptionsGroups;
453
+ private getVisibleOptionGroups;
442
454
  /**
443
455
  * Refresh all registered option groups for the current chat session.
444
456
  * Fires events for each option group with their current selection.
@@ -450,6 +462,7 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
450
462
  * Returns undefined if the session doesn't have this option configured.
451
463
  */
452
464
  private getCurrentOptionForGroup;
465
+ private hasWorkspaceScmRepository;
453
466
  private getEffectiveSessionType;
454
467
  /**
455
468
  * Updates the agentSessionType context key based on delegate or actual session.
@@ -490,6 +503,24 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
490
503
  isQuestionCarouselFocused(): boolean;
491
504
  navigateToPreviousQuestion(): boolean;
492
505
  navigateToNextQuestion(): boolean;
506
+ renderPlanReview(review: IChatPlanReview, context: IChatContentPartRenderContext, options: IChatPlanReviewPartOptions): ChatPlanReviewPart;
507
+ clearPlanReview(responseId?: string, resolveId?: string): void;
508
+ get planReview(): ChatPlanReviewPart | undefined;
509
+ private get _currentSessionKey();
510
+ private get _currentToolConfirmationCarousel();
511
+ renderToolConfirmationCarousel(tool: IChatToolInvocation, factory: ToolInvocationPartFactory, subAgentInvocationId?: string, agentName?: string, scrollToSubagent?: ScrollToSubagentCallback, toolPart?: ChatToolInvocationPart): ChatToolConfirmationCarouselPart;
512
+ addToolToConfirmationCarousel(tool: IChatToolInvocation, factory: ToolInvocationPartFactory, subAgentInvocationId?: string, agentName?: string, scrollToSubagent?: ScrollToSubagentCallback, toolPart?: ChatToolInvocationPart): void;
513
+ /**
514
+ * Navigates the carousel to the first pending tool from the given subagent.
515
+ */
516
+ activateCarouselForSubagent(subAgentInvocationId: string): void;
517
+ hasToolInConfirmationCarousel(toolCallId: string): boolean;
518
+ get hasActiveToolConfirmationCarousel(): boolean;
519
+ clearToolConfirmationCarousel(): void;
520
+ /**
521
+ * Swaps the visible tool confirmation carousel when switching sessions.
522
+ */
523
+ private _syncToolConfirmationCarouselForSession;
493
524
  setWorkingSetCollapsed(collapsed: boolean): void;
494
525
  renderChatEditingSessionState(chatEditingSession: IChatEditingSession | null): void;
495
526
  private renderChatEditingSessionWithEntries;
@@ -500,6 +531,7 @@ export declare class ChatInputPart extends Disposable implements IHistoryNavigat
500
531
  * for non-editor chrome such as attachments, toolbars, and widgets.
501
532
  */
502
533
  setMaxHeight(maxHeight: number | undefined): void;
534
+ private updateToolConfirmationCarouselMaxHeight;
503
535
  /**
504
536
  * Layout the input part with the given width. Height is intrinsic - determined by content
505
537
  * and detected via ResizeObserver, which updates `inputPartHeight` for the parent to observe.