@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
@@ -92,25 +92,25 @@ let ChatMcpServersInteractionContentPart = class ChatMcpServersInteractionConten
92
92
  text: "`" + escapeMarkdownSyntaxTokens(s.label) + "`",
93
93
  id: McpCommandIds.ServerOptions,
94
94
  arguments: [s.id],
95
- tooltip: ( localize(7304, "Show options for {0}", s.label))
95
+ tooltip: ( localize(7850, "Show options for {0}", s.label))
96
96
  }, false))).join(", ");
97
97
  }
98
98
  updateDetailedProgress(state) {
99
99
  const skipText = createMarkdownCommandLink({
100
- text: ( localize(7305, "Skip?")),
100
+ text: ( localize(7851, "Skip?")),
101
101
  id: McpCommandIds.SkipCurrentAutostart,
102
- tooltip: ( localize(7306, "Skip starting this MCP server"))
102
+ tooltip: ( localize(7852, "Skip starting this MCP server"))
103
103
  });
104
104
  let content;
105
105
  if (state.starting.length === 0) {
106
106
  content = ( new MarkdownString(undefined, {
107
107
  isTrusted: true
108
- })).appendText(( localize(7307, "Activating MCP extensions...")) + " ").appendMarkdown(skipText);
108
+ })).appendText(( localize(7853, "Activating MCP extensions...")) + " ").appendMarkdown(skipText);
109
109
  } else {
110
110
  const serverLinks = this.createServerCommandLinks(state.starting);
111
111
  content = ( new MarkdownString(undefined, {
112
112
  isTrusted: true
113
- })).appendMarkdown(( localize(7308, "Starting MCP servers {0}...", serverLinks)) + " ").appendMarkdown(skipText);
113
+ })).appendMarkdown(( localize(7854, "Starting MCP servers {0}...", serverLinks)) + " ").appendMarkdown(skipText);
114
114
  }
115
115
  if (this.workingProgressPart) {
116
116
  this.workingProgressPart.updateMessage(content);
@@ -149,12 +149,12 @@ let ChatMcpServersInteractionContentPart = class ChatMcpServersInteractionConten
149
149
  const count = serversRequiringInteraction.length;
150
150
  const links = this.createServerCommandLinks(serversRequiringInteraction);
151
151
  const content = count === 1 ? ( localize(
152
- 7309,
152
+ 7855,
153
153
  "The MCP server {0} may have new tools and requires interaction to start. [Start it now?]({1})",
154
154
  links,
155
155
  "#start"
156
156
  )) : ( localize(
157
- 7310,
157
+ 7856,
158
158
  "The MCP servers {0} may have new tools and require interaction to start. [Start them now?]({1})",
159
159
  links,
160
160
  "#start"
@@ -196,7 +196,7 @@ let ChatMcpServersInteractionContentPart = class ChatMcpServersInteractionConten
196
196
  const serversToStart = state.serversRequiringInteraction;
197
197
  for (let i = 0; i < serversToStart.length; i++) {
198
198
  const serverInfo = serversToStart[i];
199
- startLink.textContent = ( localize(7311, "Starting {0}...", serverInfo.label));
199
+ startLink.textContent = ( localize(7857, "Starting {0}...", serverInfo.label));
200
200
  const server = this.mcpService.servers.get().find(s => s.definition.id === serverInfo.id);
201
201
  if (server) {
202
202
  await startServerAndWaitForLiveTools(server, {
@@ -0,0 +1,24 @@
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 { IChatMcpServersStartingSlow } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
4
+ import { ChatTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
5
+ import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
6
+ import { IChatContentPart } from "./chatContentParts.js";
7
+ /**
8
+ * Renders a lightweight "Starting MCP servers …" progress hint for agent-host
9
+ * sessions. The set of servers still starting is driven by the observable on
10
+ * {@link IChatMcpServersStartingSlow.servers}; when it empties (all servers
11
+ * started, content began arriving, or the turn ended) the part hides itself.
12
+ * There is no interactive affordance — this is a progress indicator only.
13
+ */
14
+ export declare class ChatMcpServersStartingContentPart extends Disposable implements IChatContentPart {
15
+ private readonly data;
16
+ private readonly markdownRendererService;
17
+ readonly domNode: HTMLElement;
18
+ private readonly rendered;
19
+ constructor(data: IChatMcpServersStartingSlow, markdownRendererService: IMarkdownRendererService);
20
+ private render;
21
+ private _renderMessage;
22
+ hasSameContent(other: IChatRendererContent, _followingContent: IChatRendererContent[], _element: ChatTreeItem): boolean;
23
+ addDisposable(disposable: IDisposable): void;
24
+ }
@@ -0,0 +1,58 @@
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 { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
11
+ import { IMarkdownRendererService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service';
12
+ import * as chatMcpServersInteractionContent from './media/chatMcpServersInteractionContent.css';
13
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
14
+
15
+ registerCss(chatMcpServersInteractionContent);
16
+ let ChatMcpServersStartingContentPart = class ChatMcpServersStartingContentPart extends Disposable {
17
+ constructor(data, markdownRendererService) {
18
+ super();
19
+ this.data = data;
20
+ this.markdownRendererService = markdownRendererService;
21
+ this.rendered = this._register(( new MutableDisposable()));
22
+ this.domNode = $(".chat-mcp-servers-interaction");
23
+ this._register(autorun(reader => {
24
+ this.render(this.data.servers.read(reader));
25
+ }));
26
+ }
27
+ render(servers) {
28
+ clearNode(this.domNode);
29
+ this.rendered.clear();
30
+ if (!servers.length) {
31
+ this.domNode.style.display = "none";
32
+ return;
33
+ }
34
+ this.domNode.style.display = "";
35
+ const links = ( servers.map(server => "`" + escapeMarkdownSyntaxTokens(server.name) + "`")).join(", ");
36
+ this._renderMessage(ThemeIcon.modify(Codicon.loading, "spin"), ( localize(7858, "Starting MCP servers {0}...", links)));
37
+ }
38
+ _renderMessage(icon, content) {
39
+ const container = $(".chat-mcp-servers-interaction-hint");
40
+ const messageContainer = $(".chat-mcp-servers-message");
41
+ const iconElement = $(".chat-mcp-servers-icon");
42
+ iconElement.classList.add(...ThemeIcon.asClassNameArray(icon));
43
+ const rendered = this.rendered.value = this.markdownRendererService.render(( new MarkdownString(content)));
44
+ messageContainer.appendChild(iconElement);
45
+ messageContainer.appendChild(rendered.element);
46
+ container.appendChild(messageContainer);
47
+ this.domNode.appendChild(container);
48
+ }
49
+ hasSameContent(other, _followingContent, _element) {
50
+ return other.kind === "mcpServersStartingSlow";
51
+ }
52
+ addDisposable(disposable) {
53
+ this._register(disposable);
54
+ }
55
+ };
56
+ ChatMcpServersStartingContentPart = ( __decorate([( __param(1, IMarkdownRendererService))], ChatMcpServersStartingContentPart));
57
+
58
+ export { ChatMcpServersStartingContentPart };
@@ -1,5 +1,6 @@
1
1
  import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
3
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
3
4
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
4
5
  import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
5
6
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
@@ -14,12 +15,13 @@ export declare class ChatMultiDiffContentPart extends Disposable implements ICha
14
15
  private readonly editorService;
15
16
  private readonly themeService;
16
17
  private readonly contextKeyService;
18
+ private readonly configurationService;
17
19
  readonly domNode: HTMLElement;
18
20
  private list;
19
21
  private isCollapsed;
20
22
  private readonly readOnly;
21
23
  private readonly diffData;
22
- constructor(content: IChatMultiDiffData | IChatMultiDiffDataSerialized, _element: ChatTreeItem, instantiationService: IInstantiationService, editorService: IEditorService, themeService: IThemeService, contextKeyService: IContextKeyService);
24
+ constructor(content: IChatMultiDiffData | IChatMultiDiffDataSerialized, _element: ChatTreeItem, instantiationService: IInstantiationService, editorService: IEditorService, themeService: IThemeService, contextKeyService: IContextKeyService, configurationService: IConfigurationService);
23
25
  private renderHeader;
24
26
  private renderViewAllFileChangesButton;
25
27
  private renderContributedButtons;
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { $ as $$1, addDisposableListener, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
+ import { $ as $$1, addDisposableListener, EventHelper, isMouseEvent, isKeyboardEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
4
  import { ButtonWithIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
5
5
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
6
6
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
@@ -13,6 +13,7 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
13
13
  import { MenuWorkbenchToolBar } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar';
14
14
  import { MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
15
15
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
16
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
16
17
  import { FileKind } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
17
18
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
18
19
  import { ServiceCollection } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/serviceCollection';
@@ -25,6 +26,8 @@ import { createFileIconThemableTreeContainerScope } from '@codingame/monaco-vsco
25
26
  import { MultiDiffEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput';
26
27
  import { MultiDiffEditorItem } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService';
27
28
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
29
+ import { ChatEditingSnapshotTextModelContentProvider } from '../../chatEditing/chatEditingTextModelContentProviders.js';
30
+ import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
28
31
  import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
29
32
  import { isObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils/utils';
30
33
  import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
@@ -40,7 +43,8 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
40
43
  instantiationService,
41
44
  editorService,
42
45
  themeService,
43
- contextKeyService
46
+ contextKeyService,
47
+ configurationService
44
48
  ) {
45
49
  super();
46
50
  this.content = content;
@@ -49,6 +53,7 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
49
53
  this.editorService = editorService;
50
54
  this.themeService = themeService;
51
55
  this.contextKeyService = contextKeyService;
56
+ this.configurationService = configurationService;
52
57
  this.isCollapsed = false;
53
58
  this.readOnly = content.readOnly ?? false;
54
59
  this.diffData = isObservable(this.content.multiDiffData) ? ( this.content.multiDiffData.map(d => d)) : constObservable(this.content.multiDiffData);
@@ -64,7 +69,7 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
64
69
  const viewListButton = ( new ButtonWithIcon(viewListButtonContainer, {}));
65
70
  this._register(autorun(reader => {
66
71
  const fileCount = this.diffData.read(reader).resources.length;
67
- viewListButton.label = fileCount === 1 ? ( localize(7312, "Changed 1 file")) : ( localize(7313, "Changed {0} files", fileCount));
72
+ viewListButton.label = fileCount === 1 ? ( localize(7859, "Changed 1 file")) : ( localize(7860, "Changed {0} files", fileCount));
68
73
  }));
69
74
  const setExpansionState = () => {
70
75
  viewListButton.icon = this.isCollapsed ? Codicon.chevronRight : Codicon.chevronDown;
@@ -86,7 +91,7 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
86
91
  renderViewAllFileChangesButton(container) {
87
92
  const button = container.appendChild($(".chat-view-changes-icon"));
88
93
  button.classList.add(...ThemeIcon.asClassNameArray(Codicon.diffMultiple));
89
- button.title = ( localize(7314, "Open Changes"));
94
+ button.title = ( localize(7861, "Open Changes"));
90
95
  return addDisposableListener(button, "click", e => {
91
96
  const source = ( URI.parse(`multi-diff-editor:${( ( new Date()).getMilliseconds().toString()) + ( Math.random().toString())}`));
92
97
  const {
@@ -143,7 +148,7 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
143
148
  alwaysConsumeMouseWheel: false,
144
149
  accessibilityProvider: {
145
150
  getAriaLabel: element => element.uri.path,
146
- getWidgetAriaLabel: () => ( localize(7315, "File Changes"))
151
+ getWidgetAriaLabel: () => ( localize(7862, "File Changes"))
147
152
  }
148
153
  })
149
154
  );
@@ -184,6 +189,21 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
184
189
  if (!e.element) {
185
190
  return;
186
191
  }
192
+ const altKey = (isMouseEvent(e.browserEvent) || isKeyboardEvent(e.browserEvent)) && e.browserEvent.altKey;
193
+ const openInDiffEditorByDefault = this.configurationService.getValue(ChatConfiguration.OpenChangedFileInDiffEditor);
194
+ const openInDiffEditor = altKey ? !openInDiffEditorByDefault : openInDiffEditorByDefault;
195
+ if (e.element.diff && !openInDiffEditor) {
196
+ const fileURI = ChatEditingSnapshotTextModelContentProvider.getOriginalFileURI(e.element.diff.modifiedURI);
197
+ if (fileURI) {
198
+ this.editorService.openEditor({
199
+ resource: fileURI,
200
+ options: {
201
+ preserveFocus: true
202
+ }
203
+ });
204
+ return;
205
+ }
206
+ }
187
207
  if (e.element.diff) {
188
208
  this.editorService.openEditor({
189
209
  original: {
@@ -197,8 +217,9 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
197
217
  }
198
218
  });
199
219
  } else {
220
+ const fileURI = ChatEditingSnapshotTextModelContentProvider.getOriginalFileURI(e.element.uri) ?? e.element.uri;
200
221
  this.editorService.openEditor({
201
- resource: e.element.uri,
222
+ resource: fileURI,
202
223
  options: {
203
224
  preserveFocus: true
204
225
  }
@@ -215,7 +236,7 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
215
236
  this._register(disposable);
216
237
  }
217
238
  };
218
- ChatMultiDiffContentPart = ( __decorate([( __param(2, IInstantiationService)), ( __param(3, IEditorService)), ( __param(4, IThemeService)), ( __param(5, IContextKeyService))], ChatMultiDiffContentPart));
239
+ ChatMultiDiffContentPart = ( __decorate([( __param(2, IInstantiationService)), ( __param(3, IEditorService)), ( __param(4, IThemeService)), ( __param(5, IContextKeyService)), ( __param(6, IConfigurationService))], ChatMultiDiffContentPart));
219
240
  class ChatMultiDiffListDelegate {
220
241
  getHeight() {
221
242
  return 22;
@@ -259,7 +280,7 @@ class ChatMultiDiffListRenderer {
259
280
  const removedElement = changesSummary.appendChild($(".deletions"));
260
281
  removedElement.textContent = `-${element.diff.removed}`;
261
282
  changesSummary.setAttribute("aria-label", ( localize(
262
- 7316,
283
+ 7863,
263
284
  "{0} lines added, {1} lines removed",
264
285
  element.diff.added,
265
286
  element.diff.removed
@@ -131,7 +131,7 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
131
131
  this.domNode = elements.container;
132
132
  this.domNode.id = generateUuid();
133
133
  this.domNode.setAttribute("role", "region");
134
- this.domNode.setAttribute("aria-label", ( localize(7317, "Plan review: {0}", review.title)));
134
+ this.domNode.setAttribute("aria-label", ( localize(7864, "Plan review: {0}", review.title)));
135
135
  this._titleActionsEl = elements.titleActions;
136
136
  this._inlineActionsEl = elements.inlineActions;
137
137
  this._footerButtonsEl = elements.footerButtons;
@@ -142,7 +142,7 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
142
142
  }));
143
143
  if (review.planUri) {
144
144
  const fileName = basename(URI.revive(review.planUri));
145
- const reviewButtonTooltip = review.canProvideFeedback ? ( localize(7318, "Review {0}", fileName)) : ( localize(7319, "Open {0}", fileName));
145
+ const reviewButtonTooltip = review.canProvideFeedback ? ( localize(7865, "Review {0}", fileName)) : ( localize(7866, "Open {0}", fileName));
146
146
  const reviewButton = this._register(( new Button(this._titleActionsEl, {
147
147
  ...defaultButtonStyles,
148
148
  secondary: true,
@@ -251,10 +251,10 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
251
251
  clearNode(section);
252
252
  const header = append(section, $(".chat-plan-review-feedback-header"));
253
253
  const label = append(header, $(".chat-plan-review-feedback-label"));
254
- label.textContent = ( localize(7320, "Feedback"));
254
+ label.textContent = ( localize(7867, "Feedback"));
255
255
  const headerActions = append(header, $(".chat-plan-review-feedback-header-actions"));
256
256
  if (this.review.planUri) {
257
- const clearAllLabel = ( localize(7321, "Clear All"));
257
+ const clearAllLabel = ( localize(7868, "Clear All"));
258
258
  const clearAllButton = this._register(( new Button(headerActions, {
259
259
  ...defaultButtonStyles,
260
260
  secondary: true,
@@ -268,7 +268,7 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
268
268
  this._clearAllButtonEl = clearAllButton.element;
269
269
  }
270
270
  if (this.review.planUri) {
271
- const closeButtonLabel = ( localize(7322, "Close"));
271
+ const closeButtonLabel = ( localize(7869, "Close"));
272
272
  const closeButton = this._register(( new Button(headerActions, {
273
273
  ...defaultButtonStyles,
274
274
  secondary: true,
@@ -296,7 +296,7 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
296
296
  this.renderCommentsList();
297
297
  const textarea = append(section, $("textarea.chat-plan-review-feedback-textarea"));
298
298
  textarea.rows = 1;
299
- textarea.placeholder = ( localize(7323, "Add an overall comment for the agent..."));
299
+ textarea.placeholder = ( localize(7870, "Add an overall comment for the agent..."));
300
300
  this._feedbackTextarea = textarea;
301
301
  const autoResize = () => {
302
302
  textarea.style.height = "auto";
@@ -349,18 +349,18 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
349
349
  }
350
350
  for (const item of items) {
351
351
  const row = append(this._commentsListEl, $(".chat-plan-review-comment-row"));
352
- const rowLabel = ( localize(7324, "Line {0}: {1}", item.line, item.text));
352
+ const rowLabel = ( localize(7871, "Line {0}: {1}", item.line, item.text));
353
353
  const revealButton = append(row, $("button.chat-plan-review-comment-reveal"));
354
354
  revealButton.type = "button";
355
355
  revealButton.setAttribute("aria-label", rowLabel);
356
356
  const lineEl = append(revealButton, $("span.chat-plan-review-comment-line"));
357
- lineEl.textContent = ( localize(7325, "Line {0}", item.line));
357
+ lineEl.textContent = ( localize(7872, "Line {0}", item.line));
358
358
  const textEl = append(revealButton, $("span.chat-plan-review-comment-text"));
359
359
  textEl.textContent = item.text;
360
360
  this._commentRowDisposables.add(addDisposableListener(revealButton, EventType.CLICK, () => {
361
361
  this.revealInlineComment(item.id, item.line, item.column);
362
362
  }));
363
- const removeLabel = ( localize(7326, "Remove comment on line {0}", item.line));
363
+ const removeLabel = ( localize(7873, "Remove comment on line {0}", item.line));
364
364
  const removeButton = append(row, $("button.chat-plan-review-comment-remove"));
365
365
  removeButton.type = "button";
366
366
  removeButton.setAttribute("aria-label", removeLabel);
@@ -431,12 +431,12 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
431
431
  }
432
432
  const result = await this._dialogService.confirm({
433
433
  type: Severity.Warning,
434
- message: ( localize(7327, "Clear {0} inline comment(s)?", items.length)),
434
+ message: ( localize(7874, "Clear {0} inline comment(s)?", items.length)),
435
435
  detail: ( localize(
436
- 7328,
436
+ 7875,
437
437
  "These comments will be removed from the plan file and not sent to the agent."
438
438
  )),
439
- primaryButton: ( localize(7329, "Clear All"))
439
+ primaryButton: ( localize(7876, "Clear All"))
440
440
  });
441
441
  if (!result.confirmed) {
442
442
  return;
@@ -507,7 +507,7 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
507
507
  ...defaultButtonStyles,
508
508
  secondary: true
509
509
  }));
510
- rejectButton.label = ( localize(7330, "Reject"));
510
+ rejectButton.label = ( localize(7877, "Reject"));
511
511
  this._buttonStore.add(rejectButton);
512
512
  this._buttonStore.add(rejectButton.onDidClick(() => this.submitRejection()));
513
513
  }
@@ -548,7 +548,7 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
548
548
  ...defaultButtonStyles,
549
549
  secondary: true
550
550
  }));
551
- rejectButton.label = ( localize(7330, "Reject"));
551
+ rejectButton.label = ( localize(7877, "Reject"));
552
552
  this._buttonStore.add(rejectButton);
553
553
  this._buttonStore.add(rejectButton.onDidClick(() => this.submitRejection()));
554
554
  }
@@ -561,7 +561,7 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
561
561
  return this.getInlineFeedbackItems().length > 0;
562
562
  }
563
563
  computeSubmitLabel(inlineCount) {
564
- return inlineCount > 0 ? ( localize(7331, "Submit Feedback ({0})", inlineCount)) : ( localize(7332, "Submit Feedback"));
564
+ return inlineCount > 0 ? ( localize(7878, "Submit Feedback ({0})", inlineCount)) : ( localize(7879, "Submit Feedback"));
565
565
  }
566
566
  updateSubmitButtonState() {
567
567
  if (!this._submitButton || !this._isFeedbackMode) {
@@ -599,7 +599,7 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
599
599
  this.domNode.classList.toggle("chat-plan-review-collapsed", this._isCollapsed);
600
600
  this._restoreButton.element.classList.toggle("chat-plan-review-hidden", this._isCollapsed);
601
601
  this._collapseButton.label = this._isCollapsed ? `$(${Codicon.chevronUp.id})` : `$(${Codicon.chevronDown.id})`;
602
- const collapseTooltip = this._isCollapsed ? ( localize(7333, "Expand")) : ( localize(7334, "Collapse"));
602
+ const collapseTooltip = this._isCollapsed ? ( localize(7880, "Expand")) : ( localize(7881, "Collapse"));
603
603
  this._collapseButton.element.setAttribute("aria-label", collapseTooltip);
604
604
  this._collapseButton.element.setAttribute("aria-expanded", String(!this._isCollapsed));
605
605
  this._collapseButton.setTitle(collapseTooltip);
@@ -611,18 +611,18 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
611
611
  if (isIconOnly) {
612
612
  label = `$(${Codicon.edit.id})`;
613
613
  const fileName = this.review.planUri ? basename(URI.revive(this.review.planUri)) : "";
614
- tooltip = this.review.canProvideFeedback ? ( localize(7318, "Review {0}", fileName)) : ( localize(7319, "Open {0}", fileName));
614
+ tooltip = this.review.canProvideFeedback ? ( localize(7865, "Review {0}", fileName)) : ( localize(7866, "Open {0}", fileName));
615
615
  } else if (this._isFeedbackMode) {
616
- label = ( localize(7335, "Cancel"));
617
- tooltip = ( localize(7336, "Exit feedback mode"));
616
+ label = ( localize(7882, "Cancel"));
617
+ tooltip = ( localize(7883, "Exit feedback mode"));
618
618
  } else {
619
619
  const fileName = this.review.planUri ? basename(URI.revive(this.review.planUri)) : "";
620
620
  if (this.review.canProvideFeedback) {
621
- label = ( localize(7337, "Edit or Provide Feedback"));
622
- tooltip = ( localize(7318, "Review {0}", fileName));
621
+ label = ( localize(7884, "Edit or Provide Feedback"));
622
+ tooltip = ( localize(7865, "Review {0}", fileName));
623
623
  } else {
624
- label = ( localize(7338, "Open Plan"));
625
- tooltip = ( localize(7319, "Open {0}", fileName));
624
+ label = ( localize(7885, "Open Plan"));
625
+ tooltip = ( localize(7866, "Open {0}", fileName));
626
626
  }
627
627
  }
628
628
  this._reviewButton.label = label;
@@ -634,7 +634,7 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
634
634
  updateExpandedPresentation() {
635
635
  this.domNode.classList.toggle("chat-plan-review-expanded", this._isExpanded && !this._isCollapsed);
636
636
  this._restoreButton.label = this._isExpanded ? `$(${Codicon.screenNormal.id})` : `$(${Codicon.screenFull.id})`;
637
- const tooltip = this._isExpanded ? ( localize(7339, "Restore Size")) : ( localize(7340, "Expand"));
637
+ const tooltip = this._isExpanded ? ( localize(7886, "Restore Size")) : ( localize(7887, "Expand"));
638
638
  this._restoreButton.element.setAttribute("aria-label", tooltip);
639
639
  this._restoreButton.setTitle(tooltip);
640
640
  this._messageScrollable.scanDomNode();
@@ -935,9 +935,9 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
935
935
  if (editorFeedbackItems.length > 0) {
936
936
  const planUri = this.review.planUri ? URI.revive(this.review.planUri) : undefined;
937
937
  const fileName = planUri ? basename(planUri) : "";
938
- const heading = fileName ? ( localize(7341, "Inline comments on `{0}`:", fileName)) : ( localize(7342, "Inline comments:"));
938
+ const heading = fileName ? ( localize(7888, "Inline comments on `{0}`:", fileName)) : ( localize(7889, "Inline comments:"));
939
939
  const bullets = ( editorFeedbackItems.map(item => {
940
- const location = item.column > 1 ? ( localize(7343, "Line {0}, Column {1}", item.line, item.column)) : ( localize(7344, "Line {0}", item.line));
940
+ const location = item.column > 1 ? ( localize(7890, "Line {0}, Column {1}", item.line, item.column)) : ( localize(7891, "Line {0}", item.line));
941
941
  return `- **${location}:** ${item.text}`;
942
942
  }));
943
943
  feedbackInlineMarkdown = [heading, ...bullets].join("\n");
@@ -961,19 +961,19 @@ let ChatPlanReviewPart = class ChatPlanReviewPart extends Disposable {
961
961
  async confirmAutopilot() {
962
962
  const result = await this._dialogService.prompt({
963
963
  type: Severity.Warning,
964
- message: ( localize(7345, "Enable Autopilot?")),
964
+ message: ( localize(7892, "Enable Autopilot?")),
965
965
  buttons: [{
966
- label: ( localize(7346, "Enable")),
966
+ label: ( localize(7893, "Enable")),
967
967
  run: () => true
968
968
  }, {
969
- label: ( localize(7347, "Cancel")),
969
+ label: ( localize(7894, "Cancel")),
970
970
  run: () => false
971
971
  }],
972
972
  custom: {
973
973
  icon: Codicon.rocket,
974
974
  markdownDetails: [{
975
975
  markdown: ( new MarkdownString(( localize(
976
- 7348,
976
+ 7895,
977
977
  "Autopilot will auto-approve all tool calls and continue working autonomously until the task is complete. This includes terminal commands, file edits, and external tool calls. The agent will make decisions on your behalf without asking for confirmation.\n\nYou can stop the agent at any time by clicking the stop button. This applies to the current session only."
978
978
  ))))
979
979
  }]
@@ -245,7 +245,7 @@ let ChatWorkingProgressContentPart = class ChatWorkingProgressContentPart extend
245
245
  }
246
246
  this._register(languageModelToolsService.onDidPrepareToolCallBecomeUnresponsive(e => {
247
247
  if (isEqual(context.element.sessionResource, e.sessionResource)) {
248
- this.updateWorkingContent(( new MarkdownString(( localize(7349, "Waiting for tool '{0}' to respond...", e.toolData.displayName)))));
248
+ this.updateWorkingContent(( new MarkdownString(( localize(7896, "Waiting for tool '{0}' to respond...", e.toolData.displayName)))));
249
249
  }
250
250
  }));
251
251
  }