@codingame/monaco-vscode-katex-common 34.1.2 → 35.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 (244) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/base/browser/animationSync.d.ts +36 -0
  3. package/vscode/src/vs/base/browser/animationSync.js +23 -0
  4. package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.js +23 -2
  5. package/vscode/src/vs/platform/actions/browser/buttonbar.js +3 -2
  6. package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.d.ts +5 -5
  7. package/vscode/src/vs/platform/agentHost/common/fileEditDiff.d.ts +32 -0
  8. package/vscode/src/vs/platform/agentHost/common/fileEditDiff.js +33 -0
  9. package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAnnotations.d.ts +90 -0
  10. package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAttachments.d.ts +30 -0
  11. package/vscode/src/vs/platform/agentHost/common/meta/agentToolCallMeta.d.ts +65 -0
  12. package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.d.ts +16 -5
  13. package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.js +3 -2
  14. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-resource-watch/reducer.d.ts +21 -0
  15. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +8 -0
  16. package/vscode/src/vs/platform/agentHost/common/state/sessionReducers.d.ts +9 -0
  17. package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +2 -2
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +29 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +105 -28
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +15 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +74 -44
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +2 -2
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +98 -24
  28. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +8 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +31 -4
  30. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +45 -4
  31. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +163 -37
  32. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.d.ts +47 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.js +172 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +3 -1
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +7 -4
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionReferenceAttachment.d.ts +12 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.d.ts +116 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.js +348 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.d.ts +211 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.js +64 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +18 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +13 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +1 -1
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +30 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +4 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +29 -4
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +24 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +119 -41
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +27 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.d.ts +63 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.js +97 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +5 -6
  56. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +105 -88
  57. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +13 -13
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +1 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +46 -48
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +28 -0
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +98 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +3 -3
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +9 -7
  64. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatTurnPills.css +162 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +9 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +95 -24
  67. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +22 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +151 -20
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +20 -2
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +5 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +61 -17
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.d.ts +20 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.js +55 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +6 -2
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +81 -30
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +2 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.d.ts +11 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.js +13 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +9 -33
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.d.ts +6 -2
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.js +21 -11
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +6 -2
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +40 -19
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.d.ts +35 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.js +140 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.d.ts +24 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.js +58 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +3 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +29 -8
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +30 -30
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +1 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +44 -44
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -2
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +12 -66
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +39 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +167 -43
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +1 -15
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +9 -86
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.d.ts +12 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.js +23 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +9 -1
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +141 -72
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +2 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +17 -3
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.d.ts +29 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.js +110 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAgentFeedbackReviewConfirmation.css +133 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAutoModeResolution.css +30 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +4 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +18 -8
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +23 -7
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +33 -18
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +23 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +44 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +2 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +9 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +21 -4
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAgentFeedbackReviewConfirmationSubPart.d.ts +48 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAgentFeedbackReviewConfirmationSubPart.js +279 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +43 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +53 -15
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +7 -9
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.d.ts +4 -1
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +24 -10
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/{chatMissingSandboxDepsConfirmationSubPart.d.ts → chatSandboxPrerequisiteConfirmationSubPart.d.ts} +3 -2
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/{chatMissingSandboxDepsConfirmationSubPart.js → chatSandboxPrerequisiteConfirmationSubPart.js} +14 -10
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +0 -1
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +30 -59
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +2 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +41 -29
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +8 -8
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +2 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +12 -9
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +1 -1
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +43 -35
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +2 -1
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +11 -8
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.d.ts +18 -0
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.js +51 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +4 -4
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +18 -3
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +266 -98
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +1 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +8 -3
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.d.ts +32 -0
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.js +135 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.d.ts +85 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.js +275 -0
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +18 -1
  176. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +84 -37
  177. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  178. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.js +4 -4
  179. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +14 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +6 -1
  181. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +52 -4
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +187 -13
  183. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +435 -139
  184. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.d.ts +6 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.js +21 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.d.ts +50 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.js +49 -0
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.d.ts +79 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.js +127 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +84 -8
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +658 -430
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +72 -8
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +82 -7
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +2 -2
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.d.ts +3 -3
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +6 -3
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +2 -1
  198. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +23 -9
  199. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatGoalBannerWidget.css +2 -2
  200. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +28 -12
  201. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +15 -14
  203. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +60 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +18 -7
  205. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +49 -1
  206. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +141 -81
  207. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +7 -15
  208. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +30 -47
  209. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  210. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerInputActionItem.d.ts +20 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerInputActionItem.js +18 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +469 -148
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +11 -2
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +79 -28
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +71 -2
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +107 -45
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +20 -0
  218. package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.d.ts +110 -0
  219. package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.js +37 -0
  220. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.d.ts +4 -1
  221. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +13 -11
  222. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +8 -1
  223. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +57 -21
  224. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +18 -18
  225. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +4 -4
  226. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  227. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +30 -30
  229. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.d.ts +39 -8
  231. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.js +168 -72
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  234. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  235. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  236. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  238. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  239. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  240. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  241. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  242. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.d.ts +0 -30
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.js +0 -147
@@ -1,7 +1,7 @@
1
1
 
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
- import { h, addDisposableListener, EventType, DisposableResizeObserver, clearNode, getActiveWindow, getComputedStyle, createTextNode, createElement, $, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { h, addDisposableListener, EventType, DisposableResizeObserver, clearNode, getActiveWindow, getComputedStyle, $, createTextNode, createElement, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
5
  import { createPixelSpinner } from '../../../../../../../base/browser/ui/pixelSpinner/pixelSpinner.js';
6
6
  import { MarkdownString, isMarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
7
7
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
@@ -333,7 +333,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
333
333
  const markdownOptions = {
334
334
  codeBlockRenderOptions,
335
335
  accessibilityOptions: pastTenseMessage ? {
336
- statusMessage: ( localize(7555, "{0}", stripIcons(pastTenseMessage)))
336
+ statusMessage: ( localize(8107, "{0}", stripIcons(pastTenseMessage)))
337
337
  } : undefined
338
338
  };
339
339
  this.markdownPart = this._register(_instantiationService.createInstance(
@@ -436,6 +436,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
436
436
  const wrapper = this._register(this._instantiationService.createInstance(
437
437
  ChatTerminalThinkingCollapsibleWrapper,
438
438
  truncatedCommand,
439
+ this._terminalData.intention,
439
440
  this._terminalData.commandLine.isSandboxWrapped === true,
440
441
  contentElement,
441
442
  context,
@@ -551,12 +552,12 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
551
552
  this._actionBarActions.clear();
552
553
  const actions = [];
553
554
  if (this._toolbarCanContinueInBackground) {
554
- const action = ( new Action(TerminalContribCommandId.ContinueInBackground, ( localize(7556, "Continue in Background")), ThemeIcon.asClassName(Codicon.debugContinue), true, () => this.continueInBackground()));
555
+ const action = ( new Action(TerminalContribCommandId.ContinueInBackground, ( localize(8108, "Continue in Background")), ThemeIcon.asClassName(Codicon.debugContinueSmall), true, () => this.continueInBackground()));
555
556
  this._actionBarActions.add(action);
556
557
  actions.push(action);
557
558
  }
558
559
  if (this._toolbarHasInstance) {
559
- const focusLabel = this._toolbarIsHiddenTerminal ? ( localize(7557, "Show and Focus Terminal")) : ( localize(7558, "Focus Terminal"));
560
+ const focusLabel = this._toolbarIsHiddenTerminal ? ( localize(8109, "Show and Focus Terminal")) : ( localize(8110, "Focus Terminal"));
560
561
  const action = ( new Action(
561
562
  TerminalContribCommandId.FocusChatInstanceAction,
562
563
  focusLabel,
@@ -569,7 +570,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
569
570
  }
570
571
  if (this._toolbarHasOutput && !this._usesCollapsibleWrapper) {
571
572
  const toggleIcon = this._toolbarOutputExpanded ? Codicon.chevronDown : Codicon.chevronRight;
572
- const toggleLabel = this._toolbarOutputExpanded ? ( localize(7559, "Hide Output")) : ( localize(7560, "Show Output"));
573
+ const toggleLabel = this._toolbarOutputExpanded ? ( localize(8111, "Hide Output")) : ( localize(8112, "Show Output"));
573
574
  const action = ( new Action(
574
575
  TerminalContribCommandId.ToggleChatTerminalOutput,
575
576
  toggleLabel,
@@ -1016,7 +1017,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1016
1017
  if (!commandText) {
1017
1018
  return;
1018
1019
  }
1019
- const ariaLabel = ( localize(7561, "Terminal output for {0}", commandText));
1020
+ const ariaLabel = ( localize(8113, "Terminal output for {0}", commandText));
1020
1021
  const scrollableDomNode = this._scrollableContainer.getDomNode();
1021
1022
  scrollableDomNode.setAttribute("role", "region");
1022
1023
  const accessibleViewHint = this._accessibleViewService.getOpenAriaHint(AccessibilityVerbositySettingId.TerminalChatOutput);
@@ -1029,26 +1030,26 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1029
1030
  if (!commandText) {
1030
1031
  return undefined;
1031
1032
  }
1032
- const commandHeader = ( localize(7562, "Command: {0}", commandText));
1033
+ const commandHeader = ( localize(8114, "Command: {0}", commandText));
1033
1034
  if (command) {
1034
1035
  const rawOutput = command.getOutput();
1035
1036
  if (!rawOutput || rawOutput.trim().length === 0) {
1036
- return `${commandHeader}\n${( localize(7563, "No output was produced by the command."))}`;
1037
+ return `${commandHeader}\n${( localize(8115, "No output was produced by the command."))}`;
1037
1038
  }
1038
1039
  const lines = rawOutput.split("\n");
1039
1040
  return `${commandHeader}\n${lines.join("\n").trimEnd()}`;
1040
1041
  }
1041
1042
  const snapshot = this._getTerminalCommandOutput();
1042
1043
  if (!snapshot) {
1043
- return `${commandHeader}\n${( localize(7564, "Command output is no longer available."))}`;
1044
+ return `${commandHeader}\n${( localize(8116, "Command output is no longer available."))}`;
1044
1045
  }
1045
1046
  const plain = removeAnsiEscapeCodes((snapshot.text ?? ""));
1046
1047
  if (!plain.trim().length) {
1047
- return `${commandHeader}\n${( localize(7563, "No output was produced by the command."))}`;
1048
+ return `${commandHeader}\n${( localize(8115, "No output was produced by the command."))}`;
1048
1049
  }
1049
1050
  let outputText = plain.trimEnd();
1050
1051
  if (snapshot.truncated) {
1051
- outputText += `\n${( localize(7565, "Output truncated."))}`;
1052
+ outputText += `\n${( localize(8117, "Output truncated."))}`;
1052
1053
  }
1053
1054
  return `${commandHeader}\n${outputText}`;
1054
1055
  }
@@ -1160,7 +1161,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1160
1161
  }
1161
1162
  if (!hasOutput) {
1162
1163
  if (commandFinished) {
1163
- this._showEmptyMessage(( localize(7563, "No output was produced by the command.")));
1164
+ this._showEmptyMessage(( localize(8115, "No output was produced by the command.")));
1164
1165
  }
1165
1166
  } else {
1166
1167
  this._hideEmptyMessage();
@@ -1187,7 +1188,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1187
1188
  if (hasText) {
1188
1189
  this._hideEmptyMessage();
1189
1190
  } else {
1190
- this._showEmptyMessage(( localize(7563, "No output was produced by the command.")));
1191
+ this._showEmptyMessage(( localize(8115, "No output was produced by the command.")));
1191
1192
  }
1192
1193
  const lineCount = result?.lineCount ?? snapshot.lineCount ?? 0;
1193
1194
  this._layoutOutput(lineCount);
@@ -1196,9 +1197,9 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1196
1197
  clearNode(this._terminalContainer);
1197
1198
  this._lastRenderedLineCount = undefined;
1198
1199
  if (!liveTerminalInstance) {
1199
- this._showEmptyMessage(( localize(7566, "Terminal is no longer available.")));
1200
+ this._showEmptyMessage(( localize(8118, "Terminal is no longer available.")));
1200
1201
  } else {
1201
- this._showEmptyMessage(( localize(7567, "Command information is not available.")));
1202
+ this._showEmptyMessage(( localize(8119, "Command information is not available.")));
1202
1203
  }
1203
1204
  }
1204
1205
  async _resolveLiveTerminal() {
@@ -1314,6 +1315,7 @@ ChatTerminalToolOutputSection = ( __decorate([( __param(6, IAccessibleViewServic
1314
1315
  let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsibleWrapper extends ChatCollapsibleContentPart {
1315
1316
  constructor(
1316
1317
  commandText,
1318
+ intention,
1317
1319
  isSandboxWrapped,
1318
1320
  contentElement,
1319
1321
  context,
@@ -1325,11 +1327,14 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
1325
1327
  hoverService,
1326
1328
  configurationService
1327
1329
  ) {
1328
- const title = isSkipped ? ( localize(7568, "Skipped {0}", commandText)) : isRunningInBackground ? ( localize(7569, "Running {0} in background", commandText)) : isComplete ? ( localize(7570, "Ran {0}", commandText)) : ( localize(7571, "Running {0}", commandText));
1330
+ const intentionText = intention && !isSkipped ? intention : undefined;
1331
+ const stateTitle = isSkipped ? ( localize(8120, "Skipped {0}", commandText)) : isRunningInBackground ? ( localize(8121, "Running {0} in background", commandText)) : isComplete ? ( localize(8122, "Ran {0}", commandText)) : ( localize(8123, "Running {0}", commandText));
1332
+ const title = intentionText ? isRunningInBackground ? `${intentionText} ${commandText}${( localize(8124, " in background"))}` : `${intentionText} ${commandText}` : stateTitle;
1329
1333
  super(title, context, undefined, hoverService, configurationService);
1330
1334
  this._showLinkDisposables = this._register(( new MutableDisposable()));
1331
1335
  this._terminalContentElement = contentElement;
1332
1336
  this._commandText = commandText;
1337
+ this._intention = intentionText;
1333
1338
  this._isSandboxWrapped = isSandboxWrapped;
1334
1339
  this._isComplete = isComplete;
1335
1340
  this._isSkipped = isSkipped;
@@ -1349,24 +1354,31 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
1349
1354
  }
1350
1355
  const labelElement = this._collapseButton.labelElement;
1351
1356
  labelElement.textContent = "";
1352
- if (this._isSandboxWrapped) {
1353
- const prefixText = this._isSkipped ? ( localize(7572, "Skipped ")) : this._isComplete ? ( localize(7573, "Ran ")) : ( localize(7574, "Running "));
1354
- const suffixText = this._isRunningInBackground ? ( localize(7575, " in sandbox (background)")) : ( localize(7576, " in sandbox"));
1355
- labelElement.appendChild(createTextNode(prefixText));
1356
- const codeElement = createElement("code");
1357
+ const suffixText = this._isSandboxWrapped ? this._isRunningInBackground ? ( localize(8125, " in sandbox (background)")) : ( localize(8126, " in sandbox")) : this._isRunningInBackground ? ( localize(8124, " in background")) : undefined;
1358
+ this.domNode.classList.toggle("chat-terminal-has-intention", !!this._intention);
1359
+ if (this._intention) {
1360
+ const row = $("span.chat-terminal-label-flex");
1361
+ const intentionElement = $("span.chat-terminal-intention");
1362
+ intentionElement.textContent = this._intention;
1363
+ const codeElement = $("code.chat-terminal-command");
1357
1364
  codeElement.textContent = this._commandText;
1358
- labelElement.appendChild(codeElement);
1359
- labelElement.appendChild(createTextNode(suffixText));
1365
+ row.appendChild(intentionElement);
1366
+ row.appendChild(codeElement);
1367
+ if (suffixText) {
1368
+ const suffixElement = $("span.chat-terminal-label-suffix");
1369
+ suffixElement.textContent = suffixText;
1370
+ row.appendChild(suffixElement);
1371
+ }
1372
+ labelElement.appendChild(row);
1360
1373
  return;
1361
1374
  }
1362
- const prefixText = this._isSkipped ? ( localize(7577, "Skipped ")) : this._isComplete ? ( localize(7578, "Ran ")) : ( localize(7579, "Running "));
1363
- const ranText = createTextNode(prefixText);
1375
+ const prefixText = this._isSandboxWrapped ? this._isSkipped ? ( localize(8127, "Skipped ")) : this._isComplete ? ( localize(8128, "Ran ")) : ( localize(8129, "Running ")) : this._isSkipped ? ( localize(8130, "Skipped ")) : this._isComplete ? ( localize(8131, "Ran ")) : ( localize(8132, "Running "));
1376
+ labelElement.appendChild(createTextNode(prefixText));
1364
1377
  const codeElement = createElement("code");
1365
1378
  codeElement.textContent = this._commandText;
1366
- labelElement.appendChild(ranText);
1367
1379
  labelElement.appendChild(codeElement);
1368
1380
  if (this._isRunningInBackground) {
1369
- labelElement.appendChild(createTextNode(( localize(7580, " in background"))));
1381
+ labelElement.appendChild(createTextNode(( localize(8124, " in background"))));
1370
1382
  }
1371
1383
  }
1372
1384
  _updateShowLink() {
@@ -1382,7 +1394,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
1382
1394
  const container = $("span.chat-terminal-show-link-container");
1383
1395
  container.appendChild(createTextNode(" — "));
1384
1396
  const showLink = $("span.chat-terminal-show-link");
1385
- showLink.textContent = ( localize(7581, "Show"));
1397
+ showLink.textContent = ( localize(8133, "Show"));
1386
1398
  showLink.role = "button";
1387
1399
  showLink.tabIndex = 0;
1388
1400
  store.add(addDisposableListener(showLink, EventType.CLICK, e => {
@@ -1422,6 +1434,6 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
1422
1434
  return false;
1423
1435
  }
1424
1436
  };
1425
- ChatTerminalThinkingCollapsibleWrapper = ( __decorate([( __param(9, IHoverService)), ( __param(10, IConfigurationService))], ChatTerminalThinkingCollapsibleWrapper));
1437
+ ChatTerminalThinkingCollapsibleWrapper = ( __decorate([( __param(10, IHoverService)), ( __param(11, IConfigurationService))], ChatTerminalThinkingCollapsibleWrapper));
1426
1438
 
1427
1439
  export { ChatTerminalThinkingCollapsibleWrapper, ChatTerminalToolProgressPart };
@@ -54,7 +54,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
54
54
  this.domNode = elements.root;
55
55
  this.domNode.tabIndex = -1;
56
56
  this.domNode.setAttribute("role", "group");
57
- this.domNode.setAttribute("aria-label", ( localize(7582, "Tool confirmation carousel")));
57
+ this.domNode.setAttribute("aria-label", ( localize(8134, "Tool confirmation carousel")));
58
58
  this.collapsedTitle = elements.collapsedTitle;
59
59
  this.agentLabel = elements.agentLabel;
60
60
  this.contentContainer = elements.content;
@@ -74,7 +74,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
74
74
  small: true
75
75
  })));
76
76
  this.allowAllButton.element.classList.add("chat-tool-carousel-allow-all-button");
77
- this.allowAllButton.label = ( localize(7583, "Allow All"));
77
+ this.allowAllButton.label = ( localize(8135, "Allow All"));
78
78
  this._register(this.allowAllButton.onDidClick(() => this.allowAll()));
79
79
  this.expandContentButton = this._register(( new Button(elements.overlayActions, {
80
80
  ...defaultButtonStyles,
@@ -96,7 +96,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
96
96
  })));
97
97
  this.dismissButton.element.classList.add("chat-tool-carousel-dismiss-button");
98
98
  this.dismissButton.label = `$(${Codicon.close.id})`;
99
- const dismissButtonLabel = this.items.length === 1 ? ( localize(7584, "Skip")) : ( localize(7585, "Skip All"));
99
+ const dismissButtonLabel = this.items.length === 1 ? ( localize(8136, "Skip")) : ( localize(8137, "Skip All"));
100
100
  this.dismissButton.element.setAttribute("aria-label", dismissButtonLabel);
101
101
  this.dismissButton.element.title = dismissButtonLabel;
102
102
  this._register(this.dismissButton.onDidClick(() => this.skipAll()));
@@ -107,7 +107,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
107
107
  })));
108
108
  this.prevButton.element.classList.add("chat-tool-carousel-nav-arrow");
109
109
  this.prevButton.label = `$(${Codicon.chevronLeft.id})`;
110
- this.prevButton.element.setAttribute("aria-label", ( localize(7586, "Previous")));
110
+ this.prevButton.element.setAttribute("aria-label", ( localize(8138, "Previous")));
111
111
  this._register(this.prevButton.onDidClick(() => this.navigateRelative(-1)));
112
112
  this.nextButton = this._register(( new Button(elements.navArrows, {
113
113
  ...defaultButtonStyles,
@@ -116,7 +116,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
116
116
  })));
117
117
  this.nextButton.element.classList.add("chat-tool-carousel-nav-arrow");
118
118
  this.nextButton.label = `$(${Codicon.chevronRight.id})`;
119
- this.nextButton.element.setAttribute("aria-label", ( localize(7587, "Next")));
119
+ this.nextButton.element.setAttribute("aria-label", ( localize(8139, "Next")));
120
120
  this._register(this.nextButton.onDidClick(() => this.navigateRelative(1)));
121
121
  this._register(addDisposableListener(this.agentLabel, "click", e => {
122
122
  e.preventDefault();
@@ -308,7 +308,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
308
308
  if (item?.agentName) {
309
309
  this.agentLabel.textContent = `\u2014 ${item.agentName}`;
310
310
  this.agentLabel.disabled = !item.subAgentInvocationId || !item.scrollToSubagent;
311
- this.agentLabel.title = ( localize(7588, "Scroll to {0}", item.agentName));
311
+ this.agentLabel.title = ( localize(8140, "Scroll to {0}", item.agentName));
312
312
  this.agentLabel.setAttribute("aria-label", this.agentLabel.title);
313
313
  show(this.agentLabel);
314
314
  } else {
@@ -326,7 +326,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
326
326
  setVisibility(multi, this.nextButton.element);
327
327
  setVisibility(multi, this.allowAllButton.element);
328
328
  setVisibility(this.canExpandContent, this.expandContentButton.element);
329
- this.allowAllButton.label = multi ? ( localize(7583, "Allow All")) : ( localize(7589, "Allow"));
329
+ this.allowAllButton.label = multi ? ( localize(8135, "Allow All")) : ( localize(8141, "Allow"));
330
330
  this.updateExpandContentButton();
331
331
  }
332
332
  renderActiveContent() {
@@ -381,7 +381,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
381
381
  }
382
382
  updateExpandContentButton() {
383
383
  const expanded = this.canExpandContent && this._isContentExpanded;
384
- const label = expanded ? ( localize(7590, "Restore Confirmation Size")) : ( localize(7591, "Expand Confirmation Up"));
384
+ const label = expanded ? ( localize(8142, "Restore Confirmation Size")) : ( localize(8143, "Expand Confirmation Up"));
385
385
  this.expandContentButton.label = expanded ? `$(${Codicon.screenNormal.id})` : `$(${Codicon.screenFull.id})`;
386
386
  this.expandContentButton.element.setAttribute("aria-label", label);
387
387
  this.expandContentButton.element.setAttribute("aria-expanded", String(expanded));
@@ -11,6 +11,7 @@ import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/
11
11
  import { ILanguageModelToolsConfirmationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service";
12
12
  import { IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
13
13
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
14
+ import { IChatToolRiskAssessmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service";
14
15
  import { IChatContentPartRenderContext } from "../chatContentParts.js";
15
16
  import { IChatMarkdownAnchorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service";
16
17
  import { AbstractToolConfirmationSubPart } from "./abstractToolConfirmationSubPart.js";
@@ -27,7 +28,7 @@ export declare class ToolConfirmationSubPart extends AbstractToolConfirmationSub
27
28
  private readonly confirmationService;
28
29
  private markdownParts;
29
30
  get codeblocks(): IChatCodeBlockInfo[];
30
- constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, editorPool: EditorPool, currentWidthDelegate: () => number, codeBlockStartIndex: number, instantiationService: IInstantiationService, keybindingService: IKeybindingService, languageService: ILanguageService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, commandService: ICommandService, markerService: IMarkerService, languageModelToolsService: ILanguageModelToolsService, chatMarkdownAnchorService: IChatMarkdownAnchorService, confirmationService: ILanguageModelToolsConfirmationService);
31
+ constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, editorPool: EditorPool, currentWidthDelegate: () => number, codeBlockStartIndex: number, instantiationService: IInstantiationService, keybindingService: IKeybindingService, languageService: ILanguageService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, commandService: ICommandService, markerService: IMarkerService, languageModelToolsService: ILanguageModelToolsService, chatMarkdownAnchorService: IChatMarkdownAnchorService, confirmationService: ILanguageModelToolsConfirmationService, riskAssessmentService: IChatToolRiskAssessmentService);
31
32
  protected additionalPrimaryActions(): (Separator | import("./abstractToolConfirmationSubPart.js").IAbstractToolPrimaryAction)[];
32
33
  protected useAllowOnceAsPrimary(): boolean;
33
34
  protected createContentElement(): HTMLElement | string;
@@ -23,6 +23,7 @@ import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/
23
23
  import { ILanguageModelToolsConfirmationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service';
24
24
  import { SkipToolConfirmationActionId, AcceptToolConfirmationActionId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
25
25
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
26
+ import { IChatToolRiskAssessmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service';
26
27
  import { renderFileWidgets } from '../chatInlineAnchorWidget.js';
27
28
  import { CodeBlockPart } from '../codeBlockPart.js';
28
29
  import { IChatMarkdownAnchorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service';
@@ -50,7 +51,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
50
51
  markerService,
51
52
  languageModelToolsService,
52
53
  chatMarkdownAnchorService,
53
- confirmationService
54
+ confirmationService,
55
+ riskAssessmentService
54
56
  ) {
55
57
  const state = toolInvocation.state.get();
56
58
  if (state.type !== IChatToolInvocation.StateKind.WaitingForConfirmation || !state.confirmationMessages?.title) {
@@ -63,7 +65,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
63
65
  keybindingService,
64
66
  contextKeyService,
65
67
  chatWidgetService,
66
- languageModelToolsService
68
+ languageModelToolsService,
69
+ riskAssessmentService
67
70
  );
68
71
  this.renderer = renderer;
69
72
  this.editorPool = editorPool;
@@ -78,8 +81,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
78
81
  this.render({
79
82
  allowActionId: AcceptToolConfirmationActionId,
80
83
  skipActionId: SkipToolConfirmationActionId,
81
- allowLabel: state.confirmationMessages.confirmResults ? ( localize(7592, "Allow and Review Once")) : ( localize(7593, "Allow Once")),
82
- skipLabel: ( localize(7594, "Proceed without running this tool")),
84
+ allowLabel: state.confirmationMessages.confirmResults ? ( localize(8144, "Allow and Review Once")) : ( localize(8145, "Allow Once")),
85
+ skipLabel: ( localize(8146, "Proceed without running this tool")),
83
86
  partType: "chatToolConfirmation",
84
87
  subtitle: typeof toolInvocation.originMessage === "string" ? toolInvocation.originMessage : toolInvocation.originMessage?.value
85
88
  });
@@ -125,7 +128,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
125
128
  }
126
129
  if (state.confirmationMessages?.confirmResults) {
127
130
  actions.unshift({
128
- label: ( localize(7595, "Allow and Skip Reviewing Result")),
131
+ label: ( localize(8147, "Allow and Skip Reviewing Result")),
129
132
  data: () => {
130
133
  state.confirmationMessages.confirmResults = undefined;
131
134
  this.confirmWith(this.toolInvocation, {
@@ -167,11 +170,11 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
167
170
  };
168
171
  const elements = h("div", [h(".message@messageContainer", [
169
172
  h(".message-wrapper@message"),
170
- h(".see-more@showMore", [h("a", [( localize(7596, "Show More"))])])
173
+ h(".see-more@showMore", [h("a", [( localize(8148, "Show More"))])])
171
174
  ]), h(".editor@editor"), h(".disclaimer@disclaimer")]);
172
175
  if (toolInvocation.toolSpecificData?.kind === "input" && toolInvocation.toolSpecificData.rawInput && !isEmptyObject(toolInvocation.toolSpecificData.rawInput)) {
173
176
  const titleEl = createElement("h3");
174
- titleEl.textContent = ( localize(7597, "Input"));
177
+ titleEl.textContent = ( localize(8149, "Input"));
175
178
  elements.editor.appendChild(titleEl);
176
179
  const inputData = toolInvocation.toolSpecificData;
177
180
  const codeBlockRenderOptions = {
@@ -241,7 +244,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
241
244
  elements.editor.append(editor.object.element);
242
245
  if (canSeeMore) {
243
246
  const seeMore = h("div.see-more", [h("a@link")]);
244
- seeMore.link.textContent = ( localize(7598, "See more"));
247
+ seeMore.link.textContent = ( localize(8150, "See more"));
245
248
  this._register(addDisposableGenericMouseDownListener(seeMore.link, () => {
246
249
  try {
247
250
  const parsed = JSON.parse(model.getValue());
@@ -308,6 +311,6 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
308
311
  return part;
309
312
  }
310
313
  };
311
- ToolConfirmationSubPart = ( __decorate([( __param(6, IInstantiationService)), ( __param(7, IKeybindingService)), ( __param(8, ILanguageService)), ( __param(9, IContextKeyService)), ( __param(10, IChatWidgetService)), ( __param(11, ICommandService)), ( __param(12, IMarkerService)), ( __param(13, ILanguageModelToolsService)), ( __param(14, IChatMarkdownAnchorService)), ( __param(15, ILanguageModelToolsConfirmationService))], ToolConfirmationSubPart));
314
+ ToolConfirmationSubPart = ( __decorate([( __param(6, IInstantiationService)), ( __param(7, IKeybindingService)), ( __param(8, ILanguageService)), ( __param(9, IContextKeyService)), ( __param(10, IChatWidgetService)), ( __param(11, ICommandService)), ( __param(12, IMarkerService)), ( __param(13, ILanguageModelToolsService)), ( __param(14, IChatMarkdownAnchorService)), ( __param(15, ILanguageModelToolsConfirmationService)), ( __param(16, IChatToolRiskAssessmentService))], ToolConfirmationSubPart));
312
315
 
313
316
  export { ToolConfirmationSubPart };
@@ -24,7 +24,7 @@ export declare class ChatToolInvocationPart extends Disposable implements IChatC
24
24
  get codeblocks(): IChatCodeBlockInfo[];
25
25
  get codeblocksPartId(): string | undefined;
26
26
  private subPart;
27
- private mcpAppPart;
27
+ private readonly mcpAppPart;
28
28
  private readonly _onDidRemount;
29
29
  constructor(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, listPool: CollapsibleListPool, editorPool: EditorPool, currentWidthDelegate: () => number, announcedToolProgressKeys: Set<string> | undefined, codeBlockStartIndex: number, instantiationService: IInstantiationService, chatTodoListService: IChatTodoListService);
30
30
  private createToolInvocationSubPart;
@@ -2,7 +2,7 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { $, createElement, hide, show, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
4
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
5
- import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
+ import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
6
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
7
7
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
8
8
  import { IChatToolInvocation, ToolConfirmKind, isLegacyChatTerminalToolInvocationData } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
@@ -13,8 +13,9 @@ import { ChatInputOutputMarkdownProgressPart } from './chatInputOutputMarkdownPr
13
13
  import { ChatMcpAppSubPart } from './chatMcpAppSubPart.js';
14
14
  import { ChatResultListSubPart } from './chatResultListSubPart.js';
15
15
  import { ChatSimpleToolProgressPart } from './chatSimpleToolProgressPart.js';
16
- import { ChatMissingSandboxDepsConfirmationSubPart } from './chatMissingSandboxDepsConfirmationSubPart.js';
16
+ import { ChatSandboxPrerequisiteConfirmationSubPart } from './chatSandboxPrerequisiteConfirmationSubPart.js';
17
17
  import { ChatModifiedFilesConfirmationSubPart } from './chatModifiedFilesConfirmationSubPart.js';
18
+ import { ChatAgentFeedbackReviewConfirmationSubPart } from './chatAgentFeedbackReviewConfirmationSubPart.js';
18
19
  import { ChatTerminalToolConfirmationSubPart } from './chatTerminalToolConfirmationSubPart.js';
19
20
  import { ChatTerminalToolProgressPart } from './chatTerminalToolProgressPart.js';
20
21
  import { ToolConfirmationSubPart } from './chatToolConfirmationSubPart.js';
@@ -23,7 +24,7 @@ import { ChatToolPostExecuteConfirmationPart } from './chatToolPostExecuteConfir
23
24
  import { ChatToolProgressSubPart } from './chatToolProgressPart.js';
24
25
  import { ChatToolStreamingSubPart } from './chatToolStreamingSubPart.js';
25
26
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
26
- import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
27
+ import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
27
28
 
28
29
  let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
29
30
  get toolCallId() {
@@ -32,7 +33,7 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
32
33
  get codeblocks() {
33
34
  const codeblocks = this.subPart?.codeblocks ?? [];
34
35
  if (this.mcpAppPart) {
35
- codeblocks.push(...this.mcpAppPart.codeblocks);
36
+ codeblocks.push(...(this.mcpAppPart.value?.codeblocks ?? []));
36
37
  }
37
38
  return codeblocks;
38
39
  }
@@ -62,6 +63,7 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
62
63
  this.codeBlockStartIndex = codeBlockStartIndex;
63
64
  this.instantiationService = instantiationService;
64
65
  this.chatTodoListService = chatTodoListService;
66
+ this.mcpAppPart = this._register(( new MutableDisposable()));
65
67
  this._onDidRemount = this._register(( new Emitter()));
66
68
  this.domNode = $(".chat-tool-invocation-part");
67
69
  if (toolInvocation.presentation === "hidden") {
@@ -80,6 +82,7 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
80
82
  }));
81
83
  this.chatTodoListService.setTodos(sessionResource, todos);
82
84
  }
85
+ let appData = constObservable(undefined);
83
86
  if (toolInvocation.kind === "toolInvocation") {
84
87
  const initialState = toolInvocation.state.get().type;
85
88
  const initialDataKind = toolInvocation.toolSpecificDataKind.get();
@@ -90,6 +93,13 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
90
93
  render();
91
94
  }
92
95
  }));
96
+ appData = ( ( toolInvocation.toolSpecificDataKind.map(() => this.getMcpAppRenderData())).map((data, reader) => {
97
+ if (!data) {
98
+ return undefined;
99
+ }
100
+ const outcome = IChatToolInvocation.executionConfirmedOrDenied(toolInvocation, reader);
101
+ return !!outcome && outcome.type !== ToolConfirmKind.Denied && outcome.type !== ToolConfirmKind.Skipped ? data : undefined;
102
+ }));
93
103
  }
94
104
  const partStore = this._register(( new DisposableStore()));
95
105
  let subPartDomNode = createElement("div");
@@ -104,35 +114,29 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
104
114
  this.subPart = partStore.add(this.createToolInvocationSubPart());
105
115
  subPartDomNode.replaceWith(this.subPart.domNode);
106
116
  subPartDomNode = this.subPart.domNode;
107
- const isConfirmation = this.subPart instanceof ToolConfirmationSubPart || this.subPart instanceof ChatTerminalToolConfirmationSubPart || this.subPart instanceof ChatModifiedFilesConfirmationSubPart || this.subPart instanceof ChatMissingSandboxDepsConfirmationSubPart || this.subPart instanceof ExtensionsInstallConfirmationWidgetSubPart || this.subPart instanceof ChatToolPostExecuteConfirmationPart;
117
+ const isConfirmation = this.subPart instanceof ToolConfirmationSubPart || this.subPart instanceof ChatTerminalToolConfirmationSubPart || this.subPart instanceof ChatModifiedFilesConfirmationSubPart || this.subPart instanceof ChatSandboxPrerequisiteConfirmationSubPart || this.subPart instanceof ExtensionsInstallConfirmationWidgetSubPart || this.subPart instanceof ChatToolPostExecuteConfirmationPart;
108
118
  this.domNode.classList.toggle("has-confirmation", isConfirmation);
109
119
  partStore.add(this.subPart.onNeedsRerender(render));
110
120
  };
111
- const mcpAppRenderData = this.getMcpAppRenderData();
112
- if (mcpAppRenderData) {
113
- const shouldRender = derived(r => {
114
- const outcome = IChatToolInvocation.executionConfirmedOrDenied(toolInvocation, r);
115
- return !!outcome && outcome.type !== ToolConfirmKind.Denied && outcome.type !== ToolConfirmKind.Skipped;
116
- });
117
- let appDomNode = createElement("div");
118
- this.domNode.appendChild(appDomNode);
119
- this._register(autorun(r => {
120
- if (shouldRender.read(r)) {
121
- this.mcpAppPart = r.store.add(this.instantiationService.createInstance(
122
- ChatMcpAppSubPart,
123
- this.toolInvocation,
124
- this._onDidRemount.event,
125
- context,
126
- mcpAppRenderData
127
- ));
128
- appDomNode.replaceWith(this.mcpAppPart.domNode);
129
- appDomNode = this.mcpAppPart.domNode;
130
- } else {
131
- this.mcpAppPart = undefined;
132
- clearNode(appDomNode);
133
- }
134
- }));
135
- }
121
+ let appDomNode = createElement("div");
122
+ this.domNode.appendChild(appDomNode);
123
+ this._register(autorun(r => {
124
+ const data = appData.read(r);
125
+ if (!data) {
126
+ this.mcpAppPart.clear();
127
+ clearNode(appDomNode);
128
+ return;
129
+ }
130
+ this.mcpAppPart.value = this.instantiationService.createInstance(
131
+ ChatMcpAppSubPart,
132
+ this.toolInvocation,
133
+ this._onDidRemount.event,
134
+ context,
135
+ data
136
+ );
137
+ appDomNode.replaceWith(this.mcpAppPart.value.domNode);
138
+ appDomNode = this.mcpAppPart.value.domNode;
139
+ }));
136
140
  render();
137
141
  }
138
142
  createToolInvocationSubPart() {
@@ -149,9 +153,9 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
149
153
  return this.instantiationService.createInstance(ChatToolStreamingSubPart, this.toolInvocation, this.context, this.renderer);
150
154
  }
151
155
  if (state.type === IChatToolInvocation.StateKind.WaitingForConfirmation) {
152
- if (this.toolInvocation.toolSpecificData?.kind === "terminal" && !isLegacyChatTerminalToolInvocationData(this.toolInvocation.toolSpecificData) && this.toolInvocation.toolSpecificData.missingSandboxDependencies?.length) {
156
+ if (this.toolInvocation.toolSpecificData?.kind === "terminal" && !isLegacyChatTerminalToolInvocationData(this.toolInvocation.toolSpecificData) && (this.toolInvocation.toolSpecificData.missingSandboxDependencies?.length || this.toolInvocation.toolSpecificData.sandboxRemediations?.length)) {
153
157
  return this.instantiationService.createInstance(
154
- ChatMissingSandboxDepsConfirmationSubPart,
158
+ ChatSandboxPrerequisiteConfirmationSubPart,
155
159
  this.toolInvocation,
156
160
  this.toolInvocation.toolSpecificData,
157
161
  this.context,
@@ -175,6 +179,12 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
175
179
  this.context,
176
180
  this.listPool
177
181
  );
182
+ } else if (this.toolInvocation.toolSpecificData?.kind === "agentFeedbackReviewConfirmation") {
183
+ return this.instantiationService.createInstance(
184
+ ChatAgentFeedbackReviewConfirmationSubPart,
185
+ this.toolInvocation,
186
+ this.context
187
+ );
178
188
  } else {
179
189
  return this.instantiationService.createInstance(
180
190
  ToolConfirmationSubPart,
@@ -285,9 +295,7 @@ let ChatToolInvocationPart = class ChatToolInvocationPart extends Disposable {
285
295
  if (toolSpecificData?.kind === "input" && toolSpecificData.mcpAppData) {
286
296
  const rawInput = typeof toolSpecificData.rawInput === "string" ? toolSpecificData.rawInput : JSON.stringify(toolSpecificData.rawInput, null, 2);
287
297
  return {
288
- resourceUri: toolSpecificData.mcpAppData.resourceUri,
289
- serverDefinitionId: toolSpecificData.mcpAppData.serverDefinitionId,
290
- collectionId: toolSpecificData.mcpAppData.collectionId,
298
+ ...toolSpecificData.mcpAppData,
291
299
  input: rawInput,
292
300
  sessionResource: this.context.element.sessionResource
293
301
  };
@@ -67,7 +67,7 @@ let ChatToolOutputSubPart = class ChatToolOutputSubPart extends BaseChatToolInvo
67
67
  parent.style.height = `${partState.height}px`;
68
68
  }
69
69
  const progressMessage = $("span");
70
- progressMessage.textContent = ( localize(7599, "Rendering tool output..."));
70
+ progressMessage.textContent = ( localize(8151, "Rendering tool output..."));
71
71
  const progressPart = this._register(this.instantiationService.createInstance(
72
72
  ChatProgressSubPart,
73
73
  progressMessage,
@@ -110,7 +110,7 @@ let ChatToolOutputSubPart = class ChatToolOutputSubPart extends BaseChatToolInvo
110
110
  iconElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.error));
111
111
  errorHeaderNode.append(iconElement);
112
112
  const errorTitleNode = $(".output-error-title");
113
- errorTitleNode.textContent = ( localize(7600, "Error rendering the tool output"));
113
+ errorTitleNode.textContent = ( localize(8152, "Error rendering the tool output"));
114
114
  errorHeaderNode.append(errorTitleNode);
115
115
  const errorMessageNode = $(".output-error-details");
116
116
  errorMessageNode.textContent = error?.message || String(error);
@@ -29,20 +29,20 @@ function getApprovalMessageFromReason(reason) {
29
29
  let md;
30
30
  switch (reason.type) {
31
31
  case ToolConfirmKind.Setting:
32
- md = ( localize(7601, "Auto approved by {0}", createMarkdownCommandLink({
32
+ md = ( localize(8153, "Auto approved by {0}", createMarkdownCommandLink({
33
33
  text: "`" + reason.id + "`",
34
34
  id: "workbench.action.openSettings",
35
35
  arguments: [reason.id],
36
- tooltip: ( localize(7602, "Open settings"))
36
+ tooltip: ( localize(8154, "Open settings"))
37
37
  }, false)));
38
38
  break;
39
39
  case ToolConfirmKind.LmServicePerTool:
40
- md = reason.scope === "session" ? ( localize(7603, "Auto approved for this session")) : reason.scope === "workspace" ? ( localize(7604, "Auto approved for this workspace")) : ( localize(7605, "Auto approved for this profile"));
40
+ md = reason.scope === "session" ? ( localize(8155, "Auto approved for this session")) : reason.scope === "workspace" ? ( localize(8156, "Auto approved for this workspace")) : ( localize(8157, "Auto approved for this profile"));
41
41
  md += " (" + createMarkdownCommandLink({
42
- text: ( localize(7606, "Edit")),
42
+ text: ( localize(8158, "Edit")),
43
43
  id: "workbench.action.chat.editToolApproval",
44
44
  arguments: [reason.scope],
45
- tooltip: ( localize(7607, "Edit tool approval settings"))
45
+ tooltip: ( localize(8159, "Edit tool approval settings"))
46
46
  }) + ")";
47
47
  break;
48
48
  case ToolConfirmKind.ConfirmationNotNeeded:
@@ -7,13 +7,14 @@ import { ILanguageModelToolsConfirmationService } from "@codingame/monaco-vscode
7
7
  import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
8
8
  import { IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
9
9
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
10
+ import { IChatToolRiskAssessmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service";
10
11
  import { IChatContentPartRenderContext } from "../chatContentParts.js";
11
12
  import { AbstractToolConfirmationSubPart } from "./abstractToolConfirmationSubPart.js";
12
13
  export declare class ChatToolPostExecuteConfirmationPart extends AbstractToolConfirmationSubPart {
13
14
  private readonly confirmationService;
14
15
  private _codeblocks;
15
16
  get codeblocks(): IChatCodeBlockInfo[];
16
- constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, instantiationService: IInstantiationService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, languageModelToolsService: ILanguageModelToolsService, confirmationService: ILanguageModelToolsConfirmationService);
17
+ constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, instantiationService: IInstantiationService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, languageModelToolsService: ILanguageModelToolsService, confirmationService: ILanguageModelToolsConfirmationService, riskAssessmentService: IChatToolRiskAssessmentService);
17
18
  protected createContentElement(): HTMLElement;
18
19
  protected getTitle(): string;
19
20
  protected additionalPrimaryActions(): (Separator | import("./abstractToolConfirmationSubPart.js").IAbstractToolPrimaryAction)[];