@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
@@ -0,0 +1,104 @@
1
+ import { ChatAgentLocation, ChatModeKind } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
2
+ import { ILanguageModelChatMetadataAndIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
3
+ /**
4
+ * Describes the context needed for model selection decisions.
5
+ */
6
+ export interface IModelSelectionContext {
7
+ readonly location: ChatAgentLocation;
8
+ readonly currentModeKind: ChatModeKind;
9
+ readonly isInlineChatV2Enabled: boolean;
10
+ readonly sessionType: string | undefined;
11
+ }
12
+ /**
13
+ * Filter models based on session type.
14
+ * When a session has a specific type (and it's not 'local'), only models targeting that
15
+ * session type are returned. Otherwise, general-purpose models are returned.
16
+ */
17
+ export declare function filterModelsForSession(models: ILanguageModelChatMetadataAndIdentifier[], sessionType: string | undefined, currentModeKind: ChatModeKind, location: ChatAgentLocation, isInlineChatV2Enabled: boolean): ILanguageModelChatMetadataAndIdentifier[];
18
+ /**
19
+ * Check if a model is suitable for the current chat mode (e.g., agent mode requires tool calling).
20
+ */
21
+ export declare function isModelSupportedForMode(model: ILanguageModelChatMetadataAndIdentifier, currentModeKind: ChatModeKind): boolean;
22
+ /**
23
+ * Check if a model is suitable for inline chat (editor inline) usage.
24
+ */
25
+ export declare function isModelSupportedForInlineChat(model: ILanguageModelChatMetadataAndIdentifier, location: ChatAgentLocation, isInlineChatV2Enabled: boolean): boolean;
26
+ /**
27
+ * Check if any models in the pool target a specific session type.
28
+ */
29
+ export declare function hasModelsTargetingSession(allModels: ILanguageModelChatMetadataAndIdentifier[], sessionType: string | undefined): boolean;
30
+ /**
31
+ * Check if a model is valid for the current session's model pool.
32
+ * If the session has targeted models, the model must target that session type.
33
+ * If no models target this session, the model must not be session-specific.
34
+ */
35
+ export declare function isModelValidForSession(model: ILanguageModelChatMetadataAndIdentifier, allModels: ILanguageModelChatMetadataAndIdentifier[], sessionType: string | undefined): boolean;
36
+ /**
37
+ * Find the default model for a given location from a list of models.
38
+ * Prefers the model marked as default for the location, falls back to the first model.
39
+ */
40
+ export declare function findDefaultModel(models: ILanguageModelChatMetadataAndIdentifier[], location: ChatAgentLocation): ILanguageModelChatMetadataAndIdentifier | undefined;
41
+ /**
42
+ * Determine whether a persisted model selection should be restored.
43
+ *
44
+ * A persisted model should be restored if:
45
+ * 1. The model still exists in the available models list
46
+ * 2. Either the model wasn't the default at the time it was persisted,
47
+ * OR it is currently the default for the location
48
+ *
49
+ * This prevents scenarios where a user's explicit model choice gets overridden
50
+ * when the default model changes, while still tracking default model changes
51
+ * for users who never explicitly chose a model.
52
+ */
53
+ export declare function shouldRestorePersistedModel(persistedModelId: string, persistedAsDefault: boolean, availableModels: ILanguageModelChatMetadataAndIdentifier[], location: ChatAgentLocation): {
54
+ shouldRestore: boolean;
55
+ model: ILanguageModelChatMetadataAndIdentifier | undefined;
56
+ };
57
+ /**
58
+ * Determines whether the current model should be reset because it is no longer
59
+ * compatible with the current mode, session, or availability.
60
+ *
61
+ * Returns true if the model should be reset to default.
62
+ */
63
+ export declare function shouldResetModelToDefault(currentModel: ILanguageModelChatMetadataAndIdentifier | undefined, availableModels: ILanguageModelChatMetadataAndIdentifier[], context: IModelSelectionContext, allModels: ILanguageModelChatMetadataAndIdentifier[]): boolean;
64
+ /**
65
+ * Determines whether a model from a sync state should be applied to the current view.
66
+ *
67
+ * Returns an action:
68
+ * - `'keep'` - the view already has the same model; no change needed.
69
+ * - `'apply'` - the state model is valid; the caller should switch to it.
70
+ * - `'default'` - the state model is incompatible (wrong session pool, unsupported
71
+ * mode, or missing inline-chat capability); the caller should fall
72
+ * back to the default model for the current location.
73
+ *
74
+ * @param context Optional because some callers (e.g. unit tests, or code paths
75
+ * that only care about session-pool validation) don't have a full UI context
76
+ * available. When omitted, mode and inline-chat checks are skipped and only
77
+ * session-pool membership is validated.
78
+ */
79
+ export declare function resolveModelFromSyncState(stateModel: ILanguageModelChatMetadataAndIdentifier, currentModel: ILanguageModelChatMetadataAndIdentifier | undefined, allModels: ILanguageModelChatMetadataAndIdentifier[], sessionType: string | undefined, context?: IModelSelectionContext): {
80
+ action: "keep" | "apply" | "default";
81
+ };
82
+ /**
83
+ * Merges live models with cached models per-vendor.
84
+ * For vendors whose models have resolved, uses live data.
85
+ * For vendors that are contributed but haven't resolved yet (startup race), keeps cached models.
86
+ * Vendors no longer contributed are evicted from cache.
87
+ */
88
+ export declare function mergeModelsWithCache(liveModels: ILanguageModelChatMetadataAndIdentifier[], cachedModels: ILanguageModelChatMetadataAndIdentifier[], contributedVendors: Set<string>): ILanguageModelChatMetadataAndIdentifier[];
89
+ /**
90
+ * Determines whether the currently selected model should be reset to default
91
+ * when the language model list changes.
92
+ *
93
+ * Returns true if the model should be reset to default (i.e., the selected model
94
+ * is no longer in the available models list).
95
+ */
96
+ export declare function shouldResetOnModelListChange(currentModelId: string | undefined, availableModels: ILanguageModelChatMetadataAndIdentifier[]): boolean;
97
+ /**
98
+ * Determines whether a late-arriving persisted model should be restored.
99
+ * This handles the startup race where the model wasn't available during
100
+ * `initSelectedModel` but arrives later via `onDidChangeLanguageModels`.
101
+ *
102
+ * The model must pass both the persisted-default check and the `isUserSelectable` check.
103
+ */
104
+ export declare function shouldRestoreLateArrivingModel(persistedModelId: string, persistedAsDefault: boolean, model: ILanguageModelChatMetadataAndIdentifier, location: ChatAgentLocation): boolean;
@@ -0,0 +1,127 @@
1
+
2
+ import { ChatModeKind, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
3
+ import { ILanguageModelChatMetadata } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
4
+
5
+ function filterModelsForSession(models, sessionType, currentModeKind, location, isInlineChatV2Enabled) {
6
+ if (sessionType && sessionType !== "local" && hasModelsTargetingSession(models, sessionType)) {
7
+ return models.filter(
8
+ entry => entry.metadata?.targetChatSessionType === sessionType && entry.metadata?.isUserSelectable
9
+ );
10
+ }
11
+ return models.filter(
12
+ entry => !entry.metadata?.targetChatSessionType && entry.metadata?.isUserSelectable && isModelSupportedForMode(entry, currentModeKind) && isModelSupportedForInlineChat(entry, location, isInlineChatV2Enabled)
13
+ );
14
+ }
15
+ function isModelSupportedForMode(model, currentModeKind) {
16
+ if (currentModeKind === ChatModeKind.Agent) {
17
+ return ILanguageModelChatMetadata.suitableForAgentMode(model.metadata);
18
+ }
19
+ return true;
20
+ }
21
+ function isModelSupportedForInlineChat(model, location, isInlineChatV2Enabled) {
22
+ if (location !== ChatAgentLocation.EditorInline || !isInlineChatV2Enabled) {
23
+ return true;
24
+ }
25
+ return !!model.metadata.capabilities?.toolCalling;
26
+ }
27
+ function hasModelsTargetingSession(allModels, sessionType) {
28
+ if (!sessionType) {
29
+ return false;
30
+ }
31
+ return ( allModels.some(m => m.metadata.targetChatSessionType === sessionType));
32
+ }
33
+ function isModelValidForSession(model, allModels, sessionType) {
34
+ if (hasModelsTargetingSession(allModels, sessionType)) {
35
+ return model.metadata.targetChatSessionType === sessionType;
36
+ }
37
+ return !model.metadata.targetChatSessionType;
38
+ }
39
+ function findDefaultModel(models, location) {
40
+ return models.find(m => m.metadata.isDefaultForLocation[location]) || models[0];
41
+ }
42
+ function shouldRestorePersistedModel(persistedModelId, persistedAsDefault, availableModels, location) {
43
+ const model = availableModels.find(m => m.identifier === persistedModelId);
44
+ if (!model) {
45
+ return {
46
+ shouldRestore: false,
47
+ model: undefined
48
+ };
49
+ }
50
+ if (!persistedAsDefault || model.metadata.isDefaultForLocation[location]) {
51
+ return {
52
+ shouldRestore: true,
53
+ model
54
+ };
55
+ }
56
+ return {
57
+ shouldRestore: false,
58
+ model
59
+ };
60
+ }
61
+ function shouldResetModelToDefault(currentModel, availableModels, context, allModels) {
62
+ if (!currentModel) {
63
+ return true;
64
+ }
65
+ if (!( availableModels.some(m => m.identifier === currentModel.identifier))) {
66
+ return true;
67
+ }
68
+ if (!isModelSupportedForMode(currentModel, context.currentModeKind)) {
69
+ return true;
70
+ }
71
+ if (!isModelSupportedForInlineChat(currentModel, context.location, context.isInlineChatV2Enabled)) {
72
+ return true;
73
+ }
74
+ if (!isModelValidForSession(currentModel, allModels, context.sessionType)) {
75
+ return true;
76
+ }
77
+ return false;
78
+ }
79
+ function resolveModelFromSyncState(stateModel, currentModel, allModels, sessionType, context) {
80
+ if (currentModel && currentModel.identifier === stateModel.identifier) {
81
+ return {
82
+ action: "keep"
83
+ };
84
+ }
85
+ if (!isModelValidForSession(stateModel, allModels, sessionType)) {
86
+ return {
87
+ action: "default"
88
+ };
89
+ }
90
+ if (context) {
91
+ if (!isModelSupportedForMode(stateModel, context.currentModeKind)) {
92
+ return {
93
+ action: "default"
94
+ };
95
+ }
96
+ if (!isModelSupportedForInlineChat(stateModel, context.location, context.isInlineChatV2Enabled)) {
97
+ return {
98
+ action: "default"
99
+ };
100
+ }
101
+ }
102
+ return {
103
+ action: "apply"
104
+ };
105
+ }
106
+ function mergeModelsWithCache(liveModels, cachedModels, contributedVendors) {
107
+ if (liveModels.length > 0) {
108
+ const liveVendors = ( new Set(( liveModels.map(m => m.metadata.vendor))));
109
+ return [...liveModels, ...cachedModels.filter(m => !( liveVendors.has(m.metadata.vendor)) && ( contributedVendors.has(m.metadata.vendor)))];
110
+ }
111
+ return cachedModels;
112
+ }
113
+ function shouldResetOnModelListChange(currentModelId, availableModels) {
114
+ if (!currentModelId) {
115
+ return true;
116
+ }
117
+ return !( availableModels.some(m => m.identifier === currentModelId));
118
+ }
119
+ function shouldRestoreLateArrivingModel(persistedModelId, persistedAsDefault, model, location) {
120
+ if (!model.metadata.isUserSelectable) {
121
+ return false;
122
+ }
123
+ const result = shouldRestorePersistedModel(persistedModelId, persistedAsDefault, [model], location);
124
+ return result.shouldRestore;
125
+ }
126
+
127
+ export { filterModelsForSession, findDefaultModel, hasModelsTargetingSession, isModelSupportedForInlineChat, isModelSupportedForMode, isModelValidForSession, mergeModelsWithCache, resolveModelFromSyncState, shouldResetModelToDefault, shouldResetOnModelListChange, shouldRestoreLateArrivingModel, shouldRestorePersistedModel };
@@ -1,12 +1,24 @@
1
1
  import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
2
+ import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
2
3
  import { IActionWidgetDropdownAction } from "../../../../../../platform/actionWidget/browser/actionWidgetDropdown.js";
4
+ import { MenuItemAction } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions";
5
+ import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
6
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
7
+ import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
8
+ import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
9
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
10
+ import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
3
11
  import { AgentSessionProviders } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions";
12
+ import { ISessionTypePickerDelegate } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
13
+ import { IChatInputPickerOptions } from "./chatInputPickerActionItem.js";
4
14
  import { ISessionTypeItem, SessionTypePickerActionItem } from "./sessionTargetPickerActionItem.js";
5
15
  /**
6
16
  * Action view item for delegating to a remote session (Background or Cloud).
7
17
  * This picker allows switching to remote execution providers when the session is not empty.
8
18
  */
9
19
  export declare class DelegationSessionPickerActionItem extends SessionTypePickerActionItem {
20
+ private readonly _isSessionsWindow;
21
+ constructor(action: MenuItemAction, chatSessionPosition: "sidebar" | "editor", delegate: ISessionTypePickerDelegate, pickerOptions: IChatInputPickerOptions, actionWidgetService: IActionWidgetService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatSessionsService: IChatSessionsService, commandService: ICommandService, openerService: IOpenerService, telemetryService: ITelemetryService);
10
22
  protected _run(sessionTypeItem: ISessionTypeItem): void;
11
23
  protected _getSelectedSessionType(): AgentSessionProviders | undefined;
12
24
  protected _isSessionTypeEnabled(type: AgentSessionProviders): boolean;
@@ -16,7 +28,6 @@ export declare class DelegationSessionPickerActionItem extends SessionTypePicker
16
28
  order: number;
17
29
  showHeader: boolean;
18
30
  };
19
- protected _getSessionDescription(sessionTypeItem: ISessionTypeItem): string | undefined;
20
31
  protected _getLearnMore(): IAction;
21
32
  protected _getAdditionalActions(): IActionWidgetDropdownAction[];
22
33
  }
@@ -1,12 +1,49 @@
1
1
 
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
2
3
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
3
4
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
4
5
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
+ import { IActionWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service';
7
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
8
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
9
+ import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
10
+ import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
11
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
12
+ import { IsSessionsWindowContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
13
+ import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
5
14
  import { ACTION_ID_NEW_CHAT } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
6
15
  import { getAgentSessionProvider, AgentSessionProviders, getAgentCanContinueIn, isFirstPartyAgentSessionProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
7
16
  import { SessionTypePickerActionItem } from './sessionTargetPickerActionItem.js';
8
17
 
9
- class DelegationSessionPickerActionItem extends SessionTypePickerActionItem {
18
+ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem extends SessionTypePickerActionItem {
19
+ constructor(
20
+ action,
21
+ chatSessionPosition,
22
+ delegate,
23
+ pickerOptions,
24
+ actionWidgetService,
25
+ keybindingService,
26
+ contextKeyService,
27
+ chatSessionsService,
28
+ commandService,
29
+ openerService,
30
+ telemetryService
31
+ ) {
32
+ super(
33
+ action,
34
+ chatSessionPosition,
35
+ delegate,
36
+ pickerOptions,
37
+ actionWidgetService,
38
+ keybindingService,
39
+ contextKeyService,
40
+ chatSessionsService,
41
+ commandService,
42
+ openerService,
43
+ telemetryService
44
+ );
45
+ this._isSessionsWindow = IsSessionsWindowContext.getValue(contextKeyService) === true;
46
+ }
10
47
  _run(sessionTypeItem) {
11
48
  if (this.delegate.setPendingDelegationTarget) {
12
49
  this.delegate.setPendingDelegationTarget(sessionTypeItem.type);
@@ -25,15 +62,22 @@ class DelegationSessionPickerActionItem extends SessionTypePickerActionItem {
25
62
  _isSessionTypeEnabled(type) {
26
63
  const allContributions = this.chatSessionsService.getAllChatSessionContributions();
27
64
  const contribution = allContributions.find(contribution => getAgentSessionProvider(contribution.type) === type);
28
- if (this.delegate.getActiveSessionProvider() !== AgentSessionProviders.Local) {
65
+ const activeProvider = this.delegate.getActiveSessionProvider();
66
+ if (!this._isSessionsWindow && activeProvider !== AgentSessionProviders.Local) {
29
67
  return false;
30
68
  }
31
- if (contribution && !contribution.canDelegate && this.delegate.getActiveSessionProvider() !== type ) {
69
+ if (this._isSessionsWindow && activeProvider !== AgentSessionProviders.Background) {
70
+ return false;
71
+ }
72
+ if (contribution && !contribution.canDelegate && activeProvider !== type ) {
32
73
  return false;
33
74
  }
34
75
  return this._getSelectedSessionType() !== type;
35
76
  }
36
77
  _isVisible(type) {
78
+ if (this._isSessionsWindow && type === AgentSessionProviders.Local) {
79
+ return false;
80
+ }
37
81
  if (this.delegate.getActiveSessionProvider() === type) {
38
82
  return true;
39
83
  }
@@ -42,29 +86,22 @@ class DelegationSessionPickerActionItem extends SessionTypePickerActionItem {
42
86
  _getSessionCategory(sessionTypeItem) {
43
87
  if (isFirstPartyAgentSessionProvider(sessionTypeItem.type)) {
44
88
  return {
45
- label: ( localize(6181, "Continue In")),
89
+ label: ( localize(6818, "Continue In")),
46
90
  order: 1,
47
91
  showHeader: true
48
92
  };
49
93
  }
50
94
  return {
51
- label: ( localize(6182, "Continue In (Third Party)")),
95
+ label: ( localize(6819, "Continue In (Third Party)")),
52
96
  order: 2,
53
97
  showHeader: false
54
98
  };
55
99
  }
56
- _getSessionDescription(sessionTypeItem) {
57
- const allContributions = this.chatSessionsService.getAllChatSessionContributions();
58
- const contribution = allContributions.find(
59
- contribution => getAgentSessionProvider(contribution.type) === sessionTypeItem.type
60
- );
61
- return contribution?.name ? `@${contribution.name}` : undefined;
62
- }
63
100
  _getLearnMore() {
64
101
  const learnMoreUrl = "https://aka.ms/vscode-continue-chat-in";
65
102
  return {
66
103
  id: "workbench.action.chat.agentOverview.learnMoreHandOff",
67
- label: ( localize(6183, "Learn about agent handoff...")),
104
+ label: ( localize(6820, "Learn about agent handoff...")),
68
105
  tooltip: learnMoreUrl,
69
106
  class: undefined,
70
107
  enabled: true,
@@ -74,10 +111,13 @@ class DelegationSessionPickerActionItem extends SessionTypePickerActionItem {
74
111
  };
75
112
  }
76
113
  _getAdditionalActions() {
114
+ if (this._isSessionsWindow) {
115
+ return [];
116
+ }
77
117
  return [{
78
118
  id: "newChatSession",
79
119
  class: undefined,
80
- label: ( localize(6184, "New Chat Session")),
120
+ label: ( localize(6821, "New Chat Session")),
81
121
  tooltip: "",
82
122
  hover: {
83
123
  content: "",
@@ -87,7 +127,7 @@ class DelegationSessionPickerActionItem extends SessionTypePickerActionItem {
87
127
  icon: Codicon.plus,
88
128
  enabled: true,
89
129
  category: {
90
- label: ( localize(6185, "New Chat Session")),
130
+ label: ( localize(6822, "New Chat Session")),
91
131
  order: 0,
92
132
  showHeader: false
93
133
  },
@@ -97,6 +137,7 @@ class DelegationSessionPickerActionItem extends SessionTypePickerActionItem {
97
137
  }
98
138
  }];
99
139
  }
100
- }
140
+ };
141
+ DelegationSessionPickerActionItem = ( __decorate([( __param(4, IActionWidgetService)), ( __param(5, IKeybindingService)), ( __param(6, IContextKeyService)), ( __param(7, IChatSessionsService)), ( __param(8, ICommandService)), ( __param(9, IOpenerService)), ( __param(10, ITelemetryService))], DelegationSessionPickerActionItem));
101
142
 
102
143
  export { DelegationSessionPickerActionItem };
@@ -13,9 +13,10 @@ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platfo
13
13
  import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service";
14
14
  import { IChatMode } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes";
15
15
  import { IChatModeService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service";
16
- import { Target } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
16
+ import { Target } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
17
17
  import { ChatInputPickerActionViewItem, IChatInputPickerOptions } from "./chatInputPickerActionItem.js";
18
18
  import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
19
+ import { IWorkbenchAssignmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service";
19
20
  export interface IModePickerDelegate {
20
21
  readonly currentMode: IObservable<IChatMode>;
21
22
  readonly sessionResource: () => URI | undefined;
@@ -30,12 +31,8 @@ export declare class ModePickerActionItem extends ChatInputPickerActionViewItem
30
31
  private readonly contextKeyService;
31
32
  private readonly menuService;
32
33
  private readonly _productService;
33
- constructor(action: MenuItemAction, delegate: IModePickerDelegate, pickerOptions: IChatInputPickerOptions, actionWidgetService: IActionWidgetService, chatAgentService: IChatAgentService, keybindingService: IKeybindingService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, chatModeService: IChatModeService, menuService: IMenuService, commandService: ICommandService, _productService: IProductService, telemetryService: ITelemetryService, openerService: IOpenerService);
34
+ constructor(action: MenuItemAction, delegate: IModePickerDelegate, pickerOptions: IChatInputPickerOptions, actionWidgetService: IActionWidgetService, chatAgentService: IChatAgentService, keybindingService: IKeybindingService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, chatModeService: IChatModeService, menuService: IMenuService, commandService: ICommandService, _productService: IProductService, telemetryService: ITelemetryService, openerService: IOpenerService, assignmentService: IWorkbenchAssignmentService);
34
35
  private getModePickerActionBarActions;
36
+ render(container: HTMLElement): void;
35
37
  protected renderLabel(element: HTMLElement): IDisposable | null;
36
38
  }
37
- /**
38
- * Returns true if the mode is the built-in 'implement' mode from the chat extension.
39
- * This mode is hidden from the mode picker but available for handoffs.
40
- */
41
- export declare function isBuiltinImplementMode(mode: IChatMode, productService: IProductService): boolean;