@codingame/monaco-vscode-katex-common 33.0.9 → 34.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 (255) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.css +169 -0
  3. package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.d.ts +28 -0
  4. package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.js +61 -0
  5. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.d.ts +1 -1
  6. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.js +1 -1
  7. package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
  8. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +18 -17
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +9 -9
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +40 -38
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +14 -14
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +1 -16
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +4 -48
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +16 -18
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +81 -69
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +1 -3
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +5 -22
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionUri.d.ts +2 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionUri.js +21 -0
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +18 -28
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +2 -2
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
  27. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  28. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +30 -30
  29. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +13 -2
  30. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +177 -80
  31. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +15 -15
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +7 -2
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +69 -5
  35. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +3 -3
  36. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +25 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +2 -1
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +4 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +2 -2
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.d.ts +93 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.js +140 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.d.ts +46 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.js +134 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +2 -15
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +49 -117
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +30 -30
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +2 -0
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +47 -4
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +3 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +52 -51
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +18 -14
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +23 -13
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +13 -11
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +15 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +87 -11
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +21 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +102 -35
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +22 -1
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +22 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +6 -2
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +21 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +6 -6
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +1 -1
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +35 -18
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +1 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +62 -35
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +8 -8
  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/chatToolOutputPart.js +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.d.ts +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +15 -12
  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/chatToolProgressPart.d.ts +1 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +10 -3
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +2 -2
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +13 -15
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +4 -4
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +19 -1
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +154 -59
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +21 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatOptions.d.ts +4 -3
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatOptions.js +6 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +17 -2
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +113 -23
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.d.ts +21 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.js +64 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +10 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.js +7 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +11 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +18 -7
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +26 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +361 -66
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +2 -2
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +4 -4
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.d.ts +30 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.js +147 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +11 -5
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +133 -87
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +2 -4
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +4 -2
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +13 -7
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatGoalBannerWidget.css +81 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +32 -18
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +6 -6
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +2 -2
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +39 -40
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +23 -2
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +66 -11
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -6
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +373 -32
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +5 -3
  144. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +18 -0
  145. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +7 -7
  146. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +6 -6
  147. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +18 -18
  148. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.d.ts +12 -2
  149. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.js +54 -11
  150. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +3 -3
  151. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  152. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  153. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +30 -30
  154. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  155. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  156. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  157. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  158. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  159. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  160. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  161. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  162. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  163. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  164. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  165. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  166. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +0 -76
  167. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +0 -191
  168. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +0 -50
  169. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +0 -138
  170. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +0 -12
  171. package/vscode/src/vs/platform/networkFilter/common/settings.js +0 -14
  172. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +0 -18
  173. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +0 -13
  174. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +0 -87
  175. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +0 -10
  176. package/vscode/src/vs/workbench/contrib/terminal/terminalContribChatExports.d.ts +0 -2
  177. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +0 -2
  178. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +0 -41
  179. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
  180. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +0 -26
  181. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +0 -142
  182. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +0 -52
  183. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +0 -232
  184. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -65
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +0 -225
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +0 -27
  187. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +0 -143
  188. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +0 -37
  189. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +0 -205
  190. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +0 -40
  191. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +0 -174
  192. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +0 -7
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +0 -43
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +0 -52
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +0 -260
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +0 -44
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +0 -98
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +0 -42
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +0 -225
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +0 -31
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +0 -392
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +0 -45
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +0 -243
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +0 -53
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +0 -10
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +0 -20
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +0 -310
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +0 -27
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +0 -177
  210. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +0 -11
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +0 -33
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +0 -41
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +0 -19
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +0 -37
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +0 -19
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +0 -37
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +0 -19
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +0 -44
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +0 -13
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +0 -22
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +0 -42
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +0 -102
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +0 -5
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +0 -27
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +0 -14
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +0 -29
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +0 -8
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +0 -33
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +0 -24
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +0 -15
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +0 -53
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +0 -177
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +0 -512
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +0 -42
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +0 -23
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +0 -9
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +0 -258
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +0 -2623
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +0 -22
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +0 -43
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +0 -17
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +0 -118
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +0 -22
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +0 -44
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +0 -1
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +0 -58
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +0 -223
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.d.ts +0 -31
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.js +0 -49
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.d.ts +0 -18
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.js +0 -302
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +0 -7
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.js +0 -118
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +0 -114
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +0 -788
@@ -1,40 +0,0 @@
1
- import { DisposableStore, MutableDisposable, type IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import type { IMarker as IXtermMarker } from "@xterm/xterm";
3
- /**
4
- * Sets up a recreating start marker which is resilient to prompts that clear/re-render (eg. transient
5
- * or powerlevel10k style prompts). The marker is recreated at the cursor position whenever the
6
- * existing marker is disposed. The caller is responsible for adding the startMarker to the store.
7
- */
8
- export declare function setupRecreatingStartMarker(xterm: {
9
- raw: {
10
- registerMarker(): IXtermMarker | undefined;
11
- };
12
- }, startMarker: MutableDisposable<IXtermMarker>, fire: (marker: IXtermMarker | undefined) => void, store: DisposableStore, log?: (message: string) => void): IDisposable;
13
- export declare function createAltBufferPromise(xterm: {
14
- raw: {
15
- buffer: {
16
- active: unknown;
17
- alternate: unknown;
18
- onBufferChange: (callback: () => void) => IDisposable;
19
- };
20
- };
21
- }, store: DisposableStore, log?: (message: string) => void): Promise<void>;
22
- /**
23
- * Strips the command echo and trailing prompt lines from marker-based terminal output.
24
- * Without shell integration (or when `getOutput()` is unavailable), `getContentsAsText`
25
- * captures the entire terminal buffer between the start and end markers, which includes:
26
- * 1. The command echo line (what `sendText` wrote)
27
- * 2. The actual command output
28
- * 3. The next shell prompt line(s)
29
- *
30
- * This function removes (1) and (3) to isolate the actual output.
31
- */
32
- export declare function stripCommandEchoAndPrompt(output: string, commandLine: string, log?: (message: string) => void): string;
33
- export declare function findCommandEcho(output: string, commandLine: string, allowSuffixMatch?: boolean): {
34
- contentBefore: string;
35
- linesAfter: string[];
36
- } | undefined;
37
- export declare function stripNewLinesAndBuildMapping(output: string): {
38
- strippedOutput: string;
39
- indexMapping: number[];
40
- };
@@ -1,174 +0,0 @@
1
-
2
- import { DeferredPromise } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
3
- import { MutableDisposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
-
5
- function setupRecreatingStartMarker(xterm, startMarker, fire, store, log) {
6
- const markerListener = ( new MutableDisposable());
7
- const recreateStartMarker = () => {
8
- if (store.isDisposed) {
9
- return;
10
- }
11
- const marker = xterm.raw.registerMarker();
12
- startMarker.value = marker ?? undefined;
13
- fire(marker);
14
- if (!marker) {
15
- markerListener.clear();
16
- return;
17
- }
18
- markerListener.value = marker.onDispose(() => {
19
- log?.("Start marker was disposed, recreating");
20
- recreateStartMarker();
21
- });
22
- };
23
- recreateStartMarker();
24
- store.add(toDisposable(() => {
25
- markerListener.dispose();
26
- startMarker.clear();
27
- fire(undefined);
28
- }));
29
- store.add(startMarker);
30
- return toDisposable(() => markerListener.dispose());
31
- }
32
- function createAltBufferPromise(xterm, store, log) {
33
- const deferred = ( new DeferredPromise());
34
- const complete = () => {
35
- if (!deferred.isSettled) {
36
- log?.("Detected alternate buffer entry");
37
- deferred.complete();
38
- }
39
- };
40
- if (xterm.raw.buffer.active === xterm.raw.buffer.alternate) {
41
- complete();
42
- } else {
43
- store.add(xterm.raw.buffer.onBufferChange(() => {
44
- if (xterm.raw.buffer.active === xterm.raw.buffer.alternate) {
45
- complete();
46
- }
47
- }));
48
- }
49
- return deferred.p;
50
- }
51
- function stripCommandEchoAndPrompt(output, commandLine, log) {
52
- log?.(
53
- `stripCommandEchoAndPrompt input: output length=${output.length}, commandLine length=${commandLine.length}`
54
- );
55
- const result = _stripCommandEchoAndPromptOnce(output, commandLine, log);
56
- if (result.trim().length > 0 && findCommandEcho(result, commandLine)) {
57
- return _stripCommandEchoAndPromptOnce(result, commandLine, log);
58
- }
59
- return result;
60
- }
61
- function _stripCommandEchoAndPromptOnce(output, commandLine, log) {
62
- const echoResult = findCommandEcho(output, commandLine, true);
63
- const lines = echoResult ? echoResult.linesAfter : output.split("\n");
64
- const startIndex = 0;
65
- const promptBefore = echoResult?.contentBefore ?? "";
66
- const isUnixAt = /\w+@[\w.-]+:/.test(promptBefore);
67
- const isUnixHost = !isUnixAt && /[\w.-]+:\S/.test(promptBefore);
68
- const isUnix = isUnixAt || isUnixHost;
69
- const isPowerShell = /^PS\s/i.test(promptBefore);
70
- const isCmd = !isPowerShell && /^[A-Z]:\\/.test(promptBefore);
71
- const isStarship = /\u276f/.test(promptBefore);
72
- const isPython = />>>/.test(promptBefore);
73
- const knownPrompt = isUnix || isPowerShell || isCmd || isStarship || isPython;
74
- let endIndex = lines.length;
75
- let trailingStrippedCount = 0;
76
- const maxTrailingPromptLines = 2;
77
- while (endIndex > startIndex) {
78
- const line = lines[endIndex - 1].trimEnd();
79
- if (line.length === 0) {
80
- endIndex--;
81
- continue;
82
- }
83
- if (trailingStrippedCount >= maxTrailingPromptLines) {
84
- break;
85
- }
86
- const isCompletePrompt =
87
- ((!knownPrompt || isUnixAt) && /^\s*\w+@[\w.-]+:.*[#$]\s*$/.test(line)) || ((!knownPrompt || isUnixHost) && /^\s*[\w.-]+:\S.*\s\w+[#$]\s*$/.test(line)) || ((!knownPrompt || isPowerShell) && /^PS\s+[A-Z]:\\.*>\s*$/.test(line)) || ((!knownPrompt || isCmd) && /^[A-Z]:\\.*>\s*$/.test(line)) || ((!knownPrompt || isStarship) && /\u276f\s*$/.test(line)) || ((!knownPrompt || isPython) && /^>>>\s*$/.test(line));
88
- const isPromptFragment =
89
- ((!knownPrompt || isUnix) && /^\s*[\w/.-]+[#$]\s*$/.test(line)) || ((!knownPrompt || isUnix) && /^\[\s*[\w.-]+(@[\w.-]+)?:[~\/]/.test(line)) || ((!knownPrompt || isUnix) && trailingStrippedCount > 0 && /^\s*[\w][-\w.]*(@[\w.-]+)?:\S/.test(line)) || ((!knownPrompt || isUnix) && /\]\s*[#$]\s*$/.test(line));
90
- if (isCompletePrompt) {
91
- endIndex--;
92
- trailingStrippedCount++;
93
- break;
94
- } else if (isPromptFragment) {
95
- endIndex--;
96
- trailingStrippedCount++;
97
- } else {
98
- break;
99
- }
100
- }
101
- const result = lines.slice(startIndex, endIndex).join("\n");
102
- log?.(
103
- `stripCommandEchoAndPrompt result: length=${result.length} (startIndex=${startIndex}, endIndex=${endIndex}, totalLines=${lines.length})`
104
- );
105
- return result;
106
- }
107
- function findCommandEcho(output, commandLine, allowSuffixMatch) {
108
- const trimmedCommand = commandLine.trim();
109
- if (trimmedCommand.length === 0) {
110
- return undefined;
111
- }
112
- const {
113
- strippedOutput,
114
- indexMapping
115
- } = stripNewLinesAndBuildMapping(output);
116
- const matchIndex = strippedOutput.indexOf(trimmedCommand);
117
- let matchEndInStripped;
118
- let contentBefore;
119
- if (matchIndex !== -1) {
120
- contentBefore = strippedOutput.substring(0, matchIndex).trim();
121
- matchEndInStripped = matchIndex + trimmedCommand.length - 1;
122
- } else if (allowSuffixMatch) {
123
- let suffixLen = 0;
124
- for (let len = trimmedCommand.length - 1; len >= 1; len--) {
125
- const suffix = trimmedCommand.substring(trimmedCommand.length - len);
126
- if (strippedOutput.startsWith(suffix)) {
127
- const charBefore = trimmedCommand[trimmedCommand.length - len - 1];
128
- if (charBefore !== undefined && charBefore !== " " && charBefore !== "\t") {
129
- suffixLen = len;
130
- }
131
- break;
132
- }
133
- }
134
- if (suffixLen === 0) {
135
- return undefined;
136
- }
137
- contentBefore = "";
138
- matchEndInStripped = suffixLen - 1;
139
- } else {
140
- return undefined;
141
- }
142
- const originalEnd = indexMapping[matchEndInStripped];
143
- const lines = output.split("\n");
144
- let echoEndLine = 0;
145
- let offset = 0;
146
- for (let i = 0; i < lines.length; i++) {
147
- const lineEnd = offset + lines[i].length;
148
- if (offset <= originalEnd && originalEnd <= lineEnd) {
149
- echoEndLine = i + 1;
150
- break;
151
- }
152
- offset = lineEnd + 1;
153
- }
154
- return {
155
- contentBefore,
156
- linesAfter: lines.slice(echoEndLine)
157
- };
158
- }
159
- function stripNewLinesAndBuildMapping(output) {
160
- const indexMapping = [];
161
- const strippedChars = [];
162
- for (let i = 0; i < output.length; i++) {
163
- if (output[i] !== "\n") {
164
- strippedChars.push(output[i]);
165
- indexMapping.push(i);
166
- }
167
- }
168
- return {
169
- strippedOutput: strippedChars.join(""),
170
- indexMapping
171
- };
172
- }
173
-
174
- export { createAltBufferPromise, findCommandEcho, setupRecreatingStartMarker, stripCommandEchoAndPrompt, stripNewLinesAndBuildMapping };
@@ -1,7 +0,0 @@
1
- import { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
2
- import type { IMarker as IXtermMarker } from "@xterm/xterm";
3
- export interface IGetOutputOptions {
4
- /** When set, only return the last N non-empty lines from the bottom of the buffer. */
5
- lastNLines?: number;
6
- }
7
- export declare function getOutput(instance: ITerminalInstance, startMarker?: IXtermMarker, options?: IGetOutputOptions): string;
@@ -1,43 +0,0 @@
1
-
2
- import { truncateOutputKeepingTail } from './runInTerminalHelpers.js';
3
-
4
- const MAX_OUTPUT_LENGTH = 60000;
5
- function getOutput(instance, startMarker, options) {
6
- if (!instance.xterm || !instance.xterm.raw) {
7
- return '';
8
- }
9
- const buffer = instance.xterm.raw.buffer.active;
10
- let startLine = Math.max(startMarker?.line ?? 0, 0);
11
- while (startLine > 0 && buffer.getLine(startLine)?.isWrapped) {
12
- startLine--;
13
- }
14
- const endLine = buffer.length;
15
- const lines = [];
16
- let currentLine = '';
17
- for (let y = startLine; y < endLine; y++) {
18
- const line = buffer.getLine(y);
19
- if (!line) {
20
- continue;
21
- }
22
- const isWrapped = !!buffer.getLine(y + 1)?.isWrapped;
23
- currentLine += line.translateToString(!isWrapped);
24
- if (!isWrapped) {
25
- lines.push(currentLine);
26
- currentLine = '';
27
- }
28
- }
29
- if (currentLine) {
30
- lines.push(currentLine);
31
- }
32
- if (options?.lastNLines !== undefined) {
33
- const nonEmpty = lines.filter(l => l.trim().length > 0);
34
- return nonEmpty.slice(-options.lastNLines).join('\n');
35
- }
36
- let output = lines.join('\n');
37
- if (output.length > MAX_OUTPUT_LENGTH) {
38
- output = truncateOutputKeepingTail(output, MAX_OUTPUT_LENGTH);
39
- }
40
- return output;
41
- }
42
-
43
- export { getOutput };
@@ -1,52 +0,0 @@
1
- import { OperatingSystem } from "@codingame/monaco-vscode-api/vscode/vs/base/common/platform";
2
- import type { ToolConfirmationAction } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
3
- import type { ICommandApprovalResultWithReason } from "./tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js";
4
- export declare function isPowerShell(envShell: string, os: OperatingSystem): boolean;
5
- export declare function isWindowsPowerShell(envShell: string): boolean;
6
- export declare function isZsh(envShell: string, os: OperatingSystem): boolean;
7
- export declare function isBash(envShell: string, os: OperatingSystem): boolean;
8
- export declare function isFish(envShell: string, os: OperatingSystem): boolean;
9
- export declare const TRUNCATION_MESSAGE = "\n\n[... PREVIOUS OUTPUT TRUNCATED ...]\n\n";
10
- export declare function truncateOutputKeepingTail(output: string, maxLength: number): string;
11
- /**
12
- * Normalizes command text for UI display by removing unnecessary quote and forward slash
13
- * escaping artifacts (for example: \" \' \/) commonly produced in streamed tool-call JSON.
14
- */
15
- export declare function normalizeTerminalCommandForDisplay(commandLine: string): string;
16
- /**
17
- * Builds a single-line display string for a terminal command, suitable for UI messages.
18
- * Normalizes escape artifacts, collapses newlines to spaces, and truncates to 80 characters.
19
- */
20
- export declare function buildCommandDisplayText(command: string): string;
21
- /**
22
- * Normalizes a terminal command for execution by collapsing newlines to spaces.
23
- * This prevents multi-line input from being sent as multiple commands via sendText.
24
- */
25
- export declare function normalizeCommandForExecution(command: string): string;
26
- /**
27
- * Whether a command spans multiple lines (heredoc, multi-statement block, etc.).
28
- * Multi-line commands must be sent verbatim through bracketed paste mode so the
29
- * shell treats them as a single paste instead of executing each line as it
30
- * arrives.
31
- *
32
- * Bare line continuations (`\` immediately before a newline) are **not**
33
- * considered multi-line because the shell joins them into a single logical
34
- * line. Only newlines that are *not* preceded by a backslash count.
35
- */
36
- export declare function isMultilineCommand(command: string): boolean;
37
- export declare function generateAutoApproveActions(commandLine: string, subCommands: string[], autoApproveResult: {
38
- subCommandResults: ICommandApprovalResultWithReason[];
39
- commandLineResult: ICommandApprovalResultWithReason;
40
- }): ToolConfirmationAction[];
41
- export declare function dedupeRules(rules: ICommandApprovalResultWithReason[]): ICommandApprovalResultWithReason[];
42
- export interface IExtractedCdPrefix {
43
- /** The directory path that was extracted from the cd command */
44
- directory: string;
45
- /** The command to run after the cd */
46
- command: string;
47
- }
48
- /**
49
- * Extracts a cd prefix from a command line, returning the directory and remaining command.
50
- * Does not check if the directory matches the current cwd - just extracts the pattern.
51
- */
52
- export declare function extractCdPrefix(commandLine: string, shell: string, os: OperatingSystem): IExtractedCdPrefix | undefined;
@@ -1,260 +0,0 @@
1
-
2
- import { Separator } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
3
- import { coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
4
- import { win32, posix } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
5
- import { OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
6
- import { escapeRegExpCharacters } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
7
- import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
8
- import { isAutoApproveRule } from './tools/commandLineAnalyzer/commandLineAnalyzer.js';
9
-
10
- function isPowerShell(envShell, os) {
11
- if (os === OperatingSystem.Windows) {
12
- return /^(?:powershell|pwsh)(?:-preview)?$/i.test(win32.basename(envShell).replace(/\.exe$/i, ""));
13
- }
14
- return /^(?:powershell|pwsh)(?:-preview)?$/.test(posix.basename(envShell));
15
- }
16
- function isWindowsPowerShell(envShell) {
17
- return envShell.endsWith("System32\\WindowsPowerShell\\v1.0\\powershell.exe");
18
- }
19
- function isZsh(envShell, os) {
20
- if (os === OperatingSystem.Windows) {
21
- return /^zsh(?:\.exe)?$/i.test(win32.basename(envShell));
22
- }
23
- return /^zsh$/.test(posix.basename(envShell));
24
- }
25
- function isBash(envShell, os) {
26
- if (os === OperatingSystem.Windows) {
27
- return /^bash(?:\.exe)?$/i.test(win32.basename(envShell));
28
- }
29
- return /^bash$/.test(posix.basename(envShell));
30
- }
31
- function isFish(envShell, os) {
32
- if (os === OperatingSystem.Windows) {
33
- return /^fish(?:\.exe)?$/i.test(win32.basename(envShell));
34
- }
35
- return /^fish$/.test(posix.basename(envShell));
36
- }
37
- const TRUNCATION_MESSAGE = "\n\n[... PREVIOUS OUTPUT TRUNCATED ...]\n\n";
38
- function truncateOutputKeepingTail(output, maxLength) {
39
- if (output.length <= maxLength) {
40
- return output;
41
- }
42
- const truncationMessageLength = TRUNCATION_MESSAGE.length;
43
- if (truncationMessageLength >= maxLength) {
44
- return TRUNCATION_MESSAGE.slice(TRUNCATION_MESSAGE.length - maxLength);
45
- }
46
- const availableLength = maxLength - truncationMessageLength;
47
- const endPortion = output.slice(-availableLength);
48
- return TRUNCATION_MESSAGE + endPortion;
49
- }
50
- function normalizeTerminalCommandForDisplay(commandLine) {
51
- return commandLine.replace(/\\(["'\/])/g, "$1");
52
- }
53
- function buildCommandDisplayText(command) {
54
- const normalized = normalizeTerminalCommandForDisplay(command).replace(/\r\n|\r|\n/g, " ");
55
- return normalized.length > 80 ? normalized.substring(0, 77) + "..." : normalized;
56
- }
57
- function normalizeCommandForExecution(command) {
58
- return command.replace(/\r\n|\r|\n/g, " ").trim();
59
- }
60
- function isMultilineCommand(command) {
61
- const normalized = command.replace(/\r\n|\r/g, "\n");
62
- return /(?<!\\)\n/.test(normalized);
63
- }
64
- function generateAutoApproveActions(commandLine, subCommands, autoApproveResult) {
65
- const actions = [];
66
- const canCreateAutoApproval = (autoApproveResult.subCommandResults.every(e => e.result !== "denied") && autoApproveResult.commandLineResult.result !== "denied");
67
- if (canCreateAutoApproval) {
68
- const unapprovedSubCommands = subCommands.filter((_, index) => {
69
- return autoApproveResult.subCommandResults[index].result !== "approved";
70
- });
71
- const neverAutoApproveCommands = ( new Set([
72
- "bash", "sh", "zsh", "fish", "ksh", "csh", "tcsh", "dash", "pwsh", "powershell", "powershell.exe", "cmd", "cmd.exe",
73
- "python", "python3", "node", "ruby", "perl", "php", "lua",
74
- "eval", "exec", "source", "sudo", "su", "doas",
75
- "curl", "wget", "invoke-restmethod", "invoke-webrequest", "irm", "iwr"]));
76
- const commandsWithSubcommands = ( new Set([
77
- "git",
78
- "npm",
79
- "npx",
80
- "yarn",
81
- "docker",
82
- "kubectl",
83
- "cargo",
84
- "dotnet",
85
- "mvn",
86
- "gradle"
87
- ]));
88
- const commandsWithSubSubCommands = ( new Set(["npm run", "yarn run"]));
89
- const findNextNonFlagArg = (parts, startIndex) => {
90
- for (let i = startIndex; i < parts.length; i++) {
91
- if (!parts[i].startsWith("-")) {
92
- return i;
93
- }
94
- }
95
- return undefined;
96
- };
97
- const subCommandsToSuggest = Array.from(( new Set(coalesce(( unapprovedSubCommands.map(command => {
98
- const parts = command.trim().split(/\s+/);
99
- const baseCommand = parts[0].toLowerCase();
100
- if (( neverAutoApproveCommands.has(baseCommand))) {
101
- return undefined;
102
- }
103
- if (( commandsWithSubcommands.has(baseCommand))) {
104
- const subCommandIndex = findNextNonFlagArg(parts, 1);
105
- if (subCommandIndex !== undefined) {
106
- const baseSubCommand = `${parts[0]} ${parts[subCommandIndex]}`.toLowerCase();
107
- if (( commandsWithSubSubCommands.has(baseSubCommand))) {
108
- const subSubCommandIndex = findNextNonFlagArg(parts, subCommandIndex + 1);
109
- if (subSubCommandIndex !== undefined) {
110
- return parts.slice(0, subSubCommandIndex + 1).join(" ");
111
- }
112
- return undefined;
113
- } else {
114
- return parts.slice(0, subCommandIndex + 1).join(" ");
115
- }
116
- }
117
- return undefined;
118
- } else {
119
- return parts[0];
120
- }
121
- }))))));
122
- if (subCommandsToSuggest.length > 0) {
123
- let subCommandLabel;
124
- if (subCommandsToSuggest.length === 1) {
125
- subCommandLabel = `\`${subCommandsToSuggest[0]} \u2026\``;
126
- } else {
127
- subCommandLabel = `Commands ${( subCommandsToSuggest.map(e => `\`${e} \u2026\``)).join(", ")}`;
128
- }
129
- actions.push({
130
- label: `Allow ${subCommandLabel} in this Session`,
131
- data: {
132
- type: "newRule",
133
- rule: ( subCommandsToSuggest.map(key => ({
134
- key,
135
- value: true,
136
- scope: "session"
137
- })))
138
- }
139
- });
140
- actions.push({
141
- label: `Allow ${subCommandLabel} in this Workspace`,
142
- data: {
143
- type: "newRule",
144
- rule: ( subCommandsToSuggest.map(key => ({
145
- key,
146
- value: true,
147
- scope: "workspace"
148
- })))
149
- }
150
- });
151
- actions.push({
152
- label: `Always Allow ${subCommandLabel}`,
153
- data: {
154
- type: "newRule",
155
- rule: ( subCommandsToSuggest.map(key => ({
156
- key,
157
- value: true,
158
- scope: "user"
159
- })))
160
- }
161
- });
162
- }
163
- if (actions.length > 0) {
164
- actions.push(( new Separator()));
165
- }
166
- const firstSubcommandFirstWord = unapprovedSubCommands.length > 0 ? unapprovedSubCommands[0].split(" ")[0] : "";
167
- if (firstSubcommandFirstWord !== commandLine && !( commandsWithSubcommands.has(commandLine)) && !( commandsWithSubSubCommands.has(commandLine))) {
168
- actions.push({
169
- label: ( localize(14441, "Allow Exact Command Line in this Session")),
170
- data: {
171
- type: "newRule",
172
- rule: {
173
- key: `/^${escapeRegExpCharacters(commandLine)}$/`,
174
- value: {
175
- approve: true,
176
- matchCommandLine: true
177
- },
178
- scope: "session"
179
- }
180
- }
181
- });
182
- actions.push({
183
- label: ( localize(14442, "Allow Exact Command Line in this Workspace")),
184
- data: {
185
- type: "newRule",
186
- rule: {
187
- key: `/^${escapeRegExpCharacters(commandLine)}$/`,
188
- value: {
189
- approve: true,
190
- matchCommandLine: true
191
- },
192
- scope: "workspace"
193
- }
194
- }
195
- });
196
- actions.push({
197
- label: ( localize(14443, "Always Allow Exact Command Line")),
198
- data: {
199
- type: "newRule",
200
- rule: {
201
- key: `/^${escapeRegExpCharacters(commandLine)}$/`,
202
- value: {
203
- approve: true,
204
- matchCommandLine: true
205
- },
206
- scope: "user"
207
- }
208
- }
209
- });
210
- }
211
- }
212
- if (actions.length > 0) {
213
- actions.push(( new Separator()));
214
- }
215
- actions.push({
216
- label: ( localize(14444, "Allow All Commands in this Session")),
217
- tooltip: ( localize(14445, "Allow this tool to run in this session without confirmation.")),
218
- data: {
219
- type: "sessionApproval"
220
- }
221
- });
222
- actions.push(( new Separator()));
223
- actions.push({
224
- label: ( localize(14446, "Configure Auto Approve...")),
225
- data: {
226
- type: "configure"
227
- }
228
- });
229
- return actions;
230
- }
231
- function dedupeRules(rules) {
232
- return rules.filter((result, index, array) => {
233
- if (!isAutoApproveRule(result.rule)) {
234
- return false;
235
- }
236
- const sourceText = result.rule.sourceText;
237
- return array.findIndex(r => isAutoApproveRule(r.rule) && r.rule.sourceText === sourceText) === index;
238
- });
239
- }
240
- function extractCdPrefix(commandLine, shell, os) {
241
- const isPwsh = isPowerShell(shell, os);
242
- const cdPrefixMatch = commandLine.match(
243
- isPwsh ? /^(?:cd(?: \/d)?|Set-Location(?: -Path)?) (?<dir>[^\s]+) ?(?:&&|;)\s+(?<suffix>.+)$/i : /^cd (?<dir>[^\s]+) &&\s+(?<suffix>.+)$/
244
- );
245
- const cdDir = cdPrefixMatch?.groups?.dir;
246
- const cdSuffix = cdPrefixMatch?.groups?.suffix;
247
- if (cdDir && cdSuffix) {
248
- let cdDirPath = cdDir;
249
- if (cdDirPath.startsWith("\"") && cdDirPath.endsWith("\"")) {
250
- cdDirPath = cdDirPath.slice(1, -1);
251
- }
252
- return {
253
- directory: cdDirPath,
254
- command: cdSuffix
255
- };
256
- }
257
- return undefined;
258
- }
259
-
260
- export { TRUNCATION_MESSAGE, buildCommandDisplayText, dedupeRules, extractCdPrefix, generateAutoApproveActions, isBash, isFish, isMultilineCommand, isPowerShell, isWindowsPowerShell, isZsh, normalizeCommandForExecution, normalizeTerminalCommandForDisplay, truncateOutputKeepingTail };
@@ -1,44 +0,0 @@
1
- import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
2
- import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
3
- import type { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
4
- import { ShellIntegrationQuality } from "./toolTerminalCreator.js";
5
- export declare class RunInTerminalToolTelemetry {
6
- private readonly _telemetryService;
7
- private readonly _configurationService;
8
- constructor(_telemetryService: ITelemetryService, _configurationService: IConfigurationService);
9
- logPrepare(state: {
10
- terminalToolSessionId: string | undefined;
11
- subCommands: string[];
12
- autoApproveAllowed: "allowed" | "needsOptIn" | "off";
13
- autoApproveResult: "approved" | "denied" | "manual";
14
- autoApproveReason: "subCommand" | "commandLine" | undefined;
15
- autoApproveDefault: boolean | undefined;
16
- }): void;
17
- logInvoke(instance: ITerminalInstance, state: {
18
- terminalToolSessionId: string | undefined;
19
- didUserEditCommand: boolean;
20
- didToolEditCommand: boolean;
21
- error: string | undefined;
22
- isBackground: boolean;
23
- isNewSession: boolean;
24
- isSandboxWrapped: boolean;
25
- requestUnsandboxedExecutionReason: string | undefined;
26
- shellIntegrationQuality: ShellIntegrationQuality;
27
- outputLineCount: number;
28
- timingConnectMs: number;
29
- timingExecuteMs: number;
30
- pollDurationMs: number | undefined;
31
- terminalExecutionIdleBeforeTimeout: boolean | undefined;
32
- exitCode: number | undefined;
33
- inputUserChars: number;
34
- inputUserSigint: boolean;
35
- inputToolManualAcceptCount: number | undefined;
36
- inputToolManualRejectCount: number | undefined;
37
- inputToolManualChars: number | undefined;
38
- inputToolAutoAcceptCount: number | undefined;
39
- inputToolAutoChars: number | undefined;
40
- inputToolManualShownCount: number | undefined;
41
- inputToolFreeFormInputShownCount: number | undefined;
42
- inputToolFreeFormInputCount: number | undefined;
43
- }): void;
44
- }