@codingame/monaco-vscode-katex-common 34.1.2 → 35.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/base/browser/animationSync.d.ts +36 -0
  3. package/vscode/src/vs/base/browser/animationSync.js +23 -0
  4. package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.js +23 -2
  5. package/vscode/src/vs/platform/actions/browser/buttonbar.js +3 -2
  6. package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.d.ts +5 -5
  7. package/vscode/src/vs/platform/agentHost/common/fileEditDiff.d.ts +32 -0
  8. package/vscode/src/vs/platform/agentHost/common/fileEditDiff.js +33 -0
  9. package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAnnotations.d.ts +90 -0
  10. package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAttachments.d.ts +30 -0
  11. package/vscode/src/vs/platform/agentHost/common/meta/agentToolCallMeta.d.ts +65 -0
  12. package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.d.ts +16 -5
  13. package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.js +3 -2
  14. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-resource-watch/reducer.d.ts +21 -0
  15. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +8 -0
  16. package/vscode/src/vs/platform/agentHost/common/state/sessionReducers.d.ts +9 -0
  17. package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +2 -2
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +29 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +105 -28
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +15 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +74 -44
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +2 -2
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +98 -24
  28. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +8 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +31 -4
  30. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +45 -4
  31. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +163 -37
  32. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.d.ts +47 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.js +172 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +3 -1
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +7 -4
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionReferenceAttachment.d.ts +12 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.d.ts +116 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.js +348 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.d.ts +211 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.js +64 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +18 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +13 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +1 -1
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +30 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +4 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +29 -4
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +24 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +119 -41
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +27 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.d.ts +63 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.js +97 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +5 -6
  56. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +105 -88
  57. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +13 -13
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +1 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +46 -48
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +28 -0
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +98 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +3 -3
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +9 -7
  64. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatTurnPills.css +162 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +9 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +95 -24
  67. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +22 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +151 -20
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +20 -2
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +5 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +61 -17
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.d.ts +20 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.js +55 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +6 -2
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +81 -30
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +2 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.d.ts +11 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.js +13 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +9 -33
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.d.ts +6 -2
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.js +21 -11
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +6 -2
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +40 -19
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.d.ts +35 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.js +140 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.d.ts +24 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.js +58 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +3 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +29 -8
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +30 -30
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +1 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +44 -44
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -2
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +12 -66
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +39 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +167 -43
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +1 -15
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +9 -86
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.d.ts +12 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.js +23 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +9 -1
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +141 -72
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +2 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +17 -3
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.d.ts +29 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.js +110 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAgentFeedbackReviewConfirmation.css +133 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAutoModeResolution.css +30 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +4 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +18 -8
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +23 -7
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +33 -18
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +23 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +44 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +2 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +9 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +21 -4
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAgentFeedbackReviewConfirmationSubPart.d.ts +48 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAgentFeedbackReviewConfirmationSubPart.js +279 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +43 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +53 -15
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +7 -9
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.d.ts +4 -1
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +24 -10
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/{chatMissingSandboxDepsConfirmationSubPart.d.ts → chatSandboxPrerequisiteConfirmationSubPart.d.ts} +3 -2
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/{chatMissingSandboxDepsConfirmationSubPart.js → chatSandboxPrerequisiteConfirmationSubPart.js} +14 -10
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +0 -1
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +30 -59
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +2 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +41 -29
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +8 -8
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +2 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +12 -9
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +1 -1
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +43 -35
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +2 -1
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +11 -8
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.d.ts +18 -0
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.js +51 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +4 -4
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +18 -3
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +266 -98
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +1 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +8 -3
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.d.ts +32 -0
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.js +135 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.d.ts +85 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.js +275 -0
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +18 -1
  176. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +84 -37
  177. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  178. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.js +4 -4
  179. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +14 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +6 -1
  181. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +52 -4
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +187 -13
  183. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +435 -139
  184. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.d.ts +6 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.js +21 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.d.ts +50 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.js +49 -0
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.d.ts +79 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.js +127 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +84 -8
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +658 -430
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +72 -8
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +82 -7
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +2 -2
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.d.ts +3 -3
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +6 -3
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +2 -1
  198. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +23 -9
  199. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatGoalBannerWidget.css +2 -2
  200. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +28 -12
  201. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +15 -14
  203. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +60 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +18 -7
  205. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +49 -1
  206. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +141 -81
  207. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +7 -15
  208. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +30 -47
  209. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  210. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerInputActionItem.d.ts +20 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerInputActionItem.js +18 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +469 -148
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +11 -2
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +79 -28
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +71 -2
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +107 -45
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +20 -0
  218. package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.d.ts +110 -0
  219. package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.js +37 -0
  220. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.d.ts +4 -1
  221. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +13 -11
  222. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +8 -1
  223. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +57 -21
  224. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +18 -18
  225. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +4 -4
  226. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  227. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +30 -30
  229. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.d.ts +39 -8
  231. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.js +168 -72
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  234. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  235. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  236. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  238. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  239. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  240. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  241. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  242. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.d.ts +0 -30
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.js +0 -147
@@ -97,12 +97,12 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
97
97
  contextNode.tabIndex = 0;
98
98
  contextNode.classList.toggle("disabled", !context.enabled);
99
99
  const file = context.uri;
100
- const attachmentTypeName = file?.scheme === Schemas.vscodeNotebookCell ? ( localize(5865, "cell")) : ( localize(5866, "file"));
101
- const contextLabel = context.name ?? (file ? basename(file) : ( localize(5867, "context")));
100
+ const attachmentTypeName = file?.scheme === Schemas.vscodeNotebookCell ? ( localize(6231, "cell")) : ( localize(6232, "file"));
101
+ const contextLabel = context.name ?? (file ? basename(file) : ( localize(6233, "context")));
102
102
  const isSuggestedEnabled = this.configService.getValue("chat.implicitContext.suggestedContext");
103
103
  if (isSuggestedEnabled) {
104
104
  if (!isSelection) {
105
- const buttonMsg = context.enabled ? ( localize(5868, "Disable {0} context {1}", attachmentTypeName, contextLabel)) : ( localize(5869, "Add {0} to context", contextLabel));
105
+ const buttonMsg = context.enabled ? ( localize(6234, "Disable {0} context {1}", attachmentTypeName, contextLabel)) : ( localize(6235, "Add {0} to context", contextLabel));
106
106
  const toggleButton = this.renderDisposables.add(( new Button(contextNode, {
107
107
  supportIcons: true,
108
108
  title: buttonMsg
@@ -117,7 +117,7 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
117
117
  context.enabled = false;
118
118
  }));
119
119
  } else {
120
- const pinButtonMsg = ( localize(5870, "Pin selection"));
120
+ const pinButtonMsg = ( localize(6236, "Pin selection"));
121
121
  const pinButton = this.renderDisposables.add(( new Button(contextNode, {
122
122
  supportIcons: true,
123
123
  title: pinButtonMsg
@@ -150,7 +150,7 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
150
150
  })
151
151
  );
152
152
  } else {
153
- const buttonMsg = context.enabled ? ( localize(5871, "Disable current {0} context", attachmentTypeName)) : ( localize(5872, "Enable current {0} context", attachmentTypeName));
153
+ const buttonMsg = context.enabled ? ( localize(6237, "Disable current {0} context", attachmentTypeName)) : ( localize(6238, "Enable current {0} context", attachmentTypeName));
154
154
  const toggleButton = this.renderDisposables.add(( new Button(contextNode, {
155
155
  supportIcons: true,
156
156
  title: buttonMsg
@@ -174,9 +174,9 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
174
174
  context.icon,
175
175
  context.value.resourceUri,
176
176
  markdownTooltip,
177
- ( localize(5873, "Current file context"))
177
+ ( localize(6239, "Current file context"))
178
178
  );
179
- contextNode.ariaLabel = ( localize(5874, "Suggested context, {0}", context.name));
179
+ contextNode.ariaLabel = ( localize(6240, "Suggested context, {0}", context.name));
180
180
  } else {
181
181
  title = this.renderResource(context.value, context.isSelection, context.enabled, label, contextNode);
182
182
  }
@@ -236,23 +236,23 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
236
236
  if (file.scheme === Schemas.vscodeBrowser) {
237
237
  return this.renderBrowserResource(file, label, contextNode);
238
238
  }
239
- const attachmentTypeName = file.scheme === Schemas.vscodeNotebookCell ? ( localize(5865, "cell")) : ( localize(5866, "file"));
239
+ const attachmentTypeName = file.scheme === Schemas.vscodeNotebookCell ? ( localize(6231, "cell")) : ( localize(6232, "file"));
240
240
  const fileBasename = basename(file);
241
241
  const fileDirname = dirname(file);
242
242
  const friendlyName = `${fileBasename} ${fileDirname}`;
243
243
  const ariaLabel = range ? ( localize(
244
- 5875,
244
+ 6241,
245
245
  "Suggested context, {0}, {1}, line {2} to line {3}",
246
246
  attachmentTypeName,
247
247
  friendlyName,
248
248
  range.startLineNumber,
249
249
  range.endLineNumber
250
- )) : ( localize(5876, "Suggested context, {0}, {1}", attachmentTypeName, friendlyName));
250
+ )) : ( localize(6242, "Suggested context, {0}, {1}", attachmentTypeName, friendlyName));
251
251
  const uriLabel = this.labelService.getUriLabel(file, {
252
252
  relative: true
253
253
  });
254
- const currentFile = ( localize(5877, "Current {0} context", attachmentTypeName));
255
- const inactive = ( localize(5878, "Enable current {0} context", attachmentTypeName));
254
+ const currentFile = ( localize(6243, "Current {0} context", attachmentTypeName));
255
+ const inactive = ( localize(6244, "Enable current {0} context", attachmentTypeName));
256
256
  const currentFileHint = enabled || isSelection ? currentFile : inactive;
257
257
  const title = `${currentFileHint}\n${uriLabel}`;
258
258
  label.setFile(file, {
@@ -274,7 +274,7 @@ let ImplicitContextAttachmentWidget = class ImplicitContextAttachmentWidget exte
274
274
  label.setLabel(input.getName(), undefined, {
275
275
  iconPath: Codicon.globe
276
276
  });
277
- contextNode.ariaLabel = ( localize(5879, "Suggested browser context, {0}", input.getName()));
277
+ contextNode.ariaLabel = ( localize(6245, "Suggested browser context, {0}", input.getName()));
278
278
  };
279
279
  update();
280
280
  this.renderDisposables.add(input.onDidChangeLabel(() => update()));
@@ -36,6 +36,7 @@ export declare class ChatEditingShowChangesAction extends EditingSessionAction {
36
36
  constructor();
37
37
  runEditingSessionAction(accessor: ServicesAccessor, editingSession: IChatEditingSession, chatWidget: IChatWidget, ...args: unknown[]): Promise<void>;
38
38
  }
39
+ export declare const RestoreCheckpointActionId = "workbench.action.chat.restoreCheckpoint";
39
40
  export interface ChatEditingActionContext {
40
41
  readonly sessionResource: URI;
41
42
  readonly requestId: string;
@@ -82,7 +82,7 @@ registerAction2(class OpenFileInDiffAction extends WorkingSetAction {
82
82
  constructor() {
83
83
  super({
84
84
  id: "chatEditing.openFileInDiff",
85
- title: ( localize2(6442, "Open Changes in Diff Editor")),
85
+ title: ( localize2(6933, "Open Changes in Diff Editor")),
86
86
  icon: Codicon.diffSingle,
87
87
  menu: [{
88
88
  id: MenuId.ChatEditingWidgetModifiedFilesToolbar,
@@ -95,12 +95,9 @@ registerAction2(class OpenFileInDiffAction extends WorkingSetAction {
95
95
  async runWorkingSetAction(accessor, currentEditingSession, _chatWidget, ...uris) {
96
96
  const editorService = accessor.get(IEditorService);
97
97
  for (const uri of uris) {
98
- let pane = editorService.activeEditorPane;
99
- if (!pane) {
100
- pane = await editorService.openEditor({
101
- resource: uri
102
- });
103
- }
98
+ const pane = await editorService.openEditor({
99
+ resource: uri
100
+ });
104
101
  if (!pane) {
105
102
  return;
106
103
  }
@@ -113,7 +110,7 @@ registerAction2(class AcceptAction extends WorkingSetAction {
113
110
  constructor() {
114
111
  super({
115
112
  id: "chatEditing.acceptFile",
116
- title: ( localize2(6443, "Keep")),
113
+ title: ( localize2(6934, "Keep")),
117
114
  icon: Codicon.check,
118
115
  menu: [{
119
116
  when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)), ContextKeyExpr.notIn(
@@ -139,7 +136,7 @@ registerAction2(class DiscardAction extends WorkingSetAction {
139
136
  constructor() {
140
137
  super({
141
138
  id: "chatEditing.discardFile",
142
- title: ( localize2(6444, "Undo")),
139
+ title: ( localize2(6935, "Undo")),
143
140
  icon: Codicon.discard,
144
141
  menu: [{
145
142
  when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)), ContextKeyExpr.notIn(
@@ -165,9 +162,9 @@ class ChatEditingAcceptAllAction extends EditingSessionAction {
165
162
  constructor() {
166
163
  super({
167
164
  id: "chatEditing.acceptAllFiles",
168
- title: ( localize(6445, "Keep")),
165
+ title: ( localize(6936, "Keep")),
169
166
  icon: Codicon.check,
170
- tooltip: ( localize(6446, "Keep All Edits")),
167
+ tooltip: ( localize(6937, "Keep All Edits")),
171
168
  precondition: hasUndecidedChatEditingResourceContextKey,
172
169
  keybinding: {
173
170
  primary: KeyMod.CtrlCmd | KeyCode.Enter,
@@ -191,9 +188,9 @@ class ChatEditingDiscardAllAction extends EditingSessionAction {
191
188
  constructor() {
192
189
  super({
193
190
  id: "chatEditing.discardAllFiles",
194
- title: ( localize(6447, "Undo")),
191
+ title: ( localize(6938, "Undo")),
195
192
  icon: Codicon.discard,
196
- tooltip: ( localize(6448, "Undo All Edits")),
193
+ tooltip: ( localize(6939, "Undo All Edits")),
197
194
  precondition: hasUndecidedChatEditingResourceContextKey,
198
195
  menu: [{
199
196
  id: MenuId.ChatEditingWidgetToolbar,
@@ -224,8 +221,8 @@ class ToggleExplanationWidgetAction extends EditingSessionAction {
224
221
  constructor() {
225
222
  super({
226
223
  id: ToggleExplanationWidgetAction.ID,
227
- title: ( localize(6449, "Explain")),
228
- tooltip: ( localize(6450, "Toggle Change Explanations")),
224
+ title: ( localize(6940, "Explain")),
225
+ tooltip: ( localize(6941, "Toggle Change Explanations")),
229
226
  precondition: hasUndecidedChatEditingResourceContextKey,
230
227
  menu: [{
231
228
  id: MenuId.ChatEditingWidgetToolbar,
@@ -249,17 +246,17 @@ async function discardAllEditsWithConfirmation(accessor, currentEditingSession)
249
246
  const entries = currentEditingSession.entries.get().filter(e => e.state.get() === ModifiedFileEntryState.Modified);
250
247
  if (entries.length > 0) {
251
248
  const confirmation = await dialogService.confirm({
252
- title: ( localize(6451, "Undo all edits?")),
249
+ title: ( localize(6942, "Undo all edits?")),
253
250
  message: entries.length === 1 ? ( localize(
254
- 6452,
251
+ 6943,
255
252
  "This will undo changes made in {0}. Do you want to proceed?",
256
253
  basename(entries[0].modifiedURI)
257
254
  )) : ( localize(
258
- 6453,
255
+ 6944,
259
256
  "This will undo changes made in {0} files. Do you want to proceed?",
260
257
  entries.length
261
258
  )),
262
- primaryButton: ( localize(6454, "Yes")),
259
+ primaryButton: ( localize(6945, "Yes")),
263
260
  type: "info"
264
261
  });
265
262
  if (!confirmation.confirmed) {
@@ -274,7 +271,7 @@ class ChatEditingShowChangesAction extends EditingSessionAction {
274
271
  this.ID = "chatEditing.viewChanges";
275
272
  }
276
273
  static {
277
- this.LABEL = ( localize(6455, "View All Edits"));
274
+ this.LABEL = ( localize(6946, "View All Edits"));
278
275
  }
279
276
  constructor() {
280
277
  super({
@@ -336,13 +333,13 @@ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResou
336
333
  if (editsToUndo === 1) {
337
334
  if (entriesModifiedInRequestsToRemove.length === 1) {
338
335
  message = ( localize(
339
- 6456,
336
+ 6947,
340
337
  "This will remove your last request and undo the edits made to {0}. Do you want to proceed?",
341
338
  basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
342
339
  ));
343
340
  } else {
344
341
  message = ( localize(
345
- 6457,
342
+ 6948,
346
343
  "This will remove your last request and undo edits made to {0} files in your working set. Do you want to proceed?",
347
344
  entriesModifiedInRequestsToRemove.length
348
345
  ));
@@ -350,24 +347,24 @@ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResou
350
347
  } else {
351
348
  if (entriesModifiedInRequestsToRemove.length === 1) {
352
349
  message = ( localize(
353
- 6458,
350
+ 6949,
354
351
  "This will remove all subsequent requests and undo edits made to {0}. Do you want to proceed?",
355
352
  basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
356
353
  ));
357
354
  } else {
358
355
  message = ( localize(
359
- 6459,
356
+ 6950,
360
357
  "This will remove all subsequent requests and undo edits made to {0} files in your working set. Do you want to proceed?",
361
358
  entriesModifiedInRequestsToRemove.length
362
359
  ));
363
360
  }
364
361
  }
365
362
  const confirmation = shouldPrompt ? await dialogService.confirm({
366
- title: editsToUndo === 1 ? ( localize(6460, "Do you want to undo your last edit?")) : ( localize(6461, "Do you want to undo {0} edits?", editsToUndo)),
363
+ title: editsToUndo === 1 ? ( localize(6951, "Do you want to undo your last edit?")) : ( localize(6952, "Do you want to undo {0} edits?", editsToUndo)),
367
364
  message: message,
368
- primaryButton: ( localize(6462, "Yes")),
365
+ primaryButton: ( localize(6953, "Yes")),
369
366
  checkbox: {
370
- label: ( localize(6463, "Don't ask again")),
367
+ label: ( localize(6954, "Don't ask again")),
371
368
  checked: false
372
369
  },
373
370
  type: "info"
@@ -397,7 +394,7 @@ registerAction2(class RemoveAction extends Action2 {
397
394
  constructor() {
398
395
  super({
399
396
  id: "workbench.action.chat.undoEdits",
400
- title: ( localize2(6464, "Undo Requests")),
397
+ title: ( localize2(6955, "Undo Requests")),
401
398
  f1: false,
402
399
  category: CHAT_CATEGORY,
403
400
  icon: Codicon.discard,
@@ -406,14 +403,14 @@ registerAction2(class RemoveAction extends Action2 {
406
403
  mac: {
407
404
  primary: KeyMod.CtrlCmd | KeyCode.Backspace
408
405
  },
409
- when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( EditorContextKeys.textInputFocus.negate()), ( ChatContextKeys.inChatQuestionCarousel.negate()))),
406
+ when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( EditorContextKeys.textInputFocus.negate()), ( ChatContextKeys.inChatQuestionCarousel.negate()), ( ChatContextKeys.readOnly.negate()))),
410
407
  weight: KeybindingWeight.WorkbenchContrib
411
408
  },
412
409
  menu: [{
413
410
  id: MenuId.ChatMessageTitle,
414
411
  group: "navigation",
415
412
  order: 2,
416
- when: ( ContextKeyExpr.and(( ( ContextKeyExpr.equals(`config.${ChatConfiguration.EditRequests}`, "input")).negate()), ( ContextKeyExpr.equals(`config.${ChatConfiguration.CheckpointsEnabled}`, false)), ( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeyExprs.isAgentHostSession))))
413
+ when: ( ContextKeyExpr.and(( ( ContextKeyExpr.equals(`config.${ChatConfiguration.EditRequests}`, "input")).negate()), ( ContextKeyExpr.equals(`config.${ChatConfiguration.CheckpointsEnabled}`, false)), ( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeyExprs.isAgentHostSession)), ( ChatContextKeys.readOnly.negate())))
417
414
  }]
418
415
  });
419
416
  }
@@ -439,12 +436,13 @@ registerAction2(class RemoveAction extends Action2 {
439
436
  }
440
437
  }
441
438
  });
439
+ const RestoreCheckpointActionId = "workbench.action.chat.restoreCheckpoint";
442
440
  registerAction2(class RestoreCheckpointAction extends Action2 {
443
441
  constructor() {
444
442
  super({
445
- id: "workbench.action.chat.restoreCheckpoint",
446
- title: ( localize2(6465, "Restore Checkpoint")),
447
- tooltip: ( localize2(6466, "Restores workspace and chat to this point")),
443
+ id: RestoreCheckpointActionId,
444
+ title: ( localize2(6956, "Restore Checkpoint")),
445
+ tooltip: ( localize2(6957, "Restores workspace and chat to this point")),
448
446
  f1: false,
449
447
  category: CHAT_CATEGORY,
450
448
  keybinding: {
@@ -452,14 +450,14 @@ registerAction2(class RestoreCheckpointAction extends Action2 {
452
450
  mac: {
453
451
  primary: KeyMod.CtrlCmd | KeyCode.Backspace
454
452
  },
455
- when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( EditorContextKeys.textInputFocus.negate()), ( ChatContextKeys.inChatQuestionCarousel.negate()))),
453
+ when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( EditorContextKeys.textInputFocus.negate()), ( ChatContextKeys.inChatQuestionCarousel.negate()), ( ChatContextKeys.readOnly.negate()))),
456
454
  weight: KeybindingWeight.WorkbenchContrib
457
455
  },
458
456
  menu: [{
459
457
  id: MenuId.ChatMessageCheckpoint,
460
458
  group: "navigation",
461
459
  order: 2,
462
- when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeyExprs.isAgentHostSession)), ( ChatContextKeys.isFirstRequest.negate())))
460
+ when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeyExprs.isAgentHostSession)), ( ChatContextKeys.isFirstRequest.negate()), ( ChatContextKeys.readOnly.negate())))
463
461
  }]
464
462
  });
465
463
  }
@@ -489,15 +487,15 @@ registerAction2(class StartOverAction extends Action2 {
489
487
  constructor() {
490
488
  super({
491
489
  id: "workbench.action.chat.startOver",
492
- title: ( localize2(6467, "Start Over")),
493
- tooltip: ( localize2(6468, "Clears the chat and undoes all changes")),
490
+ title: ( localize2(6958, "Start Over")),
491
+ tooltip: ( localize2(6959, "Clears the chat and undoes all changes")),
494
492
  f1: false,
495
493
  category: CHAT_CATEGORY,
496
494
  menu: [{
497
495
  id: MenuId.ChatMessageCheckpoint,
498
496
  group: "navigation",
499
497
  order: 2,
500
- when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeyExprs.isAgentHostSession)), ChatContextKeys.isFirstRequest))
498
+ when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeyExprs.isAgentHostSession)), ChatContextKeys.isFirstRequest, ( ChatContextKeys.readOnly.negate())))
501
499
  }]
502
500
  });
503
501
  }
@@ -519,11 +517,11 @@ registerAction2(class RestoreLastCheckpoint extends Action2 {
519
517
  constructor() {
520
518
  super({
521
519
  id: "workbench.action.chat.restoreLastCheckpoint",
522
- title: ( localize2(6469, "Restore to Last Checkpoint")),
520
+ title: ( localize2(6960, "Restore to Last Checkpoint")),
523
521
  f1: true,
524
522
  category: CHAT_CATEGORY,
525
523
  icon: Codicon.discard,
526
- precondition: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( ContextKeyExpr.equals(`config.${ChatConfiguration.CheckpointsEnabled}`, true)), ( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeyExprs.isAgentHostSession))))
524
+ precondition: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( ContextKeyExpr.equals(`config.${ChatConfiguration.CheckpointsEnabled}`, true)), ( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeyExprs.isAgentHostSession)), ( ChatContextKeys.readOnly.negate())))
527
525
  });
528
526
  }
529
527
  async run(accessor, ...args) {
@@ -544,7 +542,7 @@ registerAction2(class RestoreLastCheckpoint extends Action2 {
544
542
  }
545
543
  const checkpointRequest = chatModel.checkpoint;
546
544
  if (!checkpointRequest) {
547
- alert(( localize(6470, "There is no checkpoint to restore.")));
545
+ alert(( localize(6961, "There is no checkpoint to restore.")));
548
546
  return;
549
547
  }
550
548
  widget?.viewModel?.model.setCheckpoint(checkpointRequest.id);
@@ -557,7 +555,7 @@ registerAction2(class EditAction extends Action2 {
557
555
  constructor() {
558
556
  super({
559
557
  id: "workbench.action.chat.editRequests",
560
- title: ( localize2(6471, "Edit Request")),
558
+ title: ( localize2(6962, "Edit Request")),
561
559
  f1: false,
562
560
  category: CHAT_CATEGORY,
563
561
  icon: Codicon.edit,
@@ -596,7 +594,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
596
594
  constructor() {
597
595
  super({
598
596
  id: OpenWorkingSetHistoryAction.id,
599
- title: ( localize(6472, "Open File")),
597
+ title: ( localize(6963, "Open File")),
600
598
  menu: [{
601
599
  id: MenuId.ChatEditingCodeBlockContext,
602
600
  group: "navigation",
@@ -622,7 +620,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
622
620
  constructor() {
623
621
  super({
624
622
  id: OpenWorkingSetHistoryAction.id,
625
- title: ( localize(6473, "Open File Snapshot")),
623
+ title: ( localize(6964, "Open File Snapshot")),
626
624
  menu: [{
627
625
  id: MenuId.ChatEditingCodeBlockContext,
628
626
  group: "navigation",
@@ -646,7 +644,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
646
644
  if (snapshot) {
647
645
  const editor = await editorService.openEditor({
648
646
  resource: snapshot,
649
- label: ( localize(6474, "{0} (Snapshot)", basename(context.uri))),
647
+ label: ( localize(6965, "{0} (Snapshot)", basename(context.uri))),
650
648
  options: {
651
649
  activation: EditorActivation.ACTIVATE
652
650
  }
@@ -663,7 +661,7 @@ registerAction2(class ResolveSymbolsContextAction extends EditingSessionAction {
663
661
  constructor() {
664
662
  super({
665
663
  id: "workbench.action.edits.addFilesFromReferences",
666
- title: ( localize2(6475, "Add Files From References")),
664
+ title: ( localize2(6966, "Add Files From References")),
667
665
  f1: false,
668
666
  category: CHAT_CATEGORY,
669
667
  menu: {
@@ -731,7 +729,7 @@ class ViewPreviousEditsAction extends EditingSessionAction {
731
729
  this.Id = "chatEditing.viewPreviousEdits";
732
730
  }
733
731
  static {
734
- this.Label = ( localize(6476, "View Previous Edits"));
732
+ this.Label = ( localize(6967, "View Previous Edits"));
735
733
  }
736
734
  constructor() {
737
735
  super({
@@ -768,4 +766,4 @@ CommandsRegistry.registerCommand("_chat.editSessions.accept", async (accessor, r
768
766
  }
769
767
  });
770
768
 
771
- export { ChatEditingAcceptAllAction, ChatEditingDiscardAllAction, ChatEditingShowChangesAction, EditingSessionAction, ToggleExplanationWidgetAction, ViewPreviousEditsAction, discardAllEditsWithConfirmation, getEditingSessionContext };
769
+ export { ChatEditingAcceptAllAction, ChatEditingDiscardAllAction, ChatEditingShowChangesAction, EditingSessionAction, RestoreCheckpointActionId, ToggleExplanationWidgetAction, ViewPreviousEditsAction, discardAllEditsWithConfirmation, getEditingSessionContext };
@@ -0,0 +1,28 @@
1
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
+ import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
3
+ import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
4
+ import { ITextModelContentProvider } from "@codingame/monaco-vscode-model-service-override/vscode/vs/editor/common/services/resolverService";
5
+ import { IChatEditingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService.service";
6
+ export declare class ChatEditingTextModelContentProvider implements ITextModelContentProvider {
7
+ private readonly _chatEditingService;
8
+ private readonly _modelService;
9
+ static readonly scheme = "chat-editing-text-model";
10
+ static getFileURI(chatSessionResource: URI, documentId: string, path: string): URI;
11
+ constructor(_chatEditingService: IChatEditingService, _modelService: IModelService);
12
+ provideTextContent(resource: URI): Promise<ITextModel | null>;
13
+ }
14
+ export declare class ChatEditingSnapshotTextModelContentProvider implements ITextModelContentProvider {
15
+ private readonly _chatEditingService;
16
+ private readonly _modelService;
17
+ static getSnapshotFileURI(chatSessionResource: URI, requestId: string | undefined, undoStop: string | undefined, path: string, scheme: string, authority: string): URI;
18
+ /**
19
+ * Recovers the URI of the real file that a snapshot URI (as produced by
20
+ * {@link getSnapshotFileURI}) was taken from, so callers can open the file
21
+ * itself instead of a read-only snapshot. Returns the resource unchanged if
22
+ * it is not a snapshot URI, or `undefined` if the origin cannot be recovered
23
+ * (e.g. snapshot URIs persisted before the origin was recorded).
24
+ */
25
+ static getOriginalFileURI(resource: URI): URI | undefined;
26
+ constructor(_chatEditingService: IChatEditingService, _modelService: IModelService);
27
+ provideTextContent(resource: URI): Promise<ITextModel | null>;
28
+ }
@@ -0,0 +1,98 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
4
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
+ import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
6
+
7
+ var ChatEditingTextModelContentProvider_1;
8
+ let ChatEditingTextModelContentProvider = class ChatEditingTextModelContentProvider {
9
+ static {
10
+ ChatEditingTextModelContentProvider_1 = this;
11
+ }
12
+ static {
13
+ this.scheme = Schemas.chatEditingModel;
14
+ }
15
+ static getFileURI(chatSessionResource, documentId, path) {
16
+ return ( URI.from({
17
+ scheme: ChatEditingTextModelContentProvider_1.scheme,
18
+ path,
19
+ query: JSON.stringify({
20
+ kind: "doc",
21
+ documentId,
22
+ chatSessionResource
23
+ })
24
+ }));
25
+ }
26
+ constructor(_chatEditingService, _modelService) {
27
+ this._chatEditingService = _chatEditingService;
28
+ this._modelService = _modelService;
29
+ }
30
+ async provideTextContent(resource) {
31
+ const existing = this._modelService.getModel(resource);
32
+ if (existing && !existing.isDisposed()) {
33
+ return existing;
34
+ }
35
+ const data = JSON.parse(resource.query);
36
+ const session = this._chatEditingService.getEditingSession(URI.revive(data.chatSessionResource));
37
+ const entry = session?.entries.get().find(candidate => candidate.entryId === data.documentId);
38
+ if (!entry) {
39
+ return null;
40
+ }
41
+ return this._modelService.getModel(entry.originalURI);
42
+ }
43
+ };
44
+ ChatEditingTextModelContentProvider = ChatEditingTextModelContentProvider_1 = ( __decorate([( __param(1, IModelService))], ChatEditingTextModelContentProvider));
45
+ let ChatEditingSnapshotTextModelContentProvider = class ChatEditingSnapshotTextModelContentProvider {
46
+ static getSnapshotFileURI(chatSessionResource, requestId, undoStop, path, scheme, authority) {
47
+ return ( URI.from({
48
+ scheme: Schemas.chatEditingSnapshotScheme,
49
+ path,
50
+ query: JSON.stringify({
51
+ session: chatSessionResource,
52
+ requestId: requestId ?? "",
53
+ undoStop: undoStop ?? "",
54
+ scheme,
55
+ authority
56
+ })
57
+ }));
58
+ }
59
+ static getOriginalFileURI(resource) {
60
+ if (resource.scheme !== Schemas.chatEditingSnapshotScheme) {
61
+ return resource;
62
+ }
63
+ let data;
64
+ try {
65
+ data = JSON.parse(resource.query);
66
+ } catch {
67
+ return undefined;
68
+ }
69
+ if (typeof data.scheme !== "string" || !data.scheme || typeof data.authority !== "string") {
70
+ return undefined;
71
+ }
72
+ return resource.with({
73
+ scheme: data.scheme,
74
+ authority: data.authority,
75
+ query: "",
76
+ fragment: ""
77
+ });
78
+ }
79
+ constructor(_chatEditingService, _modelService) {
80
+ this._chatEditingService = _chatEditingService;
81
+ this._modelService = _modelService;
82
+ }
83
+ async provideTextContent(resource) {
84
+ const existing = this._modelService.getModel(resource);
85
+ if (existing && !existing.isDisposed()) {
86
+ return existing;
87
+ }
88
+ const data = JSON.parse(resource.query);
89
+ const session = this._chatEditingService.getEditingSession(URI.revive(data.session));
90
+ if (!session || !data.requestId) {
91
+ return null;
92
+ }
93
+ return session.getSnapshotModel(data.requestId, data.undoStop || undefined, resource);
94
+ }
95
+ };
96
+ ChatEditingSnapshotTextModelContentProvider = ( __decorate([( __param(1, IModelService))], ChatEditingSnapshotTextModelContentProvider));
97
+
98
+ export { ChatEditingSnapshotTextModelContentProvider, ChatEditingTextModelContentProvider };
@@ -7,11 +7,11 @@ import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platf
7
7
  import { ActionWidgetDropdownActionViewItem } from "../../../../../platform/actions/browser/actionWidgetDropdownActionViewItem.js";
8
8
  import { IChatSessionProviderOptionGroup, IChatSessionProviderOptionItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService";
9
9
  import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
10
+ import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
10
11
  import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
11
12
  import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
12
13
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
13
14
  import { IChatInputPickerOptions } from "../widget/input/chatInputPickerActionItem.js";
14
- import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
15
15
  import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
16
16
  export interface IChatSessionPickerDelegate {
17
17
  readonly onDidChangeOption: Event<IChatSessionProviderOptionItem>;
@@ -28,14 +28,14 @@ export declare class ChatSessionPickerActionItem extends ActionWidgetDropdownAct
28
28
  protected readonly delegate: IChatSessionPickerDelegate;
29
29
  protected readonly _pickerOptions: IChatInputPickerOptions | undefined;
30
30
  protected readonly commandService: ICommandService;
31
- private readonly openerService;
32
31
  private readonly chatEntitlementService;
32
+ private readonly openerService;
33
33
  protected currentOption: IChatSessionProviderOptionItem | undefined;
34
34
  protected container: HTMLElement | undefined;
35
35
  constructor(action: IAction, initialState: {
36
36
  group: IChatSessionProviderOptionGroup;
37
37
  item: IChatSessionProviderOptionItem | undefined;
38
- }, delegate: IChatSessionPickerDelegate, _pickerOptions: IChatInputPickerOptions | undefined, actionWidgetService: IActionWidgetService, contextKeyService: IContextKeyService, keybindingService: IKeybindingService, commandService: ICommandService, telemetryService: ITelemetryService, openerService: IOpenerService, chatEntitlementService: IChatEntitlementService);
38
+ }, delegate: IChatSessionPickerDelegate, _pickerOptions: IChatInputPickerOptions | undefined, actionWidgetService: IActionWidgetService, contextKeyService: IContextKeyService, keybindingService: IKeybindingService, commandService: ICommandService, telemetryService: ITelemetryService, chatEntitlementService: IChatEntitlementService, openerService: IOpenerService);
39
39
  /**
40
40
  * Returns the actions to show in the dropdown. Can be overridden by subclasses.
41
41
  */
@@ -8,11 +8,11 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
8
8
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
9
9
  import { ActionWidgetDropdownActionViewItem } from '../../../../../platform/actions/browser/actionWidgetDropdownActionViewItem.js';
10
10
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
11
+ import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
11
12
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
12
13
  import { renderIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
13
14
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
14
15
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
15
- import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
16
16
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
17
17
  import { getModelHoverContent } from '../widget/input/chatModelPicker.js';
18
18
  import { ExtensionIdentifier } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
@@ -30,8 +30,8 @@ let ChatSessionPickerActionItem = class ChatSessionPickerActionItem extends Acti
30
30
  keybindingService,
31
31
  commandService,
32
32
  telemetryService,
33
- openerService,
34
- chatEntitlementService
33
+ chatEntitlementService,
34
+ openerService
35
35
  ) {
36
36
  const {
37
37
  group,
@@ -66,8 +66,8 @@ let ChatSessionPickerActionItem = class ChatSessionPickerActionItem extends Acti
66
66
  this.delegate = delegate;
67
67
  this._pickerOptions = _pickerOptions;
68
68
  this.commandService = commandService;
69
- this.openerService = openerService;
70
69
  this.chatEntitlementService = chatEntitlementService;
70
+ this.openerService = openerService;
71
71
  this.currentOption = item;
72
72
  this._register(this.delegate.onDidChangeOption(newOption => {
73
73
  this.currentOption = newOption;
@@ -157,9 +157,11 @@ let ChatSessionPickerActionItem = class ChatSessionPickerActionItem extends Acti
157
157
  inputCost: optionItem.modelMetadata.inputCost,
158
158
  outputCost: optionItem.modelMetadata.outputCost,
159
159
  cacheCost: optionItem.modelMetadata.cacheCost,
160
+ cacheWriteCost: optionItem.modelMetadata.cacheWriteCost,
160
161
  longContextInputCost: optionItem.modelMetadata.longContextInputCost,
161
162
  longContextOutputCost: optionItem.modelMetadata.longContextOutputCost,
162
163
  longContextCacheCost: optionItem.modelMetadata.longContextCacheCost,
164
+ longContextCacheWriteCost: optionItem.modelMetadata.longContextCacheWriteCost,
163
165
  priceCategory: optionItem.modelMetadata.priceCategory,
164
166
  maxInputTokens: optionItem.modelMetadata.maxInputTokens ?? 0,
165
167
  maxOutputTokens: optionItem.modelMetadata.maxOutputTokens ?? 0,
@@ -170,7 +172,7 @@ let ChatSessionPickerActionItem = class ChatSessionPickerActionItem extends Acti
170
172
  isDefaultForLocation: {}
171
173
  }
172
174
  };
173
- const hover = getModelHoverContent(syntheticModel, this.openerService, isUBB);
175
+ const hover = getModelHoverContent(syntheticModel, isUBB, undefined, this.openerService);
174
176
  if (hover) {
175
177
  return {
176
178
  content: hover.element,
@@ -216,7 +218,7 @@ let ChatSessionPickerActionItem = class ChatSessionPickerActionItem extends Acti
216
218
  domChildren.push($(
217
219
  "span.chat-session-option-label",
218
220
  undefined,
219
- this.currentOption?.name ?? group?.description ?? ( localize(6676, "Pick Option"))
221
+ this.currentOption?.name ?? group?.description ?? ( localize(7179, "Pick Option"))
220
222
  ));
221
223
  }
222
224
  reset(element, ...domChildren);
@@ -246,6 +248,6 @@ let ChatSessionPickerActionItem = class ChatSessionPickerActionItem extends Acti
246
248
  }
247
249
  }
248
250
  };
249
- ChatSessionPickerActionItem = ( __decorate([( __param(4, IActionWidgetService)), ( __param(5, IContextKeyService)), ( __param(6, IKeybindingService)), ( __param(7, ICommandService)), ( __param(8, ITelemetryService)), ( __param(9, IOpenerService)), ( __param(10, IChatEntitlementService))], ChatSessionPickerActionItem));
251
+ ChatSessionPickerActionItem = ( __decorate([( __param(4, IActionWidgetService)), ( __param(5, IContextKeyService)), ( __param(6, IKeybindingService)), ( __param(7, ICommandService)), ( __param(8, ITelemetryService)), ( __param(9, IChatEntitlementService)), ( __param(10, IOpenerService))], ChatSessionPickerActionItem));
250
252
 
251
253
  export { ChatSessionPickerActionItem };