@codingame/monaco-vscode-katex-common 26.2.2 → 28.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 (230) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +10 -4
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +37 -11
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +3 -0
  5. package/vscode/src/vs/platform/actions/browser/buttonbar.js +15 -4
  6. package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +576 -0
  7. package/vscode/src/vs/{workbench/contrib → platform}/mcp/common/modelContextProtocolApps.js +1 -0
  8. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +5 -0
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +176 -17
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +5 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +127 -64
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +1 -0
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -11
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +26 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +106 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +9 -9
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +14 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +105 -29
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +13 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +69 -43
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +2 -2
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +35 -7
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +187 -78
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +138 -32
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -6
  28. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +394 -87
  29. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +28 -13
  31. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +38 -19
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +113 -116
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +16 -15
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -2
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +5 -5
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +1 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +2 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +30 -11
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +250 -132
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
  43. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +1 -16
  44. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -110
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.d.ts +1 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.d.ts +1 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +3 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +9 -4
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +2 -4
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +7 -10
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.d.ts +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +4 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +22 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +3 -2
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +11 -3
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.d.ts +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.d.ts +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +59 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.js +29 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.d.ts +0 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +0 -6
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.d.ts +1 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +4 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +6 -3
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.d.ts +1 -1
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.d.ts +1 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +3 -2
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +7 -6
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +0 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -27
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +4 -1
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +53 -20
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.d.ts +15 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.js +55 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.d.ts +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -7
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +1 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +3 -2
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +24 -10
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +4 -4
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -6
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +62 -7
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +414 -129
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +4 -3
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +19 -12
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.d.ts +22 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +263 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +14 -5
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +98 -26
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.d.ts +1 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +1 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.d.ts +1 -1
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +11 -2
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +252 -80
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +29 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +246 -8
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +4 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +39 -18
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +6 -4
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +36 -23
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +3 -13
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +6 -260
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.d.ts +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.d.ts +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +5 -7
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +42 -37
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +12 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +65 -18
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +9 -6
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +356 -415
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +14 -7
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +102 -7
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +68 -19
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/codeBlockPart.css +48 -15
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +5 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +47 -23
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.d.ts +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +1 -2
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +0 -5
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +8 -1
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +57 -4
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +5 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +24 -8
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.d.ts +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +18 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +103 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -1
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -18
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +44 -1
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +85 -89
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +3 -5
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +15 -17
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +4 -2
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +41 -2
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +1 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +6 -5
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.d.ts +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +13 -1
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.d.ts +1 -1
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +2 -1
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +21 -5
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +341 -88
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +13 -4
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +35 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +440 -0
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +24 -10
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +437 -241
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +77 -17
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +521 -284
  176. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +7 -1
  178. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +71 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +664 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +104 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +127 -0
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +12 -1
  183. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +57 -16
  184. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +4 -7
  185. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +89 -49
  186. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +1 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +28 -0
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +87 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +22 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +213 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +1 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +15 -17
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +7 -4
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +563 -140
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +35 -26
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +2 -2
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +26 -23
  198. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +26 -6
  199. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +145 -79
  200. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +36 -50
  201. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +35 -15
  202. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +7 -0
  203. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +127 -30
  204. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
  205. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +20 -14
  206. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +6 -6
  207. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +96 -34
  208. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +11 -2
  209. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +68 -27
  210. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +5 -0
  211. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +125 -13
  212. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +8 -11
  213. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +54 -45
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +11 -10
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +172 -112
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +2 -44
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +28 -4
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +84 -3
  221. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +9 -2
  222. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +58 -41
  223. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  224. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +1 -548
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  227. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +6 -10
  230. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +0 -187
@@ -25,7 +25,7 @@ const getToolConfirmationAlert = (accessor, toolInvocation) => {
25
25
  if (state.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
26
26
  const detail = isToolResultInputOutputDetails(state.resultDetails) ? state.resultDetails.input : isToolResultOutputDetails(state.resultDetails) ? undefined : toolContentToA11yString(state.contentForModel);
27
27
  return {
28
- title: ( localize(4583, "Approve results of tool")),
28
+ title: ( localize(4675, "Approve results of tool")),
29
29
  detail: detail
30
30
  };
31
31
  }
@@ -51,18 +51,18 @@ const getToolConfirmationAlert = (accessor, toolInvocation) => {
51
51
  };
52
52
  })).filter(isDefined);
53
53
  let message = acceptKb && cancelKb ? ( localize(
54
- 4584,
54
+ 4676,
55
55
  "Chat confirmation required: {0}. Press {1} to accept or {2} to cancel.",
56
56
  ( text.map(t => t.title)).join(", "),
57
57
  acceptKb,
58
58
  cancelKb
59
59
  )) : ( localize(
60
- 4585,
60
+ 4677,
61
61
  "Chat confirmation required: {0}",
62
62
  ( text.map(t => t.title)).join(", ")
63
63
  ));
64
64
  if (( text.some(t => t.detail))) {
65
- message += " " + ( localize(4586, "Details: {0}", ( text.map(t => t.detail ? t.detail : "")).join(" ")));
65
+ message += " " + ( localize(4678, "Details: {0}", ( text.map(t => t.detail ? t.detail : "")).join(" ")));
66
66
  }
67
67
  return message;
68
68
  };
@@ -78,7 +78,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
78
78
  return "listitem";
79
79
  }
80
80
  getWidgetAriaLabel() {
81
- return localize(4587, "Chat");
81
+ return localize(4679, "Chat");
82
82
  }
83
83
  getAriaLabel(element) {
84
84
  if (isRequestVM(element)) {
@@ -109,10 +109,10 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
109
109
  case 0:
110
110
  break;
111
111
  case 1:
112
- tableCountHint = ( localize(4588, "1 table "));
112
+ tableCountHint = ( localize(4680, "1 table "));
113
113
  break;
114
114
  default:
115
- tableCountHint = ( localize(4589, "{0} tables ", tableCount));
115
+ tableCountHint = ( localize(4681, "{0} tables ", tableCount));
116
116
  break;
117
117
  }
118
118
  const fileTreeCount = element.response.value.filter(v => v.kind === "treeData").length ?? 0;
@@ -121,10 +121,10 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
121
121
  case 0:
122
122
  break;
123
123
  case 1:
124
- fileTreeCountHint = ( localize(4590, "1 file tree "));
124
+ fileTreeCountHint = ( localize(4682, "1 file tree "));
125
125
  break;
126
126
  default:
127
- fileTreeCountHint = ( localize(4591, "{0} file trees ", fileTreeCount));
127
+ fileTreeCountHint = ( localize(4683, "{0} file trees ", fileTreeCount));
128
128
  break;
129
129
  }
130
130
  const elicitationCount = element.response.value.filter(v => v.kind === "elicitation2" || v.kind === "elicitationSerialized");
@@ -138,7 +138,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
138
138
  switch (codeBlockCount) {
139
139
  case 0:
140
140
  label = accessibleViewHint ? ( localize(
141
- 4592,
141
+ 4684,
142
142
  "{0}{1}{2}{3}{4} {5}",
143
143
  toolInvocationHint,
144
144
  fileTreeCountHint,
@@ -147,7 +147,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
147
147
  (element.response.toString()),
148
148
  accessibleViewHint
149
149
  )) : ( localize(
150
- 4593,
150
+ 4685,
151
151
  "{0}{1}{2} {3}",
152
152
  fileTreeCountHint,
153
153
  elicitationHint,
@@ -157,7 +157,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
157
157
  break;
158
158
  case 1:
159
159
  label = accessibleViewHint ? ( localize(
160
- 4594,
160
+ 4686,
161
161
  "{0}{1}{2}1 code block: {3} {4}{5}",
162
162
  toolInvocationHint,
163
163
  fileTreeCountHint,
@@ -166,7 +166,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
166
166
  (element.response.toString()),
167
167
  accessibleViewHint
168
168
  )) : ( localize(
169
- 4595,
169
+ 4687,
170
170
  "{0}{1}1 code block: {2} {3}",
171
171
  fileTreeCountHint,
172
172
  elicitationHint,
@@ -176,7 +176,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
176
176
  break;
177
177
  default:
178
178
  label = accessibleViewHint ? ( localize(
179
- 4596,
179
+ 4688,
180
180
  "{0}{1}{2}{3} code blocks: {4}{5} {6}",
181
181
  toolInvocationHint,
182
182
  fileTreeCountHint,
@@ -186,7 +186,7 @@ let ChatAccessibilityProvider = class ChatAccessibilityProvider {
186
186
  (element.response.toString()),
187
187
  accessibleViewHint
188
188
  )) : ( localize(
189
- 4597,
189
+ 4689,
190
190
  "{0}{1}{2} code blocks: {3} {4}",
191
191
  fileTreeCountHint,
192
192
  elicitationHint,
@@ -42,6 +42,11 @@ export declare class ChatContinueInSessionActionItem extends ActionWidgetDropdow
42
42
  export declare class CreateRemoteAgentJobAction {
43
43
  constructor();
44
44
  private openUntitledEditor;
45
+ /**
46
+ * Extracts the GitHub "owner/repo" NWO from the source session by checking
47
+ * multiple data sources: chat model repoData, session metadata, and session options.
48
+ */
49
+ private extractRepoNwoFromSession;
45
50
  run(accessor: ServicesAccessor, continuationTarget: IChatSessionsExtensionPoint, _widget?: IChatWidget): Promise<void>;
46
51
  }
47
52
  export declare class ContinueChatInSessionActionRendering extends Disposable implements IWorkbenchContribution {
@@ -4,6 +4,7 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
4
4
  import { h } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
5
  import { Disposable, markAsSingleton } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
6
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
7
+ import { isAbsolute } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
7
8
  import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
8
9
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
9
10
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
@@ -19,24 +20,63 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
19
20
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
20
21
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
21
22
  import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
22
- import { ResourceContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
23
+ import { ResourceContextKey, IsSessionsWindowContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
23
24
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
25
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
24
26
  import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
25
27
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
26
28
  import { chatEditingWidgetFileStateContextKey, ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService';
27
29
  import { ChatRequestParser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatRequestParser';
30
+ import { getDynamicVariablesForWidget, getSelectedToolAndToolSetsForWidget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatVariables';
28
31
  import { ChatSendResult } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
29
32
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
30
33
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
31
34
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
32
35
  import { PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
33
- import { AgentSessionProviders, getAgentSessionProviderName, getAgentSessionProviderIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
36
+ import { AgentSessionProviders, getAgentSessionProviderName, getAgentSessionProviderIcon, getAgentSessionProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
37
+ import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
38
+ import { isIChatViewViewContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
34
39
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
35
40
  import { ctxHasEditorModification } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
36
41
  import { CHAT_SETUP_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
37
42
  import { toPromptFileVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
38
43
 
39
44
  var ChatContinueInSessionActionItem_1;
45
+ function extractNwoFromRemoteUrl(remoteUrl) {
46
+ const match = remoteUrl.match(/(?:github\.com)[/:](?<owner>[^/]+)\/(?<repo>[^/.]+)/);
47
+ if (match?.groups) {
48
+ return `${match.groups.owner}/${match.groups.repo}`;
49
+ }
50
+ return undefined;
51
+ }
52
+ async function resolveGitRemoteNwo(repoPath, fileService) {
53
+ try {
54
+ const gitPath = `${repoPath}/.git`;
55
+ const gitUri = URI.file(gitPath);
56
+ let configUri;
57
+ try {
58
+ const stat = await fileService.stat(gitUri);
59
+ if (stat.isDirectory) {
60
+ configUri = URI.file(`${gitPath}/config`);
61
+ } else {
62
+ const gitFile = await fileService.readFile(gitUri);
63
+ const gitDir = ( gitFile.value.toString()).trim().replace(/^gitdir:\s*/, "");
64
+ const resolvedGitDir = gitDir.startsWith("/") ? gitDir : `${repoPath}/${gitDir}`;
65
+ const commonDir = resolvedGitDir.replace(/\/worktrees\/[^/]+$/, "");
66
+ configUri = URI.file(`${commonDir}/config`);
67
+ }
68
+ } catch {
69
+ return undefined;
70
+ }
71
+ const content = await fileService.readFile(configUri);
72
+ const configText = ( content.value.toString());
73
+ const remoteMatch = configText.match(/\[remote\s+"origin"\][^[]*url\s*=\s*(.+)/m);
74
+ if (remoteMatch?.[1]) {
75
+ return extractNwoFromRemoteUrl(remoteMatch[1].trim());
76
+ }
77
+ } catch {}
78
+ return undefined;
79
+ }
40
80
  var ActionLocation;
41
81
  (function(ActionLocation) {
42
82
  ActionLocation["ChatWidget"] = "chatWidget";
@@ -49,8 +89,8 @@ class ContinueChatInSessionAction extends Action2 {
49
89
  constructor() {
50
90
  super({
51
91
  id: ContinueChatInSessionAction.ID,
52
- title: ( localize2(4735, "Continue Chat in...")),
53
- tooltip: ( localize(4735, "Continue Chat in...")),
92
+ title: ( localize2(4863, "Continue Chat in...")),
93
+ tooltip: ( localize(4863, "Continue Chat in...")),
54
94
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.requestInProgress.negate()), ( ChatContextKeys.remoteJobCreating.negate()), ChatContextKeys.hasCanDelegateProviders)),
55
95
  menu: [{
56
96
  id: MenuId.ChatExecute,
@@ -82,6 +122,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
82
122
  actionProvider: ChatContinueInSessionActionItem_1.actionProvider(chatSessionsService, instantiationService, location),
83
123
  actionBarActions: ChatContinueInSessionActionItem_1.getActionBarActions(openerService),
84
124
  reporter: {
125
+ id: "ChatContinueInSession",
85
126
  name: "ChatContinueInSession",
86
127
  includeOptions: true
87
128
  }
@@ -93,8 +134,8 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
93
134
  const learnMoreUrl = "https://aka.ms/vscode-continue-chat-in";
94
135
  return [{
95
136
  id: "workbench.action.chat.continueChatInSession.learnMore",
96
- label: ( localize(4736, "Learn More")),
97
- tooltip: ( localize(4736, "Learn More")),
137
+ label: ( localize(4864, "Learn More")),
138
+ tooltip: ( localize(4864, "Learn More")),
98
139
  class: undefined,
99
140
  enabled: true,
100
141
  run: async () => {
@@ -108,7 +149,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
108
149
  const actions = [];
109
150
  const contributions = chatSessionsService.getAllChatSessionContributions();
110
151
  const backgroundContrib = contributions.find(contrib => contrib.type === AgentSessionProviders.Background);
111
- if (backgroundContrib && backgroundContrib.canDelegate !== false) {
152
+ if (backgroundContrib && backgroundContrib.canDelegate) {
112
153
  actions.push(this.toAction(
113
154
  AgentSessionProviders.Background,
114
155
  backgroundContrib,
@@ -117,7 +158,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
117
158
  ));
118
159
  }
119
160
  const cloudContrib = contributions.find(contrib => contrib.type === AgentSessionProviders.Cloud);
120
- if (cloudContrib && cloudContrib.canDelegate !== false) {
161
+ if (cloudContrib && cloudContrib.canDelegate) {
121
162
  actions.push(
122
163
  this.toAction(AgentSessionProviders.Cloud, cloudContrib, instantiationService, location)
123
164
  );
@@ -138,9 +179,9 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
138
179
  class: undefined,
139
180
  description: `@${contrib.name}`,
140
181
  label: getAgentSessionProviderName(provider),
141
- tooltip: ( localize(4737, "Continue in {0}", getAgentSessionProviderName(provider))),
182
+ tooltip: ( localize(4865, "Continue in {0}", getAgentSessionProviderName(provider))),
142
183
  category: {
143
- label: ( localize(4738, "Continue In")),
184
+ label: ( localize(4866, "Continue In")),
144
185
  order: 0,
145
186
  showHeader: true
146
187
  },
@@ -159,9 +200,9 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
159
200
  icon: getAgentSessionProviderIcon(provider),
160
201
  class: undefined,
161
202
  label: getAgentSessionProviderName(provider),
162
- tooltip: ( localize(4737, "Continue in {0}", getAgentSessionProviderName(provider))),
203
+ tooltip: ( localize(4865, "Continue in {0}", getAgentSessionProviderName(provider))),
163
204
  category: {
164
- label: ( localize(4738, "Continue In")),
205
+ label: ( localize(4866, "Continue In")),
165
206
  order: 0,
166
207
  showHeader: true
167
208
  },
@@ -175,7 +216,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
175
216
  if (this.location === ActionLocation.Editor) {
176
217
  const view = h("span.action-widget-delegate-label", [h("span", {
177
218
  className: ThemeIcon.asClassName(Codicon.forward)
178
- }), h("span", [( localize(4739, "Continue in..."))])]);
219
+ }), h("span", [( localize(4867, "Continue in..."))])]);
179
220
  element.appendChild(view.root);
180
221
  return null;
181
222
  } else {
@@ -192,6 +233,80 @@ class CreateRemoteAgentJobAction {
192
233
  openUntitledEditor(commandService, continuationTarget) {
193
234
  commandService.executeCommand(`${NEW_CHAT_SESSION_ACTION_ID}.${continuationTarget.type}`);
194
235
  }
236
+ async extractRepoNwoFromSession(
237
+ agentSessionsService,
238
+ chatSessionsService,
239
+ fileService,
240
+ sessionResource,
241
+ chatModel
242
+ ) {
243
+ const repoData = chatModel.repoData;
244
+ if (repoData?.remoteUrl) {
245
+ const nwo = extractNwoFromRemoteUrl(repoData.remoteUrl);
246
+ if (nwo) {
247
+ return nwo;
248
+ }
249
+ }
250
+ const agentSession = agentSessionsService.getSession(sessionResource);
251
+ if (agentSession?.metadata) {
252
+ const metadata = agentSession.metadata;
253
+ const owner = metadata.owner;
254
+ const name = metadata.name;
255
+ if (owner && name) {
256
+ return `${owner}/${name}`;
257
+ }
258
+ const repositoryNwo = metadata.repositoryNwo;
259
+ if (repositoryNwo?.includes("/")) {
260
+ return repositoryNwo;
261
+ }
262
+ const repositoryUrl = metadata.repositoryUrl;
263
+ if (repositoryUrl) {
264
+ const nwo = extractNwoFromRemoteUrl(repositoryUrl);
265
+ if (nwo) {
266
+ return nwo;
267
+ }
268
+ }
269
+ const workingDir = (metadata.workingDirectoryPath ?? metadata.repositoryPath ?? metadata.worktreePath);
270
+ if (workingDir) {
271
+ const nwo = await resolveGitRemoteNwo(workingDir, fileService);
272
+ if (nwo) {
273
+ return nwo;
274
+ }
275
+ }
276
+ }
277
+ for (const optionId of ["repositories", "repository"]) {
278
+ const repoOption = chatSessionsService.getSessionOption(sessionResource, optionId);
279
+ if (repoOption) {
280
+ const optionValue = typeof repoOption === "string" ? repoOption : repoOption.id;
281
+ if (optionValue) {
282
+ const segments = optionValue.split("/").filter(Boolean);
283
+ if (segments.length === 2) {
284
+ return optionValue;
285
+ }
286
+ const nwo = extractNwoFromRemoteUrl(optionValue);
287
+ if (nwo) {
288
+ return nwo;
289
+ }
290
+ try {
291
+ const uri = ( URI.parse(optionValue));
292
+ if (uri.authority === "github") {
293
+ const parts = uri.path.split("/").filter(Boolean);
294
+ if (parts.length >= 2) {
295
+ return `${parts[0]}/${parts[1]}`;
296
+ }
297
+ }
298
+ } catch {}
299
+ if (isAbsolute(optionValue)) {
300
+ const nwoFromGit = await resolveGitRemoteNwo(optionValue, fileService);
301
+ if (nwoFromGit) {
302
+ return nwoFromGit;
303
+ }
304
+ }
305
+ }
306
+ }
307
+ }
308
+ return undefined;
309
+ }
195
310
  async run(accessor, continuationTarget, _widget) {
196
311
  const contextKeyService = accessor.get(IContextKeyService);
197
312
  const commandService = accessor.get(ICommandService);
@@ -199,6 +314,9 @@ class CreateRemoteAgentJobAction {
199
314
  const chatAgentService = accessor.get(IChatAgentService);
200
315
  const chatService = accessor.get(IChatService);
201
316
  const editorService = accessor.get(IEditorService);
317
+ const agentSessionsService = accessor.get(IAgentSessionsService);
318
+ const chatSessionsService = accessor.get(IChatSessionsService);
319
+ const fileService = accessor.get(IFileService);
202
320
  const remoteJobCreatingKey = ChatContextKeys.remoteJobCreating.bindTo(contextKeyService);
203
321
  try {
204
322
  remoteJobCreatingKey.set(true);
@@ -219,7 +337,7 @@ class CreateRemoteAgentJobAction {
219
337
  }
220
338
  userPrompt = "implement this.";
221
339
  }
222
- const attachedContext = widget.input.getAttachedAndImplicitContext(sessionResource);
340
+ const attachedContext = widget.input.getAttachedAndImplicitContext();
223
341
  widget.input.acceptInput(true);
224
342
  if (widget.location === ChatAgentLocation.EditorInline) {
225
343
  const activeEditor = editorService.activeTextEditorControl;
@@ -243,11 +361,52 @@ class CreateRemoteAgentJobAction {
243
361
  }
244
362
  }
245
363
  }
364
+ const continuationTargetType = continuationTarget.type;
365
+ const isSessionsWindow = IsSessionsWindowContext.getValue(contextKeyService);
366
+ const sourceProvider = getAgentSessionProvider(sessionResource);
367
+ if (isSessionsWindow && sourceProvider && sourceProvider !== continuationTargetType) {
368
+ const isSidebar = isIChatViewViewContext(widget.viewContext);
369
+ const actionId = isSidebar ? `workbench.action.chat.openNewSessionSidebar.${continuationTargetType}` : `${NEW_CHAT_SESSION_ACTION_ID}.${continuationTargetType}`;
370
+ const maxTranscriptLength = 20_000;
371
+ let transcript = ( chatRequests.map(req => {
372
+ const userMsg = `User: ${req.message.text}`;
373
+ const respMsg = req.response?.response ? `Assistant: ${req.response.response.getMarkdown()}` : "";
374
+ return respMsg ? `${userMsg}\n${respMsg}` : userMsg;
375
+ })).join("\n\n");
376
+ if (transcript.length > maxTranscriptLength) {
377
+ transcript = transcript.substring(transcript.length - maxTranscriptLength);
378
+ }
379
+ 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;
380
+ const initialSessionOptions = [];
381
+ const repoNwo = await this.extractRepoNwoFromSession(
382
+ agentSessionsService,
383
+ chatSessionsService,
384
+ fileService,
385
+ sessionResource,
386
+ chatModel
387
+ );
388
+ if (repoNwo) {
389
+ initialSessionOptions.push({
390
+ optionId: "repositories",
391
+ value: repoNwo
392
+ });
393
+ }
394
+ await commandService.executeCommand(actionId, {
395
+ prompt: delegationPrompt,
396
+ attachedContext: attachedContext.asArray(),
397
+ initialSessionOptions: initialSessionOptions.length > 0 ? initialSessionOptions : undefined
398
+ });
399
+ return;
400
+ }
246
401
  const defaultAgent = chatAgentService.getDefaultAgent(ChatAgentLocation.Chat);
247
402
  const instantiationService = accessor.get(IInstantiationService);
248
403
  const requestParser = instantiationService.createInstance(ChatRequestParser);
249
- const continuationTargetType = continuationTarget.type;
250
- const parsedRequest = requestParser.parseChatRequest(sessionResource, userPrompt, ChatAgentLocation.Chat);
404
+ const parsedRequest = requestParser.parseChatRequestWithReferences(
405
+ getDynamicVariablesForWidget(widget),
406
+ getSelectedToolAndToolSetsForWidget(widget),
407
+ userPrompt,
408
+ ChatAgentLocation.Chat
409
+ );
251
410
  const addedRequest = chatModel.addRequest(parsedRequest, {
252
411
  variables: attachedContext.asArray()
253
412
  }, 0, undefined, defaultAgent);
@@ -262,7 +421,7 @@ class CreateRemoteAgentJobAction {
262
421
  await widget.handleDelegationExitIfNeeded(defaultAgent, sendResult.data.agent);
263
422
  }
264
423
  } catch (e) {
265
- console.error("Error creating remote coding agent job", e);
424
+ console.error("[Delegation] Error creating remote coding agent job", e);
266
425
  throw e;
267
426
  } finally {
268
427
  remoteJobCreatingKey.set(false);
@@ -15,7 +15,7 @@ class AcceptElicitationRequestAction extends Action2 {
15
15
  constructor() {
16
16
  super({
17
17
  id: AcceptElicitationRequestActionId,
18
- title: ( localize2(4778, "Accept Request")),
18
+ title: ( localize2(4875, "Accept Request")),
19
19
  f1: false,
20
20
  category: CHAT_CATEGORY,
21
21
  keybinding: {
@@ -29,6 +29,11 @@ export declare class OpenModelPickerAction extends Action2 {
29
29
  constructor();
30
30
  run(accessor: ServicesAccessor, ...args: unknown[]): Promise<void>;
31
31
  }
32
+ export declare class OpenPermissionPickerAction extends Action2 {
33
+ static readonly ID = "workbench.action.chat.openPermissionPicker";
34
+ constructor();
35
+ run(accessor: ServicesAccessor): Promise<void>;
36
+ }
32
37
  export declare class OpenModePickerAction extends Action2 {
33
38
  static readonly ID = "workbench.action.chat.openModePicker";
34
39
  constructor();