@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
@@ -98,9 +98,9 @@
98
98
  }
99
99
 
100
100
  .chat-confirmation-widget-message h3 {
101
- font-weight: 600;
101
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
102
102
  margin: 4px 0 8px;
103
- font-size: 12px;
103
+ font-size: var(--vscode-agents-fontSize-label1);
104
104
  }
105
105
 
106
106
  .chat-confirmation-widget .chat-confirmation-widget-title .rendered-markdown p a {
@@ -108,7 +108,8 @@
108
108
  }
109
109
 
110
110
  .chat-confirmation-widget-title small {
111
- font-size: 1em;
111
+ font-size: var(--vscode-agents-fontSize-body2);
112
+ font-weight: var(--vscode-agents-fontWeight-regular);
112
113
  opacity: 0.7;
113
114
 
114
115
  &::before {
@@ -117,8 +118,12 @@
117
118
  }
118
119
 
119
120
  .chat-confirmation-widget .chat-buttons-container,
121
+ .chat-confirmation-widget .chat-confirmation-widget-message,
120
122
  .chat-confirmation-widget .chat-confirmation-widget-message-scrollable {
121
123
  flex-basis: 100%;
124
+ box-sizing: border-box;
125
+ min-width: 0;
126
+ max-width: 100%;
122
127
  margin: 8px 0;
123
128
 
124
129
 
@@ -236,6 +241,11 @@
236
241
  justify-content: space-between;
237
242
  column-gap: 10px;
238
243
 
244
+ .chat-title {
245
+ font-size: var(--vscode-agents-fontSize-heading3);
246
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
247
+ }
248
+
239
249
  .rendered-markdown {
240
250
  line-height: 24px !important;
241
251
 
@@ -301,7 +311,7 @@
301
311
  flex: 1;
302
312
  min-width: 0;
303
313
  color: var(--vscode-descriptionForeground);
304
- font-size: 12px;
314
+ font-size: var(--vscode-agents-fontSize-label1);
305
315
  white-space: nowrap;
306
316
  overflow: hidden;
307
317
  text-overflow: ellipsis;
@@ -344,8 +354,8 @@
344
354
  display: inline-flex;
345
355
  gap: 4px;
346
356
  margin-left: 6px;
347
- font-size: 11px;
348
- font-weight: 500;
357
+ font-size: var(--vscode-agents-fontSize-label2);
358
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
349
359
  flex-shrink: 0;
350
360
  }
351
361
 
@@ -449,7 +459,7 @@
449
459
  }
450
460
 
451
461
  .monaco-button-dropdown > .monaco-button.monaco-dropdown-button.codicon[class*='codicon-'] {
452
- font-size: 12px;
462
+ font-size: var(--vscode-codiconFontSize-compact);
453
463
  }
454
464
  }
455
465
 
@@ -485,7 +495,7 @@
485
495
  }
486
496
 
487
497
  .codicon {
488
- font-size: 12px;
498
+ font-size: var(--vscode-codiconFontSize-compact);
489
499
  }
490
500
 
491
501
  &:hover {
@@ -28,12 +28,10 @@
28
28
  * margin-bottom so it sits flush against the input. */
29
29
  .interactive-session .interactive-input-part .chat-plan-review-container > .chat-confirmation-widget2.chat-plan-review {
30
30
  margin-bottom: 0;
31
- border: 1px solid var(--vscode-input-border, transparent);
32
- background-color: var(--vscode-panel-background);
33
31
  }
34
32
 
35
- /* Root container uses .chat-confirmation-widget2 styles for borders / title /
36
- * buttons, plus our own layout overrides for the plan review widget. */
33
+ /* Root container uses .chat-confirmation-widget2 styles for title / buttons,
34
+ * plus our own layout and box overrides for the plan review widget. */
37
35
  .interactive-session .chat-plan-review-container {
38
36
  display: flex;
39
37
  flex-direction: column;
@@ -42,14 +40,32 @@
42
40
  .interactive-session .chat-plan-review-container > .chat-confirmation-widget2.chat-plan-review {
43
41
  display: flex;
44
42
  flex-direction: column;
43
+ border: var(--vscode-strokeThickness) solid var(--vscode-input-border, var(--vscode-chat-requestBorder));
44
+ border-radius: var(--vscode-cornerRadius-large);
45
+ background-color: var(--vscode-panel-background);
45
46
  max-height: min(420px, 50vh);
46
47
  min-height: 0;
47
48
  overflow: hidden;
48
49
  margin-bottom: 8px;
49
50
  }
50
51
 
52
+ .interactive-session .chat-plan-review-container:focus {
53
+ outline: none;
54
+ }
55
+
56
+ .interactive-session .chat-plan-review-container:focus-visible > .chat-confirmation-widget2.chat-plan-review,
57
+ .interactive-session .chat-plan-review-container:focus-within > .chat-confirmation-widget2.chat-plan-review {
58
+ border-color: var(--vscode-focusBorder);
59
+ }
60
+
61
+ /* In the Agents window / editor the surface is the editor background. */
62
+ .agent-sessions-workbench .interactive-session .chat-plan-review-container > .chat-confirmation-widget2.chat-plan-review,
63
+ .editor-instance .interactive-session .chat-plan-review-container > .chat-confirmation-widget2.chat-plan-review {
64
+ background-color: var(--vscode-editor-background);
65
+ }
66
+
51
67
  .interactive-session .chat-plan-review-container.chat-plan-review-expanded > .chat-confirmation-widget2.chat-plan-review {
52
- max-height: min(720px, 75vh);
68
+ max-height: min(720px, calc(100vh - 240px));
53
69
  }
54
70
 
55
71
  /* ---------- Title bar ---------- */
@@ -65,7 +81,7 @@
65
81
  .interactive-session .chat-plan-review-container .chat-plan-review-title-label {
66
82
  flex: 1;
67
83
  min-width: 0;
68
- font-weight: 500;
84
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
69
85
  font-size: var(--vscode-chat-font-size-body-s);
70
86
  white-space: nowrap;
71
87
  overflow: hidden;
@@ -197,7 +213,7 @@
197
213
  }
198
214
 
199
215
  .interactive-session .chat-plan-review-container.chat-plan-review-expanded .chat-confirmation-widget-message.chat-plan-review-body.chat-plan-review-body-editor {
200
- min-height: min(520px, 60vh);
216
+ min-height: min(420px, 45vh);
201
217
  }
202
218
 
203
219
  .interactive-session .chat-plan-review-container .chat-plan-review-body-editor > .monaco-editor {
@@ -9,20 +9,18 @@
9
9
  display: none;
10
10
  }
11
11
 
12
- /* input specific styling */
12
+ /* input specific styling - box look comes from the shared container rule below */
13
13
  .interactive-session .interactive-input-part > .chat-question-carousel-widget-container .chat-question-carousel-container,
14
14
  .interactive-session .interactive-input-part .interactive-input-and-edit-session > .chat-question-carousel-widget-container .chat-question-carousel-container {
15
15
  margin: 0;
16
- border: 1px solid var(--vscode-input-border, transparent);
17
- background-color: var(--vscode-panel-background);
18
- border-radius: var(--vscode-cornerRadius-large);
19
16
  }
20
17
 
21
- /* general questions styling */
18
+ /* general questions styling - matches the tool confirmation (permissions) box family */
22
19
  .interactive-session .chat-question-carousel-container {
23
20
  margin: 8px 0;
24
- border: 1px solid var(--vscode-chat-requestBorder);
21
+ border: var(--vscode-strokeThickness) solid var(--vscode-input-border, var(--vscode-chat-requestBorder));
25
22
  border-radius: var(--vscode-cornerRadius-large);
23
+ background-color: var(--vscode-panel-background);
26
24
  display: flex;
27
25
  flex-direction: column;
28
26
  overflow: hidden;
@@ -31,6 +29,21 @@
31
29
  position: relative;
32
30
  }
33
31
 
32
+ .interactive-session .chat-question-carousel-container:focus {
33
+ outline: none;
34
+ }
35
+
36
+ .interactive-session .chat-question-carousel-container:focus-visible,
37
+ .interactive-session .chat-question-carousel-container:focus-within {
38
+ border-color: var(--vscode-focusBorder);
39
+ }
40
+
41
+ /* in the agents window / editor the surface is the editor background */
42
+ .agent-sessions-workbench .interactive-session .chat-question-carousel-container,
43
+ .editor-instance .interactive-session .chat-question-carousel-container {
44
+ background-color: var(--vscode-editor-background);
45
+ }
46
+
34
47
  /* input part wrapper */
35
48
  .interactive-session .interactive-input-part > .chat-question-carousel-widget-container,
36
49
  .interactive-session .interactive-input-part .interactive-input-and-edit-session > .chat-question-carousel-widget-container {
@@ -79,8 +92,8 @@
79
92
  word-break: break-word;
80
93
  overflow-wrap: anywhere;
81
94
  white-space: normal;
82
- font-weight: 500;
83
- font-size: var(--vscode-chat-font-size-body-s);
95
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
96
+ font-size: var(--vscode-agents-fontSize-heading3);
84
97
  margin: 0;
85
98
 
86
99
  .rendered-markdown {
@@ -179,7 +192,7 @@
179
192
  .interactive-session .chat-question-carousel-container .chat-question-input-container {
180
193
  display: flex;
181
194
  flex-direction: column;
182
- padding: 8px;
195
+ padding: 8px 16px;
183
196
  min-width: 0;
184
197
 
185
198
  &::after {
@@ -204,7 +217,7 @@
204
217
  .chat-question-list-item {
205
218
  display: flex;
206
219
  align-items: center;
207
- gap: 12px;
220
+ gap: 8px;
208
221
  padding: 6px 8px;
209
222
  cursor: pointer;
210
223
  border-radius: var(--vscode-cornerRadius-medium);
@@ -228,7 +241,8 @@
228
241
 
229
242
  /* Label in list item */
230
243
  .chat-question-list-label {
231
- font-size: var(--vscode-chat-font-size-body-s);
244
+ font-size: var(--vscode-agents-fontSize-body2);
245
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
232
246
  flex: 1;
233
247
  word-wrap: break-word;
234
248
  overflow-wrap: break-word;
@@ -237,12 +251,12 @@
237
251
  }
238
252
 
239
253
  .chat-question-list-label-title {
240
- font-weight: 500;
254
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
241
255
  line-height: 1.4;
242
256
  }
243
257
 
244
258
  .chat-question-list-label-desc {
245
- font-weight: normal;
259
+ font-weight: var(--vscode-agents-fontWeight-regular);
246
260
  color: var(--vscode-descriptionForeground);
247
261
  }
248
262
  }
@@ -252,8 +266,8 @@
252
266
 
253
267
  .chat-question-list-number {
254
268
  line-height: 1.4;
255
- font-size: var(--vscode-chat-font-size-body-s);
256
- font-weight: 500;
269
+ font-size: var(--vscode-agents-fontSize-body2);
270
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
257
271
  }
258
272
 
259
273
  .chat-question-list-checkbox {
@@ -330,7 +344,7 @@
330
344
  flex-direction: row;
331
345
  align-items: center;
332
346
  padding: 4px 8px;
333
- gap: 12px;
347
+ gap: 8px;
334
348
 
335
349
  .chat-question-freeform-number {
336
350
  height: fit-content;
@@ -373,7 +387,8 @@
373
387
  /* todo: change to use keybinding service so we don't have to recreate this */
374
388
  .chat-question-list-number,
375
389
  .chat-question-freeform-number {
376
- font-size: var(--vscode-chat-font-size-body-s);
390
+ font-size: var(--vscode-agents-fontSize-body2);
391
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
377
392
  color: var(--vscode-descriptionForeground);
378
393
  flex-shrink: 0;
379
394
  min-width: 1ch;
@@ -443,7 +458,7 @@
443
458
  }
444
459
 
445
460
  .chat-question-submit-hint {
446
- font-size: 11px;
461
+ font-size: var(--vscode-agents-fontSize-body2);
447
462
  color: var(--vscode-descriptionForeground);
448
463
  }
449
464
 
@@ -13,6 +13,13 @@
13
13
  display: block;
14
14
  }
15
15
 
16
+ /* When the subagent has its own openable chat, suppress the collapsed inline
17
+ trace entirely (including the streaming peek): the header + "Open chat" pill
18
+ stand in for it, and the full transcript lives in the dedicated chat. */
19
+ &.chat-subagent-has-chat.chat-used-context-collapsed .chat-used-context-list.chat-thinking-collapsible {
20
+ display: none;
21
+ }
22
+
16
23
  /* Expanded: show all content, no max-height, no scrolling */
17
24
  .chat-used-context-list.chat-thinking-collapsible {
18
25
  max-height: none;
@@ -91,3 +98,19 @@
91
98
  }
92
99
  }
93
100
  }
101
+
102
+ /* Toolbar hosting the contributed "Open Subagent" pill (via
103
+ `MenuId.ChatSubagentContent`). Sits at the start of the subagent header row,
104
+ before the streaming title, so it keeps a fixed position; the pill itself is
105
+ rendered and styled by the Agents-window contribution. */
106
+ .chat-subagent-part .chat-subagent-open-chat-toolbar {
107
+ display: inline-flex;
108
+ align-items: center;
109
+ margin-right: 2px;
110
+ flex-shrink: 0;
111
+ }
112
+
113
+ .chat-subagent-part .chat-subagent-open-chat-toolbar.hidden,
114
+ .chat-subagent-part .chat-subagent-open-chat-toolbar.has-no-actions {
115
+ display: none;
116
+ }
@@ -8,6 +8,50 @@
8
8
  min-width: 0;
9
9
  }
10
10
 
11
+ /*
12
+ * Intention label layout: when the model supplies an intention, the collapsed
13
+ * terminal-row header shows "<intention> <command>" as two flex cells on a
14
+ * single non-wrapping line. Each cell ellipsis-truncates and they split the
15
+ * available width equally when the content overflows the row.
16
+ */
17
+ .chat-terminal-thinking-collapsible.chat-terminal-has-intention .chat-used-context-label,
18
+ .chat-terminal-thinking-collapsible.chat-terminal-has-intention .monaco-button.monaco-icon-button {
19
+ width: 100%;
20
+ max-width: 100%;
21
+ justify-content: flex-start;
22
+ }
23
+
24
+ .chat-terminal-thinking-collapsible.chat-terminal-has-intention .monaco-button-mdlabel {
25
+ flex: 1 1 auto;
26
+ min-width: 0;
27
+ }
28
+
29
+ .chat-terminal-label-flex {
30
+ display: flex;
31
+ flex-direction: row;
32
+ flex-wrap: nowrap;
33
+ align-items: baseline;
34
+ column-gap: 4px;
35
+ min-width: 0;
36
+ width: 100%;
37
+ }
38
+
39
+ .chat-terminal-label-flex > .chat-terminal-intention,
40
+ .chat-terminal-label-flex > .chat-terminal-command {
41
+ /* Natural width so short content stays inline and adjacent; only shrink
42
+ * (dividing the available space) once the row would overflow. */
43
+ flex: 0 1 auto;
44
+ min-width: 0;
45
+ overflow: hidden;
46
+ text-overflow: ellipsis;
47
+ white-space: nowrap;
48
+ }
49
+
50
+ .chat-terminal-label-flex > .chat-terminal-label-suffix {
51
+ flex: 0 0 auto;
52
+ white-space: nowrap;
53
+ }
54
+
11
55
  .chat-terminal-progress-row > div:first-child {
12
56
  display: none;
13
57
  }
@@ -179,6 +179,8 @@
179
179
  .progress-container,
180
180
  .chat-confirmation-widget-container {
181
181
  margin: 0 0 2px 6px;
182
+ box-sizing: border-box;
183
+ max-width: calc(100% - 6px);
182
184
  }
183
185
 
184
186
  /* todo: ideally not !important, but the competing css has 14 specificity */
@@ -68,7 +68,7 @@
68
68
  }
69
69
 
70
70
  .chat-tool-carousel-collapsed-title {
71
- font-weight: 500;
71
+ font-weight: var(--vscode-agents-fontWeight-semiBold);
72
72
  font-size: var(--vscode-chat-font-size-body-s);
73
73
  white-space: nowrap;
74
74
  color: var(--vscode-foreground);
@@ -5,6 +5,7 @@ import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platf
5
5
  import { ConfirmedReason, IChatToolInvocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
6
6
  import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
7
7
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
8
+ import { IChatToolRiskAssessmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service";
8
9
  import { IChatConfirmationButton } from "../chatConfirmationWidget.js";
9
10
  import { IChatContentPartRenderContext } from "../chatContentParts.js";
10
11
  import { BaseChatToolInvocationSubPart } from "./chatToolInvocationSubPart.js";
@@ -33,12 +34,19 @@ export declare abstract class AbstractToolConfirmationSubPart extends BaseChatTo
33
34
  protected readonly contextKeyService: IContextKeyService;
34
35
  protected readonly chatWidgetService: IChatWidgetService;
35
36
  protected readonly languageModelToolsService: ILanguageModelToolsService;
37
+ protected readonly riskAssessmentService: IChatToolRiskAssessmentService;
36
38
  domNode: HTMLElement;
37
- constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, instantiationService: IInstantiationService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, languageModelToolsService: ILanguageModelToolsService);
39
+ constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, instantiationService: IInstantiationService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, languageModelToolsService: ILanguageModelToolsService, riskAssessmentService: IChatToolRiskAssessmentService);
38
40
  protected render(config: IToolConfirmationConfig): void;
39
41
  protected confirmWith(toolInvocation: IChatToolInvocation, reason: ConfirmedReason): void;
40
42
  private buildCustomOptionButtons;
41
43
  protected additionalPrimaryActions(): AbstractToolPrimaryAction[];
44
+ /**
45
+ * Create the risk-assessment badge DOM node for this confirmation, or
46
+ * `undefined` when the feature is disabled or the tool is unknown. Returned
47
+ * as a `footerBanner` for the confirmation widget.
48
+ */
49
+ protected createRiskBadgeDomNode(parameters: unknown): HTMLElement | undefined;
42
50
  /**
43
51
  * When true, "Allow Once" stays the primary button even when a
44
52
  * session-scoped action is available. Subclasses override this
@@ -8,7 +8,8 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
8
8
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
9
9
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
10
10
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-root/state';
11
- import { ConfirmationOptionKind } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-session/state';
11
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-session/state';
12
+ import { ConfirmationOptionKind } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-chat/state';
12
13
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-terminal/state';
13
14
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-changeset/state';
14
15
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-resource-watch/state';
@@ -16,8 +17,10 @@ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
16
17
  import { IChatToolInvocation, ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
17
18
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
18
19
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
20
+ import { IChatToolRiskAssessmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service';
19
21
  import { ChatCustomConfirmationWidget } from '../chatConfirmationWidget.js';
20
22
  import { BaseChatToolInvocationSubPart } from './chatToolInvocationSubPart.js';
23
+ import { createToolRiskBadge } from './toolRiskBadgeHelper.js';
21
24
 
22
25
  let AbstractToolConfirmationSubPart = class AbstractToolConfirmationSubPart extends BaseChatToolInvocationSubPart {
23
26
  constructor(
@@ -27,7 +30,8 @@ let AbstractToolConfirmationSubPart = class AbstractToolConfirmationSubPart exte
27
30
  keybindingService,
28
31
  contextKeyService,
29
32
  chatWidgetService,
30
- languageModelToolsService
33
+ languageModelToolsService,
34
+ riskAssessmentService
31
35
  ) {
32
36
  super(toolInvocation);
33
37
  this.toolInvocation = toolInvocation;
@@ -37,6 +41,7 @@ let AbstractToolConfirmationSubPart = class AbstractToolConfirmationSubPart exte
37
41
  this.contextKeyService = contextKeyService;
38
42
  this.chatWidgetService = chatWidgetService;
39
43
  this.languageModelToolsService = languageModelToolsService;
44
+ this.riskAssessmentService = riskAssessmentService;
40
45
  if (toolInvocation.kind !== "toolInvocation") {
41
46
  throw ( new Error("Confirmation only works with live tool invocations"));
42
47
  }
@@ -74,7 +79,7 @@ let AbstractToolConfirmationSubPart = class AbstractToolConfirmationSubPart exte
74
79
  data: primaryAction.data,
75
80
  moreActions: moreActions.length > 0 ? moreActions : undefined
76
81
  }, {
77
- label: ( localize(7516, "Skip")),
82
+ label: ( localize(8059, "Skip")),
78
83
  tooltip: skipTooltip,
79
84
  data: () => {
80
85
  this.confirmWith(toolInvocation, {
@@ -86,6 +91,7 @@ let AbstractToolConfirmationSubPart = class AbstractToolConfirmationSubPart exte
86
91
  }
87
92
  const contentElement = this.createContentElement();
88
93
  const tool = languageModelToolsService.getTool(toolInvocation.toolId);
94
+ const riskBadge = state.type === IChatToolInvocation.StateKind.WaitingForConfirmation ? this.createRiskBadgeDomNode(state.parameters) : undefined;
89
95
  const confirmWidget = this._register(
90
96
  this.instantiationService.createInstance(ChatCustomConfirmationWidget, this.context, {
91
97
  title: this.getTitle(),
@@ -93,6 +99,7 @@ let AbstractToolConfirmationSubPart = class AbstractToolConfirmationSubPart exte
93
99
  subtitle: config.subtitle,
94
100
  buttons,
95
101
  message: contentElement,
102
+ footerBanner: riskBadge,
96
103
  toolbarData: {
97
104
  arg: toolInvocation,
98
105
  partType: config.partType,
@@ -167,10 +174,20 @@ let AbstractToolConfirmationSubPart = class AbstractToolConfirmationSubPart exte
167
174
  additionalPrimaryActions() {
168
175
  return [];
169
176
  }
177
+ createRiskBadgeDomNode(parameters) {
178
+ return createToolRiskBadge(
179
+ this._store,
180
+ this.instantiationService,
181
+ this.riskAssessmentService,
182
+ this.languageModelToolsService,
183
+ this.toolInvocation.toolId,
184
+ parameters
185
+ )?.domNode;
186
+ }
170
187
  useAllowOnceAsPrimary() {
171
188
  return false;
172
189
  }
173
190
  };
174
- AbstractToolConfirmationSubPart = ( __decorate([( __param(2, IInstantiationService)), ( __param(3, IKeybindingService)), ( __param(4, IContextKeyService)), ( __param(5, IChatWidgetService)), ( __param(6, ILanguageModelToolsService))], AbstractToolConfirmationSubPart));
191
+ AbstractToolConfirmationSubPart = ( __decorate([( __param(2, IInstantiationService)), ( __param(3, IKeybindingService)), ( __param(4, IContextKeyService)), ( __param(5, IChatWidgetService)), ( __param(6, ILanguageModelToolsService)), ( __param(7, IChatToolRiskAssessmentService))], AbstractToolConfirmationSubPart));
175
192
 
176
193
  export { AbstractToolConfirmationSubPart };
@@ -0,0 +1,48 @@
1
+ import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
2
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
3
+ import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
4
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
5
+ import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
6
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
7
+ import { IChatToolInvocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
8
+ import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
9
+ import { IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
10
+ import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
11
+ import { IChatToolRiskAssessmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service";
12
+ import { IChatContentPartRenderContext } from "../chatContentParts.js";
13
+ import { AbstractToolConfirmationSubPart } from "./abstractToolConfirmationSubPart.js";
14
+ /**
15
+ * Confirmation for the agent host `viewUnreviewedComments` tool. Lists the
16
+ * review comments the user has not accepted yet — each with a checkbox (reveal
17
+ * to the agent or not), an action to open the file at the comment, and an
18
+ * action to delete the comment. Accepting reveals (accepts) the checked
19
+ * comments before approving the tool call; the comments and all actions are
20
+ * fetched/applied via {@link AgentFeedbackReviewCommandId} commands so this
21
+ * layer stays decoupled from the `vs/sessions` feedback model.
22
+ */
23
+ export declare class ChatAgentFeedbackReviewConfirmationSubPart extends AbstractToolConfirmationSubPart {
24
+ private readonly commandService;
25
+ private readonly logService;
26
+ private readonly hoverService;
27
+ readonly domNode: HTMLElement;
28
+ readonly codeblocks: IChatCodeBlockInfo[];
29
+ private readonly _rows;
30
+ private readonly _rowStores;
31
+ private readonly _resourceLabels;
32
+ constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, instantiationService: IInstantiationService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, languageModelToolsService: ILanguageModelToolsService, riskAssessmentService: IChatToolRiskAssessmentService, commandService: ICommandService, logService: ILogService, hoverService: IHoverService);
33
+ private get _sessionResource();
34
+ private _populate;
35
+ private _renderRow;
36
+ /**
37
+ * Renders the comment body clamped to two visual lines by default, with an
38
+ * expand/collapse toggle in the bottom-right corner. The toggle and the
39
+ * fade/ellipsis affordance only appear when the text actually overflows two
40
+ * lines; overflow is re-evaluated whenever the available width changes.
41
+ */
42
+ private _renderCommentText;
43
+ private _reveal;
44
+ private _delete;
45
+ private _onReveal;
46
+ protected createContentElement(): HTMLElement | string;
47
+ protected getTitle(): string;
48
+ }