@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
@@ -56,7 +56,7 @@ class TodoListRenderer {
56
56
  statusIcon.style.color = this.getStatusIconColor(todo.status);
57
57
  iconLabel.setLabel(todo.title);
58
58
  const statusText = this.getStatusText(todo.status);
59
- const ariaLabel = ( localize(7484, "{0}, {1}", todo.title, statusText));
59
+ const ariaLabel = ( localize(8026, "{0}, {1}", todo.title, statusText));
60
60
  todoElement.setAttribute("aria-label", ariaLabel);
61
61
  }
62
62
  disposeTemplate(templateData) {
@@ -65,12 +65,12 @@ class TodoListRenderer {
65
65
  getStatusText(status) {
66
66
  switch (status) {
67
67
  case "completed":
68
- return localize(7485, "completed");
68
+ return localize(8027, "completed");
69
69
  case "in-progress":
70
- return localize(7486, "in progress");
70
+ return localize(8028, "in progress");
71
71
  case "not-started":
72
72
  default:
73
- return localize(7487, "not started");
73
+ return localize(8029, "not started");
74
74
  }
75
75
  }
76
76
  getStatusIconClass(status) {
@@ -142,7 +142,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
142
142
  this.expandIcon.setAttribute("aria-hidden", "true");
143
143
  this.titleElement = $(".todo-list-title");
144
144
  this.titleElement.id = "todo-list-title";
145
- this.titleElement.textContent = ( localize(7488, "Todos"));
145
+ this.titleElement.textContent = ( localize(8030, "Todos"));
146
146
  this.clearButtonContainer = $(".todo-clear-button-container");
147
147
  this.createClearButton();
148
148
  titleSection.appendChild(this.expandIcon);
@@ -164,7 +164,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
164
164
  createClearButton() {
165
165
  this.clearButton = ( new Button(this.clearButtonContainer, {
166
166
  supportIcons: true,
167
- ariaLabel: ( localize(7489, "Clear all todos"))
167
+ ariaLabel: ( localize(8031, "Clear all todos"))
168
168
  }));
169
169
  this.clearButton.element.tabIndex = 0;
170
170
  this.clearButton.icon = Codicon.clearAll;
@@ -249,9 +249,9 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
249
249
  accessibilityProvider: {
250
250
  getAriaLabel: todo => {
251
251
  const statusText = this.getStatusText(todo.status);
252
- return localize(7484, "{0}, {1}", todo.title, statusText);
252
+ return localize(8026, "{0}, {1}", todo.title, statusText);
253
253
  },
254
- getWidgetAriaLabel: () => ( localize(7490, "Chat Todo List"))
254
+ getWidgetAriaLabel: () => ( localize(8032, "Chat Todo List"))
255
255
  }
256
256
  }
257
257
  ));
@@ -307,9 +307,9 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
307
307
  const shouldDisable = isRequestInProgress && hasInProgressTask;
308
308
  this.clearButton.enabled = !shouldDisable;
309
309
  if (shouldDisable) {
310
- this.clearButton.setTitle(( localize(7491, "Cannot clear todos while a task is in progress")));
310
+ this.clearButton.setTitle(( localize(8033, "Cannot clear todos while a task is in progress")));
311
311
  } else {
312
- this.clearButton.setTitle(( localize(7489, "Clear all todos")));
312
+ this.clearButton.setTitle(( localize(8031, "Clear all todos")));
313
313
  }
314
314
  }
315
315
  updateTitleElement(titleElement, todoList) {
@@ -321,12 +321,12 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
321
321
  const notStartedTodos = todoList.filter(todo => todo.status === "not-started");
322
322
  const firstNotStartedTodo = notStartedTodos.length > 0 ? notStartedTodos[0] : undefined;
323
323
  const currentTaskNumber = inProgressTodos.length > 0 ? completedCount + 1 : Math.max(1, completedCount);
324
- const expandButtonLabel = this._isExpanded ? ( localize(7492, "Collapse Todos")) : ( localize(7493, "Expand Todos"));
324
+ const expandButtonLabel = this._isExpanded ? ( localize(8034, "Collapse Todos")) : ( localize(8035, "Expand Todos"));
325
325
  this.expandoButton.element.setAttribute("aria-label", expandButtonLabel);
326
326
  this.expandoButton.element.setAttribute("aria-expanded", this._isExpanded ? "true" : "false");
327
327
  if (this._isExpanded) {
328
328
  const titleText = $("span");
329
- titleText.textContent = totalCount > 0 ? ( localize(7494, "Todos ({0}/{1})", currentTaskNumber, totalCount)) : ( localize(7488, "Todos"));
329
+ titleText.textContent = totalCount > 0 ? ( localize(8036, "Todos ({0}/{1})", currentTaskNumber, totalCount)) : ( localize(8030, "Todos"));
330
330
  titleElement.appendChild(titleText);
331
331
  } else {
332
332
  const todoToShow = firstInProgressTodo || firstNotStartedTodo;
@@ -343,7 +343,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
343
343
  icon.style.verticalAlign = "middle";
344
344
  titleElement.appendChild(icon);
345
345
  const todoText = $("span");
346
- todoText.textContent = ( localize(7495, "{0} ({1}/{2})", todoToShow.title, currentTaskNumber, totalCount));
346
+ todoText.textContent = ( localize(8037, "{0} ({1}/{2})", todoToShow.title, currentTaskNumber, totalCount));
347
347
  todoText.style.verticalAlign = "middle";
348
348
  todoText.style.overflow = "hidden";
349
349
  todoText.style.textOverflow = "ellipsis";
@@ -353,7 +353,7 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
353
353
  }
354
354
  else if (completedCount > 0 && completedCount === totalCount) {
355
355
  const doneText = $("span");
356
- doneText.textContent = ( localize(7494, "Todos ({0}/{1})", totalCount, totalCount));
356
+ doneText.textContent = ( localize(8036, "Todos ({0}/{1})", totalCount, totalCount));
357
357
  doneText.style.verticalAlign = "middle";
358
358
  titleElement.appendChild(doneText);
359
359
  }
@@ -362,12 +362,12 @@ let ChatTodoListWidget = class ChatTodoListWidget extends Disposable {
362
362
  getStatusText(status) {
363
363
  switch (status) {
364
364
  case "completed":
365
- return localize(7485, "completed");
365
+ return localize(8027, "completed");
366
366
  case "in-progress":
367
- return localize(7486, "in progress");
367
+ return localize(8028, "in progress");
368
368
  case "not-started":
369
369
  default:
370
- return localize(7487, "not started");
370
+ return localize(8029, "not started");
371
371
  }
372
372
  }
373
373
  };
@@ -49,6 +49,7 @@ export declare class ChatCollapsibleInputOutputContentPart extends Disposable {
49
49
  private _outputSubPart;
50
50
  readonly domNode: HTMLElement;
51
51
  private _contentInitialized;
52
+ private _lastLayoutWidth;
52
53
  get codeblocks(): IChatCodeBlockInfo[];
53
54
  set title(s: string | IMarkdownString);
54
55
  get title(): string | IMarkdownString;
@@ -57,6 +58,7 @@ export declare class ChatCollapsibleInputOutputContentPart extends Disposable {
57
58
  constructor(title: IMarkdownString | string, subtitle: string | IMarkdownString | undefined, progressTooltip: IMarkdownString | string | undefined, context: IChatContentPartRenderContext, input: IChatCollapsibleInputData, output: IChatCollapsibleOutputData | undefined, isError: boolean, initiallyExpanded: boolean, shimmer: boolean, contextKeyService: IContextKeyService, _instantiationService: IInstantiationService, hoverService: IHoverService, configurationService: IConfigurationService);
58
59
  private createMessageContents;
59
60
  private addCodeBlock;
61
+ private layoutToMessageWidth;
60
62
  hasSameContent(other: IChatRendererContent, followingContent: IChatRendererContent[], element: ChatTreeItem): boolean;
61
63
  layout(width: number): void;
62
64
  }
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { h, createElement, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
+ import { h, createElement, $, DisposableResizeObserver, getContentWidth } 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 { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
@@ -104,6 +104,12 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
104
104
  const messageContainer = h(".chat-confirmation-widget-message");
105
105
  messageContainer.root.appendChild(this.createMessageContents());
106
106
  elements.root.appendChild(messageContainer.root);
107
+ const resizeObserver = this._register(new DisposableResizeObserver(
108
+ "ChatCollapsibleInputOutputContentPart.message",
109
+ () => this.layoutToMessageWidth(messageContainer.root)
110
+ ));
111
+ this._register(resizeObserver.observe(messageContainer.root));
112
+ this.layoutToMessageWidth(messageContainer.root);
107
113
  }
108
114
  }));
109
115
  const toggle = e => {
@@ -138,13 +144,13 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
138
144
  input,
139
145
  output
140
146
  } = this;
141
- contents.inputTitle.textContent = ( localize(7496, "Input"));
147
+ contents.inputTitle.textContent = ( localize(8038, "Input"));
142
148
  this.addCodeBlock(input, contents.input);
143
149
  if (!output) {
144
150
  contents.output.remove();
145
151
  contents.outputTitle.remove();
146
152
  } else {
147
- contents.outputTitle.textContent = ( localize(7497, "Output"));
153
+ contents.outputTitle.textContent = ( localize(8039, "Output"));
148
154
  const outputSubPart = this._register(
149
155
  this._instantiationService.createInstance(ChatToolOutputContentSubPart, this.context, output.parts)
150
156
  );
@@ -169,6 +175,14 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
169
175
  container.appendChild(editorReference.object.element);
170
176
  this._editorReferences.push(editorReference);
171
177
  }
178
+ layoutToMessageWidth(messageContainer) {
179
+ const width = getContentWidth(messageContainer);
180
+ if (width <= 0 || width === this._lastLayoutWidth) {
181
+ return;
182
+ }
183
+ this._lastLayoutWidth = width;
184
+ this.layout(width);
185
+ }
172
186
  hasSameContent(other, followingContent, element) {
173
187
  return false;
174
188
  }
@@ -83,7 +83,7 @@ let TreePool = class TreePool extends Disposable {
83
83
  },
84
84
  accessibilityProvider: {
85
85
  getAriaLabel: element => element.label,
86
- getWidgetAriaLabel: () => ( localize(7498, "File Tree"))
86
+ getWidgetAriaLabel: () => ( localize(8040, "File Tree"))
87
87
  },
88
88
  alwaysConsumeMouseWheel: false
89
89
  }
@@ -0,0 +1,29 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
3
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
4
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
5
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
6
+ import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
7
+ import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
8
+ import { IChatRendererContent, IChatTurnPillsPart } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
9
+ import { ChatTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
10
+ import { IChatResponseFileChangesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.service";
11
+ import { IChatContentPart, IChatContentPartRenderContext } from "./chatContentParts.js";
12
+ /**
13
+ * Renders the turn's status pills (changes + preview) inside a completed chat
14
+ * response, mirroring the floating pills shown above the input while the turn
15
+ * streams. Fed by the per-request diffs from {@link IChatResponseFileChangesService}
16
+ * (agent host sessions), so it reflects the same authoritative per-turn changes as
17
+ * the "Changed N files" summary. The part self-hides when the turn produced no
18
+ * changes.
19
+ */
20
+ export declare class ChatTurnPillsContentPart extends Disposable implements IChatContentPart {
21
+ private readonly _content;
22
+ private readonly _editorService;
23
+ private readonly _instantiationService;
24
+ readonly domNode: HTMLElement;
25
+ private readonly _diffs;
26
+ constructor(_content: IChatTurnPillsPart, _context: IChatContentPartRenderContext, chatResponseFileChangesService: IChatResponseFileChangesService, commandService: ICommandService, openerService: IOpenerService, logService: ILogService, _editorService: IEditorService, configurationService: IConfigurationService, _instantiationService: IInstantiationService);
27
+ private _openChanges;
28
+ hasSameContent(other: IChatRendererContent, _followingContent: IChatRendererContent[], _element: ChatTreeItem): boolean;
29
+ }
@@ -0,0 +1,110 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
6
+ import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
7
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
8
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
10
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
11
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
12
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
13
+ import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
14
+ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
15
+ import { MultiDiffEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput';
16
+ import { MultiDiffEditorItem } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService';
17
+ import { IChatResponseFileChangesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.service';
18
+ import { diffStatsEqual, EMPTY_DIFF_STATS, previewFilesEqual, previewKind, observeTurnStatusPillsConfig, openChatPreviewFile, ChatTurnPillsWidget } from '../chatTurnPills.js';
19
+ import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
20
+ import { derivedOpts, derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
21
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
22
+
23
+ let ChatTurnPillsContentPart = class ChatTurnPillsContentPart extends Disposable {
24
+ constructor(
25
+ _content,
26
+ _context,
27
+ chatResponseFileChangesService,
28
+ commandService,
29
+ openerService,
30
+ logService,
31
+ _editorService,
32
+ configurationService,
33
+ _instantiationService
34
+ ) {
35
+ super();
36
+ this._content = _content;
37
+ this._editorService = _editorService;
38
+ this._instantiationService = _instantiationService;
39
+ this.domNode = $(".chat-turn-pills-part");
40
+ this._diffs = chatResponseFileChangesService.getChangesForRequest(_content.sessionResource, _content.requestId) ?? constObservable([]);
41
+ const stats = derivedOpts({
42
+ owner: this,
43
+ equalsFn: diffStatsEqual
44
+ }, reader => {
45
+ const diffs = this._diffs.read(reader);
46
+ if (diffs.length === 0) {
47
+ return EMPTY_DIFF_STATS;
48
+ }
49
+ let insertions = 0, deletions = 0;
50
+ for (const diff of diffs) {
51
+ insertions += diff.added;
52
+ deletions += diff.removed;
53
+ }
54
+ return {
55
+ files: diffs.length,
56
+ insertions,
57
+ deletions
58
+ };
59
+ });
60
+ const previewFiles = derivedOpts({
61
+ owner: this,
62
+ equalsFn: previewFilesEqual
63
+ }, reader => {
64
+ const created = [];
65
+ const edited = [];
66
+ for (const diff of this._diffs.read(reader)) {
67
+ const kind = previewKind(diff.modifiedURI);
68
+ if (!kind) {
69
+ continue;
70
+ }
71
+ const isCreated = isEqual(diff.originalURI, diff.modifiedURI);
72
+ (isCreated ? created : edited).push({
73
+ uri: diff.modifiedURI,
74
+ kind,
75
+ created: isCreated
76
+ });
77
+ }
78
+ return [...created, ...edited];
79
+ });
80
+ const pillsConfig = observeTurnStatusPillsConfig(configurationService);
81
+ const model = {
82
+ stats,
83
+ previewFiles,
84
+ changesEnabled: derived(reader => pillsConfig.read(reader).changes),
85
+ previewEnabled: derived(reader => pillsConfig.read(reader).preview),
86
+ openChanges: () => this._openChanges(),
87
+ openPreviewFile: file => openChatPreviewFile(file, commandService, openerService, logService)
88
+ };
89
+ const widget = this._register(this._instantiationService.createInstance(ChatTurnPillsWidget, model));
90
+ this.domNode.appendChild(widget.element);
91
+ this._register(autorun(reader => {
92
+ this.domNode.style.display = widget.isVisible.read(reader) ? "" : "none";
93
+ }));
94
+ }
95
+ _openChanges() {
96
+ const diffs = this._diffs.get();
97
+ if (diffs.length === 0) {
98
+ return;
99
+ }
100
+ const source = ( URI.parse(`multi-diff-editor:${( Date.now().toString())}-${( Math.random().toString(36)).slice(2)}`));
101
+ const input = this._instantiationService.createInstance(MultiDiffEditorInput, source, ( localize(8041, "Turn File Changes")), ( diffs.map(diff => ( new MultiDiffEditorItem(diff.originalURI, diff.modifiedURI, undefined)))), false);
102
+ this._editorService.openEditor(input);
103
+ }
104
+ hasSameContent(other, _followingContent, _element) {
105
+ return other.kind === "turnPills" && other.requestId === this._content.requestId && isEqual(other.sessionResource, this._content.sessionResource);
106
+ }
107
+ };
108
+ ChatTurnPillsContentPart = ( __decorate([( __param(2, IChatResponseFileChangesService)), ( __param(3, ICommandService)), ( __param(4, IOpenerService)), ( __param(5, ILogService)), ( __param(6, IEditorService)), ( __param(7, IConfigurationService)), ( __param(8, IInstantiationService))], ChatTurnPillsContentPart));
109
+
110
+ export { ChatTurnPillsContentPart };
@@ -45,15 +45,15 @@ let ChatWorkspaceEditContentPart = class ChatWorkspaceEditContentPart extends Di
45
45
  for (const edit of workspaceEdit.edits) {
46
46
  if (edit.oldResource && !edit.newResource) {
47
47
  renderEntry(( localize(
48
- 7499,
48
+ 8042,
49
49
  "Deleted `{0}`",
50
50
  this.labelService.getUriBasenameLabel(edit.oldResource)
51
51
  )), Codicon.trash);
52
52
  } else if (!edit.oldResource && edit.newResource) {
53
- renderEntry(( localize(7500, "Created []({0})", (edit.newResource.toString()))), Codicon.newFile);
53
+ renderEntry(( localize(8043, "Created []({0})", (edit.newResource.toString()))), Codicon.newFile);
54
54
  } else if (edit.oldResource && edit.newResource) {
55
55
  renderEntry(( localize(
56
- 7501,
56
+ 8044,
57
57
  "Renamed {0} to []({1})",
58
58
  this.labelService.getUriBasenameLabel(edit.oldResource),
59
59
  (edit.newResource.toString())
@@ -135,7 +135,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
135
135
  multipleDefinitions: "goto",
136
136
  multipleImplementations: "goto"
137
137
  },
138
- ariaLabel: ( localize(7502, "Code block")),
138
+ ariaLabel: ( localize(8045, "Code block")),
139
139
  overflowWidgetsDomNode,
140
140
  tabFocusMode: true,
141
141
  ...this.getEditorOptionsFromConfig()
@@ -387,11 +387,11 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
387
387
  });
388
388
  if (!this.editor.getOption(EditorOption.ariaLabel)) {
389
389
  this.editor.updateOptions({
390
- ariaLabel: ( localize(7503, "Code block {0}", data.codeBlockIndex + 1))
390
+ ariaLabel: ( localize(8046, "Code block {0}", data.codeBlockIndex + 1))
391
391
  });
392
392
  }
393
393
  this.layout(width);
394
- const toolbarAriaLabel = ( localize(7504, "Code block {0}", data.codeBlockIndex + 1));
394
+ const toolbarAriaLabel = ( localize(8047, "Code block {0}", data.codeBlockIndex + 1));
395
395
  if (this.toolbar) {
396
396
  this.toolbar.setAriaLabel(toolbarAriaLabel);
397
397
  } else {
@@ -454,7 +454,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
454
454
  if (!this.currentCodeBlockData || !this.currentCodeBlockData.vulns) {
455
455
  return "";
456
456
  }
457
- const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ? ( localize(7505, "{0} vulnerabilities", this.currentCodeBlockData.vulns.length)) : ( localize(7506, "{0} vulnerability", 1));
457
+ const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ? ( localize(8048, "{0} vulnerabilities", this.currentCodeBlockData.vulns.length)) : ( localize(8049, "{0} vulnerability", 1));
458
458
  const icon = element => element.vulnerabilitiesListExpanded ? Codicon.chevronDown : Codicon.chevronRight;
459
459
  return `${referencesLabel} $(${icon(this.currentCodeBlockData.element).id})`;
460
460
  }
@@ -589,7 +589,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
589
589
  multipleDefinitions: "goto",
590
590
  multipleImplementations: "goto"
591
591
  },
592
- ariaLabel: ( localize(7502, "Code block")),
592
+ ariaLabel: ( localize(8045, "Code block")),
593
593
  overflowWidgetsDomNode,
594
594
  ...this.getEditorOptionsFromConfig()
595
595
  });
@@ -668,8 +668,8 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
668
668
  stickyScroll: {
669
669
  enabled: false
670
670
  },
671
- originalAriaLabel: ( localize(7507, "Original")),
672
- modifiedAriaLabel: ( localize(7508, "Modified")),
671
+ originalAriaLabel: ( localize(8050, "Original")),
672
+ modifiedAriaLabel: ( localize(8051, "Modified")),
673
673
  diffAlgorithm: "advanced",
674
674
  readOnly: false,
675
675
  isInEmbeddedEditor: true,
@@ -710,7 +710,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
710
710
  const toolbarElt = this.toolbar.getElement();
711
711
  toolbarElt.style.display = "block";
712
712
  if (this.accessibilityService.isScreenReaderOptimized()) {
713
- toolbarElt.ariaLabel = ( localize(7509, "Code block toolbar"));
713
+ toolbarElt.ariaLabel = ( localize(8052, "Code block toolbar"));
714
714
  }
715
715
  }
716
716
  getEditorOptionsFromConfig() {
@@ -751,7 +751,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
751
751
  await this.updateEditor(data, token);
752
752
  this.layout(width);
753
753
  this.diffEditor.updateOptions({
754
- ariaLabel: ( localize(7510, "Code Edits")),
754
+ ariaLabel: ( localize(8053, "Code Edits")),
755
755
  readOnly: !!data.isReadOnly
756
756
  });
757
757
  this.resourceLabel.element.setFile(data.edit.uri, {
@@ -786,12 +786,12 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
786
786
  });
787
787
  let template;
788
788
  if (data.edit.state.applied === 1) {
789
- template = ( localize(7511, "Applied 1 change in [[``{0}``]]", uriLabel));
789
+ template = ( localize(8054, "Applied 1 change in [[``{0}``]]", uriLabel));
790
790
  } else if (data.edit.state.applied < 0) {
791
- template = ( localize(7512, "Edits in [[``{0}``]] have been rejected", uriLabel));
791
+ template = ( localize(8055, "Edits in [[``{0}``]] have been rejected", uriLabel));
792
792
  } else {
793
793
  template = ( localize(
794
- 7513,
794
+ 8056,
795
795
  "Applied {0} changes in [[``{1}``]]",
796
796
  data.edit.state.applied,
797
797
  uriLabel
@@ -921,8 +921,8 @@ let DefaultChatTextEditor = class DefaultChatTextEditor {
921
921
  async _checkSha1(model, item) {
922
922
  if (item.state?.sha1 && this._sha1.computeSHA1(model) && this._sha1.computeSHA1(model) !== item.state.sha1) {
923
923
  const result = await this.dialogService.confirm({
924
- message: ( localize(7514, "The original file has been modified.")),
925
- detail: ( localize(7515, "Do you want to apply the changes anyway?"))
924
+ message: ( localize(8057, "The original file has been modified.")),
925
+ detail: ( localize(8058, "Do you want to apply the changes anyway?"))
926
926
  });
927
927
  if (!result.confirmed) {
928
928
  return false;
@@ -0,0 +1,133 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ .chat-agent-feedback-review-list {
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: var(--vscode-spacing-size40);
10
+ }
11
+
12
+ .chat-agent-feedback-review-empty {
13
+ color: var(--vscode-descriptionForeground);
14
+ padding: var(--vscode-spacing-size40) 0;
15
+ }
16
+
17
+ .chat-agent-feedback-review-row {
18
+ display: flex;
19
+ align-items: flex-start;
20
+ gap: var(--vscode-spacing-size80);
21
+ padding: var(--vscode-spacing-size60);
22
+ border: var(--vscode-strokeThickness) solid var(--vscode-widget-border);
23
+ border-radius: var(--vscode-cornerRadius-small);
24
+ }
25
+
26
+ .chat-agent-feedback-review-row .monaco-checkbox {
27
+ margin-top: var(--vscode-spacing-size20);
28
+ flex: 0 0 auto;
29
+ }
30
+
31
+ .chat-agent-feedback-review-main {
32
+ display: flex;
33
+ flex-direction: column;
34
+ gap: var(--vscode-spacing-size20);
35
+ min-width: 0;
36
+ flex: 1 1 auto;
37
+ }
38
+
39
+ .chat-agent-feedback-review-header {
40
+ display: flex;
41
+ align-items: center;
42
+ gap: var(--vscode-spacing-size60);
43
+ min-width: 0;
44
+ }
45
+
46
+ .chat-agent-feedback-review-kind {
47
+ flex: 0 0 auto;
48
+ padding: 0 var(--vscode-spacing-size40);
49
+ border-radius: var(--vscode-cornerRadius-xSmall);
50
+ background: color-mix(in srgb, var(--vscode-charts-purple) 22%, var(--vscode-editorWidget-background));
51
+ color: var(--vscode-charts-purple);
52
+ font-size: var(--vscode-bodyFontSize-xSmall);
53
+ text-transform: uppercase;
54
+ }
55
+
56
+ .chat-agent-feedback-review-file {
57
+ flex: 1 1 auto;
58
+ min-width: 0;
59
+ overflow: hidden;
60
+ font-size: var(--vscode-bodyFontSize-small);
61
+ }
62
+
63
+ .chat-agent-feedback-review-text-container {
64
+ position: relative;
65
+ }
66
+
67
+ .chat-agent-feedback-review-text {
68
+ white-space: pre-wrap;
69
+ word-break: break-word;
70
+ }
71
+
72
+ .chat-agent-feedback-review-text-container.collapsed .chat-agent-feedback-review-text {
73
+ display: -webkit-box;
74
+ -webkit-line-clamp: 2;
75
+ line-clamp: 2;
76
+ -webkit-box-orient: vertical;
77
+ overflow: hidden;
78
+ }
79
+
80
+ /* Fade affordance shown only when the comment is collapsed and overflowing, making it clear there is more text below the two visible lines. */
81
+ .chat-agent-feedback-review-text-container.collapsed.overflowing::after {
82
+ content: '';
83
+ position: absolute;
84
+ left: 0;
85
+ right: 0;
86
+ bottom: 0;
87
+ height: 1.4em;
88
+ pointer-events: none;
89
+ background: linear-gradient(to bottom, transparent, var(--vscode-chat-requestBackground));
90
+ }
91
+
92
+ .chat-agent-feedback-review-expand-toggle {
93
+ display: none;
94
+ position: absolute;
95
+ bottom: 0;
96
+ right: 0;
97
+ align-items: center;
98
+ justify-content: center;
99
+ width: 18px;
100
+ height: 18px;
101
+ padding: 0;
102
+ border: none;
103
+ border-radius: var(--vscode-cornerRadius-xSmall);
104
+ background: transparent;
105
+ color: var(--vscode-icon-foreground);
106
+ cursor: pointer;
107
+ z-index: 1;
108
+ }
109
+
110
+ .chat-agent-feedback-review-text-container.overflowing .chat-agent-feedback-review-expand-toggle {
111
+ display: flex;
112
+ }
113
+
114
+ .chat-agent-feedback-review-expand-toggle:hover {
115
+ background: var(--vscode-toolbar-hoverBackground);
116
+ }
117
+
118
+ .chat-agent-feedback-review-expand-toggle:focus-visible {
119
+ outline: 1px solid var(--vscode-focusBorder);
120
+ outline-offset: -1px;
121
+ }
122
+
123
+ .chat-agent-feedback-review-actions {
124
+ flex: 0 0 auto;
125
+ }
126
+
127
+ .chat-agent-feedback-review-actions .monaco-action-bar .action-label {
128
+ color: var(--vscode-icon-foreground);
129
+ }
130
+
131
+ .chat-confirmation-widget2 .chat-confirmation-widget-message:has(.chat-agent-feedback-review-list) {
132
+ padding: var(--vscode-spacing-size60) var(--vscode-spacing-size120) var(--vscode-spacing-size60) var(--vscode-spacing-size60);
133
+ }
@@ -0,0 +1,30 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ .chat-auto-mode-resolution-content {
7
+ border: none;
8
+ border-radius: 0;
9
+ padding-top: 0;
10
+ }
11
+
12
+ .chat-auto-mode-resolution-body {
13
+ border-left: var(--vscode-strokeThickness) solid var(--vscode-chat-requestBorder);
14
+ margin-left: 4px;
15
+ padding-left: 12px;
16
+ padding-top: 2px;
17
+ padding-bottom: 2px;
18
+ }
19
+
20
+ .chat-auto-mode-resolution-body p {
21
+ margin: 0;
22
+ }
23
+
24
+ .chat-auto-mode-resolution-explanation {
25
+ color: var(--vscode-descriptionForeground);
26
+ }
27
+
28
+ .chat-auto-mode-resolution-detail {
29
+ margin-top: 4px;
30
+ }
@@ -7,6 +7,10 @@
7
7
  margin-bottom: 16px;
8
8
  }
9
9
 
10
+ .interactive-item-container.editing-session.interactive-response > .value > .chat-codeblock-pill-container {
11
+ margin-bottom: 14px;
12
+ }
13
+
10
14
  .chat-codeblock-pill-container {
11
15
  display: flex;
12
16
  align-items: center;