@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-katex-common",
3
- "version": "34.1.2",
3
+ "version": "35.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - common package depending on katex",
6
6
  "keywords": [],
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-api": "34.1.2",
18
+ "@codingame/monaco-vscode-api": "35.0.0",
19
19
  "katex": "0.16.45",
20
20
  "marked": "14.0.0"
21
21
  },
@@ -0,0 +1,36 @@
1
+ export interface ISynchronizeAnimationsOptions {
2
+ /**
3
+ * Also synchronize animations running on descendant elements (e.g. the dots
4
+ * of a spinner whose animations live on child nodes). Defaults to `false`.
5
+ */
6
+ readonly subtree?: boolean;
7
+ /**
8
+ * When provided, further narrows synchronization to CSS animations whose
9
+ * `animation-name` is in this set. Non-keyframe animations (e.g. transitions)
10
+ * are always skipped regardless of this option.
11
+ */
12
+ readonly animationNames?: ReadonlySet<string>;
13
+ }
14
+ /**
15
+ * Phase-aligns looping CSS animations so that every animation of the same
16
+ * duration displays the same frame at the same time, regardless of when each
17
+ * one started.
18
+ *
19
+ * All CSS animations share the document's timeline, so anchoring each
20
+ * animation's `startTime` to the same origin (`0`) forces their `currentTime`
21
+ * to equal the timeline time — making identical animations run in lock-step.
22
+ * Per-element `animation-delay` offsets are preserved (they are part of each
23
+ * animation's own timing), so intentional cascades (e.g. spinner dots) still
24
+ * work while the group as a whole stays globally in phase.
25
+ *
26
+ * Unlike adjusting `animation-delay`, this re-seeks animations that are already
27
+ * running (Chromium does not reliably re-seek a running animation when its
28
+ * `animation-delay` changes). Call it whenever an animation (re)starts or
29
+ * resumes after being paused offscreen — e.g. from an `animationstart` handler
30
+ * or when an element scrolls back into view.
31
+ *
32
+ * @param element The element whose (and optionally whose descendants') CSS
33
+ * animations should be synchronized.
34
+ * @param options See {@link ISynchronizeAnimationsOptions}.
35
+ */
36
+ export declare function synchronizeCSSAnimations(element: HTMLElement, options?: ISynchronizeAnimationsOptions): void;
@@ -0,0 +1,23 @@
1
+
2
+
3
+ function synchronizeCSSAnimations(element, options) {
4
+ if (typeof element.getAnimations !== "function") {
5
+ return;
6
+ }
7
+ for (const animation of element.getAnimations({
8
+ subtree: options?.subtree
9
+ })) {
10
+ const animationName = animation.animationName;
11
+ if (animationName === undefined) {
12
+ continue;
13
+ }
14
+ if (options?.animationNames && !( options.animationNames.has(animationName))) {
15
+ continue;
16
+ }
17
+ try {
18
+ animation.startTime = 0;
19
+ } catch {}
20
+ }
21
+ }
22
+
23
+ export { synchronizeCSSAnimations };
@@ -1,13 +1,18 @@
1
1
 
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
3
  import { h, onDidUnregisterWindow, getWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { synchronizeCSSAnimations } from '../../animationSync.js';
4
5
  import * as pixelSpinner from './pixelSpinner.css';
5
6
 
6
7
  registerCss(pixelSpinner);
7
8
  function createPixelSpinner(parent, options) {
8
- const rootClass = "span.monaco-pixel-spinner";
9
+ const variant = options?.variant ?? "grid";
10
+ const rootClass = variant === "ring" ? "span.monaco-pixel-spinner.monaco-pixel-spinner-ring" : "span.monaco-pixel-spinner";
9
11
  const root = h(rootClass).root;
10
- {
12
+ if (options?.ariaLabel) {
13
+ root.setAttribute("role", "status");
14
+ root.setAttribute("aria-label", options.ariaLabel);
15
+ } else {
11
16
  root.setAttribute("aria-hidden", "true");
12
17
  }
13
18
  for (let i = 0; i < 6; i++) {
@@ -18,6 +23,12 @@ function createPixelSpinner(parent, options) {
18
23
  return root;
19
24
  }
20
25
  const PAUSED_CLASS = "monaco-pixel-spinner-paused";
26
+ const SPINNER_ANIMATION_NAMES = ( new Set([
27
+ "monaco-pixel-spinner-dot-cycle",
28
+ "monaco-pixel-spinner-dot-cycle-long",
29
+ "monaco-pixel-spinner-dot-cycle-short",
30
+ "monaco-pixel-spinner-ring-pulse"
31
+ ]));
21
32
  const observersByWindow = ( new Map());
22
33
  let unregisterWindowListener;
23
34
  function getObserverFor(targetWindow) {
@@ -27,6 +38,7 @@ function getObserverFor(targetWindow) {
27
38
  let observer = observersByWindow.get(targetWindow);
28
39
  if (!observer) {
29
40
  observer = new targetWindow.IntersectionObserver(entries => {
41
+ const toResync = [];
30
42
  for (const entry of entries) {
31
43
  const target = entry.target;
32
44
  if (!target.isConnected) {
@@ -34,6 +46,15 @@ function getObserverFor(targetWindow) {
34
46
  continue;
35
47
  }
36
48
  target.classList.toggle(PAUSED_CLASS, !entry.isIntersecting);
49
+ if (entry.isIntersecting) {
50
+ toResync.push(target);
51
+ }
52
+ }
53
+ for (const target of toResync) {
54
+ synchronizeCSSAnimations(target, {
55
+ subtree: true,
56
+ animationNames: SPINNER_ANIMATION_NAMES
57
+ });
37
58
  }
38
59
  });
39
60
  observersByWindow.set(targetWindow, observer);
@@ -81,6 +81,7 @@ let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
81
81
  tooltip = action.tooltip || action.label;
82
82
  tooltip = this._keybindingService.appendKeybinding(tooltip, action.id);
83
83
  btn = this.addButtonWithDropdown({
84
+ addPrimaryActionToDropdown: false,
84
85
  secondary: configProvider(action, i)?.isSecondary ?? secondary,
85
86
  actionRunner: this._actionRunner,
86
87
  actions: rest,
@@ -168,14 +169,14 @@ let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
168
169
  if (secondary.length > 0) {
169
170
  const btn = this.addButton({
170
171
  secondary: true,
171
- ariaLabel: ( localize(1813, "More Actions")),
172
+ ariaLabel: ( localize(1816, "More Actions")),
172
173
  small: this._options?.small
173
174
  });
174
175
  btn.icon = Codicon.dropDownButton;
175
176
  btn.element.classList.add("default-colors", "monaco-text-button");
176
177
  btn.enabled = true;
177
178
  this._updateStore.add(
178
- this._hoverService.setupManagedHover(hoverDelegate, btn.element, ( localize(1813, "More Actions")))
179
+ this._hoverService.setupManagedHover(hoverDelegate, btn.element, ( localize(1816, "More Actions")))
179
180
  );
180
181
  this._updateStore.add(btn.onDidClick(async () => {
181
182
  this._contextMenuService.showContextMenu({
@@ -5,9 +5,10 @@
5
5
  * Claude collapses the platform's two-axis approval model
6
6
  * (`autoApprove` × `mode`) onto a single `permissionMode` axis matching
7
7
  * the Claude SDK's native `PermissionMode` (see
8
- * `@anthropic-ai/claude-agent-sdk` typings). The six values mirror
9
- * the SDK's enum exactly so that the value flowing back into
10
- * `query({ permissionMode })` requires no translation layer.
8
+ * `@anthropic-ai/claude-agent-sdk` typings, `sdk.d.ts:1560`). The five
9
+ * values mirror the SDK enum values that VS Code exposes, excluding
10
+ * `dontAsk`, so that the value flowing back into `query({ permissionMode })`
11
+ * requires no translation layer.
11
12
  *
12
13
  * The platform `Permissions` key (allow/deny tool lists) is reused
13
14
  * unchanged from `platformSessionSchema` because the Claude SDK accepts
@@ -19,9 +20,8 @@ export declare enum ClaudeSessionConfigKey {
19
20
  }
20
21
  /**
21
22
  * Permission-mode values advertised in the Claude session-config schema.
22
- * Mirror of the SDK's `PermissionMode` union for protocol-stable strings.
23
23
  */
24
- export type ClaudePermissionMode = "default" | "acceptEdits" | "bypassPermissions" | "plan" | "dontAsk" | "auto";
24
+ export type ClaudePermissionMode = "default" | "acceptEdits" | "bypassPermissions" | "plan" | "auto";
25
25
  /**
26
26
  * Single source of truth for narrowing an arbitrary runtime value to the
27
27
  * closed {@link ClaudePermissionMode} union. Returns `undefined` for
@@ -0,0 +1,32 @@
1
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
+ import type { FileEdit } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state";
3
+ import { FileEditKind } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState";
4
+ /**
5
+ * A {@link FileEdit} decoded into parsed URIs and a resolved {@link FileEditKind}.
6
+ *
7
+ * The create/delete/rename/edit detection and the "primary resource" rule
8
+ * (after-URI for create/edit/rename, before-URI for delete) are subtle and
9
+ * were historically duplicated across several adapters. {@link normalizeFileEdit}
10
+ * centralizes them so every consumer derives the same shape from a protocol
11
+ * {@link FileEdit}.
12
+ */
13
+ export interface INormalizedFileEdit {
14
+ /** The kind of file operation. */
15
+ readonly kind: FileEditKind;
16
+ /** Primary file URI: after-URI for create/edit/rename, before-URI for delete. */
17
+ readonly resource: URI;
18
+ /** The before-state file URI, when present (absent for creates). */
19
+ readonly beforeUri?: URI;
20
+ /** The after-state file URI, when present (absent for deletes). */
21
+ readonly afterUri?: URI;
22
+ /** URI from which the before-content can be read (absent for creates). */
23
+ readonly beforeContentUri?: URI;
24
+ /** URI from which the after-content can be read (absent for deletes). */
25
+ readonly afterContentUri?: URI;
26
+ }
27
+ /**
28
+ * Decodes a protocol {@link FileEdit} into parsed URIs and a resolved
29
+ * {@link FileEditKind}. Returns `undefined` when the edit carries no usable
30
+ * file URI (neither `before` nor `after`).
31
+ */
32
+ export declare function normalizeFileEdit(edit: FileEdit): INormalizedFileEdit | undefined;
@@ -0,0 +1,33 @@
1
+
2
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
3
+ import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
4
+ import { FileEditKind } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState';
5
+
6
+ function normalizeFileEdit(edit) {
7
+ const beforeUri = edit.before ? ( URI.parse(edit.before.uri)) : undefined;
8
+ const afterUri = edit.after ? ( URI.parse(edit.after.uri)) : undefined;
9
+ const resource = afterUri ?? beforeUri;
10
+ if (!resource) {
11
+ return undefined;
12
+ }
13
+ let kind;
14
+ if (!beforeUri && afterUri) {
15
+ kind = FileEditKind.Create;
16
+ } else if (beforeUri && !afterUri) {
17
+ kind = FileEditKind.Delete;
18
+ } else if (beforeUri && afterUri && !isEqual(beforeUri, afterUri)) {
19
+ kind = FileEditKind.Rename;
20
+ } else {
21
+ kind = FileEditKind.Edit;
22
+ }
23
+ return {
24
+ kind,
25
+ resource,
26
+ beforeUri,
27
+ afterUri,
28
+ beforeContentUri: edit.before?.content.uri ? ( URI.parse(edit.before.content.uri)) : undefined,
29
+ afterContentUri: edit.after?.content.uri ? ( URI.parse(edit.after.content.uri)) : undefined
30
+ };
31
+ }
32
+
33
+ export { normalizeFileEdit };
@@ -0,0 +1,90 @@
1
+ import type { Annotation } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state";
2
+ /**
3
+ * Shared convention for carrying agent-feedback semantics inside an
4
+ * {@link Annotation._meta} on the agent host annotations channel.
5
+ *
6
+ * Feedback items round-trip as annotations on `<session>/annotations`; the
7
+ * annotation's own fields cover id / resource / range / resolved, and
8
+ * everything else (lifecycle state, origin kind, code context, PR linkage)
9
+ * lives under {@link FEEDBACK_ANNOTATION_META_KEY}. This module is the single
10
+ * place both the server (agent host, which writes feedback annotations from
11
+ * its server tools) and the client (agents window, which reads them back)
12
+ * agree on the key and shape, so the two sides cannot drift.
13
+ */
14
+ /** Namespaced key under {@link Annotation._meta} carrying feedback semantics. */
15
+ export declare const FEEDBACK_ANNOTATION_META_KEY = "vscode.agentFeedback";
16
+ /**
17
+ * Name of the agent host server tool that reveals review comments the user has
18
+ * not accepted yet. Shared here (in the layer-neutral `common` module) so the
19
+ * node-side server tool implementation and the browser-side chat adapter that
20
+ * renders its confirmation agree on the name without drifting. The agent sees
21
+ * this name directly (Copilot) or prefixed as `mcp__host__<name>` (Claude).
22
+ */
23
+ export declare const VIEW_UNREVIEWED_COMMENTS_TOOL_NAME = "viewUnreviewedComments";
24
+ /**
25
+ * Name of the agent host server tool that adds a comment (agent feedback) to a
26
+ * file range. Shared here (in the layer-neutral `common` module) so the
27
+ * node-side server tool implementation and the browser-side chat adapter that
28
+ * renders its tool call agree on the name without drifting. The agent sees this
29
+ * name directly (Copilot) or prefixed as `mcp__host__<name>` (Claude).
30
+ */
31
+ export declare const ADD_COMMENT_TOOL_NAME = "addComment";
32
+ /**
33
+ * Whether {@link toolName} (a tool name as seen on a tool call) refers to the
34
+ * {@link VIEW_UNREVIEWED_COMMENTS_TOOL_NAME} server tool. Accepts both the bare
35
+ * name and the Claude `mcp__<server>__<name>` prefixed form.
36
+ */
37
+ export declare function isViewUnreviewedCommentsTool(toolName: string): boolean;
38
+ /**
39
+ * Whether {@link toolName} (a tool name as seen on a tool call) refers to the
40
+ * {@link ADD_COMMENT_TOOL_NAME} server tool. Accepts both the bare name and the
41
+ * Claude `mcp__<server>__<name>` prefixed form.
42
+ */
43
+ export declare function isAddCommentTool(toolName: string): boolean;
44
+ /**
45
+ * Origin of a feedback item. String values match the client-side
46
+ * `AgentFeedbackKind` enum so a value written by either side decodes on the
47
+ * other without translation.
48
+ */
49
+ export type AgentFeedbackKindValue = "user" | "codeReview" | "prReview";
50
+ /**
51
+ * Lifecycle state of a feedback item. String values match the client-side
52
+ * `AgentFeedbackState` enum.
53
+ */
54
+ export type AgentFeedbackStateValue = "created" | "accepted" | "submitted" | "resolved";
55
+ /**
56
+ * Feedback semantics carried in an annotation's {@link Annotation._meta}.
57
+ *
58
+ * The optional client-only fields ({@link suggestion}, {@link codeSelection},
59
+ * {@link diffHunks}, {@link sourcePRReviewCommentId}) are populated when a
60
+ * feedback item is converted from a code- or PR-review comment on the client;
61
+ * server tools only ever write {@link kind} / {@link state} /
62
+ * {@link sessionResource}. {@link suggestion} is typed loosely here because
63
+ * its concrete shape lives in the client (sessions) layer.
64
+ */
65
+ export interface IFeedbackAnnotationMeta {
66
+ readonly kind: AgentFeedbackKindValue;
67
+ readonly state: AgentFeedbackStateValue;
68
+ readonly sessionResource: string;
69
+ readonly suggestion?: unknown;
70
+ readonly codeSelection?: string;
71
+ readonly diffHunks?: string;
72
+ readonly sourcePRReviewCommentId?: string;
73
+ /**
74
+ * Transient marker set by the client when the user reveals this comment to
75
+ * the agent via the `viewUnreviewedComments` tool. The server tool returns
76
+ * exactly the comments carrying this flag (so the result is scoped to the
77
+ * comments selected for that invocation rather than every accepted review
78
+ * comment) and clears it once they have been delivered, so a later
79
+ * invocation does not re-return them.
80
+ */
81
+ readonly pendingAgentReveal?: boolean;
82
+ }
83
+ /**
84
+ * Reads the well-known {@link IFeedbackAnnotationMeta} from an annotation's
85
+ * `_meta` bag (under {@link FEEDBACK_ANNOTATION_META_KEY}). The annotations
86
+ * channel is shared, so this validates the required `kind` / `state` /
87
+ * `sessionResource` fields and returns `undefined` for annotations that aren't
88
+ * feedback items. Read through this rather than casting the namespaced slot.
89
+ */
90
+ export declare function readFeedbackAnnotationMeta(annotation: Annotation): IFeedbackAnnotationMeta | undefined;
@@ -0,0 +1,30 @@
1
+ import { type MessageAnnotationsAttachment, type MessageAttachment, type SimpleMessageAttachment, type TextRange } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state";
2
+ export declare const AgentFeedbackAttachmentDisplayKind = "agentFeedback";
3
+ export declare const AgentFeedbackAttachmentMetadataKey = "agentFeedback";
4
+ export interface IAgentFeedbackAttachmentMetadata {
5
+ readonly sessionResource: string;
6
+ readonly feedbackItems: readonly IAgentFeedbackAttachmentItemMetadata[];
7
+ }
8
+ export interface IAgentFeedbackAttachmentItemMetadata {
9
+ readonly id: string;
10
+ readonly text: string;
11
+ readonly resourceUri: string;
12
+ readonly range: TextRange;
13
+ readonly replies?: readonly string[];
14
+ }
15
+ export declare function isAgentFeedbackAttachment(attachment: MessageAttachment): attachment is SimpleMessageAttachment;
16
+ /**
17
+ * Agent feedback is sent to agent-host sessions as one
18
+ * {@link MessageAnnotationsAttachment} per submitted comment, each referencing
19
+ * the specific annotation(s) on the session's annotations channel. The agent
20
+ * reads the comment content via the `listComments` tool and should act on the
21
+ * referenced comments.
22
+ */
23
+ export declare function isAgentFeedbackAnnotationsAttachment(attachment: MessageAttachment): attachment is MessageAnnotationsAttachment;
24
+ /**
25
+ * Renders an agent-feedback annotations attachment into the textual hint shown
26
+ * to the agent. The hint references the attached comment ids and points the
27
+ * agent at the `listComments` tool to read their content.
28
+ */
29
+ export declare function renderAgentFeedbackAnnotationsAttachment(attachment: MessageAnnotationsAttachment): string | undefined;
30
+ export declare function getAgentFeedbackAttachmentMetadata(attachment: MessageAttachment): IAgentFeedbackAttachmentMetadata | undefined;
@@ -0,0 +1,65 @@
1
+ import type { ToolCallState } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state";
2
+ /**
3
+ * Well-known typed view over a tool call's open `_meta` bag (see
4
+ * {@link ToolCallState._meta}). Producers and
5
+ * consumers agree on these keys here so the two sides can't drift; always read
6
+ * the bag through {@link readToolCallMeta}, which validates each field and drops
7
+ * wrong-typed values.
8
+ */
9
+ export interface IToolCallMeta {
10
+ /**
11
+ * VS Code rendering hint. `terminal` routes the call to the command/output
12
+ * renderer, `subagent` to the subagent UI, `search` to the search renderer;
13
+ * everything else falls through to the generic invocation renderer. Set by
14
+ * the agent adapter, never matched on raw tool name by the renderer.
15
+ */
16
+ readonly toolKind?: ToolKind;
17
+ /** Shell language for a `terminal` tool call (drives syntax highlighting). */
18
+ readonly language?: string;
19
+ /** Short task description for a `subagent` tool call (e.g. "Find related files"). */
20
+ readonly subagentDescription?: string;
21
+ /** Agent name for a `subagent` tool call (e.g. "explore"). */
22
+ readonly subagentAgentName?: string;
23
+ /** Raw, pre-stringified tool arguments captured for display/debugging. */
24
+ readonly toolArguments?: unknown;
25
+ /** Originating MCP server name, when the call came from an MCP server. */
26
+ readonly mcpServerName?: string;
27
+ /** Originating MCP tool name, when the call came from an MCP server. */
28
+ readonly mcpToolName?: string;
29
+ /** MCP App render data, when the call exposes an interactive App surface. */
30
+ readonly ui?: IToolCallUiMeta;
31
+ /**
32
+ * Set by the host's side-effect layer when the call was auto-approved
33
+ * because of an `autoApprove` session-config setting (rather than an
34
+ * explicit user action), so the client can render it as setting-driven.
35
+ */
36
+ readonly autoApproveBySetting?: boolean;
37
+ }
38
+ /**
39
+ * The set of VS Code-recognized tool-call rendering kinds. Add a new value here
40
+ * (and teach the renderer to handle it) rather than matching on tool name.
41
+ */
42
+ export type ToolKind = "terminal" | "subagent" | "search";
43
+ /**
44
+ * MCP App render data carried under {@link IToolCallMeta.ui}. Clients gate
45
+ * mounting the App webview on both a `resourceUri` and a `channel` being
46
+ * present.
47
+ */
48
+ export interface IToolCallUiMeta {
49
+ /** The MCP App's UI resource URI (an `ui://` resource the App renders). */
50
+ readonly resourceUri: string;
51
+ /** AHP `mcp://` channel the App's sub-RPCs route back through, when ready. */
52
+ readonly channel?: string;
53
+ }
54
+ /**
55
+ * Reads the well-known {@link IToolCallMeta} keys from a tool call's `_meta`
56
+ * bag, dropping unknown keys and wrong-typed values.
57
+ */
58
+ export declare function readToolCallMeta(source: ToolCallState): IToolCallMeta;
59
+ /**
60
+ * Serializes a typed {@link IToolCallMeta} into the `_meta` record, dropping
61
+ * `undefined` entries and returning `undefined` when empty. Build a tool call's
62
+ * `_meta` through this so producers stay in lock-step with
63
+ * {@link readToolCallMeta}.
64
+ */
65
+ export declare function toToolCallMeta(meta: IToolCallMeta): Record<string, unknown> | undefined;
@@ -19,14 +19,25 @@ export declare enum SessionConfigKey {
19
19
  Isolation = "isolation",
20
20
  /** `'branch'` — base branch to work from. */
21
21
  Branch = "branch",
22
- /** `'mode'` — agent execution mode (interactive / plan). */
22
+ /** `'mode'` — agent execution mode (interactive / plan / autopilot). */
23
23
  Mode = "mode"
24
24
  }
25
25
  /**
26
- * The set of enum values the unified permission picker understands for the
27
- * {@link SessionConfigKey.AutoApprove} property.
26
+ * The set of enum values the unified permission picker *tolerates* for the
27
+ * {@link SessionConfigKey.AutoApprove} property when deciding whether a
28
+ * session's schema is "well-known" (and therefore handled by the dedicated
29
+ * permission picker rather than the generic per-property fallback).
28
30
  *
29
- * `default` is the required baseline level; `autoApprove` and `autopilot`
30
- * are optional (an agent may choose to advertise a subset).
31
+ * `default` is the required baseline level; `autoApprove` is the offered
32
+ * elevated level. `assisted` and `autopilot` are retained here purely for
33
+ * backward/forward compatibility so a session whose schema was resolved by an
34
+ * older or newer agent host (advertising those values) still renders the
35
+ * dedicated picker rather than disappearing. The picker itself only ever
36
+ * *offers* `default` / `autoApprove` (see the delegate's `availableLevels`).
31
37
  */
32
38
  export declare const KNOWN_AUTO_APPROVE_VALUES: ReadonlySet<string>;
39
+ /**
40
+ * The set of enum values understood for the {@link SessionConfigKey.Mode}
41
+ * property: the agent execution mode axis.
42
+ */
43
+ export declare const KNOWN_MODE_VALUES: ReadonlySet<string>;
@@ -8,6 +8,7 @@ var SessionConfigKey;
8
8
  SessionConfigKey["Branch"] = "branch";
9
9
  SessionConfigKey["Mode"] = "mode";
10
10
  })(SessionConfigKey || (SessionConfigKey = {}));
11
- const KNOWN_AUTO_APPROVE_VALUES = ( new Set(["default", "autoApprove", "autopilot"]));
11
+ const KNOWN_AUTO_APPROVE_VALUES = ( new Set(["default", "assisted", "autoApprove", "autopilot"]));
12
+ const KNOWN_MODE_VALUES = ( new Set(["interactive", "plan", "autopilot"]));
12
13
 
13
- export { KNOWN_AUTO_APPROVE_VALUES, SessionConfigKey };
14
+ export { KNOWN_AUTO_APPROVE_VALUES, KNOWN_MODE_VALUES, SessionConfigKey };
@@ -0,0 +1,21 @@
1
+ import type { ResourceWatchState } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-resource-watch/state";
2
+ import type { ResourceWatchAction } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/action-origin.generated";
3
+ /**
4
+ * Pure reducer for resource-watch state. Handles every
5
+ * {@link ResourceWatchAction} variant.
6
+ *
7
+ * Watches are intentionally event-pass-through: change events are
8
+ * delivered via `resourceWatch/changed` actions but the reducer keeps no
9
+ * history of them. The state therefore tracks only the watch descriptor,
10
+ * which is set at subscription time and never mutates over the life of
11
+ * the watch.
12
+ *
13
+ * The reducer uses an `if`/else shape rather than `switch`/`softAssertNever`
14
+ * because `ResourceWatchAction` currently has a single variant — TypeScript
15
+ * does not narrow single-variant discriminated unions to `never` after the
16
+ * sole case branch, so the usual exhaustiveness pattern would not compile.
17
+ * Unknown action types degrade gracefully (mirroring `softAssertNever`'s
18
+ * runtime behaviour) so a client speaking an older protocol stays correct
19
+ * if the server adds new `resourceWatch/*` actions in a future version.
20
+ */
21
+ export declare function resourceWatchReducer(state: ResourceWatchState, action: ResourceWatchAction, log?: (msg: string) => void): ResourceWatchState;
@@ -0,0 +1,8 @@
1
+ export { rootReducer } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/platform/agentHost/common/state/protocol/channels-root/reducer";
2
+ export { sessionReducer } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/platform/agentHost/common/state/protocol/channels-session/reducer";
3
+ export { chatReducer } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/platform/agentHost/common/state/protocol/channels-chat/reducer";
4
+ export { terminalReducer } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer";
5
+ export { changesetReducer } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer";
6
+ export { annotationsReducer } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer";
7
+ export { resourceWatchReducer } from "./channels-resource-watch/reducer.js";
8
+ export { softAssertNever, isClientDispatchable } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/platform/agentHost/common/state/protocol/common/reducer-helpers";
@@ -0,0 +1,9 @@
1
+ export { rootReducer, sessionReducer, chatReducer, changesetReducer, annotationsReducer, softAssertNever, isClientDispatchable } from "./protocol/reducers.js";
2
+ import { type ToolKind } from "../meta/agentToolCallMeta.js";
3
+ import type { ICompletedToolCall, ToolCallState } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState";
4
+ /**
5
+ * Extracts the VS Code-specific `toolKind` hint from a tool call's `_meta`
6
+ * bag. This is not part of the protocol and is injected by the agent adapter
7
+ * (e.g. `copilotEventMapper`).
8
+ */
9
+ export declare function getToolKind(tc: ToolCallState | ICompletedToolCall): ToolKind | undefined;
@@ -5,10 +5,10 @@ type Implementation = MCP.Implementation;
5
5
  type RequestId = MCP.RequestId;
6
6
  type Tool = MCP.Tool;
7
7
  export declare namespace McpApps {
8
- type AppRequest = MCP.CallToolRequest | MCP.ReadResourceRequest | MCP.PingRequest | (McpUiOpenLinkRequest & MCP.JSONRPCRequest) | (McpUiDownloadFileRequest & MCP.JSONRPCRequest) | (McpUiUpdateModelContextRequest & MCP.JSONRPCRequest) | (McpUiMessageRequest & MCP.JSONRPCRequest) | (McpUiRequestDisplayModeRequest & MCP.JSONRPCRequest) | (McpApps.McpUiInitializeRequest & MCP.JSONRPCRequest);
8
+ type AppRequest = MCP.CallToolRequest | MCP.ReadResourceRequest | MCP.CreateMessageRequest | MCP.PingRequest | (McpUiOpenLinkRequest & MCP.JSONRPCRequest) | (McpUiDownloadFileRequest & MCP.JSONRPCRequest) | (McpUiUpdateModelContextRequest & MCP.JSONRPCRequest) | (McpUiMessageRequest & MCP.JSONRPCRequest) | (McpUiRequestDisplayModeRequest & MCP.JSONRPCRequest) | (McpApps.McpUiInitializeRequest & MCP.JSONRPCRequest);
9
9
  type AppNotification = McpUiInitializedNotification | McpUiSizeChangedNotification | MCP.LoggingMessageNotification | CustomSandboxWheelNotification;
10
10
  type AppMessage = AppRequest | AppNotification;
11
- type HostResult = MCP.CallToolResult | MCP.ReadResourceResult | MCP.EmptyResult | McpApps.McpUiInitializeResult | McpUiMessageResult | McpUiOpenLinkResult | McpUiDownloadFileResult | McpUiRequestDisplayModeResult;
11
+ type HostResult = MCP.CallToolResult | MCP.ReadResourceResult | MCP.CreateMessageResult | MCP.EmptyResult | McpApps.McpUiInitializeResult | McpUiMessageResult | McpUiOpenLinkResult | McpUiDownloadFileResult | McpUiRequestDisplayModeResult;
12
12
  type HostNotification = McpUiHostContextChangedNotification | McpUiResourceTeardownRequest | McpUiToolInputNotification | McpUiToolInputPartialNotification | McpUiToolResultNotification | McpUiToolCancelledNotification | McpUiSizeChangedNotification;
13
13
  type HostMessage = HostResult | HostNotification;
14
14
  /** Custom notification used for bubbling up sandbox wheel events. */