@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
@@ -28,6 +28,9 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
28
28
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
29
29
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
30
30
  import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
31
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
32
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
33
+ import { RunInTerminalTool } from '../../../../terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js';
31
34
  import * as chatQuestionCarousel from './media/chatQuestionCarousel.css';
32
35
 
33
36
  registerCss(chatQuestionCarousel);
@@ -42,7 +45,8 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
42
45
  _hoverService,
43
46
  _accessibilityService,
44
47
  _contextKeyService,
45
- _keybindingService
48
+ _keybindingService,
49
+ _commandService
46
50
  ) {
47
51
  super();
48
52
  this.carousel = carousel;
@@ -52,6 +56,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
52
56
  this._accessibilityService = _accessibilityService;
53
57
  this._contextKeyService = _contextKeyService;
54
58
  this._keybindingService = _keybindingService;
59
+ this._commandService = _commandService;
55
60
  this._onDidChangeHeight = this._register(( new Emitter()));
56
61
  this.onDidChangeHeight = this._onDidChangeHeight.event;
57
62
  this._currentIndex = 0;
@@ -80,7 +85,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
80
85
  });
81
86
  this.domNode.tabIndex = 0;
82
87
  this.domNode.setAttribute("role", "region");
83
- this.domNode.setAttribute("aria-roledescription", ( localize(6771, "chat question")));
88
+ this.domNode.setAttribute("aria-roledescription", ( localize(6873, "chat question")));
84
89
  this._updateAriaLabel();
85
90
  if (carousel instanceof ChatQuestionCarouselData) {
86
91
  if (typeof carousel.draftCurrentIndex === "number") {
@@ -112,7 +117,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
112
117
  this._questionContainer = $(".chat-question-carousel-content");
113
118
  this.domNode.append(this._questionContainer);
114
119
  this._headerActionsContainer = $(".chat-question-header-actions");
115
- const collapseToggleTitle = ( localize(6772, "Collapse Questions"));
120
+ const collapseToggleTitle = ( localize(6874, "Collapse Questions"));
116
121
  const collapseButton = interactiveStore.add(( new Button(this._headerActionsContainer, {
117
122
  ...defaultButtonStyles,
118
123
  secondary: true,
@@ -123,7 +128,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
123
128
  this._collapseButton = collapseButton;
124
129
  if (carousel.allowSkip) {
125
130
  this._closeButtonContainer = $(".chat-question-close-container");
126
- const skipAllTitle = ( localize(6773, "Skip all questions"));
131
+ const skipAllTitle = ( localize(6875, "Skip all questions"));
127
132
  const skipAllButton = interactiveStore.add(( new Button(this._closeButtonContainer, {
128
133
  ...defaultButtonStyles,
129
134
  secondary: true,
@@ -137,6 +142,33 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
137
142
  }));
138
143
  this._skipAllButton = skipAllButton;
139
144
  }
145
+ if (carousel.terminalId) {
146
+ this._focusTerminalButtonContainer = $(".chat-question-focus-terminal-container");
147
+ const focusTerminalTitle = ( localize(6876, "Focus Terminal"));
148
+ const focusTerminalButton = interactiveStore.add(( new Button(this._focusTerminalButtonContainer, {
149
+ ...defaultButtonStyles,
150
+ secondary: true,
151
+ supportIcons: true
152
+ })));
153
+ focusTerminalButton.label = `$(${Codicon.terminal.id})`;
154
+ focusTerminalButton.element.classList.add("chat-question-focus-terminal");
155
+ focusTerminalButton.element.setAttribute("aria-label", focusTerminalTitle);
156
+ interactiveStore.add(this._hoverService.setupDelayedHover(focusTerminalButton.element, {
157
+ content: focusTerminalTitle
158
+ }));
159
+ interactiveStore.add(focusTerminalButton.onDidClick(() => this._focusTerminal()));
160
+ const execution = RunInTerminalTool.getExecution(carousel.terminalId);
161
+ if (execution) {
162
+ interactiveStore.add(execution.instance.onDidInputData(() => {
163
+ if (!this._isSkipped) {
164
+ if (carousel instanceof ChatQuestionCarouselData) {
165
+ carousel.dismissedByTerminalInput = true;
166
+ }
167
+ this.ignore();
168
+ }
169
+ }));
170
+ }
171
+ }
140
172
  interactiveStore.add(collapseButton.onDidClick(() => this.toggleCollapsed()));
141
173
  if (this._skipAllButton) {
142
174
  interactiveStore.add(this._skipAllButton.onDidClick(() => this.ignore()));
@@ -201,11 +233,18 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
201
233
  this.updateCollapsedPresentation();
202
234
  this._onDidChangeHeight.fire();
203
235
  }
236
+ _focusTerminal() {
237
+ const terminalId = this.carousel.terminalId;
238
+ if (!terminalId) {
239
+ return;
240
+ }
241
+ this._commandService.executeCommand("workbench.action.terminal.chat.focusTerminalByExecutionId", terminalId);
242
+ }
204
243
  updateCollapsedPresentation() {
205
244
  this.domNode.classList.toggle("chat-question-carousel-collapsed", this._isCollapsed);
206
245
  if (this._collapseButton) {
207
246
  const collapsed = this._isCollapsed;
208
- const buttonTitle = collapsed ? ( localize(6774, "Expand Questions")) : ( localize(6772, "Collapse Questions"));
247
+ const buttonTitle = collapsed ? ( localize(6877, "Expand Questions")) : ( localize(6874, "Collapse Questions"));
209
248
  const contentId = this.domNode.id;
210
249
  this._collapseButton.label = collapsed ? `$(${Codicon.chevronUp.id})` : `$(${Codicon.chevronDown.id})`;
211
250
  this._collapseButton.element.setAttribute("aria-label", buttonTitle);
@@ -260,7 +299,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
260
299
  const messageContent = this.getQuestionText(questionText);
261
300
  const questionCount = this.carousel.questions.length;
262
301
  const alertMessage = questionCount === 1 ? messageContent : ( localize(
263
- 6775,
302
+ 6878,
264
303
  "Question {0} of {1}: {2}",
265
304
  this._currentIndex + 1,
266
305
  questionCount,
@@ -292,6 +331,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
292
331
  this._questionContainer = undefined;
293
332
  this._headerActionsContainer = undefined;
294
333
  this._closeButtonContainer = undefined;
334
+ this._focusTerminalButtonContainer = undefined;
295
335
  this._collapseButton = undefined;
296
336
  this._footerRow = undefined;
297
337
  this._stepIndicator = undefined;
@@ -407,17 +447,17 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
407
447
  _updateAriaLabel() {
408
448
  const question = this.carousel.questions[this._currentIndex];
409
449
  if (!question) {
410
- this.domNode.setAttribute("aria-label", ( localize(6776, "Chat question")));
450
+ this.domNode.setAttribute("aria-label", ( localize(6879, "Chat question")));
411
451
  return;
412
452
  }
413
453
  const questionText = question.message ?? question.title;
414
454
  const messageContent = this.getQuestionText(questionText);
415
455
  const questionCount = this.carousel.questions.length;
416
456
  if (questionCount === 1) {
417
- this.domNode.setAttribute("aria-label", ( localize(6777, "Chat question: {0}", messageContent)));
457
+ this.domNode.setAttribute("aria-label", ( localize(6880, "Chat question: {0}", messageContent)));
418
458
  } else {
419
459
  this.domNode.setAttribute("aria-label", ( localize(
420
- 6778,
460
+ 6881,
421
461
  "Chat question {0} of {1}: {2}",
422
462
  this._currentIndex + 1,
423
463
  questionCount,
@@ -476,14 +516,22 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
476
516
  const title = $(".chat-question-title");
477
517
  const messageContent = this.getQuestionText(questionText);
478
518
  title.setAttribute("aria-label", messageContent);
479
- const titleText = question.required ? ( new MarkdownString(`${isMarkdownString(questionText) ? questionText.value : questionText} *`)) : (isMarkdownString(questionText) ? MarkdownString.lift(questionText) : ( new MarkdownString(questionText)));
480
- const renderedTitle = questionRenderStore.add(this._markdownRendererService.render(titleText));
481
- title.appendChild(renderedTitle.element);
519
+ const rawValue = isMarkdownString(questionText) ? questionText.value : questionText;
520
+ const suffixed = question.required ? `${rawValue} *` : rawValue;
521
+ const md = isMarkdownString(questionText) ? MarkdownString.lift({
522
+ ...questionText,
523
+ value: suffixed
524
+ }) : ( new MarkdownString(suffixed));
525
+ const rendered = questionRenderStore.add(this._markdownRendererService.render(md));
526
+ title.appendChild(rendered.element);
482
527
  titleRow.appendChild(title);
483
528
  }
484
529
  headerRow.appendChild(titleRow);
485
530
  if (this._headerActionsContainer) {
486
531
  clearNode(this._headerActionsContainer);
532
+ if (this._focusTerminalButtonContainer) {
533
+ this._headerActionsContainer.appendChild(this._focusTerminalButtonContainer);
534
+ }
487
535
  if (this._closeButtonContainer) {
488
536
  this._headerActionsContainer.appendChild(this._closeButtonContainer);
489
537
  }
@@ -499,6 +547,13 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
499
547
  this._questionContainer.appendChild(descriptionEl);
500
548
  }
501
549
  const inputContainer = $(".chat-question-input-container");
550
+ if (question.detailedMessage) {
551
+ const detailedMd = isMarkdownString(question.detailedMessage) ? MarkdownString.lift(question.detailedMessage) : ( new MarkdownString(question.detailedMessage));
552
+ const detailedMessageEl = $(".chat-question-detailed-message");
553
+ const renderedDetailedMessage = questionRenderStore.add(this._markdownRendererService.render(detailedMd));
554
+ detailedMessageEl.appendChild(renderedDetailedMessage.element);
555
+ inputContainer.appendChild(detailedMessageEl);
556
+ }
502
557
  this.renderInput(inputContainer, question);
503
558
  const inputScrollable = questionRenderStore.add(( new DomScrollableElement(inputContainer, {
504
559
  vertical: ScrollbarVisibility.Visible,
@@ -566,9 +621,9 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
566
621
  this._footerRow = $(".chat-question-footer-row");
567
622
  const leftControls = $(".chat-question-footer-left.chat-question-carousel-nav");
568
623
  leftControls.setAttribute("role", "navigation");
569
- leftControls.setAttribute("aria-label", ( localize(6779, "Question navigation")));
624
+ leftControls.setAttribute("aria-label", ( localize(6882, "Question navigation")));
570
625
  const arrowsContainer = $(".chat-question-nav-arrows");
571
- const previousLabel = this.getLabelWithKeybinding(( localize(6780, "Previous")), PREVIOUS_QUESTION_ACTION_ID);
626
+ const previousLabel = this.getLabelWithKeybinding(( localize(6883, "Previous")), PREVIOUS_QUESTION_ACTION_ID);
572
627
  const prevButton = interactiveStore.add(( new Button(arrowsContainer, {
573
628
  ...defaultButtonStyles,
574
629
  secondary: true,
@@ -582,7 +637,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
582
637
  }));
583
638
  interactiveStore.add(prevButton.onDidClick(() => this.navigate(-1)));
584
639
  this._prevButton = prevButton;
585
- const nextLabel = this.getLabelWithKeybinding(( localize(6781, "Next")), NEXT_QUESTION_ACTION_ID);
640
+ const nextLabel = this.getLabelWithKeybinding(( localize(6884, "Next")), NEXT_QUESTION_ACTION_ID);
586
641
  const nextButton = interactiveStore.add(( new Button(arrowsContainer, {
587
642
  ...defaultButtonStyles,
588
643
  secondary: true,
@@ -602,14 +657,14 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
602
657
  this._footerRow.appendChild(leftControls);
603
658
  const rightControls = $(".chat-question-footer-right");
604
659
  const hint = $("span.chat-question-submit-hint");
605
- hint.textContent = isMacintosh ? ( localize(6782, "⌘⏎ to submit")) : ( localize(6783, "Ctrl+Enter to submit"));
660
+ hint.textContent = isMacintosh ? ( localize(6885, "⌘⏎ to submit")) : ( localize(6886, "Ctrl+Enter to submit"));
606
661
  rightControls.appendChild(hint);
607
662
  this._submitHint = hint;
608
663
  const submitButton = interactiveStore.add(( new Button(rightControls, {
609
664
  ...defaultButtonStyles
610
665
  })));
611
666
  submitButton.element.classList.add("chat-question-submit-button");
612
- submitButton.label = ( localize(6784, "Submit"));
667
+ submitButton.label = ( localize(6887, "Submit"));
613
668
  interactiveStore.add(submitButton.onDidClick(() => this.submit()));
614
669
  this._submitButton = submitButton;
615
670
  this._footerRow.appendChild(rightControls);
@@ -630,7 +685,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
630
685
  this._nextButton.enabled = canAdvance && (!question?.required || hasAnswer) && !hasValidationError;
631
686
  }
632
687
  if (this._stepIndicator) {
633
- this._stepIndicator.textContent = ( localize(6785, "{0}/{1}", this._currentIndex + 1, this.carousel.questions.length));
688
+ this._stepIndicator.textContent = ( localize(6888, "{0}/{1}", this._currentIndex + 1, this.carousel.questions.length));
634
689
  }
635
690
  if (this._submitButton) {
636
691
  const isLastQuestion = this._currentIndex === this.carousel.questions.length - 1;
@@ -649,18 +704,18 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
649
704
  this._footerRow = $(".chat-question-footer-row");
650
705
  const leftControls = $(".chat-question-footer-left.chat-question-carousel-nav");
651
706
  leftControls.setAttribute("role", "navigation");
652
- leftControls.setAttribute("aria-label", ( localize(6779, "Question navigation")));
707
+ leftControls.setAttribute("aria-label", ( localize(6882, "Question navigation")));
653
708
  this._footerRow.appendChild(leftControls);
654
709
  const rightControls = $(".chat-question-footer-right");
655
710
  const hint = $("span.chat-question-submit-hint");
656
- hint.textContent = isMacintosh ? ( localize(6782, "⌘⏎ to submit")) : ( localize(6783, "Ctrl+Enter to submit"));
711
+ hint.textContent = isMacintosh ? ( localize(6885, "⌘⏎ to submit")) : ( localize(6886, "Ctrl+Enter to submit"));
657
712
  rightControls.appendChild(hint);
658
713
  this._submitHint = hint;
659
714
  const submitButton = interactiveStore.add(( new Button(rightControls, {
660
715
  ...defaultButtonStyles
661
716
  })));
662
717
  submitButton.element.classList.add("chat-question-submit-button");
663
- submitButton.label = ( localize(6784, "Submit"));
718
+ submitButton.label = ( localize(6887, "Submit"));
664
719
  interactiveStore.add(submitButton.onDidClick(() => this.submit()));
665
720
  this._submitButton = submitButton;
666
721
  this._footerRow.appendChild(rightControls);
@@ -669,7 +724,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
669
724
  }
670
725
  getLabelWithKeybinding(label, actionId) {
671
726
  const keybindingLabel = this._keybindingService.lookupKeybinding(actionId, this._contextKeyService)?.getLabel();
672
- return keybindingLabel ? ( localize(6786, "{0} ({1})", label, keybindingLabel)) : label;
727
+ return keybindingLabel ? ( localize(6889, "{0} ({1})", label, keybindingLabel)) : label;
673
728
  }
674
729
  renderInput(container, question) {
675
730
  switch (question.type) {
@@ -698,7 +753,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
698
753
  }
699
754
  renderTextInput(container, question) {
700
755
  const inputBox = this._inputBoxes.add(( new InputBox(container, undefined, {
701
- placeholder: ( localize(6787, "Enter your answer")),
756
+ placeholder: ( localize(6890, "Enter your answer")),
702
757
  inputBoxStyles: defaultInputBoxStyles,
703
758
  validationOptions: question.validation ? {
704
759
  validation: value => {
@@ -789,7 +844,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
789
844
  const listItem = $(".chat-question-list-item");
790
845
  listItem.setAttribute("role", "option");
791
846
  listItem.setAttribute("aria-selected", String(isSelected));
792
- listItem.setAttribute("aria-label", ( localize(6788, "Option {0}: {1}", index + 1, option.label)));
847
+ listItem.setAttribute("aria-label", ( localize(6891, "Option {0}: {1}", index + 1, option.label)));
793
848
  listItem.id = `option-${question.id}-${index}`;
794
849
  listItem.tabIndex = -1;
795
850
  const number = $(".chat-question-list-number");
@@ -855,7 +910,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
855
910
  freeformNumber.textContent = `${orderedOptions.length + 1}`;
856
911
  freeformContainer.appendChild(freeformNumber);
857
912
  freeformTextarea = $("textarea.chat-question-freeform-textarea");
858
- freeformTextarea.placeholder = ( localize(6789, "Enter custom answer"));
913
+ freeformTextarea.placeholder = ( localize(6892, "Enter custom answer"));
859
914
  freeformTextarea.rows = 1;
860
915
  if (previousFreeform !== undefined) {
861
916
  freeformTextarea.value = previousFreeform;
@@ -967,7 +1022,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
967
1022
  const listItem = $(".chat-question-list-item.multi-select");
968
1023
  listItem.setAttribute("role", "option");
969
1024
  listItem.setAttribute("aria-selected", String(isChecked));
970
- listItem.setAttribute("aria-label", ( localize(6788, "Option {0}: {1}", index + 1, option.label)));
1025
+ listItem.setAttribute("aria-label", ( localize(6891, "Option {0}: {1}", index + 1, option.label)));
971
1026
  listItem.id = `option-${question.id}-${index}`;
972
1027
  listItem.tabIndex = -1;
973
1028
  const number = $(".chat-question-list-number");
@@ -1032,7 +1087,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
1032
1087
  freeformNumber.textContent = `${orderedOptions.length + 1}`;
1033
1088
  freeformContainer.appendChild(freeformNumber);
1034
1089
  freeformTextarea = $("textarea.chat-question-freeform-textarea");
1035
- freeformTextarea.placeholder = ( localize(6789, "Enter custom answer"));
1090
+ freeformTextarea.placeholder = ( localize(6892, "Enter custom answer"));
1036
1091
  freeformTextarea.rows = 1;
1037
1092
  if (previousFreeform !== undefined) {
1038
1093
  freeformTextarea.value = previousFreeform;
@@ -1199,7 +1254,8 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
1199
1254
  renderSkippedMessage() {
1200
1255
  const skippedContainer = $(".chat-question-carousel-summary");
1201
1256
  const skippedMessage = $(".chat-question-summary-skipped");
1202
- skippedMessage.textContent = ( localize(6790, "Skipped"));
1257
+ const isDismissedByTerminal = this.carousel instanceof ChatQuestionCarouselData && this.carousel.dismissedByTerminalInput;
1258
+ skippedMessage.textContent = isDismissedByTerminal ? ( localize(6893, "Deferring to user's input in the terminal")) : ( localize(6894, "Skipped"));
1203
1259
  skippedContainer.appendChild(skippedMessage);
1204
1260
  this.domNode.appendChild(skippedContainer);
1205
1261
  }
@@ -1218,16 +1274,16 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
1218
1274
  const questionText = question.message ?? question.title;
1219
1275
  let labelText = typeof questionText === "string" ? questionText : questionText.value;
1220
1276
  labelText = labelText.replace(/[:\s]+$/, "");
1221
- questionRow.textContent = ( localize(6791, "Q: {0}", labelText));
1277
+ questionRow.textContent = ( localize(6895, "Q: {0}", labelText));
1222
1278
  summaryItem.appendChild(questionRow);
1223
1279
  if (answer !== undefined) {
1224
1280
  const formattedAnswer = this.formatAnswerForSummary(question, answer);
1225
1281
  const answerRow = $("div.chat-question-summary-answer-title");
1226
- answerRow.textContent = ( localize(6792, "A: {0}", formattedAnswer));
1282
+ answerRow.textContent = ( localize(6896, "A: {0}", formattedAnswer));
1227
1283
  summaryItem.appendChild(answerRow);
1228
1284
  } else {
1229
1285
  const unanswered = $("div.chat-question-summary-unanswered");
1230
- unanswered.textContent = ( localize(6793, "Not answered yet"));
1286
+ unanswered.textContent = ( localize(6897, "Not answered yet"));
1231
1287
  summaryItem.appendChild(unanswered);
1232
1288
  }
1233
1289
  summaryContainer.appendChild(summaryItem);
@@ -1267,7 +1323,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
1267
1323
  if (freeformValue) {
1268
1324
  labels.push(freeformValue);
1269
1325
  }
1270
- return labels.join(( localize(6794, ", ")));
1326
+ return labels.join(( localize(6898, ", ")));
1271
1327
  }
1272
1328
  return String(answer);
1273
1329
  }
@@ -1286,7 +1342,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
1286
1342
  }
1287
1343
  const answer = this._answers.get(question.id);
1288
1344
  if (question.required && (answer === undefined || answer === "")) {
1289
- this.showValidationError(( localize(6795, "This field is required")));
1345
+ this.showValidationError(( localize(6899, "This field is required")));
1290
1346
  return false;
1291
1347
  }
1292
1348
  if (question.type === "text" && question.validation && typeof answer === "string" && answer !== "") {
@@ -1311,7 +1367,7 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
1311
1367
  this._currentIndex = i;
1312
1368
  this.persistDraftState();
1313
1369
  this.renderCurrentQuestion(true);
1314
- this.showValidationError(( localize(6795, "This field is required")));
1370
+ this.showValidationError(( localize(6899, "This field is required")));
1315
1371
  return false;
1316
1372
  }
1317
1373
  }
@@ -1319,34 +1375,34 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
1319
1375
  }
1320
1376
  getValidationError(value, validation) {
1321
1377
  if (validation.minLength !== undefined && value.length < validation.minLength) {
1322
- return localize(6796, "Minimum length is {0}", validation.minLength);
1378
+ return localize(6900, "Minimum length is {0}", validation.minLength);
1323
1379
  }
1324
1380
  if (validation.maxLength !== undefined && value.length > validation.maxLength) {
1325
- return localize(6797, "Maximum length is {0}", validation.maxLength);
1381
+ return localize(6901, "Maximum length is {0}", validation.maxLength);
1326
1382
  }
1327
1383
  if (validation.format) {
1328
1384
  switch (validation.format) {
1329
1385
  case "email":
1330
1386
  if (!value.includes("@")) {
1331
- return localize(6798, "Please enter a valid email address");
1387
+ return localize(6902, "Please enter a valid email address");
1332
1388
  }
1333
1389
  break;
1334
1390
  case "uri":
1335
1391
  if (!URL.canParse(value)) {
1336
- return localize(6799, "Please enter a valid URI");
1392
+ return localize(6903, "Please enter a valid URI");
1337
1393
  }
1338
1394
  break;
1339
1395
  case "date":
1340
1396
  {
1341
1397
  const dateRegex = /^\d{4}-\d{2}-\d{2}$/;
1342
1398
  if (!dateRegex.test(value) || isNaN(( new Date(value)).getTime())) {
1343
- return localize(6800, "Please enter a valid date (YYYY-MM-DD)");
1399
+ return localize(6904, "Please enter a valid date (YYYY-MM-DD)");
1344
1400
  }
1345
1401
  break;
1346
1402
  }
1347
1403
  case "date-time":
1348
1404
  if (isNaN(( new Date(value)).getTime())) {
1349
- return localize(6801, "Please enter a valid date-time");
1405
+ return localize(6905, "Please enter a valid date-time");
1350
1406
  }
1351
1407
  break;
1352
1408
  }
@@ -1354,16 +1410,16 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
1354
1410
  if (validation.isInteger !== undefined || validation.minimum !== undefined || validation.maximum !== undefined) {
1355
1411
  const num = Number(value);
1356
1412
  if (isNaN(num)) {
1357
- return localize(6802, "Please enter a valid number");
1413
+ return localize(6906, "Please enter a valid number");
1358
1414
  }
1359
1415
  if (validation.isInteger && !Number.isInteger(num)) {
1360
- return localize(6803, "Please enter a valid integer");
1416
+ return localize(6907, "Please enter a valid integer");
1361
1417
  }
1362
1418
  if (validation.minimum !== undefined && num < validation.minimum) {
1363
- return localize(6804, "Minimum value is {0}", validation.minimum);
1419
+ return localize(6908, "Minimum value is {0}", validation.minimum);
1364
1420
  }
1365
1421
  if (validation.maximum !== undefined && num > validation.maximum) {
1366
- return localize(6805, "Maximum value is {0}", validation.maximum);
1422
+ return localize(6909, "Maximum value is {0}", validation.maximum);
1367
1423
  }
1368
1424
  }
1369
1425
  return undefined;
@@ -1398,6 +1454,6 @@ let ChatQuestionCarouselPart = class ChatQuestionCarouselPart extends Disposable
1398
1454
  super.dispose();
1399
1455
  }
1400
1456
  };
1401
- ChatQuestionCarouselPart = ( __decorate([( __param(3, IMarkdownRendererService)), ( __param(4, IHoverService)), ( __param(5, IAccessibilityService)), ( __param(6, IContextKeyService)), ( __param(7, IKeybindingService))], ChatQuestionCarouselPart));
1457
+ ChatQuestionCarouselPart = ( __decorate([( __param(3, IMarkdownRendererService)), ( __param(4, IHoverService)), ( __param(5, IAccessibilityService)), ( __param(6, IContextKeyService)), ( __param(7, IKeybindingService)), ( __param(8, ICommandService))], ChatQuestionCarouselPart));
1402
1458
 
1403
1459
  export { ChatQuestionCarouselPart };
@@ -54,10 +54,10 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
54
54
  case ChatEntitlement.EDU:
55
55
  case ChatEntitlement.Pro:
56
56
  case ChatEntitlement.ProPlus:
57
- primaryButtonLabel = ( localize(6806, "Manage Paid Premium Requests"));
57
+ primaryButtonLabel = ( localize(6910, "Manage Paid Premium Requests"));
58
58
  break;
59
59
  case ChatEntitlement.Free:
60
- primaryButtonLabel = ( localize(6807, "Upgrade to GitHub Copilot Pro"));
60
+ primaryButtonLabel = ( localize(6911, "Upgrade to GitHub Copilot Pro"));
61
61
  break;
62
62
  }
63
63
  let hasAddedWaitWarning = false;
@@ -66,7 +66,7 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
66
66
  return;
67
67
  }
68
68
  hasAddedWaitWarning = true;
69
- append(messageContainer, $(".chat-quota-wait-warning", undefined, ( localize(6808, "Changes may take a few minutes to take effect."))));
69
+ append(messageContainer, $(".chat-quota-wait-warning", undefined, ( localize(6912, "Changes may take a few minutes to take effect."))));
70
70
  };
71
71
  let hasAddedRetryButton = false;
72
72
  const addRetryButtonIfNeeded = () => {
@@ -79,7 +79,7 @@ let ChatQuotaExceededPart = class ChatQuotaExceededPart extends Disposable {
79
79
  buttonForeground: asCssVariable(textLinkForeground)
80
80
  })));
81
81
  retryButton.element.classList.add("chat-quota-error-secondary-button");
82
- retryButton.label = ( localize(6809, "Click to Retry"));
82
+ retryButton.label = ( localize(6913, "Click to Retry"));
83
83
  this._register(retryButton.onDidClick(() => {
84
84
  const widget = chatWidgetService.getWidgetBySessionResource(element.sessionResource);
85
85
  if (!widget) {
@@ -57,7 +57,7 @@ let ChatCollapsibleListContentPart = class ChatCollapsibleListContentPart extend
57
57
  hoverService,
58
58
  configurationService
59
59
  ) {
60
- super(labelOverride ?? (data.length > 1 ? ( localize(6810, "Used {0} references", data.length)) : ( localize(6811, "Used {0} reference", 1))), context, hoverMessage, hoverService, configurationService);
60
+ super(labelOverride ?? (data.length > 1 ? ( localize(6914, "Used {0} references", data.length)) : ( localize(6915, "Used {0} reference", 1))), context, hoverMessage, hoverService, configurationService);
61
61
  this.data = data;
62
62
  this.contentReferencesListPool = contentReferencesListPool;
63
63
  this.openerService = openerService;
@@ -214,7 +214,7 @@ let CollapsibleListPool = class CollapsibleListPool extends Disposable {
214
214
  return basename(reference.uri.path);
215
215
  }
216
216
  },
217
- getWidgetAriaLabel: () => ( localize(6812, "Collapsible Chat References List"))
217
+ getWidgetAriaLabel: () => ( localize(6916, "Collapsible Chat References List"))
218
218
  },
219
219
  dnd: {
220
220
  getDragURI: element => getResourceForElement(element)?.toString() ?? null,
@@ -402,7 +402,7 @@ let CollapsibleListRenderer = class CollapsibleListRenderer {
402
402
  name: settingId
403
403
  }, {
404
404
  icon: Codicon.settingsGear,
405
- title: ( localize(6813, "Open setting '{0}'", settingId)),
405
+ title: ( localize(6917, "Open setting '{0}'", settingId)),
406
406
  strikethrough: data.excluded,
407
407
  extraClasses
408
408
  });
@@ -447,7 +447,7 @@ let CollapsibleListRenderer = class CollapsibleListRenderer {
447
447
  templateData.addedSpan.textContent = `+${diffMeta.added}`;
448
448
  templateData.removedSpan.textContent = `-${diffMeta.removed}`;
449
449
  templateData.fileDiffsContainer.setAttribute("aria-label", ( localize(
450
- 6814,
450
+ 6918,
451
451
  "{0} lines added, {1} lines removed",
452
452
  diffMeta.added,
453
453
  diffMeta.removed
@@ -528,7 +528,7 @@ registerAction2(class AddToChatAction extends Action2 {
528
528
  super({
529
529
  id: AddToChatAction.id,
530
530
  title: {
531
- ...( localize2(6815, "Add File to Chat"))
531
+ ...( localize2(6919, "Add File to Chat"))
532
532
  },
533
533
  f1: false,
534
534
  menu: [{
@@ -558,7 +558,7 @@ registerAction2(class OpenChatReferenceLinkAction extends Action2 {
558
558
  super({
559
559
  id: OpenChatReferenceLinkAction.id,
560
560
  title: {
561
- ...( localize2(6816, "Copy Link"))
561
+ ...( localize2(6920, "Copy Link"))
562
562
  },
563
563
  f1: false,
564
564
  menu: [{
@@ -188,7 +188,7 @@ class SaveResourcesAction extends Action2 {
188
188
  constructor() {
189
189
  super({
190
190
  id: SaveResourcesAction.ID,
191
- title: ( localize2(6817, "Save...")),
191
+ title: ( localize2(6921, "Save...")),
192
192
  icon: Codicon.cloudDownload,
193
193
  menu: [{
194
194
  id: MenuId.ChatToolOutputResourceToolbar,
@@ -218,14 +218,14 @@ class SaveResourcesAction extends Action2 {
218
218
  await fileService.writeFile(target, contents.value);
219
219
  }
220
220
  } catch (e) {
221
- notificationService.error(( localize(6818, "Failed to save {0}: {1}", basename(part.uri), e)));
221
+ notificationService.error(( localize(6922, "Failed to save {0}: {1}", basename(part.uri), e)));
222
222
  }
223
223
  };
224
224
  const withProgress = async (thenReveal, todo) => {
225
225
  await progressService.withProgress({
226
226
  location: ProgressLocation.Notification,
227
227
  delay: 5_000,
228
- title: ( localize(6819, "Saving resources..."))
228
+ title: ( localize(6923, "Saving resources..."))
229
229
  }, async report => {
230
230
  for (const task of todo) {
231
231
  await task();
@@ -238,7 +238,7 @@ class SaveResourcesAction extends Action2 {
238
238
  if (workspaceContextService.isInsideWorkspace(thenReveal)) {
239
239
  commandService.executeCommand(REVEAL_IN_EXPLORER_COMMAND_ID, thenReveal);
240
240
  } else {
241
- notificationService.info(( localize(6820, "Saved resources to {0}", labelService.getUriLabel(thenReveal))));
241
+ notificationService.info(( localize(6924, "Saved resources to {0}", labelService.getUriLabel(thenReveal))));
242
242
  }
243
243
  };
244
244
  if (context.parts.length === 1) {
@@ -250,7 +250,7 @@ class SaveResourcesAction extends Action2 {
250
250
  await withProgress(uri, [() => savePart(part, false, uri)]);
251
251
  } else {
252
252
  const uris = await fileDialog.showOpenDialog({
253
- title: ( localize(6821, "Pick folder to save resources")),
253
+ title: ( localize(6925, "Pick folder to save resources")),
254
254
  canSelectFiles: false,
255
255
  canSelectFolders: true,
256
256
  canSelectMany: false,