@codingame/monaco-vscode-katex-common 26.2.2 → 27.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 (183) 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 +35 -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 +548 -0
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +5 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +168 -15
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +67 -51
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +1 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -11
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +9 -9
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +8 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +42 -19
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +12 -1
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +63 -40
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +7 -5
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +77 -73
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +69 -32
  23. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -6
  24. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +381 -83
  25. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +28 -13
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +38 -19
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +109 -113
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +16 -15
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -2
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +2 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +28 -9
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +226 -123
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
  37. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -4
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +3 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +9 -4
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +1 -3
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +7 -10
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +3 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +22 -4
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +2 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +11 -3
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.d.ts +0 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +0 -6
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +3 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +6 -3
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +2 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +5 -4
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +0 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -27
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +3 -0
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +51 -20
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -7
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +2 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +20 -8
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +3 -3
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -6
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +36 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +166 -45
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +3 -2
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +16 -11
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +14 -5
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +98 -26
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +1 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +10 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +241 -78
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +29 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +252 -8
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +4 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +39 -18
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +5 -3
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +36 -23
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +5 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +5 -7
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +42 -37
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +12 -3
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +48 -18
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +9 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +351 -422
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +14 -7
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +102 -7
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +69 -19
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/codeBlockPart.css +48 -15
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +4 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +47 -23
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +0 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +0 -5
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +2 -2
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +7 -7
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +18 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +103 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -18
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +1 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +61 -66
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +7 -9
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +3 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +41 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +6 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +13 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +2 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +17 -3
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +310 -79
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +13 -4
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +35 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +441 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +24 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +392 -86
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +52 -6
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +271 -187
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +68 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +668 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +12 -1
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +57 -16
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +2 -6
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +78 -45
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +1 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +28 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +86 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +9 -5
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +4 -3
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +393 -134
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +36 -17
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +2 -2
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +20 -13
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +25 -6
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +141 -79
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +18 -13
  155. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +7 -0
  156. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +108 -27
  157. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
  158. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +20 -14
  159. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +4 -6
  160. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +74 -32
  161. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +11 -2
  162. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +68 -27
  163. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +5 -0
  164. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +125 -13
  165. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +8 -11
  166. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +54 -45
  167. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +11 -10
  168. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +172 -112
  169. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  170. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  171. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +0 -42
  172. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +27 -3
  173. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +83 -2
  174. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +8 -1
  175. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +58 -33
  176. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  177. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +1 -548
  178. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  179. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  180. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  181. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +0 -187
  183. /package/vscode/src/vs/{workbench/contrib → platform}/mcp/common/modelContextProtocolApps.js +0 -0
@@ -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,8 +20,9 @@ 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';
@@ -30,13 +32,50 @@ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/c
30
32
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
31
33
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
32
34
  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';
35
+ import { AgentSessionProviders, getAgentSessionProviderName, getAgentSessionProviderIcon, getAgentSessionProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
36
+ import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
37
+ import { isIChatViewViewContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
34
38
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
35
39
  import { ctxHasEditorModification } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
36
40
  import { CHAT_SETUP_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
37
41
  import { toPromptFileVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
38
42
 
39
43
  var ChatContinueInSessionActionItem_1;
44
+ function extractNwoFromRemoteUrl(remoteUrl) {
45
+ const match = remoteUrl.match(/(?:github\.com)[/:](?<owner>[^/]+)\/(?<repo>[^/.]+)/);
46
+ if (match?.groups) {
47
+ return `${match.groups.owner}/${match.groups.repo}`;
48
+ }
49
+ return undefined;
50
+ }
51
+ async function resolveGitRemoteNwo(repoPath, fileService) {
52
+ try {
53
+ const gitPath = `${repoPath}/.git`;
54
+ const gitUri = URI.file(gitPath);
55
+ let configUri;
56
+ try {
57
+ const stat = await fileService.stat(gitUri);
58
+ if (stat.isDirectory) {
59
+ configUri = URI.file(`${gitPath}/config`);
60
+ } else {
61
+ const gitFile = await fileService.readFile(gitUri);
62
+ const gitDir = ( gitFile.value.toString()).trim().replace(/^gitdir:\s*/, "");
63
+ const resolvedGitDir = gitDir.startsWith("/") ? gitDir : `${repoPath}/${gitDir}`;
64
+ const commonDir = resolvedGitDir.replace(/\/worktrees\/[^/]+$/, "");
65
+ configUri = URI.file(`${commonDir}/config`);
66
+ }
67
+ } catch {
68
+ return undefined;
69
+ }
70
+ const content = await fileService.readFile(configUri);
71
+ const configText = ( content.value.toString());
72
+ const remoteMatch = configText.match(/\[remote\s+"origin"\][^[]*url\s*=\s*(.+)/m);
73
+ if (remoteMatch?.[1]) {
74
+ return extractNwoFromRemoteUrl(remoteMatch[1].trim());
75
+ }
76
+ } catch {}
77
+ return undefined;
78
+ }
40
79
  var ActionLocation;
41
80
  (function(ActionLocation) {
42
81
  ActionLocation["ChatWidget"] = "chatWidget";
@@ -49,8 +88,8 @@ class ContinueChatInSessionAction extends Action2 {
49
88
  constructor() {
50
89
  super({
51
90
  id: ContinueChatInSessionAction.ID,
52
- title: ( localize2(4735, "Continue Chat in...")),
53
- tooltip: ( localize(4735, "Continue Chat in...")),
91
+ title: ( localize2(4855, "Continue Chat in...")),
92
+ tooltip: ( localize(4855, "Continue Chat in...")),
54
93
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.requestInProgress.negate()), ( ChatContextKeys.remoteJobCreating.negate()), ChatContextKeys.hasCanDelegateProviders)),
55
94
  menu: [{
56
95
  id: MenuId.ChatExecute,
@@ -82,6 +121,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
82
121
  actionProvider: ChatContinueInSessionActionItem_1.actionProvider(chatSessionsService, instantiationService, location),
83
122
  actionBarActions: ChatContinueInSessionActionItem_1.getActionBarActions(openerService),
84
123
  reporter: {
124
+ id: "ChatContinueInSession",
85
125
  name: "ChatContinueInSession",
86
126
  includeOptions: true
87
127
  }
@@ -93,8 +133,8 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
93
133
  const learnMoreUrl = "https://aka.ms/vscode-continue-chat-in";
94
134
  return [{
95
135
  id: "workbench.action.chat.continueChatInSession.learnMore",
96
- label: ( localize(4736, "Learn More")),
97
- tooltip: ( localize(4736, "Learn More")),
136
+ label: ( localize(4856, "Learn More")),
137
+ tooltip: ( localize(4856, "Learn More")),
98
138
  class: undefined,
99
139
  enabled: true,
100
140
  run: async () => {
@@ -108,7 +148,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
108
148
  const actions = [];
109
149
  const contributions = chatSessionsService.getAllChatSessionContributions();
110
150
  const backgroundContrib = contributions.find(contrib => contrib.type === AgentSessionProviders.Background);
111
- if (backgroundContrib && backgroundContrib.canDelegate !== false) {
151
+ if (backgroundContrib && backgroundContrib.canDelegate) {
112
152
  actions.push(this.toAction(
113
153
  AgentSessionProviders.Background,
114
154
  backgroundContrib,
@@ -117,7 +157,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
117
157
  ));
118
158
  }
119
159
  const cloudContrib = contributions.find(contrib => contrib.type === AgentSessionProviders.Cloud);
120
- if (cloudContrib && cloudContrib.canDelegate !== false) {
160
+ if (cloudContrib && cloudContrib.canDelegate) {
121
161
  actions.push(
122
162
  this.toAction(AgentSessionProviders.Cloud, cloudContrib, instantiationService, location)
123
163
  );
@@ -138,9 +178,9 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
138
178
  class: undefined,
139
179
  description: `@${contrib.name}`,
140
180
  label: getAgentSessionProviderName(provider),
141
- tooltip: ( localize(4737, "Continue in {0}", getAgentSessionProviderName(provider))),
181
+ tooltip: ( localize(4857, "Continue in {0}", getAgentSessionProviderName(provider))),
142
182
  category: {
143
- label: ( localize(4738, "Continue In")),
183
+ label: ( localize(4858, "Continue In")),
144
184
  order: 0,
145
185
  showHeader: true
146
186
  },
@@ -159,9 +199,9 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
159
199
  icon: getAgentSessionProviderIcon(provider),
160
200
  class: undefined,
161
201
  label: getAgentSessionProviderName(provider),
162
- tooltip: ( localize(4737, "Continue in {0}", getAgentSessionProviderName(provider))),
202
+ tooltip: ( localize(4857, "Continue in {0}", getAgentSessionProviderName(provider))),
163
203
  category: {
164
- label: ( localize(4738, "Continue In")),
204
+ label: ( localize(4858, "Continue In")),
165
205
  order: 0,
166
206
  showHeader: true
167
207
  },
@@ -175,7 +215,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
175
215
  if (this.location === ActionLocation.Editor) {
176
216
  const view = h("span.action-widget-delegate-label", [h("span", {
177
217
  className: ThemeIcon.asClassName(Codicon.forward)
178
- }), h("span", [( localize(4739, "Continue in..."))])]);
218
+ }), h("span", [( localize(4859, "Continue in..."))])]);
179
219
  element.appendChild(view.root);
180
220
  return null;
181
221
  } else {
@@ -192,6 +232,80 @@ class CreateRemoteAgentJobAction {
192
232
  openUntitledEditor(commandService, continuationTarget) {
193
233
  commandService.executeCommand(`${NEW_CHAT_SESSION_ACTION_ID}.${continuationTarget.type}`);
194
234
  }
235
+ async extractRepoNwoFromSession(
236
+ agentSessionsService,
237
+ chatSessionsService,
238
+ fileService,
239
+ sessionResource,
240
+ chatModel
241
+ ) {
242
+ const repoData = chatModel.repoData;
243
+ if (repoData?.remoteUrl) {
244
+ const nwo = extractNwoFromRemoteUrl(repoData.remoteUrl);
245
+ if (nwo) {
246
+ return nwo;
247
+ }
248
+ }
249
+ const agentSession = agentSessionsService.getSession(sessionResource);
250
+ if (agentSession?.metadata) {
251
+ const metadata = agentSession.metadata;
252
+ const owner = metadata.owner;
253
+ const name = metadata.name;
254
+ if (owner && name) {
255
+ return `${owner}/${name}`;
256
+ }
257
+ const repositoryNwo = metadata.repositoryNwo;
258
+ if (repositoryNwo?.includes("/")) {
259
+ return repositoryNwo;
260
+ }
261
+ const repositoryUrl = metadata.repositoryUrl;
262
+ if (repositoryUrl) {
263
+ const nwo = extractNwoFromRemoteUrl(repositoryUrl);
264
+ if (nwo) {
265
+ return nwo;
266
+ }
267
+ }
268
+ const workingDir = (metadata.workingDirectoryPath ?? metadata.repositoryPath ?? metadata.worktreePath);
269
+ if (workingDir) {
270
+ const nwo = await resolveGitRemoteNwo(workingDir, fileService);
271
+ if (nwo) {
272
+ return nwo;
273
+ }
274
+ }
275
+ }
276
+ for (const optionId of ["repositories", "repository"]) {
277
+ const repoOption = chatSessionsService.getSessionOption(sessionResource, optionId);
278
+ if (repoOption) {
279
+ const optionValue = typeof repoOption === "string" ? repoOption : repoOption.id;
280
+ if (optionValue) {
281
+ const segments = optionValue.split("/").filter(Boolean);
282
+ if (segments.length === 2) {
283
+ return optionValue;
284
+ }
285
+ const nwo = extractNwoFromRemoteUrl(optionValue);
286
+ if (nwo) {
287
+ return nwo;
288
+ }
289
+ try {
290
+ const uri = ( URI.parse(optionValue));
291
+ if (uri.authority === "github") {
292
+ const parts = uri.path.split("/").filter(Boolean);
293
+ if (parts.length >= 2) {
294
+ return `${parts[0]}/${parts[1]}`;
295
+ }
296
+ }
297
+ } catch {}
298
+ if (isAbsolute(optionValue)) {
299
+ const nwoFromGit = await resolveGitRemoteNwo(optionValue, fileService);
300
+ if (nwoFromGit) {
301
+ return nwoFromGit;
302
+ }
303
+ }
304
+ }
305
+ }
306
+ }
307
+ return undefined;
308
+ }
195
309
  async run(accessor, continuationTarget, _widget) {
196
310
  const contextKeyService = accessor.get(IContextKeyService);
197
311
  const commandService = accessor.get(ICommandService);
@@ -199,6 +313,9 @@ class CreateRemoteAgentJobAction {
199
313
  const chatAgentService = accessor.get(IChatAgentService);
200
314
  const chatService = accessor.get(IChatService);
201
315
  const editorService = accessor.get(IEditorService);
316
+ const agentSessionsService = accessor.get(IAgentSessionsService);
317
+ const chatSessionsService = accessor.get(IChatSessionsService);
318
+ const fileService = accessor.get(IFileService);
202
319
  const remoteJobCreatingKey = ChatContextKeys.remoteJobCreating.bindTo(contextKeyService);
203
320
  try {
204
321
  remoteJobCreatingKey.set(true);
@@ -243,10 +360,46 @@ class CreateRemoteAgentJobAction {
243
360
  }
244
361
  }
245
362
  }
363
+ const continuationTargetType = continuationTarget.type;
364
+ const isSessionsWindow = IsSessionsWindowContext.getValue(contextKeyService);
365
+ const sourceProvider = getAgentSessionProvider(sessionResource);
366
+ if (isSessionsWindow && sourceProvider && sourceProvider !== continuationTargetType) {
367
+ const isSidebar = isIChatViewViewContext(widget.viewContext);
368
+ const actionId = isSidebar ? `workbench.action.chat.openNewSessionSidebar.${continuationTargetType}` : `${NEW_CHAT_SESSION_ACTION_ID}.${continuationTargetType}`;
369
+ const maxTranscriptLength = 20_000;
370
+ let transcript = ( chatRequests.map(req => {
371
+ const userMsg = `User: ${req.message.text}`;
372
+ const respMsg = req.response?.response ? `Assistant: ${req.response.response.getMarkdown()}` : "";
373
+ return respMsg ? `${userMsg}\n${respMsg}` : userMsg;
374
+ })).join("\n\n");
375
+ if (transcript.length > maxTranscriptLength) {
376
+ transcript = transcript.substring(transcript.length - maxTranscriptLength);
377
+ }
378
+ 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;
379
+ const initialSessionOptions = [];
380
+ const repoNwo = await this.extractRepoNwoFromSession(
381
+ agentSessionsService,
382
+ chatSessionsService,
383
+ fileService,
384
+ sessionResource,
385
+ chatModel
386
+ );
387
+ if (repoNwo) {
388
+ initialSessionOptions.push({
389
+ optionId: "repositories",
390
+ value: repoNwo
391
+ });
392
+ }
393
+ await commandService.executeCommand(actionId, {
394
+ prompt: delegationPrompt,
395
+ attachedContext: attachedContext.asArray(),
396
+ initialSessionOptions: initialSessionOptions.length > 0 ? initialSessionOptions : undefined
397
+ });
398
+ return;
399
+ }
246
400
  const defaultAgent = chatAgentService.getDefaultAgent(ChatAgentLocation.Chat);
247
401
  const instantiationService = accessor.get(IInstantiationService);
248
402
  const requestParser = instantiationService.createInstance(ChatRequestParser);
249
- const continuationTargetType = continuationTarget.type;
250
403
  const parsedRequest = requestParser.parseChatRequest(sessionResource, userPrompt, ChatAgentLocation.Chat);
251
404
  const addedRequest = chatModel.addRequest(parsedRequest, {
252
405
  variables: attachedContext.asArray()
@@ -262,7 +415,7 @@ class CreateRemoteAgentJobAction {
262
415
  await widget.handleDelegationExitIfNeeded(defaultAgent, sendResult.data.agent);
263
416
  }
264
417
  } catch (e) {
265
- console.error("Error creating remote coding agent job", e);
418
+ console.error("[Delegation] Error creating remote coding agent job", e);
266
419
  throw e;
267
420
  } finally {
268
421
  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(4867, "Accept Request")),
19
19
  f1: false,
20
20
  category: CHAT_CATEGORY,
21
21
  keybinding: {