@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
@@ -26,7 +26,7 @@ const getToolConfirmationAlert = (accessor, toolInvocation) => {
26
26
  if (state.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
27
27
  const detail = isToolResultInputOutputDetails(state.resultDetails) ? state.resultDetails.input : isToolResultOutputDetails(state.resultDetails) ? undefined : toolContentToA11yString(state.contentForModel);
28
28
  return {
29
- title: ( localize(4828, "Approve results of tool")),
29
+ title: ( localize(5024, "Approve results of tool")),
30
30
  detail: detail
31
31
  };
32
32
  }
@@ -43,7 +43,7 @@ const getToolConfirmationAlert = (accessor, toolInvocation) => {
43
43
  } else if (v.toolSpecificData.kind === "input") {
44
44
  input = JSON.stringify(v.toolSpecificData.rawInput);
45
45
  } else if (v.toolSpecificData.kind === "modifiedFilesConfirmation") {
46
- input = ( localize(4829, "{0} files", v.toolSpecificData.modifiedFiles.length));
46
+ input = ( localize(5025, "{0} files", v.toolSpecificData.modifiedFiles.length));
47
47
  }
48
48
  }
49
49
  const titleObj = state.confirmationMessages?.title;
@@ -54,18 +54,18 @@ const getToolConfirmationAlert = (accessor, toolInvocation) => {
54
54
  };
55
55
  })).filter(isDefined);
56
56
  let message = acceptKb && cancelKb ? ( localize(
57
- 4830,
57
+ 5026,
58
58
  "Chat confirmation required: {0}. Press {1} to accept or {2} to cancel.",
59
59
  ( text.map(t => t.title)).join(", "),
60
60
  acceptKb,
61
61
  cancelKb
62
62
  )) : ( localize(
63
- 4831,
63
+ 5027,
64
64
  "Chat confirmation required: {0}",
65
65
  ( text.map(t => t.title)).join(", ")
66
66
  ));
67
67
  if (( text.some(t => t.detail))) {
68
- message += " " + ( localize(4832, "Details: {0}", ( text.map(t => t.detail ? t.detail : "")).join(" ")));
68
+ message += " " + ( localize(5028, "Details: {0}", ( text.map(t => t.detail ? t.detail : "")).join(" ")));
69
69
  }
70
70
  return message;
71
71
  };
@@ -81,7 +81,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
81
81
  return "listitem";
82
82
  }
83
83
  getWidgetAriaLabel() {
84
- return localize(4833, "Chat");
84
+ return localize(5029, "Chat");
85
85
  }
86
86
  getAriaLabel(element) {
87
87
  if (isRequestVM(element)) {
@@ -112,10 +112,10 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
112
112
  case 0:
113
113
  break;
114
114
  case 1:
115
- tableCountHint = ( localize(4834, "1 table "));
115
+ tableCountHint = ( localize(5030, "1 table "));
116
116
  break;
117
117
  default:
118
- tableCountHint = ( localize(4835, "{0} tables ", tableCount));
118
+ tableCountHint = ( localize(5031, "{0} tables ", tableCount));
119
119
  break;
120
120
  }
121
121
  const fileTreeCount = element.response.value.filter(v => v.kind === "treeData").length ?? 0;
@@ -124,10 +124,10 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
124
124
  case 0:
125
125
  break;
126
126
  case 1:
127
- fileTreeCountHint = ( localize(4836, "1 file tree "));
127
+ fileTreeCountHint = ( localize(5032, "1 file tree "));
128
128
  break;
129
129
  default:
130
- fileTreeCountHint = ( localize(4837, "{0} file trees ", fileTreeCount));
130
+ fileTreeCountHint = ( localize(5033, "{0} file trees ", fileTreeCount));
131
131
  break;
132
132
  }
133
133
  const elicitationCount = element.response.value.filter(v => v.kind === "elicitation2" || v.kind === "elicitationSerialized");
@@ -141,7 +141,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
141
141
  switch (codeBlockCount) {
142
142
  case 0:
143
143
  label = accessibleViewHint ? ( localize(
144
- 4838,
144
+ 5034,
145
145
  "{0}{1}{2}{3}{4} {5}",
146
146
  toolInvocationHint,
147
147
  fileTreeCountHint,
@@ -150,7 +150,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
150
150
  (element.response.toString()),
151
151
  accessibleViewHint
152
152
  )) : ( localize(
153
- 4839,
153
+ 5035,
154
154
  "{0}{1}{2} {3}",
155
155
  fileTreeCountHint,
156
156
  elicitationHint,
@@ -160,7 +160,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
160
160
  break;
161
161
  case 1:
162
162
  label = accessibleViewHint ? ( localize(
163
- 4840,
163
+ 5036,
164
164
  "{0}{1}{2}1 code block: {3} {4}{5}",
165
165
  toolInvocationHint,
166
166
  fileTreeCountHint,
@@ -169,7 +169,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
169
169
  (element.response.toString()),
170
170
  accessibleViewHint
171
171
  )) : ( localize(
172
- 4841,
172
+ 5037,
173
173
  "{0}{1}1 code block: {2} {3}",
174
174
  fileTreeCountHint,
175
175
  elicitationHint,
@@ -179,7 +179,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
179
179
  break;
180
180
  default:
181
181
  label = accessibleViewHint ? ( localize(
182
- 4842,
182
+ 5038,
183
183
  "{0}{1}{2}{3} code blocks: {4}{5} {6}",
184
184
  toolInvocationHint,
185
185
  fileTreeCountHint,
@@ -189,7 +189,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
189
189
  (element.response.toString()),
190
190
  accessibleViewHint
191
191
  )) : ( localize(
192
- 4843,
192
+ 5039,
193
193
  "{0}{1}{2} code blocks: {3} {4}",
194
194
  fileTreeCountHint,
195
195
  elicitationHint,
@@ -15,6 +15,7 @@ import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/wor
15
15
  import { ISCMService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service";
16
16
  import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
17
17
  import { IChatWidget } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
18
+ import { IChatRequestPasteVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
18
19
  export declare enum ActionLocation {
19
20
  ChatWidget = "chatWidget",
20
21
  Editor = "editor"
@@ -41,6 +42,34 @@ export declare class ChatContinueInSessionActionItem extends ActionWidgetDropdow
41
42
  private static toSetupAction;
42
43
  protected renderLabel(element: HTMLElement): IDisposable | null;
43
44
  }
45
+ /**
46
+ * Minimal shape of a chat request needed to build a delegation transcript.
47
+ * Kept structural so {@link buildDelegationTranscript} can be unit-tested
48
+ * without constructing a full chat model.
49
+ */
50
+ export interface IDelegationTranscriptRequest {
51
+ readonly message: {
52
+ readonly text: string;
53
+ };
54
+ readonly response?: {
55
+ readonly response?: {
56
+ getMarkdown(): string;
57
+ };
58
+ };
59
+ }
60
+ /**
61
+ * Builds a plain-text transcript of a prior conversation for handing off
62
+ * (delegating) to another session type. The transcript is truncated to the
63
+ * most recent {@link maxLength} characters to avoid exceeding the target
64
+ * model's token limits.
65
+ */
66
+ export declare function buildDelegationTranscript(requests: readonly IDelegationTranscriptRequest[], maxLength?: number): string;
67
+ /**
68
+ * Wraps a conversation transcript as a paste attachment so it can be passed via
69
+ * `attachedContext` to a delegated session, keeping the user's prompt clean.
70
+ * Returns `undefined` when the transcript is empty.
71
+ */
72
+ export declare function createDelegationTranscriptAttachment(transcript: string, sourceName: string): IChatRequestPasteVariableEntry | undefined;
44
73
  export declare class CreateRemoteAgentJobAction {
45
74
  constructor();
46
75
  private openUntitledEditor;
@@ -8,6 +8,7 @@ import { isAbsolute } from '@codingame/monaco-vscode-api/vscode/vs/base/common/p
8
8
  import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
9
9
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
10
10
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
11
+ import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
11
12
  import { isITextModel } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
12
13
  import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
13
14
  import { ActionWidgetDropdownActionViewItem } from '../../../../../platform/actions/browser/actionWidgetDropdownActionViewItem.js';
@@ -33,7 +34,7 @@ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/c
33
34
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
34
35
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
35
36
  import { PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
36
- import { AgentSessionProviders, getAgentSessionProviderName, getAgentSessionProviderIcon, getAgentSessionProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
37
+ import { AgentSessionProviders, getAgentSessionProviderName, getAgentSessionProviderIcon, getAgentSessionProvider, CHAT_DELEGATE_TO_AGENT_HOST_SESSION_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
37
38
  import { ISCMService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service';
38
39
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
39
40
  import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
@@ -41,8 +42,10 @@ import { isIChatViewViewContext } from '@codingame/monaco-vscode-api/vscode/vs/w
41
42
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
42
43
  import { ctxHasEditorModification } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
43
44
  import { CHAT_SETUP_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
44
- import { toPromptFileVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
45
+ import { toPasteVariableEntry, toPromptFileVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
45
46
  import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
47
+ import { openChatSession, ChatSessionPosition } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution';
48
+ import { isAgentHostTarget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
46
49
 
47
50
  var ChatContinueInSessionActionItem_1;
48
51
  function extractNwoFromRemoteUrl(remoteUrl) {
@@ -92,8 +95,8 @@ class ContinueChatInSessionAction extends Action2 {
92
95
  constructor() {
93
96
  super({
94
97
  id: ContinueChatInSessionAction.ID,
95
- title: ( localize2(5023, "Continue Chat in...")),
96
- tooltip: ( localize(5023, "Continue Chat in...")),
98
+ title: ( localize2(5226, "Continue Chat in...")),
99
+ tooltip: ( localize(5226, "Continue Chat in...")),
97
100
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.requestInProgress.negate()), ( ChatContextKeys.remoteJobCreating.negate()), ChatContextKeys.hasCanDelegateProviders)),
98
101
  menu: [{
99
102
  id: MenuId.ChatExecute,
@@ -145,8 +148,8 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
145
148
  const learnMoreUrl = "https://aka.ms/vscode-continue-chat-in";
146
149
  return [{
147
150
  id: "workbench.action.chat.continueChatInSession.learnMore",
148
- label: ( localize(5024, "Learn More")),
149
- tooltip: ( localize(5024, "Learn More")),
151
+ label: ( localize(5227, "Learn More")),
152
+ tooltip: ( localize(5227, "Learn More")),
150
153
  class: undefined,
151
154
  enabled: true,
152
155
  run: async () => {
@@ -194,6 +197,11 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
194
197
  hasGitRepo
195
198
  ));
196
199
  }
200
+ for (const contrib of contributions) {
201
+ if (contrib.canDelegate && isAgentHostTarget(contrib.type)) {
202
+ actions.push(this.toAction(contrib.type, contrib, instantiationService, location));
203
+ }
204
+ }
197
205
  if (actions.length === 0) {
198
206
  actions.push(this.toSetupAction(AgentSessionProviders.Background, instantiationService));
199
207
  actions.push(this.toSetupAction(AgentSessionProviders.Cloud, instantiationService));
@@ -203,16 +211,18 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
203
211
  };
204
212
  }
205
213
  static toAction(provider, contrib, instantiationService, location, enabled = true) {
214
+ const providerName = getAgentSessionProviderName(provider);
215
+ const label = providerName === provider ? (contrib.displayName ?? providerName) : providerName;
206
216
  return {
207
217
  id: contrib.type,
208
218
  enabled,
209
219
  icon: getAgentSessionProviderIcon(provider),
210
220
  class: undefined,
211
221
  description: `@${contrib.name}`,
212
- label: getAgentSessionProviderName(provider),
213
- tooltip: ( localize(5025, "Continue in {0}", getAgentSessionProviderName(provider))),
222
+ label,
223
+ tooltip: ( localize(5228, "Continue in {0}", label)),
214
224
  category: {
215
- label: ( localize(5026, "Continue In")),
225
+ label: ( localize(5229, "Continue In")),
216
226
  order: 0,
217
227
  showHeader: true
218
228
  },
@@ -231,9 +241,9 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
231
241
  icon: getAgentSessionProviderIcon(provider),
232
242
  class: undefined,
233
243
  label: getAgentSessionProviderName(provider),
234
- tooltip: ( localize(5025, "Continue in {0}", getAgentSessionProviderName(provider))),
244
+ tooltip: ( localize(5228, "Continue in {0}", getAgentSessionProviderName(provider))),
235
245
  category: {
236
- label: ( localize(5026, "Continue In")),
246
+ label: ( localize(5229, "Continue In")),
237
247
  order: 0,
238
248
  showHeader: true
239
249
  },
@@ -247,7 +257,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
247
257
  if (this.location === ActionLocation.Editor) {
248
258
  const view = h("span.action-widget-delegate-label", [h("span", {
249
259
  className: ThemeIcon.asClassName(Codicon.forward)
250
- }), h("span", [( localize(5027, "Continue in..."))])]);
260
+ }), h("span", [( localize(5230, "Continue in..."))])]);
251
261
  element.appendChild(view.root);
252
262
  return null;
253
263
  } else {
@@ -259,6 +269,37 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
259
269
  };
260
270
  ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = ( __decorate([( __param(2, IActionWidgetService)), ( __param(3, IContextKeyService)), ( __param(4, IKeybindingService)), ( __param(5, IChatSessionsService)), ( __param(6, IInstantiationService)), ( __param(7, IOpenerService)), ( __param(8, ITelemetryService)), ( __param(9, ISCMService)), ( __param(10, IWorkspaceContextService))], ChatContinueInSessionActionItem));
261
271
  const NEW_CHAT_SESSION_ACTION_ID = "workbench.action.chat.openNewSessionEditor";
272
+ const MAX_DELEGATION_TRANSCRIPT_LENGTH = 20_000;
273
+ function buildDelegationTranscript(requests, maxLength = MAX_DELEGATION_TRANSCRIPT_LENGTH) {
274
+ let transcript = ( requests.map(req => {
275
+ const userMsg = `User: ${req.message.text}`;
276
+ const respMsg = req.response?.response ? `Assistant: ${req.response.response.getMarkdown()}` : "";
277
+ return respMsg ? `${userMsg}\n${respMsg}` : userMsg;
278
+ })).join("\n\n");
279
+ if (transcript.length > maxLength) {
280
+ transcript = transcript.substring(transcript.length - maxLength);
281
+ }
282
+ return transcript;
283
+ }
284
+ function createDelegationTranscriptAttachment(transcript, sourceName) {
285
+ if (!transcript) {
286
+ return undefined;
287
+ }
288
+ const transcriptName = ( localize(5231, "Previous conversation"));
289
+ const transcriptContent = ( localize(
290
+ 5232,
291
+ "The following is the conversation history from a previous {0} session. Continue working on it.\n\n{1}",
292
+ sourceName,
293
+ transcript
294
+ ));
295
+ return toPasteVariableEntry(transcriptName, transcriptContent, {
296
+ id: `chat-delegation-transcript-${generateUuid()}`,
297
+ icon: Codicon.history,
298
+ language: "markdown",
299
+ pastedLines: transcriptName,
300
+ fileName: transcriptName
301
+ });
302
+ }
262
303
  class CreateRemoteAgentJobAction {
263
304
  constructor() {}
264
305
  openUntitledEditor(commandService, continuationTarget) {
@@ -348,6 +389,7 @@ class CreateRemoteAgentJobAction {
348
389
  const agentSessionsService = accessor.get(IAgentSessionsService);
349
390
  const chatSessionsService = accessor.get(IChatSessionsService);
350
391
  const fileService = accessor.get(IFileService);
392
+ const instantiationService = accessor.get(IInstantiationService);
351
393
  const remoteJobCreatingKey = ChatContextKeys.remoteJobCreating.bindTo(contextKeyService);
352
394
  try {
353
395
  remoteJobCreatingKey.set(true);
@@ -394,20 +436,33 @@ class CreateRemoteAgentJobAction {
394
436
  }
395
437
  const continuationTargetType = continuationTarget.type;
396
438
  const isSessionsWindow = IsSessionsWindowContext.getValue(contextKeyService);
397
- const sourceProvider = getAgentSessionProvider(sessionResource);
398
- if (isSessionsWindow && sourceProvider && sourceProvider !== continuationTargetType) {
439
+ const sourceSessionType = getAgentSessionProvider(sessionResource) ?? getChatSessionType(sessionResource);
440
+ const handoffToNewSession = isSessionsWindow || isAgentHostTarget(continuationTargetType) || (!!sourceSessionType && isAgentHostTarget(sourceSessionType));
441
+ if (handoffToNewSession && sourceSessionType && sourceSessionType !== continuationTargetType) {
399
442
  const isSidebar = isIChatViewViewContext(widget.viewContext);
400
- const actionId = isSidebar ? `workbench.action.chat.openNewSessionSidebar.${continuationTargetType}` : `${NEW_CHAT_SESSION_ACTION_ID}.${continuationTargetType}`;
401
- const maxTranscriptLength = 20_000;
402
- let transcript = ( chatRequests.map(req => {
403
- const userMsg = `User: ${req.message.text}`;
404
- const respMsg = req.response?.response ? `Assistant: ${req.response.response.getMarkdown()}` : "";
405
- return respMsg ? `${userMsg}\n${respMsg}` : userMsg;
406
- })).join("\n\n");
407
- if (transcript.length > maxTranscriptLength) {
408
- transcript = transcript.substring(transcript.length - maxTranscriptLength);
443
+ const transcript = buildDelegationTranscript(chatRequests);
444
+ const sourceContribution = chatSessionsService.getAllChatSessionContributions().find(
445
+ c => c.type === sourceSessionType || getAgentSessionProvider(c.type) === sourceSessionType
446
+ );
447
+ const sourceName = sourceContribution?.displayName ?? getAgentSessionProviderName(sourceSessionType);
448
+ const continuationContext = attachedContext.asArray();
449
+ let handoffPrompt = userPrompt;
450
+ if (transcript) {
451
+ if (isAgentHostTarget(continuationTargetType)) {
452
+ const transcriptAttachment = createDelegationTranscriptAttachment(transcript, sourceName);
453
+ if (transcriptAttachment) {
454
+ continuationContext.unshift(transcriptAttachment);
455
+ }
456
+ } else {
457
+ handoffPrompt = ( localize(
458
+ 5233,
459
+ "The following is the conversation history from a previous {0} session. Continue working on it.\n\n{1}\n\nUser: {2}",
460
+ sourceName,
461
+ transcript,
462
+ userPrompt
463
+ ));
464
+ }
409
465
  }
410
- const delegationPrompt = transcript ? `The following is the conversation history from a previous ${getAgentSessionProviderName(sourceProvider)} session. Continue working on it.\n\n${transcript}\n\nUser: ${userPrompt}` : userPrompt;
411
466
  const initialSessionOptions = ( new Map());
412
467
  const repoNwo = await this.extractRepoNwoFromSession(
413
468
  agentSessionsService,
@@ -419,15 +474,37 @@ class CreateRemoteAgentJobAction {
419
474
  if (repoNwo) {
420
475
  initialSessionOptions.set("repositories", repoNwo);
421
476
  }
477
+ if (isAgentHostTarget(continuationTargetType)) {
478
+ if (isSessionsWindow) {
479
+ const delegationRequest = {
480
+ type: continuationTargetType,
481
+ displayName: continuationTarget.displayName,
482
+ prompt: handoffPrompt,
483
+ attachedContext: continuationContext
484
+ };
485
+ await commandService.executeCommand(CHAT_DELEGATE_TO_AGENT_HOST_SESSION_COMMAND_ID, delegationRequest);
486
+ } else {
487
+ await instantiationService.invokeFunction(innerAccessor => openChatSession(innerAccessor, {
488
+ type: continuationTargetType,
489
+ displayName: continuationTarget.displayName,
490
+ position: isSidebar ? ChatSessionPosition.Sidebar : ChatSessionPosition.Editor
491
+ }, {
492
+ prompt: handoffPrompt,
493
+ attachedContext: continuationContext,
494
+ initialSessionOptions: initialSessionOptions.size > 0 ? initialSessionOptions : undefined
495
+ }));
496
+ }
497
+ return;
498
+ }
499
+ const actionId = isSidebar ? `workbench.action.chat.openNewSessionSidebar.${continuationTargetType}` : `${NEW_CHAT_SESSION_ACTION_ID}.${continuationTargetType}`;
422
500
  await commandService.executeCommand(actionId, {
423
- prompt: delegationPrompt,
424
- attachedContext: attachedContext.asArray(),
501
+ prompt: handoffPrompt,
502
+ attachedContext: continuationContext,
425
503
  initialSessionOptions: initialSessionOptions.size > 0 ? initialSessionOptions : undefined
426
504
  });
427
505
  return;
428
506
  }
429
507
  const defaultAgent = chatAgentService.getDefaultAgent(ChatAgentLocation.Chat);
430
- const instantiationService = accessor.get(IInstantiationService);
431
508
  const requestParser = instantiationService.createInstance(ChatRequestParser);
432
509
  const context = {
433
510
  sessionType: getChatSessionType(sessionResource)
@@ -509,4 +586,4 @@ class CreateRemoteAgentJobFromEditorAction {
509
586
  }
510
587
  });
511
588
 
512
- export { ActionLocation, ChatContinueInSessionActionItem, ContinueChatInSessionAction, CreateRemoteAgentJobAction };
589
+ export { ActionLocation, ChatContinueInSessionActionItem, ContinueChatInSessionAction, CreateRemoteAgentJobAction, buildDelegationTranscript, createDelegationTranscriptAttachment };
@@ -15,7 +15,7 @@ class AcceptElicitationRequestAction extends Action2 {
15
15
  constructor() {
16
16
  super({
17
17
  id: AcceptElicitationRequestActionId,
18
- title: ( localize2(5043, "Accept Request")),
18
+ title: ( localize2(5249, "Accept Request")),
19
19
  f1: false,
20
20
  category: CHAT_CATEGORY,
21
21
  keybinding: {
@@ -3,13 +3,14 @@ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
3
  import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions";
4
4
  import { Action2 } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions";
5
5
  import { ChatModeKind } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
6
- import { IChatWidget } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
6
+ import { type IChatAcceptInputOptions, IChatWidget } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
7
7
  export interface IVoiceChatExecuteActionContext {
8
8
  readonly disableTimeout?: boolean;
9
9
  }
10
10
  export interface IChatExecuteActionContext {
11
11
  widget?: IChatWidget;
12
12
  inputValue?: string;
13
+ acceptInputOptions?: IChatAcceptInputOptions;
13
14
  voice?: IVoiceChatExecuteActionContext;
14
15
  }
15
16
  declare abstract class SubmitAction extends Action2 {
@@ -55,6 +56,19 @@ export declare class OpenWorkspacePickerAction extends Action2 {
55
56
  constructor();
56
57
  run(accessor: ServicesAccessor, ...args: unknown[]): Promise<void>;
57
58
  }
59
+ /**
60
+ * Workspace picker chip for the automations dialog. Sits between the mode
61
+ * picker (order 1) and the model picker (order 3) in the primary chat input
62
+ * toolbar. Visible only when the hosting `ChatInputPart` was constructed with
63
+ * a `workspacePickerInput` and the dialog has set
64
+ * {@link ChatContextKeys.inAutomationsDialog} on its scoped context-key
65
+ * service.
66
+ */
67
+ export declare class OpenAutomationsWorkspacePickerAction extends Action2 {
68
+ static readonly ID = "workbench.action.chat.openAutomationsWorkspacePicker";
69
+ constructor();
70
+ run(accessor: ServicesAccessor, ...args: unknown[]): Promise<void>;
71
+ }
58
72
  export declare class ChatSessionPrimaryPickerAction extends Action2 {
59
73
  static readonly ID = "workbench.action.chat.chatSessionPrimaryPicker";
60
74
  constructor();