@codingame/monaco-vscode-katex-common 31.0.1 → 32.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +15 -3
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +6 -5
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +5 -1
  5. package/vscode/src/vs/platform/actions/browser/buttonbar.js +45 -14
  6. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +15 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +15 -10
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +51 -54
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +3 -1
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +45 -23
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +13 -7
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +5 -3
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +4 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +46 -32
  21. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +8 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +155 -46
  24. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +20 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +4 -1
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +37 -14
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionPickerActionItem.css +1 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +28 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +250 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  34. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +14 -11
  35. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
  36. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +7 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +7 -3
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +12 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +51 -20
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +6 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +56 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +2 -2
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +3 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +4 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +68 -10
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.d.ts +58 -2
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +653 -75
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +28 -10
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +91 -54
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +7 -5
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +53 -51
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +11 -11
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +4 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +42 -22
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +6 -2
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +93 -35
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +5 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +169 -27
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +13 -4
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +29 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +1 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +60 -15
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +13 -6
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +15 -8
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +6 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +125 -26
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +2 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +29 -23
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +14 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +119 -10
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +1 -1
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/media/toolRiskBadge.css +77 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.d.ts +38 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +125 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +1 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +132 -59
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +16 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +156 -67
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +55 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.js +93 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +21 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +133 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +53 -8
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +288 -125
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +23 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +699 -145
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +12 -8
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +12 -11
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.d.ts +62 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +120 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +191 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatPhoneInputPresenter.css +22 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +9 -25
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +4 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +20 -1
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +89 -108
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +521 -9
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +19 -19
  136. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
  137. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.d.ts +2 -0
  138. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.js +6 -0
  139. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +27 -0
  140. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +82 -0
  141. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +3 -0
  142. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +44 -17
  143. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +1 -3
  144. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +3 -46
  145. package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.d.ts → inlineChatAffordanceWidget.d.ts} +1 -1
  146. package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.js → inlineChatAffordanceWidget.js} +6 -6
  147. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -18
  148. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +19 -400
  149. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +4 -9
  150. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +1 -1
  151. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +5 -19
  152. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +47 -133
  153. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +3 -1
  154. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +103 -25
  155. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +29 -0
  156. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +3 -32
  157. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -92
  158. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  159. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  160. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  161. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  162. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  163. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  164. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  165. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  166. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  167. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  168. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  169. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  170. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +7 -0
  171. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +99 -32
  172. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +13 -1
  173. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +76 -14
  174. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -3
  175. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +9 -1
  176. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +89 -28
  177. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +1 -1
  178. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -1
  179. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +11 -7
  180. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +3 -1
  181. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +7 -3
  182. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +1 -1
  183. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  184. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +8 -0
  187. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +11 -2
  188. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +20 -0
  189. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +59 -4
  190. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -1
  191. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +24 -3
  192. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +47 -0
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +111 -30
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +60 -3
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +455 -171
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +33 -0
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.d.ts +31 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.js +49 -0
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.d.ts +18 -0
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.js +302 -0
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.js +118 -0
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +34 -4
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +233 -48
  206. package/vscode/src/vs/platform/actions/browser/actionbar.d.ts +0 -16
  207. package/vscode/src/vs/platform/actions/browser/actionbar.js +0 -22
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -539
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -29
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -386
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +0 -101
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +0 -509
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -130
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +0 -276
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.d.ts +0 -45
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.js +0 -93
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +0 -39
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +0 -617
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +0 -231
@@ -44,7 +44,7 @@ const toolSetsSchema = {
44
44
  allowComments: true,
45
45
  allowTrailingCommas: true,
46
46
  defaultSnippets: [{
47
- label: ( localize(6766, "Empty tool set")),
47
+ label: ( localize(7013, "Empty tool set")),
48
48
  body: {
49
49
  "${1:toolSetName}": {
50
50
  "tools": ["${2:someTool}", "${3:anotherTool}"],
@@ -54,7 +54,7 @@ const toolSetsSchema = {
54
54
  }
55
55
  }],
56
56
  type: "object",
57
- description: ( localize(6767, "User tool sets configuration")),
57
+ description: ( localize(7014, "User tool sets configuration")),
58
58
  additionalProperties: {
59
59
  type: "object",
60
60
  required: ["tools"],
@@ -62,7 +62,7 @@ const toolSetsSchema = {
62
62
  properties: {
63
63
  tools: {
64
64
  description: ( localize(
65
- 6768,
65
+ 7015,
66
66
  "A list of tools or tool sets to include in this tool set. Cannot be empty and must reference tools the way they are referenced in prompts."
67
67
  )),
68
68
  type: "array",
@@ -75,7 +75,7 @@ const toolSetsSchema = {
75
75
  },
76
76
  icon: {
77
77
  description: ( localize(
78
- 6769,
78
+ 7016,
79
79
  "Icon to use for this tool set in the UI. Uses the \"\\$(name)\"-syntax, like \"\\$(zap)\""
80
80
  )),
81
81
  type: "string",
@@ -83,7 +83,7 @@ const toolSetsSchema = {
83
83
  markdownEnumDescriptions: Array.from(getAllCodicons(), icon => `$(${icon.id})`)
84
84
  },
85
85
  description: {
86
- description: ( localize(6770, "A short description of this tool set.")),
86
+ description: ( localize(7017, "A short description of this tool set.")),
87
87
  type: "string"
88
88
  }
89
89
  }
@@ -184,7 +184,7 @@ let UserToolSetsContributions = class UserToolSetsContributions extends Disposab
184
184
  });
185
185
  for (const item of data) {
186
186
  toolEnumValues.push(item.name);
187
- toolEnumDescriptions.push(( localize(6771, "{1} ({0})\n\n{2}", item.sourceLabel, item.name, item.description)));
187
+ toolEnumDescriptions.push(( localize(7018, "{1} ({0})\n\n{2}", item.sourceLabel, item.name, item.description)));
188
188
  }
189
189
  store.clear();
190
190
  reg.registerSchema(toolSetSchemaId, toolSetsSchema, store);
@@ -281,8 +281,8 @@ class ConfigureToolSets extends Action2 {
281
281
  constructor() {
282
282
  super({
283
283
  id: ConfigureToolSets.ID,
284
- title: ( localize2(6772, "Configure Tool Sets...")),
285
- shortTitle: ( localize(6773, "Tool Sets")),
284
+ title: ( localize2(7019, "Configure Tool Sets...")),
285
+ shortTitle: ( localize(7020, "Tool Sets")),
286
286
  category: CHAT_CATEGORY,
287
287
  f1: true,
288
288
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ChatContextKeys.Tools.toolsCount.greater(0))),
@@ -308,7 +308,7 @@ class ConfigureToolSets extends Action2 {
308
308
  const textFileService = accessor.get(ITextFileService);
309
309
  const picks = [];
310
310
  picks.push({
311
- label: ( localize(6774, "Create new tool sets file...")),
311
+ label: ( localize(7021, "Create new tool sets file...")),
312
312
  alwaysShow: true,
313
313
  iconClass: ThemeIcon.asClassName(Codicon.plus)
314
314
  });
@@ -325,7 +325,7 @@ class ConfigureToolSets extends Action2 {
325
325
  }
326
326
  const pick = await quickInputService.pick(picks, {
327
327
  canPickMany: false,
328
- placeHolder: ( localize(6775, "Select a tool set to configure"))
328
+ placeHolder: ( localize(7022, "Select a tool set to configure"))
329
329
  });
330
330
  if (!pick) {
331
331
  return;
@@ -333,13 +333,13 @@ class ConfigureToolSets extends Action2 {
333
333
  let resource;
334
334
  if (!pick.toolset) {
335
335
  const name = await quickInputService.input({
336
- placeHolder: ( localize(6776, "Type tool sets file name")),
336
+ placeHolder: ( localize(7023, "Type tool sets file name")),
337
337
  validateInput: async input => {
338
338
  if (!input) {
339
- return localize(6777, "Invalid file name");
339
+ return localize(7024, "Invalid file name");
340
340
  }
341
341
  if (!isValidBasename(input)) {
342
- return localize(6778, "'{0}' is not a valid file name", input);
342
+ return localize(7025, "'{0}' is not a valid file name", input);
343
343
  }
344
344
  return undefined;
345
345
  }
@@ -49,7 +49,7 @@ let ChatAgentHover = class ChatAgentHover extends Disposable {
49
49
  this.publisherName = $("span.chat-agent-hover-publisher-name");
50
50
  append(hoverElement.publisher, verifiedBadge, this.publisherName);
51
51
  hoverElement.warning.appendChild(renderIcon(Codicon.warning));
52
- hoverElement.warning.appendChild($("span", undefined, ( localize(6791, "This chat extension is using a reserved name."))));
52
+ hoverElement.warning.appendChild($("span", undefined, ( localize(7037, "This chat extension is using a reserved name."))));
53
53
  }
54
54
  setAgent(id) {
55
55
  const agent = this.chatAgentService.getAgent(id);
@@ -92,17 +92,20 @@ let ChatAgentHover = class ChatAgentHover extends Disposable {
92
92
  };
93
93
  ChatAgentHover = ( __decorate([( __param(0, IChatAgentService)), ( __param(1, IExtensionsWorkbenchService)), ( __param(2, IChatAgentNameService))], ChatAgentHover));
94
94
  function getChatAgentHoverOptions(getAgent, commandService) {
95
- return {
96
- actions: [{
97
- commandId: showExtensionsWithIdsCommandId,
98
- label: ( localize(6792, "View Extension")),
99
- run: () => {
100
- const agent = getAgent();
101
- if (agent) {
102
- commandService.executeCommand(showExtensionsWithIdsCommandId, [agent.extensionId.value]);
103
- }
95
+ const viewExtensionAction = {
96
+ commandId: showExtensionsWithIdsCommandId,
97
+ label: ( localize(7038, "View Extension")),
98
+ run: () => {
99
+ const agent = getAgent();
100
+ if (agent) {
101
+ commandService.executeCommand(showExtensionsWithIdsCommandId, [agent.extensionId.value]);
104
102
  }
105
- }]
103
+ }
104
+ };
105
+ return {
106
+ get actions() {
107
+ return getAgent()?.isCore ? [] : [viewExtensionAction];
108
+ }
106
109
  };
107
110
  }
108
111
 
@@ -152,7 +152,7 @@ let ChatArtifactsWidget = class ChatArtifactsWidget extends Disposable {
152
152
  return;
153
153
  }
154
154
  this.domNode.style.display = "";
155
- titleElement.textContent = data.totalCount === 1 ? ( localize(6793, "1 Artifact")) : ( localize(6794, "{0} Artifacts", data.totalCount));
155
+ titleElement.textContent = data.totalCount === 1 ? ( localize(7039, "1 Artifact")) : ( localize(7040, "{0} Artifacts", data.totalCount));
156
156
  tree.layout(data.treeHeight);
157
157
  tree.getHTMLElement().style.height = `${data.treeHeight}px`;
158
158
  tree.setChildren(null, data.treeElements);
@@ -233,7 +233,7 @@ let ChatArtifactsWidget = class ChatArtifactsWidget extends Disposable {
233
233
  const defaultUri = URI.joinPath(defaultPath, defaultFileName);
234
234
  const targetUri = await this._fileDialogService.showSaveDialog({
235
235
  defaultUri,
236
- title: ( localize(6795, "Save Artifact"))
236
+ title: ( localize(7041, "Save Artifact"))
237
237
  });
238
238
  if (targetUri) {
239
239
  const content = await this._fileService.readFile(sourceUri);
@@ -245,11 +245,11 @@ ChatArtifactsWidget = ChatArtifactsWidget_1 = ( __decorate([( __param(0, IChatAr
245
245
  function sourceDisplayName(source) {
246
246
  switch (source.kind) {
247
247
  case "rules":
248
- return localize(6796, "Rules");
248
+ return localize(7042, "Rules");
249
249
  case "agent":
250
- return localize(6797, "Agent");
250
+ return localize(7043, "Agent");
251
251
  case "subagent":
252
- return source.name ?? ( localize(6798, "Subagent"));
252
+ return source.name ?? ( localize(7044, "Subagent"));
253
253
  }
254
254
  }
255
255
  function buildTreeElementsFromGroups(sourceGroups, multiSource, onClearSource) {
@@ -383,12 +383,12 @@ class ChatArtifactsTreeDelegate {
383
383
  class ChatArtifactsAccessibilityProvider {
384
384
  getAriaLabel(element) {
385
385
  if (isGroupNode(element)) {
386
- return localize(6799, "{0} ({1} items)", element.groupName, element.artifacts.length);
386
+ return localize(7045, "{0} ({1} items)", element.groupName, element.artifacts.length);
387
387
  }
388
388
  return element.artifact.label;
389
389
  }
390
390
  getWidgetAriaLabel() {
391
- return localize(6800, "Chat Artifacts");
391
+ return localize(7046, "Chat Artifacts");
392
392
  }
393
393
  }
394
394
  class ChatArtifactGroupRenderer {
@@ -429,7 +429,7 @@ class ChatArtifactGroupRenderer {
429
429
  const clearFn = group.onClear;
430
430
  templateData.actionBar.push(toAction({
431
431
  id: "chatArtifacts.clearSource",
432
- label: ( localize(6801, "Clear")),
432
+ label: ( localize(7047, "Clear")),
433
433
  class: ThemeIcon.asClassName(Codicon.close),
434
434
  run: () => clearFn()
435
435
  }), {
@@ -493,14 +493,14 @@ class ChatArtifactLeafRenderer {
493
493
  const clearFn = onClear;
494
494
  actions.push(toAction({
495
495
  id: "chatArtifacts.clearSource",
496
- label: ( localize(6801, "Clear")),
496
+ label: ( localize(7047, "Clear")),
497
497
  class: ThemeIcon.asClassName(Codicon.close),
498
498
  run: () => clearFn()
499
499
  }));
500
500
  }
501
501
  actions.push(toAction({
502
502
  id: "chatArtifacts.save",
503
- label: ( localize(6802, "Save artifact")),
503
+ label: ( localize(7048, "Save artifact")),
504
504
  class: ThemeIcon.asClassName(Codicon.save),
505
505
  run: () => this._onSave(artifact)
506
506
  }));
@@ -28,7 +28,7 @@ let ChatAgentCommandContentPart = class ChatAgentCommandContentPart extends Disp
28
28
  }, {
29
29
  groupId
30
30
  }));
31
- const rerun = ( localize(6803, "Rerun without {0}{1}", chatSubcommandLeader, cmd.name));
31
+ const rerun = ( localize(7049, "Rerun without {0}{1}", chatSubcommandLeader, cmd.name));
32
32
  const btn = ( new Button(this.domNode, {
33
33
  ariaLabel: rerun
34
34
  }));
@@ -21,14 +21,14 @@ let ChatAnonymousRateLimitedPart = class ChatAnonymousRateLimitedPart extends Di
21
21
  const messageContainer = append(this.domNode, $(".chat-rate-limited-message"));
22
22
  const message = append(messageContainer, $("div"));
23
23
  message.textContent = ( localize(
24
- 6804,
24
+ 7050,
25
25
  "Continue the conversation by signing in. Your free account gets 50 premium requests a month plus access to more models and AI features."
26
26
  ));
27
27
  const signInButton = this._register(( new Button(messageContainer, {
28
28
  ...defaultButtonStyles,
29
29
  supportIcons: true
30
30
  })));
31
- signInButton.label = ( localize(6805, "Enable more AI features"));
31
+ signInButton.label = ( localize(7051, "Enable more AI features"));
32
32
  signInButton.element.classList.add("chat-rate-limited-button");
33
33
  this._register(signInButton.onDidClick(async () => {
34
34
  const commandId = "workbench.action.chat.triggerSetup";
@@ -8,10 +8,10 @@ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
8
8
  import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
9
9
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
10
10
  import { ResourceLabels } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/labels';
11
- import { isImageVariableEntry, OmittedState, getImageAttachmentLimit, isElementVariableEntry, isPromptFileVariableEntry, isPromptTextVariableEntry, isTerminalVariableEntry, isPasteVariableEntry, isNotebookOutputVariableEntry, isSCMHistoryItemVariableEntry, isSCMHistoryItemChangeVariableEntry, isSCMHistoryItemChangeRangeVariableEntry, isWorkspaceVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
11
+ import { isImageVariableEntry, OmittedState, getImageAttachmentLimit, isElementVariableEntry, isPromptFileVariableEntry, isPromptTextVariableEntry, isTerminalVariableEntry, isPasteVariableEntry, isNotebookOutputVariableEntry, isSCMHistoryItemVariableEntry, isSCMHistoryItemChangeVariableEntry, isSCMHistoryItemChangeRangeVariableEntry, isBrowserViewVariableEntry, isWorkspaceVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
12
12
  import { ChatResponseReferencePartStatusKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
13
13
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
14
- import { ToolSetOrToolItemAttachmentWidget, ElementChatAttachmentWidget, ImageAttachmentWidget, PromptFileAttachmentWidget, PromptTextAttachmentWidget, FileAttachmentWidget, TerminalCommandAttachmentWidget, PasteAttachmentWidget, NotebookCellOutputChatAttachmentWidget, SCMHistoryItemAttachmentWidget, SCMHistoryItemChangeAttachmentWidget, SCMHistoryItemChangeRangeAttachmentWidget, DefaultChatAttachmentWidget } from '../../attachments/chatAttachmentWidgets.js';
14
+ import { ToolSetOrToolItemAttachmentWidget, ElementChatAttachmentWidget, ImageAttachmentWidget, PromptFileAttachmentWidget, PromptTextAttachmentWidget, FileAttachmentWidget, TerminalCommandAttachmentWidget, PasteAttachmentWidget, NotebookCellOutputChatAttachmentWidget, SCMHistoryItemAttachmentWidget, SCMHistoryItemChangeAttachmentWidget, SCMHistoryItemChangeRangeAttachmentWidget, BrowserViewAttachmentWidget, DefaultChatAttachmentWidget } from '../../attachments/chatAttachmentWidgets.js';
15
15
  import { IChatAttachmentWidgetRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.service';
16
16
 
17
17
  let ChatAttachmentsContentPart = class ChatAttachmentsContentPart extends Disposable {
@@ -215,6 +215,11 @@ let ChatAttachmentsContentPart = class ChatAttachmentsContentPart extends Dispos
215
215
  shouldFocusClearButton: false,
216
216
  supportsDeletion: false
217
217
  }, container, this._contextResourceLabels);
218
+ } else if (isBrowserViewVariableEntry(attachment)) {
219
+ widget = this.instantiationService.createInstance(BrowserViewAttachmentWidget, attachment, undefined, {
220
+ shouldFocusClearButton: false,
221
+ supportsDeletion: false
222
+ }, container, this._contextResourceLabels);
218
223
  } else if (isWorkspaceVariableEntry(attachment)) {
219
224
  return;
220
225
  } else {
@@ -93,7 +93,7 @@ let ChatCheckpointFileChangesSummaryContentPart = class ChatCheckpointFileChange
93
93
  renderViewAllFileChangesButton(container) {
94
94
  const button = container.appendChild($(".chat-view-changes-icon"));
95
95
  const hoverDisposable = this.hoverService.setupDelayedHover(button, () => ({
96
- content: ( localize2(6806, "View All File Changes"))
96
+ content: ( localize2(7052, "View All File Changes"))
97
97
  }));
98
98
  button.classList.add(...ThemeIcon.asClassNameArray(Codicon.diffMultiple));
99
99
  button.setAttribute("role", "button");
@@ -29,7 +29,7 @@ let ChatCodeCitationContentPart = class ChatCodeCitationContentPart extends Disp
29
29
  buttonSecondaryHoverBackground: undefined,
30
30
  buttonSeparator: undefined
31
31
  })));
32
- button.label = ( localize(6807, "View matches"));
32
+ button.label = ( localize(7053, "View matches"));
33
33
  this._register(button.onDidClick(() => {
34
34
  const citationText = `# Code Citations\n\n` + ( citations.citations.map(c => `## License: ${c.license}\n${( c.value.toString())}\n\n\`\`\`\n${c.snippet}\n\`\`\`\n\n`)).join("\n");
35
35
  this.editorService.openEditor({
@@ -23,7 +23,7 @@ let ChatCommandButtonContentPart = class ChatCommandButtonContentPart extends Di
23
23
  }
24
24
  }
25
25
  renderButton(container, command, enabled, secondary) {
26
- const tooltip = enabled ? command.tooltip : ( localize(6808, "Button not available in restored chat"));
26
+ const tooltip = enabled ? command.tooltip : ( localize(7054, "Button not available in restored chat"));
27
27
  const button = this._register(( new Button(container, {
28
28
  ...defaultButtonStyles,
29
29
  supportIcons: true,
@@ -26,10 +26,10 @@ let ChatConfirmationContentPart = class ChatConfirmationContentPart extends Disp
26
26
  data: confirmation.data,
27
27
  isSecondary: button !== confirmation.buttons?.[0]
28
28
  }))) : [{
29
- label: ( localize(6809, "Accept")),
29
+ label: ( localize(7055, "Accept")),
30
30
  data: confirmation.data
31
31
  }, {
32
- label: ( localize(6810, "Dismiss")),
32
+ label: ( localize(7056, "Dismiss")),
33
33
  data: confirmation.data,
34
34
  isSecondary: true
35
35
  }];
@@ -41,7 +41,11 @@ let ChatConfirmationContentPart = class ChatConfirmationContentPart extends Disp
41
41
  })
42
42
  );
43
43
  confirmationWidget.setShowButtons(!confirmation.isUsed);
44
- this._register(confirmationWidget.onDidClick(async e => {
44
+ this._register(confirmationWidget.onDidClick(async (
45
+ {
46
+ button: e
47
+ }
48
+ ) => {
45
49
  if (isResponseVM(element)) {
46
50
  const prompt = `${e.label}: "${confirmation.title}"`;
47
51
  const options = e.isSecondary ? {
@@ -18,6 +18,15 @@ export interface IChatConfirmationButton<T> {
18
18
  readonly onDidChangeDisablement?: Event<boolean>;
19
19
  moreActions?: (IChatConfirmationButton<T> | Separator)[];
20
20
  }
21
+ export interface IChatConfirmationButtonClickEvent<T> {
22
+ readonly button: IChatConfirmationButton<T>;
23
+ /**
24
+ * True when the click originated from a touch tap (vs. mouse/keyboard/programmatic).
25
+ * Callers that restore focus after confirmation (e.g. to the chat input) should
26
+ * skip that behavior when this is true to avoid popping the on-screen keyboard on mobile.
27
+ */
28
+ readonly isTouchClick: boolean;
29
+ }
21
30
  export interface IChatConfirmationWidgetOptions<T> {
22
31
  title: string | IMarkdownString;
23
32
  message: string | IMarkdownString;
@@ -46,7 +55,7 @@ declare abstract class BaseSimpleChatConfirmationWidget<T> extends Disposable {
46
55
  protected readonly instantiationService: IInstantiationService;
47
56
  protected readonly _markdownRendererService: IMarkdownRendererService;
48
57
  private _onDidClick;
49
- get onDidClick(): Event<IChatConfirmationButton<T>>;
58
+ get onDidClick(): Event<IChatConfirmationButtonClickEvent<T>>;
50
59
  private _domNode;
51
60
  get domNode(): HTMLElement;
52
61
  setShowButtons(showButton: boolean): void;
@@ -67,6 +76,7 @@ export interface IChatConfirmationWidget2Options<T> {
67
76
  message: string | IMarkdownString | HTMLElement;
68
77
  icon?: ThemeIcon;
69
78
  subtitle?: string | IMarkdownString;
79
+ footerBanner?: HTMLElement;
70
80
  buttons: IChatConfirmationButton<T>[];
71
81
  toolbarData?: {
72
82
  arg: unknown;
@@ -81,7 +91,7 @@ declare abstract class BaseChatConfirmationWidget<T> extends Disposable {
81
91
  private readonly contextMenuService;
82
92
  private readonly chatMarkdownAnchorService;
83
93
  private _onDidClick;
84
- get onDidClick(): Event<IChatConfirmationButton<T>>;
94
+ get onDidClick(): Event<IChatConfirmationButtonClickEvent<T>>;
85
95
  private _domNode;
86
96
  get domNode(): HTMLElement;
87
97
  private _buttonsDomNode;
@@ -2,6 +2,7 @@
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
3
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
4
4
  import { createElement, h, DisposableResizeObserver, isHTMLElement, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
+ import { EventType } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/touch';
5
6
  import { ButtonWithDropdown, Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
6
7
  import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
7
8
  import { Separator, Action } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
@@ -133,9 +134,10 @@ let BaseSimpleChatConfirmationWidget = class BaseSimpleChatConfirmationWidget ex
133
134
  })));
134
135
  this.messageScrollable.getDomNode().classList.add("chat-confirmation-widget-message-scrollable");
135
136
  messageParent?.insertBefore(this.messageScrollable.getDomNode(), messageNextSibling);
136
- const messageResizeObserver = this._register(
137
- new DisposableResizeObserver(() => this.messageScrollable.scanDomNode())
138
- );
137
+ const messageResizeObserver = this._register(new DisposableResizeObserver(
138
+ "BaseSimpleChatConfirmationWidget.message",
139
+ () => this.messageScrollable.scanDomNode()
140
+ ));
139
141
  this._register(messageResizeObserver.observe(this.messageElement));
140
142
  this._register(messageResizeObserver.observe(this.messageScrollable.getDomNode()));
141
143
  buttons.forEach(buttonData => {
@@ -157,7 +159,10 @@ let BaseSimpleChatConfirmationWidget = class BaseSimpleChatConfirmationWidget ex
157
159
  return action;
158
160
  }
159
161
  return this._register(( new Action(action.label, action.label, undefined, !action.disabled, () => {
160
- this._onDidClick.fire(action);
162
+ this._onDidClick.fire({
163
+ button: action,
164
+ isTouchClick: false
165
+ });
161
166
  return Promise.resolve();
162
167
  })));
163
168
  }))
@@ -167,7 +172,10 @@ let BaseSimpleChatConfirmationWidget = class BaseSimpleChatConfirmationWidget ex
167
172
  }
168
173
  this._register(button);
169
174
  button.label = buttonData.label;
170
- this._register(button.onDidClick(() => this._onDidClick.fire(buttonData)));
175
+ this._register(button.onDidClick(event => this._onDidClick.fire({
176
+ button: buttonData,
177
+ isTouchClick: !!event && event.type === EventType.Tap
178
+ })));
171
179
  if (buttonData.onDidChangeDisablement) {
172
180
  this._register(buttonData.onDidChangeDisablement(disabled => button.enabled = !disabled));
173
181
  }
@@ -190,9 +198,10 @@ let BaseSimpleChatConfirmationWidget = class BaseSimpleChatConfirmationWidget ex
190
198
  }
191
199
  renderMessage(element) {
192
200
  const store = ( new DisposableStore());
193
- const messageContentResizeObserver = store.add(
194
- new DisposableResizeObserver(() => this.messageScrollable.scanDomNode())
195
- );
201
+ const messageContentResizeObserver = store.add(new DisposableResizeObserver(
202
+ "BaseSimpleChatConfirmationWidget.messageContent",
203
+ () => this.messageScrollable.scanDomNode()
204
+ ));
196
205
  store.add(messageContentResizeObserver.observe(element));
197
206
  this.messageContentDisposables.value = store;
198
207
  this.messageElement.append(element);
@@ -268,7 +277,8 @@ let BaseChatConfirmationWidget = class BaseChatConfirmationWidget extends Dispos
268
277
  subtitle,
269
278
  message,
270
279
  buttons,
271
- icon
280
+ icon,
281
+ footerBanner
272
282
  } = options;
273
283
  const elements = h(
274
284
  ".chat-confirmation-widget-container@container",
@@ -281,7 +291,7 @@ let BaseChatConfirmationWidget = class BaseChatConfirmationWidget extends Dispos
281
291
  h(".chat-confirmation-widget-buttons", [h(".chat-buttons@buttons")])
282
292
  ])]
283
293
  );
284
- configureAccessibilityContainer(elements.container, title, message);
294
+ configureAccessibilityContainer(elements.container, title, message, footerBanner);
285
295
  this._domNode = elements.root;
286
296
  this._buttonsDomNode = elements.buttons;
287
297
  this._register(
@@ -299,11 +309,18 @@ let BaseChatConfirmationWidget = class BaseChatConfirmationWidget extends Dispos
299
309
  })));
300
310
  this.messageScrollable.getDomNode().classList.add("chat-confirmation-widget-message-scrollable");
301
311
  messageParent?.insertBefore(this.messageScrollable.getDomNode(), messageNextSibling);
302
- const messageResizeObserver = this._register(
303
- new DisposableResizeObserver(() => this.messageScrollable.scanDomNode())
304
- );
312
+ const messageResizeObserver = this._register(new DisposableResizeObserver(
313
+ "BaseChatConfirmationWidget.message",
314
+ () => this.messageScrollable.scanDomNode()
315
+ ));
305
316
  this._register(messageResizeObserver.observe(this.messageElement));
306
317
  this._register(messageResizeObserver.observe(this.messageScrollable.getDomNode()));
318
+ if (footerBanner) {
319
+ this.messageScrollable.getDomNode().insertAdjacentElement("afterend", footerBanner);
320
+ if (!footerBanner.hasAttribute("aria-live")) {
321
+ footerBanner.setAttribute("aria-live", "polite");
322
+ }
323
+ }
307
324
  this.updateButtons(buttons);
308
325
  if (options?.toolbarData) {
309
326
  const overlay = contextKeyService.createOverlay([
@@ -344,7 +361,10 @@ let BaseChatConfirmationWidget = class BaseChatConfirmationWidget extends Dispos
344
361
  return action;
345
362
  }
346
363
  return this._register(( new Action(action.label, action.label, undefined, !action.disabled, () => {
347
- this._onDidClick.fire(action);
364
+ this._onDidClick.fire({
365
+ button: action,
366
+ isTouchClick: false
367
+ });
348
368
  return Promise.resolve();
349
369
  })));
350
370
  }))
@@ -354,7 +374,10 @@ let BaseChatConfirmationWidget = class BaseChatConfirmationWidget extends Dispos
354
374
  }
355
375
  this._register(button);
356
376
  button.label = buttonData.label;
357
- this._register(button.onDidClick(() => this._onDidClick.fire(buttonData)));
377
+ this._register(button.onDidClick(event => this._onDidClick.fire({
378
+ button: buttonData,
379
+ isTouchClick: !!event && event.type === EventType.Tap
380
+ })));
358
381
  if (buttonData.onDidChangeDisablement) {
359
382
  this._register(buttonData.onDidChangeDisablement(disabled => button.enabled = !disabled));
360
383
  }
@@ -381,9 +404,10 @@ let BaseChatConfirmationWidget = class BaseChatConfirmationWidget extends Dispos
381
404
  }
382
405
  clearNode(this.messageElement);
383
406
  const store = ( new DisposableStore());
384
- const messageContentResizeObserver = store.add(
385
- new DisposableResizeObserver(() => this.messageScrollable.scanDomNode())
386
- );
407
+ const messageContentResizeObserver = store.add(new DisposableResizeObserver(
408
+ "BaseChatConfirmationWidget.messageContent",
409
+ () => this.messageScrollable.scanDomNode()
410
+ ));
387
411
  store.add(messageContentResizeObserver.observe(element));
388
412
  if (this.markdownContentPart.value) {
389
413
  store.add(
@@ -450,11 +474,18 @@ let ChatCustomConfirmationWidget = class ChatCustomConfirmationWidget extends Ba
450
474
  }
451
475
  };
452
476
  ChatCustomConfirmationWidget = ( __decorate([( __param(2, IInstantiationService)), ( __param(3, IMarkdownRendererService)), ( __param(4, IContextMenuService)), ( __param(5, IContextKeyService)), ( __param(6, IChatMarkdownAnchorService))], ChatCustomConfirmationWidget));
453
- function configureAccessibilityContainer(container, title, message) {
477
+ function configureAccessibilityContainer(container, title, message, footerBanner) {
454
478
  container.tabIndex = 0;
455
479
  const titleAsString = typeof title === "string" ? title : title.value;
456
480
  const messageAsString = typeof message === "string" ? message : message && "value" in message ? message.value : message && "textContent" in message ? message.textContent : "";
457
- container.setAttribute("aria-label", ( localize(6811, "Chat Confirmation Dialog {0} {1}", titleAsString, messageAsString)));
481
+ const bannerAsString = footerBanner?.textContent?.trim() ?? "";
482
+ container.setAttribute("aria-label", bannerAsString ? ( localize(
483
+ 7057,
484
+ "Chat Confirmation Dialog {0} {1} {2}",
485
+ titleAsString,
486
+ messageAsString,
487
+ bannerAsString
488
+ )) : ( localize(7058, "Chat Confirmation Dialog {0} {1}", titleAsString, messageAsString)));
458
489
  container.classList.add("chat-confirmation-widget-container");
459
490
  }
460
491
 
@@ -24,13 +24,13 @@ let ChatDisabledClaudeHooksContentPart = class ChatDisabledClaudeHooksContentPar
24
24
  const icon = $(".chat-disabled-claude-hooks-icon");
25
25
  icon.classList.add(...ThemeIcon.asClassNameArray(Codicon.info));
26
26
  const enableLink = createMarkdownCommandLink({
27
- text: ( localize(6812, "Enable")),
27
+ text: ( localize(7059, "Enable")),
28
28
  id: "workbench.action.openSettings",
29
29
  arguments: [PromptsConfig.USE_CLAUDE_HOOKS],
30
- tooltip: ( localize(6813, "Open settings to enable Claude Code hooks"))
30
+ tooltip: ( localize(7060, "Open settings to enable Claude Code hooks"))
31
31
  });
32
32
  const message = ( localize(
33
- 6814,
33
+ 7061,
34
34
  "Claude Code hooks are available for this workspace. {0}",
35
35
  enableLink
36
36
  ));
@@ -4,7 +4,9 @@ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platf
4
4
  import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
5
5
  import { IChatProgressRenderableResponseContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
6
6
  import { IChatElicitationRequest, IChatElicitationRequestSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
7
+ import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
7
8
  import { IChatAccessibilityService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
9
+ import { IChatToolRiskAssessmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service";
8
10
  import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentParts.js";
9
11
  export declare class ChatElicitationContentPart extends Disposable implements IChatContentPart {
10
12
  private readonly elicitation;
@@ -12,12 +14,15 @@ export declare class ChatElicitationContentPart extends Disposable implements IC
12
14
  private readonly chatAccessibilityService;
13
15
  private readonly contextKeyService;
14
16
  private readonly keybindingService;
17
+ private readonly languageModelToolsService;
18
+ private readonly riskAssessmentService;
15
19
  readonly domNode: HTMLElement;
16
20
  private readonly _confirmWidget;
17
21
  get codeblocks(): import("@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat").IChatCodeBlockInfo[] | undefined;
18
22
  get codeblocksPartId(): string | undefined;
19
- constructor(elicitation: IChatElicitationRequest | IChatElicitationRequestSerialized, context: IChatContentPartRenderContext, instantiationService: IInstantiationService, chatAccessibilityService: IChatAccessibilityService, contextKeyService: IContextKeyService, keybindingService: IKeybindingService);
23
+ constructor(elicitation: IChatElicitationRequest | IChatElicitationRequestSerialized, context: IChatContentPartRenderContext, instantiationService: IInstantiationService, chatAccessibilityService: IChatAccessibilityService, contextKeyService: IContextKeyService, keybindingService: IKeybindingService, languageModelToolsService: ILanguageModelToolsService, riskAssessmentService: IChatToolRiskAssessmentService);
20
24
  private getMessageToRender;
25
+ private _createRiskBadge;
21
26
  hasSameContent(other: IChatProgressRenderableResponseContent): boolean;
22
27
  addDisposable(disposable: IDisposable): void;
23
28
  }