@codingame/monaco-vscode-katex-common 34.1.3 → 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
@@ -6,11 +6,12 @@ import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/reso
6
6
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
7
  import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
8
8
  import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
9
+ import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
9
10
  import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
10
11
  import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
11
12
  import { SIDE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
12
13
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
13
- import { ChatEditPillElement } from './chatEditPillElement.js';
14
+ import { ChatEditPillElement, isResourceContentEmpty } from './chatEditPillElement.js';
14
15
 
15
16
  let ChatExternalEditContentPart = class ChatExternalEditContentPart extends ChatEditPillElement {
16
17
  get domNode() {
@@ -23,11 +24,13 @@ let ChatExternalEditContentPart = class ChatExternalEditContentPart extends Chat
23
24
  modelService,
24
25
  languageService,
25
26
  hoverService,
26
- editorService
27
+ editorService,
28
+ textModelService
27
29
  ) {
28
30
  super(labelService, modelService, languageService, hoverService);
29
31
  this.edit = edit;
30
32
  this.editorService = editorService;
33
+ this.textModelService = textModelService;
31
34
  this._onDidChangeDiff = this._register(( new Emitter()));
32
35
  this.onDidChangeDiff = this._onDidChangeDiff.event;
33
36
  this.render(edit);
@@ -45,10 +48,10 @@ let ChatExternalEditContentPart = class ChatExternalEditContentPart extends Chat
45
48
  if (edit.diff && (edit.diff.added > 0 || edit.diff.removed > 0)) {
46
49
  this.setDiff(edit.diff);
47
50
  const fileName = this.labelService.getUriBasenameLabel(edit.uri);
48
- const insertionsFragment = edit.diff.added === 1 ? ( localize(7266, "1 insertion")) : ( localize(7267, "{0} insertions", edit.diff.added));
49
- const deletionsFragment = edit.diff.removed === 1 ? ( localize(7268, "1 deletion")) : ( localize(7269, "{0} deletions", edit.diff.removed));
51
+ const insertionsFragment = edit.diff.added === 1 ? ( localize(7809, "1 insertion")) : ( localize(7810, "{0} insertions", edit.diff.added));
52
+ const deletionsFragment = edit.diff.removed === 1 ? ( localize(7811, "1 deletion")) : ( localize(7812, "{0} deletions", edit.diff.removed));
50
53
  this.setAriaLabel(( localize(
51
- 7270,
54
+ 7813,
52
55
  "Edited {0}, {1}, {2}",
53
56
  fileName,
54
57
  insertionsFragment,
@@ -69,7 +72,7 @@ let ChatExternalEditContentPart = class ChatExternalEditContentPart extends Chat
69
72
  this.setAriaLabel(`${label} ${this.labelService.getUriBasenameLabel(edit.uri)}`);
70
73
  }
71
74
  }
72
- openEdit(
75
+ async openEdit(
73
76
  {
74
77
  editorOptions: options,
75
78
  openToSide
@@ -77,6 +80,13 @@ let ChatExternalEditContentPart = class ChatExternalEditContentPart extends Chat
77
80
  ) {
78
81
  const group = openToSide ? SIDE_GROUP : undefined;
79
82
  if (this.edit.beforeContentUri && this.edit.afterContentUri) {
83
+ if (this.edit.editKind === "edit" && (this.edit.diff?.removed ?? 0) === 0 && (await isResourceContentEmpty(this.textModelService, this.edit.beforeContentUri))) {
84
+ this.editorService.openEditor({
85
+ resource: this.edit.uri,
86
+ options
87
+ }, group);
88
+ return;
89
+ }
80
90
  this.editorService.openEditor({
81
91
  original: {
82
92
  resource: this.edit.beforeContentUri
@@ -105,28 +115,28 @@ let ChatExternalEditContentPart = class ChatExternalEditContentPart extends Chat
105
115
  return (isEqual(other.uri, this.edit.uri) && other.editKind === this.edit.editKind && (other.diff?.added ?? 0) === (this.edit.diff?.added ?? 0) && (other.diff?.removed ?? 0) === (this.edit.diff?.removed ?? 0));
106
116
  }
107
117
  };
108
- ChatExternalEditContentPart = ( __decorate([( __param(2, ILabelService)), ( __param(3, IModelService)), ( __param(4, ILanguageService)), ( __param(5, IHoverService)), ( __param(6, IEditorService))], ChatExternalEditContentPart));
118
+ ChatExternalEditContentPart = ( __decorate([( __param(2, ILabelService)), ( __param(3, IModelService)), ( __param(4, ILanguageService)), ( __param(5, IHoverService)), ( __param(6, IEditorService)), ( __param(7, ITextModelService))], ChatExternalEditContentPart));
109
119
  function describeEdit(edit) {
110
120
  switch (edit.editKind) {
111
121
  case "create":
112
122
  return {
113
123
  icon: Codicon.check,
114
- label: ( localize(7271, "Created"))
124
+ label: ( localize(7814, "Created"))
115
125
  };
116
126
  case "delete":
117
127
  return {
118
128
  icon: Codicon.check,
119
- label: ( localize(7272, "Deleted"))
129
+ label: ( localize(7815, "Deleted"))
120
130
  };
121
131
  case "rename":
122
132
  return {
123
133
  icon: Codicon.check,
124
- label: ( localize(7273, "Renamed"))
134
+ label: ( localize(7816, "Renamed"))
125
135
  };
126
136
  case "edit":
127
137
  return {
128
138
  icon: Codicon.check,
129
- label: ( localize(7274, "Edited"))
139
+ label: ( localize(7817, "Edited"))
130
140
  };
131
141
  }
132
142
  }
@@ -20,7 +20,7 @@ let ChatHookContentPart = class ChatHookContentPart extends ChatCollapsibleConte
20
20
  const isStopped = !!hookPart.stopReason;
21
21
  const isWarning = !!hookPart.systemMessage;
22
22
  const toolName = hookPart.toolDisplayName;
23
- const title = isStopped ? (toolName ? ( localize(7275, "Blocked {0} - {1} hook", toolName, hookTypeLabel)) : ( localize(7276, "Blocked by {0} hook", hookTypeLabel))) : (toolName ? ( localize(7277, "Warning for {0} - {1} hook", toolName, hookTypeLabel)) : ( localize(7278, "Warning from {0} hook", hookTypeLabel)));
23
+ const title = isStopped ? (toolName ? ( localize(7818, "Blocked {0} - {1} hook", toolName, hookTypeLabel)) : ( localize(7819, "Blocked by {0} hook", hookTypeLabel))) : (toolName ? ( localize(7820, "Warning for {0} - {1} hook", toolName, hookTypeLabel)) : ( localize(7821, "Warning from {0} hook", hookTypeLabel)));
24
24
  super(title, context, undefined, hoverService, configurationService);
25
25
  this.hookPart = hookPart;
26
26
  this.icon = isStopped ? Codicon.error : isWarning ? Codicon.warning : Codicon.check;
@@ -246,10 +246,10 @@ let InlineAnchorWidget = class InlineAnchorWidget extends Disposable {
246
246
  );
247
247
  if (location.range) {
248
248
  if (location.range.startLineNumber === location.range.endLineNumber) {
249
- element.setAttribute("aria-label", ( localize(7279, "{0} line {1}", filePathLabel, location.range.startLineNumber)));
249
+ element.setAttribute("aria-label", ( localize(7822, "{0} line {1}", filePathLabel, location.range.startLineNumber)));
250
250
  } else {
251
251
  element.setAttribute("aria-label", ( localize(
252
- 7280,
252
+ 7823,
253
253
  "{0} lines {1} to {2}",
254
254
  filePathLabel,
255
255
  location.range.startLineNumber,
@@ -319,7 +319,7 @@ registerAction2(class AddFileToChatAction extends Action2 {
319
319
  constructor() {
320
320
  super({
321
321
  id: AddFileToChatAction.id,
322
- title: ( localize2(7281, "Add File to Chat")),
322
+ title: ( localize2(7824, "Add File to Chat")),
323
323
  menu: [{
324
324
  id: MenuId.ChatInlineResourceAnchorContext,
325
325
  group: "chat",
@@ -343,7 +343,7 @@ registerAction2(class CopyResourceAction extends Action2 {
343
343
  constructor() {
344
344
  super({
345
345
  id: CopyResourceAction.id,
346
- title: ( localize2(7282, "Copy")),
346
+ title: ( localize2(7825, "Copy")),
347
347
  f1: false,
348
348
  precondition: chatAttachmentResourceContextKey,
349
349
  keybinding: {
@@ -370,7 +370,7 @@ registerAction2(class OpenToSideResourceAction extends Action2 {
370
370
  constructor() {
371
371
  super({
372
372
  id: OpenToSideResourceAction.id,
373
- title: ( localize2(7283, "Open to the Side")),
373
+ title: ( localize2(7826, "Open to the Side")),
374
374
  f1: false,
375
375
  precondition: chatAttachmentResourceContextKey,
376
376
  keybinding: {
@@ -436,8 +436,8 @@ registerAction2(class GoToDefinitionAction extends Action2 {
436
436
  super({
437
437
  id: GoToDefinitionAction.id,
438
438
  title: {
439
- ...( localize2(7284, "Go to Definition")),
440
- mnemonicTitle: ( localize(7285, "Go to &&Definition"))
439
+ ...( localize2(7827, "Go to Definition")),
440
+ mnemonicTitle: ( localize(7828, "Go to &&Definition"))
441
441
  },
442
442
  menu: ( [
443
443
  MenuId.ChatInlineSymbolAnchorContext,
@@ -494,8 +494,8 @@ registerAction2(class GoToTypeDefinitionsAction extends Action2 {
494
494
  super({
495
495
  id: GoToTypeDefinitionsAction.id,
496
496
  title: {
497
- ...( localize2(7286, "Go to Type Definitions")),
498
- mnemonicTitle: ( localize(7287, "Go to &&Type Definitions"))
497
+ ...( localize2(7829, "Go to Type Definitions")),
498
+ mnemonicTitle: ( localize(7830, "Go to &&Type Definitions"))
499
499
  },
500
500
  menu: ( [
501
501
  MenuId.ChatInlineSymbolAnchorContext,
@@ -520,8 +520,8 @@ registerAction2(class GoToImplementations extends Action2 {
520
520
  super({
521
521
  id: GoToImplementations.id,
522
522
  title: {
523
- ...( localize2(7288, "Go to Implementations")),
524
- mnemonicTitle: ( localize(7289, "Go to &&Implementations"))
523
+ ...( localize2(7831, "Go to Implementations")),
524
+ mnemonicTitle: ( localize(7832, "Go to &&Implementations"))
525
525
  },
526
526
  menu: ( [
527
527
  MenuId.ChatInlineSymbolAnchorContext,
@@ -546,8 +546,8 @@ registerAction2(class GoToReferencesAction extends Action2 {
546
546
  super({
547
547
  id: GoToReferencesAction.id,
548
548
  title: {
549
- ...( localize2(7290, "Go to References")),
550
- mnemonicTitle: ( localize(7291, "Go to &&References"))
549
+ ...( localize2(7833, "Go to References")),
550
+ mnemonicTitle: ( localize(7834, "Go to &&References"))
551
551
  },
552
552
  menu: ( [
553
553
  MenuId.ChatInlineSymbolAnchorContext,
@@ -4,6 +4,7 @@ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"
4
4
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
5
5
  import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service";
6
6
  import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
7
+ import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service";
7
8
  import { IMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service";
8
9
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
9
10
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
@@ -18,6 +19,7 @@ import { IEditSessionDiffStats, IEditSessionEntryDiff } from "@codingame/monaco-
18
19
  import { IChatProgressRenderableResponseContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
19
20
  import { IChatMarkdownContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
20
21
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
22
+ import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
21
23
  import { IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
22
24
  import { IChatOutputRendererService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service";
23
25
  import { ICodeBlockRenderOptions } from "./codeBlockPart.js";
@@ -43,6 +45,7 @@ export declare class ChatMarkdownContentPart extends Disposable implements IChat
43
45
  private readonly instantiationService;
44
46
  private readonly aiEditTelemetryService;
45
47
  private readonly chatOutputRendererService;
48
+ private readonly chatSessionsService;
46
49
  private static ID_POOL;
47
50
  readonly codeblocksPartId: string;
48
51
  readonly domNode: HTMLElement;
@@ -60,7 +63,7 @@ export declare class ChatMarkdownContentPart extends Disposable implements IChat
60
63
  private readonly mathLayoutParticipants;
61
64
  /** Incremental rendering morpher — only created when the experiment is enabled. */
62
65
  private _incrementalMorpher;
63
- constructor(markdown: IChatMarkdownContent, context: IChatContentPartRenderContext, editorPool: EditorPool, fillInIncompleteTokens: boolean | undefined, codeBlockStartIndex: number | undefined, renderer: IMarkdownRenderer, markdownRenderOptions: MarkdownRenderOptions | undefined, currentWidth: number, rendererOptions: IChatMarkdownContentPartOptions, contextKeyService: IContextKeyService, configurationService: IConfigurationService, instantiationService: IInstantiationService, aiEditTelemetryService: IAiEditTelemetryService, chatOutputRendererService: IChatOutputRendererService);
66
+ constructor(markdown: IChatMarkdownContent, context: IChatContentPartRenderContext, editorPool: EditorPool, fillInIncompleteTokens: boolean | undefined, codeBlockStartIndex: number | undefined, renderer: IMarkdownRenderer, markdownRenderOptions: MarkdownRenderOptions | undefined, currentWidth: number, rendererOptions: IChatMarkdownContentPartOptions, contextKeyService: IContextKeyService, configurationService: IConfigurationService, instantiationService: IInstantiationService, aiEditTelemetryService: IAiEditTelemetryService, chatOutputRendererService: IChatOutputRendererService, chatSessionsService: IChatSessionsService);
64
67
  dispose(): void;
65
68
  private renderCodeBlockPill;
66
69
  private renderChatOutputCodeBlock;
@@ -102,12 +105,13 @@ export declare class CollapsedCodeBlock extends ChatEditPillElement {
102
105
  private readonly menuService;
103
106
  private readonly chatService;
104
107
  private readonly configurationService;
108
+ private readonly textModelService;
105
109
  private currentDiff;
106
110
  get diff(): IEditSessionEntryDiff | undefined;
107
111
  private readonly _onDidChangeDiff;
108
112
  readonly onDidChangeDiff: Event<IEditSessionEntryDiff>;
109
113
  private readonly progressStore;
110
- constructor(sessionResource: URI, requestId: string, inUndoStop: string | undefined, labelService: ILabelService, editorService: IEditorService, modelService: IModelService, languageService: ILanguageService, contextMenuService: IContextMenuService, contextKeyService: IContextKeyService, menuService: IMenuService, hoverService: IHoverService, chatService: IChatService, configurationService: IConfigurationService);
114
+ constructor(sessionResource: URI, requestId: string, inUndoStop: string | undefined, labelService: ILabelService, editorService: IEditorService, modelService: IModelService, languageService: ILanguageService, contextMenuService: IContextMenuService, contextKeyService: IContextKeyService, menuService: IMenuService, hoverService: IHoverService, chatService: IChatService, configurationService: IConfigurationService, textModelService: ITextModelService);
111
115
  private showDiff;
112
116
  /**
113
117
  * @param uri URI of the file on-disk being changed
@@ -24,6 +24,7 @@ import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core
24
24
  import { isLocation } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
25
25
  import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
26
26
  import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
27
+ import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
27
28
  import { EditDeltaInfo } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditSource';
28
29
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
29
30
  import { getFlatContextMenuActions } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
@@ -42,6 +43,7 @@ import { IAiEditTelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/
42
43
  import { MarkedKatexSupport } from '../../../../markdown/browser/markedKatexSupport.js';
43
44
  import { extractCodeblockUrisFromText, extractVulnerabilitiesFromText } from '../../../common/widget/annotations.js';
44
45
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
46
+ import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
45
47
  import { isResponseVM, isRequestVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
46
48
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
47
49
  import { IChatOutputRendererService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service';
@@ -50,7 +52,7 @@ import { parseUnifiedDiff, MarkdownDiffBlockPart } from './chatDiffBlockPart.js'
50
52
  import { ChatMarkdownDecorationsRenderer } from './chatMarkdownDecorationsRenderer.js';
51
53
  import { CodeBlockPart } from './codeBlockPart.js';
52
54
  import * as chatCodeBlockPill from './media/chatCodeBlockPill.css';
53
- import { ChatEditPillElement } from './chatEditPillElement.js';
55
+ import { ChatEditPillElement, isResourceContentEmpty } from './chatEditPillElement.js';
54
56
  import { ChatExtensionsContentPart } from './chatExtensionsContentPart.js';
55
57
  import { ChatProgressSubPart } from './chatProgressContentPart.js';
56
58
  import { IncrementalDOMMorpher } from './chatIncrementalRendering/chatIncrementalRendering.js';
@@ -87,7 +89,8 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
87
89
  configurationService,
88
90
  instantiationService,
89
91
  aiEditTelemetryService,
90
- chatOutputRendererService
92
+ chatOutputRendererService,
93
+ chatSessionsService
91
94
  ) {
92
95
  super();
93
96
  this.markdown = markdown;
@@ -96,6 +99,7 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
96
99
  this.instantiationService = instantiationService;
97
100
  this.aiEditTelemetryService = aiEditTelemetryService;
98
101
  this.chatOutputRendererService = chatOutputRendererService;
102
+ this.chatSessionsService = chatSessionsService;
99
103
  this.codeblocksPartId = String(++ChatMarkdownContentPart_1.ID_POOL);
100
104
  this._onDidChangeHeight = this._register(( new Emitter()));
101
105
  this.onDidChangeHeight = this._onDidChangeHeight.event;
@@ -161,6 +165,12 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
161
165
  gfm: true,
162
166
  breaks: true
163
167
  };
168
+ const configuredUriTransformer = markdownRenderOptions?.transformUri;
169
+ const transformUri = isResponseVM(element) ? (href, kind) => this.chatSessionsService.resolveChatResponseUri(
170
+ element.sessionResource,
171
+ configuredUriTransformer?.(href, kind) ?? href,
172
+ kind
173
+ ) : configuredUriTransformer;
164
174
  const result = store.add(renderer.render(this.markdown.content, {
165
175
  sanitizerConfig: MarkedKatexSupport.getSanitizerOptions({
166
176
  allowedTags: allowedChatMarkdownHtmlTags,
@@ -313,7 +323,8 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
313
323
  },
314
324
  markedOptions: markedOpts,
315
325
  markedExtensions,
316
- ...markdownRenderOptions
326
+ ...markdownRenderOptions,
327
+ transformUri
317
328
  }, this.domNode));
318
329
  if (isResponseVM(element) && !element.model.codeBlockInfos && element.model.isComplete) {
319
330
  element.model.initializeCodeBlockInfos(( this._codeblocks.map(info => {
@@ -323,7 +334,7 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
323
334
  feature: "sideBarChat",
324
335
  editDeltaInfo: info.editDeltaInfo,
325
336
  languageId: info.languageId,
326
- modeId: element.model.request?.modeInfo?.modeId,
337
+ modeId: element.model.request?.modeInfo?.telemetryModeId,
327
338
  modelId: element.model.request?.modelId,
328
339
  applyCodeBlockSuggestionId: undefined,
329
340
  source: undefined,
@@ -506,7 +517,7 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
506
517
  this._register(disposable);
507
518
  }
508
519
  };
509
- ChatMarkdownContentPart = ChatMarkdownContentPart_1 = ( __decorate([( __param(9, IContextKeyService)), ( __param(10, IConfigurationService)), ( __param(11, IInstantiationService)), ( __param(12, IAiEditTelemetryService)), ( __param(13, IChatOutputRendererService))], ChatMarkdownContentPart));
520
+ ChatMarkdownContentPart = ChatMarkdownContentPart_1 = ( __decorate([( __param(9, IContextKeyService)), ( __param(10, IConfigurationService)), ( __param(11, IInstantiationService)), ( __param(12, IAiEditTelemetryService)), ( __param(13, IChatOutputRendererService)), ( __param(14, IChatSessionsService))], ChatMarkdownContentPart));
510
521
  function equalsInlineReferences(a, b) {
511
522
  if (a === b) {
512
523
  return true;
@@ -587,7 +598,7 @@ let ChatOutputCodeBlockPart = ChatOutputCodeBlockPart_1 = class ChatOutputCodeBl
587
598
  this._disposeCts = this._register(( new CancellationTokenSource()));
588
599
  this._renderedOutputPart = this._register(( new MutableDisposable()));
589
600
  this.reuseKey = ChatOutputCodeBlockPart_1.reuseKey(context.element.id, codeBlockIndex, identifier);
590
- const title = ( localize(7292, "Rendered code block {0}", codeBlockIndex + 1));
601
+ const title = ( localize(7835, "Rendered code block {0}", codeBlockIndex + 1));
591
602
  this.element = $(".interactive-result-code-block.chat-output-code-block.tool-output-part");
592
603
  this.element.tabIndex = -1;
593
604
  this.element.ariaLabel = title;
@@ -604,7 +615,7 @@ let ChatOutputCodeBlockPart = ChatOutputCodeBlockPart_1 = class ChatOutputCodeBl
604
615
  parent.style.height = `${partState.height}px`;
605
616
  }
606
617
  const progressMessage = $("span");
607
- progressMessage.textContent = ( localize(7293, "Rendering code block..."));
618
+ progressMessage.textContent = ( localize(7836, "Rendering code block..."));
608
619
  const progressPart = this._register(this.instantiationService.createInstance(
609
620
  ChatProgressSubPart,
610
621
  progressMessage,
@@ -680,7 +691,7 @@ let ChatOutputCodeBlockPart = ChatOutputCodeBlockPart_1 = class ChatOutputCodeBl
680
691
  iconElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.error));
681
692
  errorHeaderNode.append(iconElement);
682
693
  const errorTitleNode = $(".output-error-title");
683
- errorTitleNode.textContent = ( localize(7294, "Error rendering the code block"));
694
+ errorTitleNode.textContent = ( localize(7837, "Error rendering the code block"));
684
695
  errorHeaderNode.append(errorTitleNode);
685
696
  const errorMessageNode = $(".output-error-details");
686
697
  errorMessageNode.textContent = error?.message || String(error);
@@ -706,7 +717,8 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends ChatEditPillElement {
706
717
  menuService,
707
718
  hoverService,
708
719
  chatService,
709
- configurationService
720
+ configurationService,
721
+ textModelService
710
722
  ) {
711
723
  super(labelService, modelService, languageService, hoverService);
712
724
  this.sessionResource = sessionResource;
@@ -718,6 +730,7 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends ChatEditPillElement {
718
730
  this.menuService = menuService;
719
731
  this.chatService = chatService;
720
732
  this.configurationService = configurationService;
733
+ this.textModelService = textModelService;
721
734
  this._onDidChangeDiff = this._register(( new Emitter()));
722
735
  this.onDidChangeDiff = this._onDidChangeDiff.event;
723
736
  this.progressStore = this._store.add(( new DisposableStore()));
@@ -743,13 +756,21 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends ChatEditPillElement {
743
756
  });
744
757
  }));
745
758
  }
746
- showDiff(
759
+ async showDiff(
747
760
  {
748
761
  editorOptions: options,
749
762
  openToSide
750
763
  }
751
764
  ) {
765
+ const group = openToSide ? SIDE_GROUP : undefined;
752
766
  if (this.currentDiff) {
767
+ if (this.currentDiff.removed === 0 && (await isResourceContentEmpty(this.textModelService, this.currentDiff.originalURI)) && this.uri) {
768
+ this.editorService.openEditor({
769
+ resource: this.uri,
770
+ options
771
+ }, group);
772
+ return;
773
+ }
753
774
  this.editorService.openEditor({
754
775
  original: {
755
776
  resource: this.currentDiff.originalURI
@@ -758,12 +779,12 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends ChatEditPillElement {
758
779
  resource: this.currentDiff.modifiedURI
759
780
  },
760
781
  options
761
- }, openToSide ? SIDE_GROUP : undefined);
782
+ }, group);
762
783
  } else if (this.uri) {
763
784
  this.editorService.openEditor({
764
785
  resource: this.uri,
765
786
  options
766
- }, openToSide ? SIDE_GROUP : undefined);
787
+ }, group);
767
788
  }
768
789
  }
769
790
  render(uri) {
@@ -790,7 +811,7 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends ChatEditPillElement {
790
811
  this.progressStore.add(autorun(r => {
791
812
  if (isStreaming.read(r)) {
792
813
  const codicon = ThemeIcon.modify(Codicon.loading, "spin");
793
- this.setStatus(codicon, ( localize(7295, "Applying edits")));
814
+ this.setStatus(codicon, ( localize(7838, "Applying edits")));
794
815
  const entry = editSession.readEntry(uri, r);
795
816
  const rwRatio = Math.floor((entry?.rewriteRatio.read(r) || 0) * 100);
796
817
  const showAnimation = this.configurationService.getValue(ChatConfiguration.ShowCodeBlockProgressAnimation);
@@ -799,10 +820,10 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends ChatEditPillElement {
799
820
  this.setLabelDetail("");
800
821
  } else {
801
822
  this.setProgressFill(undefined);
802
- this.setLabelDetail(rwRatio === 0 || !rwRatio ? ( localize(7296, "Generating edits...")) : ( localize(7297, "({0}%)...", rwRatio)));
823
+ this.setLabelDetail(rwRatio === 0 || !rwRatio ? ( localize(7839, "Generating edits...")) : ( localize(7840, "({0}%)...", rwRatio)));
803
824
  }
804
825
  } else {
805
- this.setStatus(Codicon.check, ( localize(7298, "Edited")));
826
+ this.setStatus(Codicon.check, ( localize(7841, "Edited")));
806
827
  this.setProgressFill(undefined);
807
828
  this.setLabelDetail("");
808
829
  }
@@ -819,10 +840,10 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends ChatEditPillElement {
819
840
  added: changes.added,
820
841
  removed: changes.removed
821
842
  });
822
- const insertionsFragment = changes.added === 1 ? ( localize(7299, "1 insertion")) : ( localize(7300, "{0} insertions", changes.added));
823
- const deletionsFragment = changes.removed === 1 ? ( localize(7301, "1 deletion")) : ( localize(7302, "{0} deletions", changes.removed));
843
+ const insertionsFragment = changes.added === 1 ? ( localize(7842, "1 insertion")) : ( localize(7843, "{0} insertions", changes.added));
844
+ const deletionsFragment = changes.removed === 1 ? ( localize(7844, "1 deletion")) : ( localize(7845, "{0} deletions", changes.removed));
824
845
  this.setAriaLabel(( localize(
825
- 7303,
846
+ 7846,
826
847
  "Edited {0}, {1}, {2}",
827
848
  iconText,
828
849
  insertionsFragment,
@@ -835,7 +856,7 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends ChatEditPillElement {
835
856
  }));
836
857
  }
837
858
  };
838
- CollapsedCodeBlock = ( __decorate([( __param(3, ILabelService)), ( __param(4, IEditorService)), ( __param(5, IModelService)), ( __param(6, ILanguageService)), ( __param(7, IContextMenuService)), ( __param(8, IContextKeyService)), ( __param(9, IMenuService)), ( __param(10, IHoverService)), ( __param(11, IChatService)), ( __param(12, IConfigurationService))], CollapsedCodeBlock));
859
+ CollapsedCodeBlock = ( __decorate([( __param(3, ILabelService)), ( __param(4, IEditorService)), ( __param(5, IModelService)), ( __param(6, ILanguageService)), ( __param(7, IContextMenuService)), ( __param(8, IContextKeyService)), ( __param(9, IMenuService)), ( __param(10, IHoverService)), ( __param(11, IChatService)), ( __param(12, IConfigurationService)), ( __param(13, ITextModelService))], CollapsedCodeBlock));
839
860
  function fixCodeText(text, languageId) {
840
861
  if (languageId === "php") {
841
862
  if (!text.trim().startsWith("<?")) {
@@ -0,0 +1,35 @@
1
+ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IMarkdownRendererService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service";
3
+ import { IAgentHostCustomizationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.service";
4
+ import { IChatMcpAuthenticationRequired } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
5
+ import { ChatTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
6
+ import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
7
+ import { IChatContentPart } from "./chatContentParts.js";
8
+ export declare class ChatMcpAuthenticationContentPart extends Disposable implements IChatContentPart {
9
+ private readonly data;
10
+ private readonly markdownRendererService;
11
+ private readonly agentHostCustomizationService;
12
+ readonly domNode: HTMLElement;
13
+ private readonly rendered;
14
+ /**
15
+ * Whether this part was ever shown. Used to distinguish the initial empty
16
+ * state (the part is emitted with an empty `servers` observable that is
17
+ * populated immediately after) from the terminal state where every server
18
+ * has been authenticated — only the latter marks the part
19
+ * {@link IChatMcpAuthenticationRequired.isUsed used}.
20
+ */
21
+ private _hasBeenVisible;
22
+ /**
23
+ * The MCP server currently being authenticated, or `undefined` when idle.
24
+ * While set, the part shows an "Authenticating …" progress message for that
25
+ * server and stays visible regardless of the underlying auth-required state.
26
+ */
27
+ private readonly _authenticating;
28
+ constructor(data: IChatMcpAuthenticationRequired, markdownRendererService: IMarkdownRendererService, agentHostCustomizationService: IAgentHostCustomizationService);
29
+ private render;
30
+ private _renderMessage;
31
+ private authenticate;
32
+ private updateVisibility;
33
+ hasSameContent(other: IChatRendererContent, _followingContent: IChatRendererContent[], _element: ChatTreeItem): boolean;
34
+ addDisposable(disposable: IDisposable): void;
35
+ }
@@ -0,0 +1,140 @@
1
+
2
+ import { registerCss } from '@codingame/monaco-vscode-api/css';
3
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
4
+ import { $, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
6
+ import { escapeMarkdownSyntaxTokens, MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
7
+ import { Disposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
8
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
9
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
10
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
11
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-root/state';
13
+ import { McpServerStatus } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-session/state';
14
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-chat/state';
15
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-terminal/state';
16
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-changeset/state';
17
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-resource-watch/state';
18
+ import { IMarkdownRendererService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service';
19
+ import { IAgentHostCustomizationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.service';
20
+ import * as chatMcpServersInteractionContent from './media/chatMcpServersInteractionContent.css';
21
+ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
22
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
23
+
24
+ registerCss(chatMcpServersInteractionContent);
25
+ let ChatMcpAuthenticationContentPart = class ChatMcpAuthenticationContentPart extends Disposable {
26
+ constructor(data, markdownRendererService, agentHostCustomizationService) {
27
+ super();
28
+ this.data = data;
29
+ this.markdownRendererService = markdownRendererService;
30
+ this.agentHostCustomizationService = agentHostCustomizationService;
31
+ this.rendered = this._register(( new MutableDisposable()));
32
+ this._hasBeenVisible = false;
33
+ this._authenticating = observableValue(this, undefined);
34
+ this.domNode = $(".chat-mcp-servers-interaction");
35
+ this._register(autorun(reader => {
36
+ const servers = this.data.servers.read(reader);
37
+ const authenticating = this._authenticating.read(reader);
38
+ this.render(servers, authenticating);
39
+ this.updateVisibility(servers, authenticating);
40
+ }));
41
+ this._register(this.agentHostCustomizationService.onDidChangeCustomizations(
42
+ () => this.updateVisibility(this.data.servers.get(), this._authenticating.get())
43
+ ));
44
+ }
45
+ render(servers, authenticating) {
46
+ clearNode(this.domNode);
47
+ this.rendered.clear();
48
+ if (authenticating) {
49
+ this._renderMessage(ThemeIcon.modify(Codicon.loading, "spin"), ( localize(
50
+ 7847,
51
+ "Authenticating {0}...",
52
+ "`" + escapeMarkdownSyntaxTokens(authenticating.name) + "`"
53
+ )));
54
+ return;
55
+ }
56
+ if (!servers.length) {
57
+ return;
58
+ }
59
+ const links = ( servers.map(server => "`" + escapeMarkdownSyntaxTokens(server.name) + "`")).join(", ");
60
+ const content = servers.length === 1 ? ( localize(
61
+ 7848,
62
+ "The MCP server {0} requires authentication. [Authenticate](#authenticate)?",
63
+ links
64
+ )) : ( localize(
65
+ 7849,
66
+ "The MCP servers {0} require authentication. [Authenticate](#authenticate)?",
67
+ links
68
+ ));
69
+ this._renderMessage(Codicon.mcp, content, {
70
+ href: "#authenticate",
71
+ run: () => void this.authenticate()
72
+ });
73
+ }
74
+ _renderMessage(icon, content, action) {
75
+ const container = $(".chat-mcp-servers-interaction-hint");
76
+ const messageContainer = $(".chat-mcp-servers-message");
77
+ const iconElement = $(".chat-mcp-servers-icon");
78
+ iconElement.classList.add(...ThemeIcon.asClassNameArray(icon));
79
+ const rendered = this.rendered.value = this.markdownRendererService.render(( new MarkdownString(content, {
80
+ isTrusted: true
81
+ })), action ? {
82
+ actionHandler: href => {
83
+ if (href !== action.href) {
84
+ return Promise.resolve(false);
85
+ }
86
+ action.run();
87
+ return Promise.resolve(true);
88
+ }
89
+ } : undefined);
90
+ messageContainer.appendChild(iconElement);
91
+ messageContainer.appendChild(rendered.element);
92
+ container.appendChild(messageContainer);
93
+ this.domNode.appendChild(container);
94
+ if (action) {
95
+ const actionLink = rendered.element.querySelector(`a[data-href="${action.href}"]`);
96
+ if (actionLink) {
97
+ actionLink.setAttribute("role", "button");
98
+ actionLink.href = "";
99
+ }
100
+ }
101
+ }
102
+ async authenticate() {
103
+ const sessionResource = URI.revive(this.data.sessionResource);
104
+ try {
105
+ for (const server of this.data.servers.get()) {
106
+ this._authenticating.set(server, undefined);
107
+ await this.agentHostCustomizationService.authenticateMcpServer(sessionResource, server.id);
108
+ }
109
+ } finally {
110
+ this._authenticating.set(undefined, undefined);
111
+ }
112
+ }
113
+ updateVisibility(dataServers, authenticating) {
114
+ if (authenticating) {
115
+ this.domNode.style.display = "";
116
+ this._hasBeenVisible = true;
117
+ return;
118
+ }
119
+ const sessionResource = URI.revive(this.data.sessionResource);
120
+ const servers = this.agentHostCustomizationService.getMcpServers(sessionResource);
121
+ const visible = ( dataServers.some(server => ( servers.some(
122
+ current => current.id === server.id && current.status === McpServerStatus.AuthRequired
123
+ ))));
124
+ this.domNode.style.display = visible ? "" : "none";
125
+ if (visible) {
126
+ this._hasBeenVisible = true;
127
+ } else if (this._hasBeenVisible) {
128
+ this.data.isUsed = true;
129
+ }
130
+ }
131
+ hasSameContent(other, _followingContent, _element) {
132
+ return other.kind === "mcpAuthenticationRequired";
133
+ }
134
+ addDisposable(disposable) {
135
+ this._register(disposable);
136
+ }
137
+ };
138
+ ChatMcpAuthenticationContentPart = ( __decorate([( __param(1, IMarkdownRendererService)), ( __param(2, IAgentHostCustomizationService))], ChatMcpAuthenticationContentPart));
139
+
140
+ export { ChatMcpAuthenticationContentPart };