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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/package.json +3 -3
  2. package/vscode/src/vs/platform/actions/browser/actionbar.d.ts +16 -0
  3. package/vscode/src/vs/platform/actions/browser/actionbar.js +22 -0
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
  5. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
  6. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
  7. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
  8. package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
  9. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
  10. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
  11. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +73 -0
  12. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +3 -1
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +51 -24
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +2 -1
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +64 -72
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +2 -1
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -14
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +17 -18
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +5 -2
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +5 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +73 -9
  28. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +32 -32
  30. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.d.ts +1 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +20 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +1 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +73 -49
  34. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +12 -12
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +0 -6
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +41 -99
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +13 -9
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +14 -15
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +11 -12
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +339 -161
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +9 -2
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +9 -4
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +33 -5
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.d.ts +43 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.js +147 -2
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +4 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +55 -6
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.d.ts +1 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +7 -5
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +1 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +42 -10
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animation.d.ts +18 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.d.ts +15 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.js +16 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.d.ts +13 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.js +33 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/buffer.d.ts +46 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.d.ts +11 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.js +12 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.d.ts +9 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.js +12 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +23 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +37 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.d.ts +34 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.js +68 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +77 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +170 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/media/chatIncrementalRendering.css +112 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +3 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -16
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +24 -6
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +111 -145
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.d.ts +58 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +425 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +16 -7
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +68 -25
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +101 -45
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +36 -4
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +217 -25
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +23 -3
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +168 -60
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +10 -10
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +18 -17
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -5
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +7 -18
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +1 -5
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +7 -19
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +24 -19
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +104 -78
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +11 -2
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +257 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +19 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +30 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +1 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +12 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +286 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +15 -11
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -7
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +25 -47
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +29 -53
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +258 -321
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +53 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +392 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -3
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +24 -30
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +2 -3
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +9 -8
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +6 -3
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +2 -3
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +38 -11
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +577 -113
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +0 -7
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +4 -7
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +1 -8
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +58 -75
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +44 -12
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +362 -188
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +0 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +4 -5
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +42 -95
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +2 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +9 -10
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +57 -38
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +21 -15
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/{modelPickerActionItem2.js → modelPickerActionItem.js} +5 -7
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +38 -31
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +4 -5
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +94 -40
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
  166. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +16 -0
  167. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +218 -0
  168. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +7 -7
  169. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +6 -1
  170. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
  171. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +12 -21
  172. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -32
  173. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +355 -156
  174. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +2 -13
  175. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +72 -65
  176. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +4 -43
  177. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +238 -204
  178. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +4 -19
  179. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +128 -115
  180. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +6 -9
  181. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +152 -49
  182. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +64 -0
  183. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +40 -40
  184. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  185. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  186. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  187. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  188. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  189. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  190. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  191. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  192. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  193. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  194. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  196. package/vscode/src/vs/workbench/contrib/terminal/terminalContribChatExports.d.ts +2 -0
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +45 -0
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +165 -0
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +53 -0
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +163 -0
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +142 -0
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +29 -0
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +144 -0
  210. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +42 -0
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +256 -0
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +42 -0
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +94 -0
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +221 -0
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +52 -0
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +19 -0
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +168 -0
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +22 -0
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +47 -0
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +24 -0
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +32 -0
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +108 -0
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +412 -0
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
  256. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
  257. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +192 -0
  258. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2258 -0
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +22 -0
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +43 -0
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +1 -0
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +25 -0
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +141 -0
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +85 -0
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +608 -0
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +0 -40
  271. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +0 -196
  272. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +0 -29
  273. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.d.ts +0 -46
  274. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +0 -215
  275. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +0 -18
  276. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +0 -107
@@ -0,0 +1,608 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
+ import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
5
+ import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
6
+ import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import { FileAccess } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
8
+ import { win32, posix, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
9
+ import { OS, OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
10
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
11
+ import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
12
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
13
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
14
+ import { IEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service';
15
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
16
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
17
+ import { IRemoteAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
18
+ import { TerminalChatAgentToolsSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration';
19
+ import { AgentNetworkDomainSettingId } from '../../../../../platform/networkFilter/common/settings.js';
20
+ import { matchesDomainPattern, normalizeDomain } from '../../../../../platform/networkFilter/common/domainMatcher.js';
21
+ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
22
+ import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
23
+ import { WillShutdownJoinerOrder } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle';
24
+ import { ILifecycleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
25
+ import { ISandboxHelperService } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/sandboxHelperService.service';
26
+ import { TerminalCapability } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/capabilities/capabilities';
27
+ import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
28
+ import { ChatElicitationRequestPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatElicitationRequestPart';
29
+ import { ChatModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel';
30
+ import { ElicitationState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
31
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
32
+ import { SANDBOX_HELPER_CHANNEL_NAME, SandboxHelperChannelClient } from '../../../../../platform/sandbox/common/sandboxHelperIpc.js';
33
+ import { AgentSandboxSettingId, AgentSandboxEnabledValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/settings';
34
+ import { TerminalSandboxPrerequisiteCheck } from '../../../../../platform/sandbox/common/terminalSandboxService.js';
35
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
36
+
37
+ var TerminalSandboxService_1;
38
+ let TerminalSandboxService = class TerminalSandboxService extends Disposable {
39
+ static {
40
+ TerminalSandboxService_1 = this;
41
+ }
42
+ static {
43
+ this._sandboxTempDirName = "tmp";
44
+ }
45
+ static {
46
+ this._urlRegex = /(?:https?|wss?):\/\/[^\s'"`|&;<>]+/gi;
47
+ }
48
+ static {
49
+ this._sshRemoteRegex = /(?:^|[\s'"`])(?:[^\s@:'"`]+@)?([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})(?::[^\s'"`|&;<>]+)(?=$|[\s'"`|&;<>])/gi;
50
+ }
51
+ static {
52
+ this._hostRegex = /(?:^|[\s'"`(=])([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})(?::\d+)?(?=(?:\/[^\s'"`|&;<>]*)?(?:$|[\s'"`)\]|,;|&<>]))/gi;
53
+ }
54
+ constructor(
55
+ _configurationService,
56
+ _fileService,
57
+ _environmentService,
58
+ _logService,
59
+ _remoteAgentService,
60
+ _workspaceContextService,
61
+ _productService,
62
+ _lifecycleService,
63
+ _sandboxHelperService,
64
+ _chatService
65
+ ) {
66
+ super();
67
+ this._configurationService = _configurationService;
68
+ this._fileService = _fileService;
69
+ this._environmentService = _environmentService;
70
+ this._logService = _logService;
71
+ this._remoteAgentService = _remoteAgentService;
72
+ this._workspaceContextService = _workspaceContextService;
73
+ this._productService = _productService;
74
+ this._lifecycleService = _lifecycleService;
75
+ this._sandboxHelperService = _sandboxHelperService;
76
+ this._chatService = _chatService;
77
+ this._srtPathResolved = false;
78
+ this._needsForceUpdateConfigFile = true;
79
+ this._remoteEnvDetails = null;
80
+ this._os = OS;
81
+ this._defaultWritePaths = ["~/.npm"];
82
+ this._pathJoin = (...segments) => {
83
+ const path = this._os === OperatingSystem.Windows ? win32 : posix;
84
+ return path.join(...segments);
85
+ };
86
+ this._appRoot = dirname(( FileAccess.asFileUri("")).path);
87
+ const nativeEnv = this._environmentService;
88
+ this._execPath = nativeEnv.execPath;
89
+ this._sandboxSettingsId = generateUuid();
90
+ this._remoteEnvDetailsPromise = this._remoteAgentService.getEnvironment();
91
+ this._register(
92
+ Event.runAndSubscribe(this._configurationService.onDidChangeConfiguration, e => {
93
+ if (e?.affectsConfiguration(AgentSandboxSettingId.AgentSandboxEnabled) || e?.affectsConfiguration(AgentSandboxSettingId.DeprecatedAgentSandboxEnabled) || e?.affectsConfiguration(AgentNetworkDomainSettingId.AllowedNetworkDomains) || e?.affectsConfiguration(AgentNetworkDomainSettingId.DeprecatedSandboxAllowedNetworkDomains) || e?.affectsConfiguration(AgentNetworkDomainSettingId.DeprecatedOldAllowedNetworkDomains) || e?.affectsConfiguration(AgentNetworkDomainSettingId.DeniedNetworkDomains) || e?.affectsConfiguration(AgentNetworkDomainSettingId.DeprecatedSandboxDeniedNetworkDomains) || e?.affectsConfiguration(AgentNetworkDomainSettingId.DeprecatedOldDeniedNetworkDomains) || e?.affectsConfiguration(TerminalChatAgentToolsSettingId.AgentSandboxLinuxFileSystem) || e?.affectsConfiguration(TerminalChatAgentToolsSettingId.DeprecatedAgentSandboxLinuxFileSystem) || e?.affectsConfiguration(TerminalChatAgentToolsSettingId.AgentSandboxMacFileSystem) || e?.affectsConfiguration(TerminalChatAgentToolsSettingId.DeprecatedAgentSandboxMacFileSystem) || e?.affectsConfiguration(TerminalChatAgentToolsSettingId.AgentSandboxAdvancedRuntime)) {
94
+ this.setNeedsForceUpdateConfigFile();
95
+ }
96
+ })
97
+ );
98
+ this._register(this._workspaceContextService.onDidChangeWorkspaceFolders(() => {
99
+ this.setNeedsForceUpdateConfigFile();
100
+ }));
101
+ this._register(this._lifecycleService.onWillShutdown(e => {
102
+ if (!this._tempDir) {
103
+ return;
104
+ }
105
+ e.join(this._cleanupSandboxTempDir(), {
106
+ id: "join.deleteFilesInSandboxTempDir",
107
+ label: ( localize(14190, "Delete Files in Sandbox Temp Dir")),
108
+ order: WillShutdownJoinerOrder.Default
109
+ });
110
+ }));
111
+ }
112
+ async isEnabled() {
113
+ return await this._isSandboxConfiguredEnabled();
114
+ }
115
+ async getOS() {
116
+ this._remoteEnvDetails = await this._remoteEnvDetailsPromise;
117
+ this._os = this._remoteEnvDetails ? this._remoteEnvDetails.os : OS;
118
+ return this._os;
119
+ }
120
+ wrapCommand(command, requestUnsandboxedExecution, shell) {
121
+ if (!this._sandboxConfigPath || !this._tempDir) {
122
+ throw ( new Error("Sandbox config path or temp dir not initialized"));
123
+ }
124
+ const blockedDomainResult = requestUnsandboxedExecution ? {
125
+ blockedDomains: [],
126
+ deniedDomains: []
127
+ } : this._getBlockedDomains(command);
128
+ if (!requestUnsandboxedExecution && blockedDomainResult.blockedDomains.length > 0) {
129
+ return {
130
+ command: this._wrapUnsandboxedCommand(command, shell),
131
+ isSandboxWrapped: false,
132
+ blockedDomains: blockedDomainResult.blockedDomains,
133
+ deniedDomains: blockedDomainResult.deniedDomains,
134
+ requiresUnsandboxConfirmation: true
135
+ };
136
+ }
137
+ if (requestUnsandboxedExecution) {
138
+ return {
139
+ command: this._wrapUnsandboxedCommand(command, shell),
140
+ isSandboxWrapped: false
141
+ };
142
+ }
143
+ if (!this._execPath) {
144
+ throw ( new Error("Executable path not set to run sandbox commands"));
145
+ }
146
+ if (!this._srtPath) {
147
+ throw ( new Error("Sandbox runtime path not resolved"));
148
+ }
149
+ if (!this._rgPath) {
150
+ throw ( new Error("Ripgrep path not resolved"));
151
+ }
152
+ const wrappedCommand = `PATH="$PATH:${dirname(this._rgPath)}" TMPDIR="${this._tempDir.path}" CLAUDE_TMPDIR="${this._tempDir.path}" "${this._execPath}" "${this._srtPath}" --settings "${this._sandboxConfigPath}" -c ${this._quoteShellArgument(command)}`;
153
+ if (this._remoteEnvDetails) {
154
+ return {
155
+ command: wrappedCommand,
156
+ isSandboxWrapped: true
157
+ };
158
+ }
159
+ return {
160
+ command: `ELECTRON_RUN_AS_NODE=1 ${wrappedCommand}`,
161
+ isSandboxWrapped: true
162
+ };
163
+ }
164
+ getTempDir() {
165
+ return this._tempDir;
166
+ }
167
+ setNeedsForceUpdateConfigFile() {
168
+ this._needsForceUpdateConfigFile = true;
169
+ }
170
+ async checkForSandboxingPrereqs(forceRefresh = false) {
171
+ if (!(await this._isSandboxConfiguredEnabled())) {
172
+ return {
173
+ enabled: false,
174
+ sandboxConfigPath: undefined,
175
+ failedCheck: undefined
176
+ };
177
+ }
178
+ const sandboxConfigPath = await this.getSandboxConfigPath(forceRefresh);
179
+ if (!sandboxConfigPath) {
180
+ return {
181
+ enabled: true,
182
+ sandboxConfigPath,
183
+ failedCheck: TerminalSandboxPrerequisiteCheck.Config
184
+ };
185
+ }
186
+ if (!(await this._checkSandboxDependencies(forceRefresh))) {
187
+ return {
188
+ enabled: true,
189
+ sandboxConfigPath,
190
+ failedCheck: TerminalSandboxPrerequisiteCheck.Dependencies,
191
+ missingDependencies: await this.getMissingSandboxDependencies()
192
+ };
193
+ }
194
+ return {
195
+ enabled: true,
196
+ sandboxConfigPath,
197
+ failedCheck: undefined
198
+ };
199
+ }
200
+ async getSandboxConfigPath(forceRefresh = false) {
201
+ if (!(await this._isSandboxConfiguredEnabled())) {
202
+ return undefined;
203
+ }
204
+ await this._resolveSrtPath();
205
+ if (!this._sandboxConfigPath || forceRefresh || this._needsForceUpdateConfigFile) {
206
+ this._sandboxConfigPath = await this._createSandboxConfig();
207
+ this._needsForceUpdateConfigFile = false;
208
+ }
209
+ return this._sandboxConfigPath;
210
+ }
211
+ async _checkSandboxDependencies(forceRefresh = false) {
212
+ const os = await this.getOS();
213
+ if (os === OperatingSystem.Windows) {
214
+ return false;
215
+ }
216
+ const sandboxDependencyStatus = await this._resolveSandboxDependencyStatus(forceRefresh);
217
+ this._sandboxDependencyStatus = sandboxDependencyStatus;
218
+ if (sandboxDependencyStatus && !sandboxDependencyStatus.bubblewrapInstalled) {
219
+ this._logService.warn("TerminalSandboxService: bubblewrap (bwrap) is not installed");
220
+ }
221
+ if (sandboxDependencyStatus && !sandboxDependencyStatus.socatInstalled) {
222
+ this._logService.warn("TerminalSandboxService: socat is not installed");
223
+ }
224
+ return sandboxDependencyStatus ? sandboxDependencyStatus.bubblewrapInstalled && sandboxDependencyStatus.socatInstalled : true;
225
+ }
226
+ async getMissingSandboxDependencies() {
227
+ const os = await this.getOS();
228
+ if (os === OperatingSystem.Windows) {
229
+ return [];
230
+ }
231
+ if (!this._sandboxDependencyStatus || !this._sandboxDependencyStatus.bubblewrapInstalled || !this._sandboxDependencyStatus.socatInstalled) {
232
+ this._sandboxDependencyStatus = await this._resolveSandboxDependencyStatus(true);
233
+ }
234
+ const missing = [];
235
+ if (this._sandboxDependencyStatus && !this._sandboxDependencyStatus.bubblewrapInstalled) {
236
+ missing.push("bubblewrap");
237
+ }
238
+ if (this._sandboxDependencyStatus && !this._sandboxDependencyStatus.socatInstalled) {
239
+ missing.push("socat");
240
+ }
241
+ return missing;
242
+ }
243
+ async installMissingSandboxDependencies(missingDependencies, sessionResource, token, options) {
244
+ const depsList = missingDependencies.join(" ");
245
+ const installCommand = `sudo apt install -y ${depsList}`;
246
+ const instance = await options.createTerminal();
247
+ let installCommandSent = false;
248
+ const completionPromise = ( new Promise(resolve => {
249
+ const store = ( new DisposableStore());
250
+ let resolved = false;
251
+ const resolveOnce = code => {
252
+ if (resolved) {
253
+ return;
254
+ }
255
+ resolved = true;
256
+ store.dispose();
257
+ resolve(code);
258
+ };
259
+ const attachListener = () => {
260
+ const detection = instance.capabilities.get(TerminalCapability.CommandDetection);
261
+ if (detection) {
262
+ store.add(detection.onCommandFinished(cmd => resolveOnce(cmd.exitCode)));
263
+ }
264
+ };
265
+ attachListener();
266
+ store.add(instance.capabilities.onDidAddCapability(e => {
267
+ if (e.id === TerminalCapability.CommandDetection) {
268
+ attachListener();
269
+ }
270
+ }));
271
+ store.add(instance.onDisposed(() => resolveOnce(undefined)));
272
+ store.add(token.onCancellationRequested(() => resolveOnce(undefined)));
273
+ const safetyTimeout = timeout(5 * 60 * 1000);
274
+ store.add({
275
+ dispose: () => safetyTimeout.cancel()
276
+ });
277
+ safetyTimeout.then(() => resolveOnce(undefined));
278
+ const passwordPrompt = this._createMissingDependencyPasswordPrompt(sessionResource, {
279
+ focusTerminal: () => options.focusTerminal(instance),
280
+ onDidInputData: instance.onDidInputData,
281
+ onDisposed: instance.onDisposed,
282
+ didSendInstallCommand: () => installCommandSent
283
+ }, token);
284
+ store.add(passwordPrompt);
285
+ }));
286
+ await instance.sendText(installCommand, true);
287
+ installCommandSent = true;
288
+ return {
289
+ exitCode: await completionPromise
290
+ };
291
+ }
292
+ _createMissingDependencyPasswordPrompt(sessionResource, promptContext, token) {
293
+ const chatModel = sessionResource && this._chatService.getSession(sessionResource);
294
+ if (!(chatModel instanceof ChatModel)) {
295
+ return ( new DisposableStore());
296
+ }
297
+ const request = chatModel.getRequests().at(-1);
298
+ if (!request) {
299
+ return ( new DisposableStore());
300
+ }
301
+ const part = ( new ChatElicitationRequestPart(( localize(14191, "The terminal is awaiting input.")), ( new MarkdownString(( localize(
302
+ 14192,
303
+ "Installing missing sandbox dependencies may prompt for your sudo password. Select Focus Terminal to type it in the terminal."
304
+ )))), "", ( localize(14193, "Focus Terminal")), undefined, async () => {
305
+ await promptContext.focusTerminal();
306
+ return ElicitationState.Pending;
307
+ }));
308
+ chatModel.acceptResponseProgress(request, part);
309
+ const store = ( new DisposableStore());
310
+ const disposePrompt = () => store.dispose();
311
+ store.add({
312
+ dispose: () => part.hide()
313
+ });
314
+ store.add(token.onCancellationRequested(disposePrompt));
315
+ store.add(promptContext.onDisposed(disposePrompt));
316
+ store.add(promptContext.onDidInputData(data => {
317
+ if (promptContext.didSendInstallCommand() && data.length > 0) {
318
+ disposePrompt();
319
+ }
320
+ }));
321
+ return store;
322
+ }
323
+ _quoteShellArgument(value) {
324
+ return `'${value.replace(/'/g, `'\\''`)}'`;
325
+ }
326
+ _wrapUnsandboxedCommand(command, shell) {
327
+ if (!this._tempDir?.path) {
328
+ return command;
329
+ }
330
+ if (!shell) {
331
+ return `(TMPDIR="${this._tempDir.path}"; export TMPDIR; ${command})`;
332
+ }
333
+ return `env TMPDIR="${this._tempDir.path}" ${this._quoteShellArgument(shell)} -c ${this._quoteShellArgument(command)}`;
334
+ }
335
+ _getBlockedDomains(command) {
336
+ const domains = this._extractDomains(command);
337
+ if (domains.length === 0) {
338
+ return {
339
+ blockedDomains: [],
340
+ deniedDomains: []
341
+ };
342
+ }
343
+ const {
344
+ allowedDomains,
345
+ deniedDomains
346
+ } = this.getResolvedNetworkDomains();
347
+ const blockedDomains = ( new Set());
348
+ const explicitlyDeniedDomains = ( new Set());
349
+ for (const domain of domains) {
350
+ if (( deniedDomains.some(pattern => matchesDomainPattern(domain, pattern)))) {
351
+ blockedDomains.add(domain);
352
+ explicitlyDeniedDomains.add(domain);
353
+ continue;
354
+ }
355
+ if (!( allowedDomains.some(pattern => matchesDomainPattern(domain, pattern)))) {
356
+ blockedDomains.add(domain);
357
+ }
358
+ }
359
+ return {
360
+ blockedDomains: [...blockedDomains],
361
+ deniedDomains: [...explicitlyDeniedDomains]
362
+ };
363
+ }
364
+ _extractDomains(command) {
365
+ const domains = ( new Set());
366
+ let match;
367
+ TerminalSandboxService_1._urlRegex.lastIndex = 0;
368
+ while ((match = TerminalSandboxService_1._urlRegex.exec(command)) !== null) {
369
+ const domain = this._extractDomainFromUrl(match[0]);
370
+ if (domain) {
371
+ domains.add(domain);
372
+ }
373
+ }
374
+ TerminalSandboxService_1._sshRemoteRegex.lastIndex = 0;
375
+ while ((match = TerminalSandboxService_1._sshRemoteRegex.exec(command)) !== null) {
376
+ const domain = normalizeDomain(match[1], true);
377
+ if (domain) {
378
+ domains.add(domain);
379
+ }
380
+ }
381
+ TerminalSandboxService_1._hostRegex.lastIndex = 0;
382
+ while ((match = TerminalSandboxService_1._hostRegex.exec(command)) !== null) {
383
+ const domain = normalizeDomain(match[1]);
384
+ if (domain) {
385
+ domains.add(domain);
386
+ }
387
+ }
388
+ return [...domains];
389
+ }
390
+ _extractDomainFromUrl(value) {
391
+ try {
392
+ const authority = ( URI.parse(value)).authority;
393
+ return normalizeDomain(authority, true);
394
+ } catch {
395
+ return undefined;
396
+ }
397
+ }
398
+ async _isSandboxConfiguredEnabled() {
399
+ const os = await this.getOS();
400
+ if (os === OperatingSystem.Windows) {
401
+ return false;
402
+ }
403
+ return this._isSandboxEnabled(this._getSettingValue(
404
+ AgentSandboxSettingId.AgentSandboxEnabled,
405
+ AgentSandboxSettingId.DeprecatedAgentSandboxEnabled
406
+ ) ?? AgentSandboxEnabledValue.Off);
407
+ }
408
+ async _resolveSrtPath() {
409
+ if (this._srtPathResolved) {
410
+ return;
411
+ }
412
+ this._srtPathResolved = true;
413
+ const remoteEnv = this._remoteEnvDetails || (await this._remoteEnvDetailsPromise);
414
+ if (remoteEnv) {
415
+ this._appRoot = remoteEnv.appRoot.path;
416
+ this._execPath = remoteEnv.execPath;
417
+ }
418
+ this._srtPath = this._pathJoin(
419
+ this._appRoot,
420
+ "node_modules",
421
+ "@anthropic-ai",
422
+ "sandbox-runtime",
423
+ "dist",
424
+ "cli.js"
425
+ );
426
+ this._rgPath = this._pathJoin(this._appRoot, "node_modules", "@vscode", "ripgrep", "bin", "rg");
427
+ }
428
+ async _createSandboxConfig() {
429
+ if ((await this.isEnabled()) && !this._tempDir) {
430
+ await this._initTempDir();
431
+ }
432
+ if (this._tempDir) {
433
+ const allowedDomainsSetting = this._getSettingValue(
434
+ AgentNetworkDomainSettingId.AllowedNetworkDomains,
435
+ AgentNetworkDomainSettingId.DeprecatedSandboxAllowedNetworkDomains,
436
+ AgentNetworkDomainSettingId.DeprecatedOldAllowedNetworkDomains
437
+ ) ?? [];
438
+ const deniedDomainsSetting = this._getSettingValue(
439
+ AgentNetworkDomainSettingId.DeniedNetworkDomains,
440
+ AgentNetworkDomainSettingId.DeprecatedSandboxDeniedNetworkDomains,
441
+ AgentNetworkDomainSettingId.DeprecatedOldDeniedNetworkDomains
442
+ ) ?? [];
443
+ const linuxFileSystemSetting = this._os === OperatingSystem.Linux ? this._getSettingValue(
444
+ TerminalChatAgentToolsSettingId.AgentSandboxLinuxFileSystem,
445
+ TerminalChatAgentToolsSettingId.DeprecatedAgentSandboxLinuxFileSystem
446
+ ) ?? {} : {};
447
+ const macFileSystemSetting = this._os === OperatingSystem.Macintosh ? this._getSettingValue(
448
+ TerminalChatAgentToolsSettingId.AgentSandboxMacFileSystem,
449
+ TerminalChatAgentToolsSettingId.DeprecatedAgentSandboxMacFileSystem
450
+ ) ?? {} : {};
451
+ const runtimeSetting = this._getSettingValue(TerminalChatAgentToolsSettingId.AgentSandboxAdvancedRuntime) ?? {};
452
+ const configFileUri = URI.joinPath(this._tempDir, `vscode-sandbox-settings-${this._sandboxSettingsId}.json`);
453
+ const linuxAllowWrite = this._updateAllowWritePathsWithWorkspaceFolders(linuxFileSystemSetting.allowWrite);
454
+ const macAllowWrite = this._updateAllowWritePathsWithWorkspaceFolders(macFileSystemSetting.allowWrite);
455
+ const sandboxSettings = {
456
+ network: {
457
+ allowedDomains: allowedDomainsSetting,
458
+ deniedDomains: deniedDomainsSetting
459
+ },
460
+ filesystem: {
461
+ denyRead: this._os === OperatingSystem.Macintosh ? macFileSystemSetting.denyRead : linuxFileSystemSetting.denyRead,
462
+ allowWrite: this._os === OperatingSystem.Macintosh ? macAllowWrite : linuxAllowWrite,
463
+ denyWrite: this._os === OperatingSystem.Macintosh ? macFileSystemSetting.denyWrite : linuxFileSystemSetting.denyWrite
464
+ }
465
+ };
466
+ this._mergeAdditionalSandboxConfigProperties(sandboxSettings, runtimeSetting);
467
+ this._sandboxConfigPath = configFileUri.path;
468
+ await this._fileService.createFile(
469
+ configFileUri,
470
+ VSBuffer.fromString(JSON.stringify(sandboxSettings, null, "\t")),
471
+ {
472
+ overwrite: true
473
+ }
474
+ );
475
+ return this._sandboxConfigPath;
476
+ }
477
+ return undefined;
478
+ }
479
+ _mergeAdditionalSandboxConfigProperties(target, additional) {
480
+ for (const [key, value] of Object.entries(additional)) {
481
+ if (!Object.prototype.hasOwnProperty.call(target, key)) {
482
+ target[key] = value;
483
+ continue;
484
+ }
485
+ const existingValue = target[key];
486
+ if (this._isObjectForSandboxConfigMerge(existingValue) && this._isObjectForSandboxConfigMerge(value)) {
487
+ this._mergeAdditionalSandboxConfigProperties(existingValue, value);
488
+ }
489
+ }
490
+ }
491
+ _isObjectForSandboxConfigMerge(value) {
492
+ return typeof value === "object" && value !== null && !Array.isArray(value);
493
+ }
494
+ async _initTempDir() {
495
+ if (await this.isEnabled()) {
496
+ this._needsForceUpdateConfigFile = true;
497
+ const remoteEnv = this._remoteEnvDetails || (await this._remoteEnvDetailsPromise);
498
+ this._tempDir = this._getSandboxTempDirPath(remoteEnv);
499
+ if (this._tempDir) {
500
+ await this._fileService.createFolder(this._tempDir);
501
+ this._defaultWritePaths.push(this._tempDir.path);
502
+ }
503
+ if (!this._tempDir) {
504
+ this._logService.warn(
505
+ "TerminalSandboxService: Cannot create sandbox settings file because no tmpDir is available in this environment"
506
+ );
507
+ }
508
+ }
509
+ }
510
+ async _cleanupSandboxTempDir() {
511
+ if (!this._tempDir) {
512
+ return;
513
+ }
514
+ try {
515
+ await this._fileService.del(this._tempDir, {
516
+ recursive: true,
517
+ useTrash: false
518
+ });
519
+ } catch (error) {
520
+ this._logService.warn("TerminalSandboxService: Failed to delete sandbox temp dir", error);
521
+ }
522
+ }
523
+ _getSandboxTempDirPath(remoteEnv) {
524
+ const sandboxTempDirName = this._getSandboxWindowTempDirName();
525
+ if (remoteEnv?.userHome) {
526
+ const sandboxRoot = URI.joinPath(
527
+ remoteEnv.userHome,
528
+ this._productService.serverDataFolderName ?? this._productService.dataFolderName,
529
+ TerminalSandboxService_1._sandboxTempDirName
530
+ );
531
+ return sandboxTempDirName ? URI.joinPath(sandboxRoot, sandboxTempDirName) : sandboxRoot;
532
+ }
533
+ const nativeEnv = this._environmentService;
534
+ if (nativeEnv.userHome) {
535
+ const sandboxRoot = URI.joinPath(
536
+ nativeEnv.userHome,
537
+ this._productService.dataFolderName,
538
+ TerminalSandboxService_1._sandboxTempDirName
539
+ );
540
+ return sandboxTempDirName ? URI.joinPath(sandboxRoot, sandboxTempDirName) : sandboxRoot;
541
+ }
542
+ return undefined;
543
+ }
544
+ _getSandboxWindowTempDirName() {
545
+ const workbenchEnv = this._environmentService;
546
+ const windowId = workbenchEnv.window?.id;
547
+ return typeof windowId === "number" ? `tmp_vscode_${windowId}` : undefined;
548
+ }
549
+ getResolvedNetworkDomains() {
550
+ const allowedDomains = this._getSettingValue(
551
+ AgentNetworkDomainSettingId.AllowedNetworkDomains,
552
+ AgentNetworkDomainSettingId.DeprecatedSandboxAllowedNetworkDomains,
553
+ AgentNetworkDomainSettingId.DeprecatedOldAllowedNetworkDomains
554
+ ) ?? [];
555
+ const deniedDomains = this._getSettingValue(
556
+ AgentNetworkDomainSettingId.DeniedNetworkDomains,
557
+ AgentNetworkDomainSettingId.DeprecatedSandboxDeniedNetworkDomains,
558
+ AgentNetworkDomainSettingId.DeprecatedOldDeniedNetworkDomains
559
+ ) ?? [];
560
+ return {
561
+ allowedDomains,
562
+ deniedDomains
563
+ };
564
+ }
565
+ _updateAllowWritePathsWithWorkspaceFolders(configuredAllowWrite) {
566
+ const workspaceFolderPaths = ( this._workspaceContextService.getWorkspace().folders.map(folder => folder.uri.path));
567
+ return [...( new Set([
568
+ ...workspaceFolderPaths,
569
+ ...this._defaultWritePaths,
570
+ ...(configuredAllowWrite ?? [])
571
+ ]))];
572
+ }
573
+ async _resolveSandboxDependencyStatus(forceRefresh = false) {
574
+ if (!forceRefresh && this._sandboxDependencyStatus) {
575
+ return this._sandboxDependencyStatus;
576
+ }
577
+ const connection = this._remoteAgentService.getConnection();
578
+ if (connection) {
579
+ return connection.withChannel(SANDBOX_HELPER_CHANNEL_NAME, channel => {
580
+ const sandboxHelper = ( new SandboxHelperChannelClient(channel));
581
+ return sandboxHelper.checkSandboxDependencies();
582
+ });
583
+ }
584
+ return this._sandboxHelperService.checkSandboxDependencies();
585
+ }
586
+ _isSandboxEnabled(value) {
587
+ return value === true || value === AgentSandboxEnabledValue.On;
588
+ }
589
+ _getSettingValue(settingId, ...deprecatedSettingIds) {
590
+ const setting = this._configurationService.inspect(settingId);
591
+ if (setting.userValue !== undefined) {
592
+ return setting.value;
593
+ }
594
+ for (const deprecatedId of deprecatedSettingIds) {
595
+ const deprecated = this._configurationService.inspect(deprecatedId);
596
+ if (deprecated.userValue !== undefined) {
597
+ this._logService.warn(
598
+ `TerminalSandboxService: Using deprecated setting ${deprecatedId} because ${settingId} is not set. Please update your settings to use ${settingId} instead.`
599
+ );
600
+ return deprecated.value;
601
+ }
602
+ }
603
+ return setting.value;
604
+ }
605
+ };
606
+ TerminalSandboxService = TerminalSandboxService_1 = ( __decorate([( __param(0, IConfigurationService)), ( __param(1, IFileService)), ( __param(2, IEnvironmentService)), ( __param(3, ILogService)), ( __param(4, IRemoteAgentService)), ( __param(5, IWorkspaceContextService)), ( __param(6, IProductService)), ( __param(7, ILifecycleService)), ( __param(8, ISandboxHelperService)), ( __param(9, IChatService))], TerminalSandboxService));
607
+
608
+ export { TerminalSandboxPrerequisiteCheck, TerminalSandboxService };
@@ -1,40 +0,0 @@
1
- import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
2
- import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
3
- import { IActionWidgetDropdownAction } from "../../../../../platform/actionWidget/browser/actionWidgetDropdown.js";
4
- import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
5
- import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
6
- import { IChatSessionProviderOptionGroup, IChatSessionProviderOptionItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService";
7
- import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
8
- import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service";
9
- import { ChatSessionPickerActionItem, IChatSessionPickerDelegate } from "./chatSessionPickerActionItem.js";
10
- import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
11
- import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
12
- import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
13
- import { IChatInputPickerOptions } from "../widget/input/chatInputPickerActionItem.js";
14
- /**
15
- * Action view item for searchable option groups with QuickPick.
16
- * Used when an option group has `searchable: true` (e.g., repository selection).
17
- * Shows an inline dropdown with items + "See more..." option that opens a searchable QuickPick.
18
- */
19
- export declare class SearchableOptionPickerActionItem extends ChatSessionPickerActionItem {
20
- private readonly quickInputService;
21
- private readonly logService;
22
- private static readonly SEE_MORE_ID;
23
- constructor(action: IAction, initialState: {
24
- group: IChatSessionProviderOptionGroup;
25
- item: IChatSessionProviderOptionItem | undefined;
26
- }, delegate: IChatSessionPickerDelegate, pickerOptions: IChatInputPickerOptions | undefined, actionWidgetService: IActionWidgetService, contextKeyService: IContextKeyService, keybindingService: IKeybindingService, quickInputService: IQuickInputService, logService: ILogService, commandService: ICommandService, telemetryService: ITelemetryService);
27
- protected getDropdownActions(): IActionWidgetDropdownAction[];
28
- protected renderLabel(element: HTMLElement): IDisposable | null;
29
- protected getContainerClass(): string;
30
- /**
31
- * Shows the full searchable QuickPick with all items (initial + search results)
32
- * Called when user clicks "See more..." from the dropdown
33
- */
34
- private showSearchableQuickPick;
35
- private createQuickPickItem;
36
- /**
37
- * Opens the picker programmatically.
38
- */
39
- show(): void;
40
- }