@codingame/monaco-vscode-katex-common 31.0.1 → 32.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 (220) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +15 -3
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +6 -5
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +5 -1
  5. package/vscode/src/vs/platform/actions/browser/buttonbar.js +45 -14
  6. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +15 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +15 -10
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +51 -54
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +3 -1
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +45 -23
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +13 -7
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +5 -3
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +4 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +46 -32
  21. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +8 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +155 -46
  24. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +20 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +4 -1
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +37 -14
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionPickerActionItem.css +1 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +28 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +250 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  34. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +14 -11
  35. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
  36. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +7 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +7 -3
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +12 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +51 -20
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +6 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +56 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +2 -2
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +3 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +4 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +68 -10
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.d.ts +58 -2
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +653 -75
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +28 -10
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +91 -54
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +7 -5
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +53 -51
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +11 -11
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +4 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +42 -22
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +6 -2
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +93 -35
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +5 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +169 -27
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +13 -4
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +29 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +1 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +60 -15
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +13 -6
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +15 -8
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +6 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +125 -26
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +2 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +29 -23
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +14 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +119 -10
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +1 -1
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/media/toolRiskBadge.css +77 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.d.ts +38 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +125 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +1 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +132 -59
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +16 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +156 -67
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +55 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.js +93 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +21 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +133 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +53 -8
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +288 -125
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +23 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +699 -145
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +12 -8
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +12 -11
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.d.ts +62 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +120 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +191 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatPhoneInputPresenter.css +22 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +9 -25
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +4 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +20 -1
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +89 -108
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +521 -9
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +19 -19
  136. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
  137. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.d.ts +2 -0
  138. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.js +6 -0
  139. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +27 -0
  140. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +82 -0
  141. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +3 -0
  142. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +44 -17
  143. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +1 -3
  144. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +3 -46
  145. package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.d.ts → inlineChatAffordanceWidget.d.ts} +1 -1
  146. package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.js → inlineChatAffordanceWidget.js} +6 -6
  147. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -18
  148. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +19 -400
  149. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +4 -9
  150. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +1 -1
  151. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +5 -19
  152. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +47 -133
  153. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +3 -1
  154. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +103 -25
  155. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +29 -0
  156. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +3 -32
  157. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -92
  158. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  159. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  160. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  161. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  162. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  163. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  164. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  165. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  166. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  167. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  168. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  169. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  170. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +7 -0
  171. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +99 -32
  172. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +13 -1
  173. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +76 -14
  174. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -3
  175. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +9 -1
  176. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +89 -28
  177. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +1 -1
  178. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -1
  179. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +11 -7
  180. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +3 -1
  181. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +7 -3
  182. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +1 -1
  183. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  184. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +8 -0
  187. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +11 -2
  188. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +20 -0
  189. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +59 -4
  190. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -1
  191. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +24 -3
  192. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +47 -0
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +111 -30
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +60 -3
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +455 -171
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +33 -0
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.d.ts +31 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.js +49 -0
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.d.ts +18 -0
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.js +302 -0
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.js +118 -0
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +34 -4
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +233 -48
  206. package/vscode/src/vs/platform/actions/browser/actionbar.d.ts +0 -16
  207. package/vscode/src/vs/platform/actions/browser/actionbar.js +0 -22
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -539
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -29
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -386
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +0 -101
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +0 -509
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -130
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +0 -276
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.d.ts +0 -45
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.js +0 -93
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +0 -39
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +0 -617
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +0 -231
@@ -402,7 +402,7 @@ async function joinSelectedCells(bulkEditService, notificationService, context)
402
402
  const cellKind = cells[0].cellKind;
403
403
  const isSameKind = cells.every(cell => cell.cellKind === cellKind);
404
404
  if (!isSameKind) {
405
- const message = ( localize(11216, "Cannot join cells of different kinds"));
405
+ const message = ( localize(11518, "Cannot join cells of different kinds"));
406
406
  return notificationService.warn(message);
407
407
  }
408
408
  const firstCell = cells[0];
@@ -431,7 +431,7 @@ async function joinSelectedCells(bulkEditService, notificationService, context)
431
431
  }
432
432
  if (edits.length) {
433
433
  await bulkEditService.apply(edits, {
434
- quotableLabel: ( localize(11217, "Join Notebook Cells"))
434
+ quotableLabel: ( localize(11519, "Join Notebook Cells"))
435
435
  });
436
436
  }
437
437
  }
@@ -74,7 +74,7 @@ registerAction2(class InsertCodeCellAboveAction extends InsertCellCommand {
74
74
  constructor() {
75
75
  super({
76
76
  id: INSERT_CODE_CELL_ABOVE_COMMAND_ID,
77
- title: ( localize(11283, "Insert Code Cell Above")),
77
+ title: ( localize(11585, "Insert Code Cell Above")),
78
78
  keybinding: {
79
79
  primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Enter,
80
80
  when: ( ContextKeyExpr.and(NOTEBOOK_CELL_LIST_FOCUSED, ( InputFocusedContext.toNegated()))),
@@ -92,7 +92,7 @@ registerAction2(
92
92
  constructor() {
93
93
  super({
94
94
  id: INSERT_CODE_CELL_ABOVE_AND_FOCUS_CONTAINER_COMMAND_ID,
95
- title: ( localize(11284, "Insert Code Cell Above and Focus Container"))
95
+ title: ( localize(11586, "Insert Code Cell Above and Focus Container"))
96
96
  }, CellKind.Code, "above", false);
97
97
  }
98
98
  }
@@ -101,7 +101,7 @@ registerAction2(class InsertCodeCellBelowAction extends InsertCellCommand {
101
101
  constructor() {
102
102
  super({
103
103
  id: INSERT_CODE_CELL_BELOW_COMMAND_ID,
104
- title: ( localize(11285, "Insert Code Cell Below")),
104
+ title: ( localize(11587, "Insert Code Cell Below")),
105
105
  keybinding: {
106
106
  primary: KeyMod.CtrlCmd | KeyCode.Enter,
107
107
  when: ( ContextKeyExpr.and(NOTEBOOK_CELL_LIST_FOCUSED, ( InputFocusedContext.toNegated()))),
@@ -119,7 +119,7 @@ registerAction2(
119
119
  constructor() {
120
120
  super({
121
121
  id: INSERT_CODE_CELL_BELOW_AND_FOCUS_CONTAINER_COMMAND_ID,
122
- title: ( localize(11286, "Insert Code Cell Below and Focus Container"))
122
+ title: ( localize(11588, "Insert Code Cell Below and Focus Container"))
123
123
  }, CellKind.Code, "below", false);
124
124
  }
125
125
  }
@@ -128,7 +128,7 @@ registerAction2(class InsertMarkdownCellAboveAction extends InsertCellCommand {
128
128
  constructor() {
129
129
  super({
130
130
  id: INSERT_MARKDOWN_CELL_ABOVE_COMMAND_ID,
131
- title: ( localize(11287, "Insert Markdown Cell Above")),
131
+ title: ( localize(11589, "Insert Markdown Cell Above")),
132
132
  menu: {
133
133
  id: MenuId.NotebookCellInsert,
134
134
  order: 2
@@ -140,7 +140,7 @@ registerAction2(class InsertMarkdownCellBelowAction extends InsertCellCommand {
140
140
  constructor() {
141
141
  super({
142
142
  id: INSERT_MARKDOWN_CELL_BELOW_COMMAND_ID,
143
- title: ( localize(11288, "Insert Markdown Cell Below")),
143
+ title: ( localize(11590, "Insert Markdown Cell Below")),
144
144
  menu: {
145
145
  id: MenuId.NotebookCellInsert,
146
146
  order: 3
@@ -152,7 +152,7 @@ registerAction2(class InsertCodeCellAtTopAction extends NotebookAction {
152
152
  constructor() {
153
153
  super({
154
154
  id: INSERT_CODE_CELL_AT_TOP_COMMAND_ID,
155
- title: ( localize(11289, "Add Code Cell At Top")),
155
+ title: ( localize(11591, "Add Code Cell At Top")),
156
156
  f1: false
157
157
  });
158
158
  }
@@ -184,7 +184,7 @@ registerAction2(class InsertMarkdownCellAtTopAction extends NotebookAction {
184
184
  constructor() {
185
185
  super({
186
186
  id: INSERT_MARKDOWN_CELL_AT_TOP_COMMAND_ID,
187
- title: ( localize(11290, "Add Markdown Cell At Top")),
187
+ title: ( localize(11592, "Add Markdown Cell At Top")),
188
188
  f1: false
189
189
  });
190
190
  }
@@ -215,8 +215,8 @@ registerAction2(class InsertMarkdownCellAtTopAction extends NotebookAction {
215
215
  MenuRegistry.appendMenuItem(MenuId.NotebookCellBetween, {
216
216
  command: {
217
217
  id: INSERT_CODE_CELL_BELOW_COMMAND_ID,
218
- title: "$(add) " + ( localize(11291, "Code")),
219
- tooltip: ( localize(11292, "Add Code Cell"))
218
+ title: "$(add) " + ( localize(11593, "Code")),
219
+ tooltip: ( localize(11594, "Add Code Cell"))
220
220
  },
221
221
  order: 0,
222
222
  group: "inline",
@@ -225,9 +225,9 @@ MenuRegistry.appendMenuItem(MenuId.NotebookCellBetween, {
225
225
  MenuRegistry.appendMenuItem(MenuId.NotebookCellBetween, {
226
226
  command: {
227
227
  id: INSERT_CODE_CELL_BELOW_COMMAND_ID,
228
- title: ( localize(11293, "Add Code")),
228
+ title: ( localize(11595, "Add Code")),
229
229
  icon: Codicon.add,
230
- tooltip: ( localize(11292, "Add Code Cell"))
230
+ tooltip: ( localize(11594, "Add Code Cell"))
231
231
  },
232
232
  order: 0,
233
233
  group: "inline",
@@ -237,8 +237,8 @@ MenuRegistry.appendMenuItem(MenuId.NotebookToolbar, {
237
237
  command: {
238
238
  id: INSERT_CODE_CELL_BELOW_COMMAND_ID,
239
239
  icon: Codicon.add,
240
- title: ( localize(11294, "Code")),
241
- tooltip: ( localize(11292, "Add Code Cell"))
240
+ title: ( localize(11596, "Code")),
241
+ tooltip: ( localize(11594, "Add Code Cell"))
242
242
  },
243
243
  order: -5,
244
244
  group: "navigation/add",
@@ -247,8 +247,8 @@ MenuRegistry.appendMenuItem(MenuId.NotebookToolbar, {
247
247
  MenuRegistry.appendMenuItem(MenuId.NotebookCellListTop, {
248
248
  command: {
249
249
  id: INSERT_CODE_CELL_AT_TOP_COMMAND_ID,
250
- title: "$(add) " + ( localize(11291, "Code")),
251
- tooltip: ( localize(11292, "Add Code Cell"))
250
+ title: "$(add) " + ( localize(11593, "Code")),
251
+ tooltip: ( localize(11594, "Add Code Cell"))
252
252
  },
253
253
  order: 0,
254
254
  group: "inline",
@@ -257,9 +257,9 @@ MenuRegistry.appendMenuItem(MenuId.NotebookCellListTop, {
257
257
  MenuRegistry.appendMenuItem(MenuId.NotebookCellListTop, {
258
258
  command: {
259
259
  id: INSERT_CODE_CELL_AT_TOP_COMMAND_ID,
260
- title: ( localize(11295, "Add Code")),
260
+ title: ( localize(11597, "Add Code")),
261
261
  icon: Codicon.add,
262
- tooltip: ( localize(11292, "Add Code Cell"))
262
+ tooltip: ( localize(11594, "Add Code Cell"))
263
263
  },
264
264
  order: 0,
265
265
  group: "inline",
@@ -268,8 +268,8 @@ MenuRegistry.appendMenuItem(MenuId.NotebookCellListTop, {
268
268
  MenuRegistry.appendMenuItem(MenuId.NotebookCellBetween, {
269
269
  command: {
270
270
  id: INSERT_MARKDOWN_CELL_BELOW_COMMAND_ID,
271
- title: "$(add) " + ( localize(11296, "Markdown")),
272
- tooltip: ( localize(11297, "Add Markdown Cell"))
271
+ title: "$(add) " + ( localize(11598, "Markdown")),
272
+ tooltip: ( localize(11599, "Add Markdown Cell"))
273
273
  },
274
274
  order: 1,
275
275
  group: "inline",
@@ -279,8 +279,8 @@ MenuRegistry.appendMenuItem(MenuId.NotebookToolbar, {
279
279
  command: {
280
280
  id: INSERT_MARKDOWN_CELL_BELOW_COMMAND_ID,
281
281
  icon: Codicon.add,
282
- title: ( localize(11298, "Markdown")),
283
- tooltip: ( localize(11297, "Add Markdown Cell"))
282
+ title: ( localize(11600, "Markdown")),
283
+ tooltip: ( localize(11599, "Add Markdown Cell"))
284
284
  },
285
285
  order: -5,
286
286
  group: "navigation/add",
@@ -289,8 +289,8 @@ MenuRegistry.appendMenuItem(MenuId.NotebookToolbar, {
289
289
  MenuRegistry.appendMenuItem(MenuId.NotebookCellListTop, {
290
290
  command: {
291
291
  id: INSERT_MARKDOWN_CELL_AT_TOP_COMMAND_ID,
292
- title: "$(add) " + ( localize(11296, "Markdown")),
293
- tooltip: ( localize(11297, "Add Markdown Cell"))
292
+ title: "$(add) " + ( localize(11598, "Markdown")),
293
+ tooltip: ( localize(11599, "Add Markdown Cell"))
294
294
  },
295
295
  order: 1,
296
296
  group: "inline",
@@ -61,7 +61,7 @@ class CellDiffPlaceholderElement extends Disposable {
61
61
  constructor(placeholder, templateData) {
62
62
  super();
63
63
  templateData.body.classList.remove("left", "right", "full");
64
- const text = (placeholder.hiddenCells.length === 1) ? ( localize(11334, "{0} hidden cell", placeholder.hiddenCells.length)) : ( localize(11335, "{0} hidden cells", placeholder.hiddenCells.length));
64
+ const text = (placeholder.hiddenCells.length === 1) ? ( localize(11636, "{0} hidden cell", placeholder.hiddenCells.length)) : ( localize(11637, "{0} hidden cells", placeholder.hiddenCells.length));
65
65
  templateData.placeholder.innerText = text;
66
66
  this._register(addDisposableListener(templateData.placeholder, "dblclick", e => {
67
67
  if (e.button !== 0) {
@@ -1902,7 +1902,7 @@ class CollapsedCellOverlayWidget extends Disposable {
1902
1902
  display: "flex"
1903
1903
  }
1904
1904
  }, [$("a", {
1905
- title: ( localize(11336, "Show Unchanged Cells")),
1905
+ title: ( localize(11638, "Show Unchanged Cells")),
1906
1906
  role: "button",
1907
1907
  onclick: () => {
1908
1908
  this._action.fire();
@@ -1935,7 +1935,7 @@ class UnchangedCellOverlayWidget extends Disposable {
1935
1935
  display: "flex"
1936
1936
  }
1937
1937
  }, [$("a", {
1938
- title: ( localize(11337, "Hide Unchanged Cells")),
1938
+ title: ( localize(11639, "Hide Unchanged Cells")),
1939
1939
  role: "button",
1940
1940
  onclick: () => {
1941
1941
  this._action.fire();
@@ -48,7 +48,7 @@ class OutputElement extends Disposable {
48
48
  mimeTypePicker.classList.add(...ThemeIcon.asClassNameArray(mimetypeIcon));
49
49
  mimeTypePicker.tabIndex = 0;
50
50
  mimeTypePicker.title = ( localize(
51
- 11338,
51
+ 11640,
52
52
  "Choose a different output mimetype, available mimetypes: {0}",
53
53
  ( mimeTypes.map(mimeType => mimeType.mimeType)).join(", ")
54
54
  ));
@@ -105,13 +105,13 @@ class OutputElement extends Disposable {
105
105
  }
106
106
  _renderMissingRenderer(viewModel, preferredMimeType) {
107
107
  if (!viewModel.model.outputs.length) {
108
- return this._renderMessage(viewModel, ( localize(11339, "Cell has no output")));
108
+ return this._renderMessage(viewModel, ( localize(11641, "Cell has no output")));
109
109
  }
110
110
  if (!preferredMimeType) {
111
111
  const mimeTypes = ( viewModel.model.outputs.map(op => op.mime));
112
112
  const mimeTypesMessage = mimeTypes.join(", ");
113
113
  return this._renderMessage(viewModel, ( localize(
114
- 11340,
114
+ 11642,
115
115
  "No renderer could be found for output. It has the following mimetypes: {0}",
116
116
  mimeTypesMessage
117
117
  )));
@@ -154,16 +154,16 @@ class OutputElement extends Disposable {
154
154
  index: index,
155
155
  picked: index === currIndex,
156
156
  detail: this.generateRendererInfo(mimeType.rendererId),
157
- description: index === currIndex ? ( localize(11341, "Currently Active")) : undefined
157
+ description: index === currIndex ? ( localize(11643, "Currently Active")) : undefined
158
158
  })));
159
159
  const disposables = ( new DisposableStore());
160
160
  const picker = disposables.add(this._quickInputService.createQuickPick());
161
161
  picker.items = items;
162
162
  picker.activeItems = items.filter(item => !!item.picked);
163
163
  picker.placeholder = items.length !== mimeTypes.length ? ( localize(
164
- 11342,
164
+ 11644,
165
165
  "Select mimetype to render for current output. Rich mimetypes are available only when the notebook is trusted"
166
- )) : ( localize(11343, "Select mimetype to render for current output"));
166
+ )) : ( localize(11645, "Select mimetype to render for current output"));
167
167
  const pick = await ( new Promise(resolve => {
168
168
  disposables.add(picker.onDidAccept(() => {
169
169
  resolve(
@@ -195,7 +195,7 @@ class OutputElement extends Disposable {
195
195
  const displayName = renderInfo.displayName !== "" ? renderInfo.displayName : renderInfo.id;
196
196
  return `${displayName} (${renderInfo.extensionId.value})`;
197
197
  }
198
- return localize(11344, "built-in");
198
+ return localize(11646, "built-in");
199
199
  }
200
200
  getCellOutputCurrentIndex() {
201
201
  return this._diffElementViewModel.getNestedCellViewModel(this._diffSide).outputs.indexOf(this.output.model);
@@ -316,7 +316,7 @@ let NotebookTextDiffEditor = class NotebookTextDiffEditor extends EditorPane {
316
316
  return null;
317
317
  },
318
318
  getWidgetAriaLabel() {
319
- return localize(11365, "Notebook Text Diff");
319
+ return localize(11667, "Notebook Text Diff");
320
320
  }
321
321
  }
322
322
  }
@@ -14,18 +14,18 @@ const NOTEBOOK_DIFF_CELL_IGNORE_WHITESPACE_KEY = "notebook.diffEditor.cell.ignor
14
14
  const NOTEBOOK_DIFF_CELL_IGNORE_WHITESPACE = ( new RawContextKey(NOTEBOOK_DIFF_CELL_IGNORE_WHITESPACE_KEY, false));
15
15
  const NOTEBOOK_DIFF_CELL_PROPERTY = ( new RawContextKey("notebook.diffEditor.cell.property.changed", false));
16
16
  const NOTEBOOK_DIFF_CELL_PROPERTY_EXPANDED = ( new RawContextKey("notebook.diffEditor.cell.property.expanded", false));
17
- const NOTEBOOK_DIFF_CELLS_COLLAPSED = ( new RawContextKey("notebook.diffEditor.allCollapsed", undefined, ( localize(11366, "Whether all cells in notebook diff editor are collapsed"))));
18
- const NOTEBOOK_DIFF_HAS_UNCHANGED_CELLS = ( new RawContextKey("notebook.diffEditor.hasUnchangedCells", undefined, ( localize(11367, "Whether there are unchanged cells in the notebook diff editor"))));
17
+ const NOTEBOOK_DIFF_CELLS_COLLAPSED = ( new RawContextKey("notebook.diffEditor.allCollapsed", undefined, ( localize(11668, "Whether all cells in notebook diff editor are collapsed"))));
18
+ const NOTEBOOK_DIFF_HAS_UNCHANGED_CELLS = ( new RawContextKey("notebook.diffEditor.hasUnchangedCells", undefined, ( localize(11669, "Whether there are unchanged cells in the notebook diff editor"))));
19
19
  const NOTEBOOK_DIFF_UNCHANGED_CELLS_HIDDEN = ( new RawContextKey("notebook.diffEditor.unchangedCellsAreHidden", undefined, ( localize(
20
- 11368,
20
+ 11670,
21
21
  "Whether the unchanged cells in the notebook diff editor are hidden"
22
22
  ))));
23
23
  const NOTEBOOK_DIFF_ITEM_KIND = ( new RawContextKey("notebook.diffEditor.item.kind", undefined, ( localize(
24
- 11369,
24
+ 11671,
25
25
  "The kind of item in the notebook diff editor, Cell, Metadata or Output"
26
26
  ))));
27
27
  const NOTEBOOK_DIFF_ITEM_DIFF_STATE = ( new RawContextKey("notebook.diffEditor.item.state", undefined, ( localize(
28
- 11370,
28
+ 11672,
29
29
  "The diff state of item in the notebook diff editor, delete, insert, modified or unchanged"
30
30
  ))));
31
31
 
@@ -82,7 +82,7 @@ let CellDiffPlaceholderRenderer = class CellDiffPlaceholderRenderer {
82
82
  const marginOverlay = ( new CollapsedCellOverlayWidget(body));
83
83
  const contents = append(body, $(".contents"));
84
84
  const placeholder = append(contents, $("span.text", {
85
- title: ( localize(11371, "Double click to show"))
85
+ title: ( localize(11673, "Double click to show"))
86
86
  }));
87
87
  return {
88
88
  body,
@@ -243,7 +243,7 @@ let ReplEditor = class ReplEditor extends EditorPane {
243
243
  ...editorOptions,
244
244
  ...editorOptionsOverride,
245
245
  ...{
246
- ariaLabel: ( localize(12326, "REPL Input")),
246
+ ariaLabel: ( localize(12631, "REPL Input")),
247
247
  glyphMargin: true,
248
248
  padding: {
249
249
  top: INPUT_EDITOR_PADDING,
@@ -23,7 +23,7 @@ import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscod
23
23
  import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
24
24
 
25
25
  var ReplEditorInput_1;
26
- const replTabIcon = registerIcon("repl-editor-label-icon", Codicon.debugLineByLine, ( localize(12340, "Icon of the REPL editor label.")));
26
+ const replTabIcon = registerIcon("repl-editor-label-icon", Codicon.debugLineByLine, ( localize(12645, "Icon of the REPL editor label.")));
27
27
  let ReplEditorInput = class ReplEditorInput extends NotebookEditorInput {
28
28
  static {
29
29
  ReplEditorInput_1 = this;
@@ -39,6 +39,13 @@ export declare class BasicExecuteStrategy extends Disposable implements ITermina
39
39
  private readonly _startMarker;
40
40
  private readonly _onDidCreateStartMarker;
41
41
  onDidCreateStartMarker: Event<IXtermMarker | undefined>;
42
+ /**
43
+ * Tracks per-execute() DisposableStores so they can be cleaned up if the
44
+ * strategy is disposed mid-flight, AND removed from this collection on
45
+ * successful completion to avoid accumulating stale references when
46
+ * execute() is invoked many times on the same strategy instance.
47
+ */
48
+ private readonly _executionStores;
42
49
  constructor(_instance: ITerminalInstance, _hasReceivedUserInput: () => boolean, _commandDetection: ICommandDetectionCapability, _configurationService: IConfigurationService, _logService: ITerminalLogService);
43
50
  execute(commandLine: string, token: CancellationToken, commandId?: string, _commandLineForMetadata?: string): Promise<ITerminalExecuteStrategyResult>;
44
51
  private _log;
@@ -10,7 +10,26 @@ import { trackIdleOnPrompt, waitForIdle } from './executeStrategy.js';
10
10
  import { createAltBufferPromise, setupRecreatingStartMarker, stripCommandEchoAndPrompt } from './strategyHelpers.js';
11
11
  import { TerminalChatAgentToolsSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration';
12
12
  import { isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
13
+ import { isMultilineCommand } from '../runInTerminalHelpers.js';
13
14
 
15
+ function isTerminalLaunchError(value) {
16
+ return typeof value === "object" && value !== null && "message" in value;
17
+ }
18
+ function formatExitCodeOrError(exitCodeOrError) {
19
+ if (isTerminalLaunchError(exitCodeOrError)) {
20
+ return `launch error: ${exitCodeOrError.message}${exitCodeOrError.code !== undefined ? `, code=${exitCodeOrError.code}` : ""}`;
21
+ }
22
+ return `code=${exitCodeOrError}`;
23
+ }
24
+ function extractExitCode(exitCodeOrError) {
25
+ if (isNumber(exitCodeOrError)) {
26
+ return exitCodeOrError;
27
+ }
28
+ if (isTerminalLaunchError(exitCodeOrError)) {
29
+ return exitCodeOrError.code;
30
+ }
31
+ return undefined;
32
+ }
14
33
  let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
15
34
  constructor(
16
35
  _instance,
@@ -29,37 +48,72 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
29
48
  this._startMarker = this._register(( new MutableDisposable()));
30
49
  this._onDidCreateStartMarker = this._register(( new Emitter()));
31
50
  this.onDidCreateStartMarker = this._onDidCreateStartMarker.event;
51
+ this._executionStores = this._register(( new DisposableStore()));
32
52
  }
33
53
  async execute(commandLine, token, commandId, _commandLineForMetadata) {
34
54
  const store = ( new DisposableStore());
35
- this._register(store);
55
+ this._executionStores.add(store);
36
56
  try {
57
+ if (this._instance.isDisposed) {
58
+ this._log("Terminal already disposed at strategy entry");
59
+ throw ( new Error("The terminal was closed"));
60
+ }
61
+ if (this._instance.exitCode !== undefined) {
62
+ this._log(
63
+ `Terminal pty already exited at strategy entry (code=${this._instance.exitCode})`
64
+ );
65
+ return {
66
+ output: undefined,
67
+ exitCode: this._instance.exitCode,
68
+ additionalInformation: `Command exited with code ${this._instance.exitCode}`
69
+ };
70
+ }
37
71
  const idlePollInterval = this._configurationService.getValue(TerminalChatAgentToolsSettingId.IdlePollInterval) ?? 1000;
38
- const idlePromptPromise = trackIdleOnPrompt(this._instance, idlePollInterval, store, idlePollInterval);
39
- const onDone = Promise.race([
40
- Event.toPromise(this._commandDetection.onCommandFinished, store).then(e => {
41
- this._log("onDone 1 of 2 via end event, waiting for short idle prompt");
42
- return idlePromptPromise.then(() => {
43
- this._log("onDone 2 of 2 via short idle prompt");
44
- return {
45
- "type": "success",
46
- command: e
47
- };
48
- });
49
- }),
50
- Event.toPromise(token.onCancellationRequested, store).then(() => {
51
- this._log("onDone via cancellation");
52
- }),
53
- Event.toPromise(this._instance.onDisposed, store).then(() => {
54
- this._log("onDone via terminal disposal");
72
+ const staleMarker = this._commandDetection.executingCommandObject?.marker;
73
+ const onCommandFinishedFiltered = staleMarker ? Event.filter(
74
+ this._commandDetection.onCommandFinished,
75
+ e => e.marker !== staleMarker,
76
+ store
77
+ ) : this._commandDetection.onCommandFinished;
78
+ const idlePromptPromise = trackIdleOnPrompt(
79
+ this._instance,
80
+ idlePollInterval,
81
+ store,
82
+ idlePollInterval,
83
+ this._logService
84
+ );
85
+ const onDone = Promise.race([Event.toPromise(onCommandFinishedFiltered, store).then(e => {
86
+ this._log("onDone 1 of 2 via end event, waiting for short idle prompt");
87
+ return idlePromptPromise.then(() => {
88
+ this._log("onDone 2 of 2 via short idle prompt");
55
89
  return {
56
- type: "disposal"
90
+ "type": "success",
91
+ command: e
57
92
  };
58
- }),
59
- trackIdleOnPrompt(this._instance, idlePollInterval * 3, store, idlePollInterval).then(() => {
60
- this._log("onDone long idle prompt");
61
- })
62
- ]);
93
+ });
94
+ }), Event.toPromise(token.onCancellationRequested, store).then(() => {
95
+ this._log("onDone via cancellation");
96
+ }), Event.toPromise(this._instance.onDisposed, store).then(() => {
97
+ this._log("onDone via terminal disposal");
98
+ return {
99
+ type: "disposal"
100
+ };
101
+ }), Event.toPromise(this._instance.onExit, store).then(exitCodeOrError => {
102
+ this._log(`onDone via process exit (${formatExitCodeOrError(exitCodeOrError)})`);
103
+ return {
104
+ type: "processExit",
105
+ exitCodeOrError
106
+ };
107
+ }),
108
+ trackIdleOnPrompt(
109
+ this._instance,
110
+ idlePollInterval * 3,
111
+ store,
112
+ idlePollInterval,
113
+ this._logService
114
+ ).then(() => {
115
+ this._log("onDone long idle prompt");
116
+ })]);
63
117
  this._log("Waiting for xterm");
64
118
  const xterm = await this._instance.xtermReadyPromise;
65
119
  if (!xterm) {
@@ -76,9 +130,17 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
76
130
  this._log.bind(this)
77
131
  );
78
132
  if (this._hasReceivedUserInput()) {
79
- this._log("Command timed out, sending SIGINT and retrying");
80
- await this._instance.sendText("\u0003", false);
81
- await waitForIdle(this._instance.onData, 100);
133
+ if (this._commandDetection.executingCommandObject !== undefined) {
134
+ this._log(
135
+ "Previous command still executing with pending input, sending SIGINT before retrying"
136
+ );
137
+ await this._instance.sendText("\u0003", false);
138
+ await waitForIdle(this._instance.onData, 100);
139
+ } else {
140
+ this._log("Prompt is idle; clearing pending input with Ctrl+U instead of SIGINT");
141
+ await this._instance.sendText("\u0015", false);
142
+ await waitForIdle(this._instance.onData, 100);
143
+ }
82
144
  }
83
145
  if (commandId) {
84
146
  this._log(
@@ -87,7 +149,7 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
87
149
  }
88
150
  this._log(`Executing command line \`${commandLine}\``);
89
151
  markerRecreation.dispose();
90
- const forceBracketedPasteMode = isMacintosh;
152
+ const forceBracketedPasteMode = isMacintosh || isMultilineCommand(commandLine);
91
153
  this._instance.sendText(commandLine, true, forceBracketedPasteMode);
92
154
  this._log("Waiting for done event");
93
155
  const onDoneResult = await Promise.race([onDone, alternateBufferPromise.then(() => ({
@@ -113,8 +175,10 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
113
175
  } else if (commandId) {
114
176
  this._log(`No finished command surfaced for requested=${commandId}`);
115
177
  }
116
- this._log("Waiting for idle");
117
- await waitForIdle(this._instance.onData, idlePollInterval);
178
+ if (!(onDoneResult && onDoneResult.type === "processExit")) {
179
+ this._log("Waiting for idle");
180
+ await waitForIdle(this._instance.onData, idlePollInterval);
181
+ }
118
182
  if (token.isCancellationRequested) {
119
183
  throw ( new CancellationError());
120
184
  }
@@ -143,7 +207,10 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
143
207
  if (output !== undefined && output.trim().length === 0) {
144
208
  additionalInformationLines.push("Command produced no output");
145
209
  }
146
- const exitCode = finishedCommand?.exitCode;
210
+ let exitCode = finishedCommand?.exitCode;
211
+ if (exitCode === undefined && onDoneResult && onDoneResult.type === "processExit") {
212
+ exitCode = extractExitCode(onDoneResult.exitCodeOrError);
213
+ }
147
214
  if (isNumber(exitCode) && exitCode > 0) {
148
215
  additionalInformationLines.push(`Command exited with code ${exitCode}`);
149
216
  }
@@ -153,7 +220,7 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
153
220
  exitCode
154
221
  };
155
222
  } finally {
156
- store.dispose();
223
+ this._executionStores.delete(store);
157
224
  }
158
225
  }
159
226
  _log(message) {
@@ -1,6 +1,7 @@
1
1
  import type { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
2
  import type { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
3
  import { DisposableStore, type IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
+ import { ITerminalLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service";
4
5
  import type { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
5
6
  import type { IMarker as IXtermMarker } from "@xterm/xterm";
6
7
  export interface ITerminalExecuteStrategy extends IDisposable {
@@ -50,4 +51,15 @@ export declare function waitForIdleWithPromptHeuristics(onData: Event<unknown>,
50
51
  * Tracks the terminal for being idle on a prompt input. This must be called before `executeCommand`
51
52
  * is called.
52
53
  */
53
- export declare function trackIdleOnPrompt(instance: ITerminalInstance, idleDurationMs: number, store: DisposableStore, promptFallbackMs?: number): Promise<void>;
54
+ export interface ITrackIdleOnPromptOptions {
55
+ /**
56
+ * When true, disables all fallback schedulers: the initial prompt fallback,
57
+ * the data-idle executing fallback, and the hard-cap safety net. Use this
58
+ * for sync (foreground) commands that should block until the command truly
59
+ * finishes rather than being abandoned after an idle period. In sync mode
60
+ * the overall chat-request timeout or user-specified timeout is the safety
61
+ * net instead.
62
+ */
63
+ disableFallbacks?: boolean;
64
+ }
65
+ export declare function trackIdleOnPrompt(instance: ITerminalInstance, idleDurationMs: number, store: DisposableStore, promptFallbackMs?: number, logService?: ITerminalLogService, options?: ITrackIdleOnPromptOptions): Promise<void>;