@codingame/monaco-vscode-katex-common 31.0.1 → 32.0.1

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 (220) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +15 -3
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +6 -5
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +5 -1
  5. package/vscode/src/vs/platform/actions/browser/buttonbar.js +45 -14
  6. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +15 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +15 -10
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +51 -54
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +3 -1
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +45 -23
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +13 -7
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +5 -3
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +4 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +46 -32
  21. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +8 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +155 -46
  24. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +20 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +4 -1
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +37 -14
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionPickerActionItem.css +1 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +28 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +250 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  34. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +14 -11
  35. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
  36. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +7 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +7 -3
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +12 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +51 -20
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +6 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +56 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +2 -2
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +3 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +4 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +68 -10
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.d.ts +58 -2
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +653 -75
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +28 -10
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +91 -54
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +7 -5
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +53 -51
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +11 -11
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +4 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +42 -22
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +6 -2
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +93 -35
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +5 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +169 -27
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +13 -4
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +29 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +1 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +60 -15
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +13 -6
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +15 -8
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +6 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +125 -26
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +2 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +29 -23
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +14 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +119 -10
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +1 -1
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/media/toolRiskBadge.css +77 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.d.ts +38 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +125 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +1 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +132 -59
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +16 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +156 -67
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +55 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.js +93 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +21 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +133 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +53 -8
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +288 -125
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +23 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +699 -145
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +12 -8
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +12 -11
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.d.ts +62 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +120 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +191 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatPhoneInputPresenter.css +22 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +9 -25
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +4 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +20 -1
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +89 -108
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +521 -9
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +19 -19
  136. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
  137. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.d.ts +2 -0
  138. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.js +6 -0
  139. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +27 -0
  140. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +82 -0
  141. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +3 -0
  142. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +44 -17
  143. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +1 -3
  144. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +3 -46
  145. package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.d.ts → inlineChatAffordanceWidget.d.ts} +1 -1
  146. package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.js → inlineChatAffordanceWidget.js} +6 -6
  147. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -18
  148. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +19 -400
  149. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +4 -9
  150. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +1 -1
  151. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +5 -19
  152. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +47 -133
  153. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +3 -1
  154. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +103 -25
  155. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +29 -0
  156. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +3 -32
  157. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -92
  158. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  159. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  160. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  161. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  162. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  163. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  164. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  165. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  166. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  167. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  168. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  169. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  170. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +7 -0
  171. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +99 -32
  172. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +13 -1
  173. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +76 -14
  174. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -3
  175. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +9 -1
  176. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +89 -28
  177. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +1 -1
  178. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -1
  179. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +11 -7
  180. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +3 -1
  181. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +7 -3
  182. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +1 -1
  183. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  184. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +8 -0
  187. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +11 -2
  188. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +20 -0
  189. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +59 -4
  190. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -1
  191. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +24 -3
  192. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +47 -0
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +111 -30
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +60 -3
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +455 -171
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +33 -0
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.d.ts +31 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.js +49 -0
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.d.ts +18 -0
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.js +302 -0
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.js +118 -0
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +34 -4
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +233 -48
  206. package/vscode/src/vs/platform/actions/browser/actionbar.d.ts +0 -16
  207. package/vscode/src/vs/platform/actions/browser/actionbar.js +0 -22
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -539
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -29
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -386
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +0 -101
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +0 -509
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -130
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +0 -276
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.d.ts +0 -45
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.js +0 -93
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +0 -39
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +0 -617
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +0 -231
@@ -6,7 +6,6 @@ import { ILanguageModelChatMetadataAndIdentifier } from "@codingame/monaco-vscod
6
6
  interface IModelSelectionContext {
7
7
  readonly location: ChatAgentLocation;
8
8
  readonly currentModeKind: ChatModeKind;
9
- readonly isInlineChatV2Enabled: boolean;
10
9
  readonly sessionType: string | undefined;
11
10
  }
12
11
  /**
@@ -14,7 +13,7 @@ interface IModelSelectionContext {
14
13
  * When a session has a specific type (and it's not 'local'), only models targeting that
15
14
  * session type are returned. Otherwise, general-purpose models are returned.
16
15
  */
17
- export declare function filterModelsForSession(models: ILanguageModelChatMetadataAndIdentifier[], sessionType: string | undefined, currentModeKind: ChatModeKind, location: ChatAgentLocation, isInlineChatV2Enabled: boolean): ILanguageModelChatMetadataAndIdentifier[];
16
+ export declare function filterModelsForSession(models: ILanguageModelChatMetadataAndIdentifier[], sessionType: string | undefined, currentModeKind: ChatModeKind, location: ChatAgentLocation): ILanguageModelChatMetadataAndIdentifier[];
18
17
  /**
19
18
  * Check if a model is suitable for the current chat mode (e.g., agent mode requires tool calling).
20
19
  */
@@ -22,7 +21,7 @@ export declare function isModelSupportedForMode(model: ILanguageModelChatMetadat
22
21
  /**
23
22
  * Check if a model is suitable for inline chat (editor inline) usage.
24
23
  */
25
- export declare function isModelSupportedForInlineChat(model: ILanguageModelChatMetadataAndIdentifier, location: ChatAgentLocation, isInlineChatV2Enabled: boolean): boolean;
24
+ export declare function isModelSupportedForInlineChat(model: ILanguageModelChatMetadataAndIdentifier, location: ChatAgentLocation): boolean;
26
25
  /**
27
26
  * Check if any models in the pool target a specific session type.
28
27
  */
@@ -80,12 +79,17 @@ export declare function resolveModelFromSyncState(stateModel: ILanguageModelChat
80
79
  action: "keep" | "apply" | "default";
81
80
  };
82
81
  /**
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.
82
+ * Merges live models with cached models per-vendor, evicting cache for vendors
83
+ * no longer contributed.
84
+ *
85
+ * - `resolvedVendors`: vendors whose providers have produced at least one
86
+ * result. An empty live list for these is authoritative (e.g. BYOK key
87
+ * removed) and their cache entries are dropped.
88
+ * - When no contributor info is available yet and there are no live models
89
+ * (startup / extension reload), the full cache is returned to avoid
90
+ * flickering the picker to empty.
87
91
  */
88
- export declare function mergeModelsWithCache(liveModels: ILanguageModelChatMetadataAndIdentifier[], cachedModels: ILanguageModelChatMetadataAndIdentifier[], contributedVendors: Set<string>): ILanguageModelChatMetadataAndIdentifier[];
92
+ export declare function mergeModelsWithCache(liveModels: ILanguageModelChatMetadataAndIdentifier[], cachedModels: ILanguageModelChatMetadataAndIdentifier[], contributedVendors: Set<string>, resolvedVendors?: ReadonlySet<string>): ILanguageModelChatMetadataAndIdentifier[];
89
93
  /**
90
94
  * Determines whether the currently selected model should be reset to default
91
95
  * when the language model list changes.
@@ -2,14 +2,14 @@
2
2
  import { ChatModeKind, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
3
3
  import { ILanguageModelChatMetadata } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
4
4
 
5
- function filterModelsForSession(models, sessionType, currentModeKind, location, isInlineChatV2Enabled) {
5
+ function filterModelsForSession(models, sessionType, currentModeKind, location) {
6
6
  if (sessionType && sessionType !== "local" && hasModelsTargetingSession(models, sessionType)) {
7
7
  return models.filter(
8
8
  entry => entry.metadata?.targetChatSessionType === sessionType && entry.metadata?.isUserSelectable
9
9
  );
10
10
  }
11
11
  return models.filter(
12
- entry => !entry.metadata?.targetChatSessionType && entry.metadata?.isUserSelectable && isModelSupportedForMode(entry, currentModeKind) && isModelSupportedForInlineChat(entry, location, isInlineChatV2Enabled)
12
+ entry => !entry.metadata?.targetChatSessionType && entry.metadata?.isUserSelectable && isModelSupportedForMode(entry, currentModeKind) && isModelSupportedForInlineChat(entry, location)
13
13
  );
14
14
  }
15
15
  function isModelSupportedForMode(model, currentModeKind) {
@@ -18,8 +18,8 @@ function isModelSupportedForMode(model, currentModeKind) {
18
18
  }
19
19
  return true;
20
20
  }
21
- function isModelSupportedForInlineChat(model, location, isInlineChatV2Enabled) {
22
- if (location !== ChatAgentLocation.EditorInline || !isInlineChatV2Enabled) {
21
+ function isModelSupportedForInlineChat(model, location) {
22
+ if (location !== ChatAgentLocation.EditorInline) {
23
23
  return true;
24
24
  }
25
25
  return !!model.metadata.capabilities?.toolCalling;
@@ -68,7 +68,7 @@ function shouldResetModelToDefault(currentModel, availableModels, context, allMo
68
68
  if (!isModelSupportedForMode(currentModel, context.currentModeKind)) {
69
69
  return true;
70
70
  }
71
- if (!isModelSupportedForInlineChat(currentModel, context.location, context.isInlineChatV2Enabled)) {
71
+ if (!isModelSupportedForInlineChat(currentModel, context.location)) {
72
72
  return true;
73
73
  }
74
74
  if (!isModelValidForSession(currentModel, allModels, context.sessionType)) {
@@ -93,7 +93,7 @@ function resolveModelFromSyncState(stateModel, currentModel, allModels, sessionT
93
93
  action: "default"
94
94
  };
95
95
  }
96
- if (!isModelSupportedForInlineChat(stateModel, context.location, context.isInlineChatV2Enabled)) {
96
+ if (!isModelSupportedForInlineChat(stateModel, context.location)) {
97
97
  return {
98
98
  action: "default"
99
99
  };
@@ -103,12 +103,13 @@ function resolveModelFromSyncState(stateModel, currentModel, allModels, sessionT
103
103
  action: "apply"
104
104
  };
105
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)))];
106
+ function mergeModelsWithCache(liveModels, cachedModels, contributedVendors, resolvedVendors) {
107
+ if (contributedVendors.size === 0 && liveModels.length === 0) {
108
+ return cachedModels;
110
109
  }
111
- return cachedModels;
110
+ const liveVendors = ( new Set(( liveModels.map(m => m.metadata.vendor))));
111
+ const usableCached = cachedModels.filter(m => ( contributedVendors.has(m.metadata.vendor)) && !( liveVendors.has(m.metadata.vendor)) && !resolvedVendors?.has(m.metadata.vendor));
112
+ return [...liveModels, ...usableCached];
112
113
  }
113
114
  function shouldResetOnModelListChange(currentModelId, availableModels) {
114
115
  if (!currentModelId) {
@@ -0,0 +1,62 @@
1
+ import { BaseActionViewItem } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems";
2
+ import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
3
+ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
5
+ import { IModePickerDelegate } from "./modePickerActionItem.js";
6
+ import { IModelPickerDelegate } from "./modelPickerActionItem.js";
7
+ import { IChatPhoneInputPresenter } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.service";
8
+ /**
9
+ * Implementation of the phone-only chat-input picker presenter, registered
10
+ * by the agents-window (sessions) layer. Stays in `vs/workbench` as an
11
+ * interface so the workbench chat input can compile and run with no
12
+ * sessions dependency; the default singleton is a no-op.
13
+ */
14
+ export interface IChatPhonePresenterImpl {
15
+ /**
16
+ * Whether the phone presenter is currently active. Workbench code
17
+ * consults this to decide between desktop popups and the bottom-sheet
18
+ * presentation. Drives a `_updateToolbar()` refresh on flips.
19
+ */
20
+ readonly enabled: IObservable<boolean>;
21
+ /**
22
+ * Show a unified bottom sheet listing both Mode and Model rows for the
23
+ * given chat input pickers. Resolves once the user dismisses the sheet.
24
+ *
25
+ * `modeDelegate` / `modelDelegate` are optional: callers without
26
+ * access to a workbench `ChatInputPart` (e.g. the agents-window
27
+ * agent-host mode pill, which does not own the chat input) can pass
28
+ * `undefined` and the implementation will fall back to its
29
+ * agent-host data path.
30
+ */
31
+ showCombinedModeAndModelSheet(target: HTMLElement, modeDelegate: IModePickerDelegate | undefined, modelDelegate: IModelPickerDelegate | undefined): Promise<void>;
32
+ }
33
+ export declare class ChatPhoneInputPresenterService extends Disposable implements IChatPhoneInputPresenter {
34
+ readonly _serviceBrand: undefined;
35
+ private readonly _impl;
36
+ readonly enabled: IObservable<boolean>;
37
+ showCombinedModeAndModelSheet(target: HTMLElement, modeDelegate: IModePickerDelegate | undefined, modelDelegate: IModelPickerDelegate | undefined): Promise<void>;
38
+ setImpl(impl: IChatPhonePresenterImpl): IDisposable;
39
+ }
40
+ /**
41
+ * Phone-only action view item used in place of the desktop Model and Mode
42
+ * pickers. Renders a single chip whose label shows the current model name
43
+ * with the current mode's icon as a leading marker; tapping it opens the
44
+ * unified bottom sheet through the {@link IChatPhoneInputPresenter}.
45
+ *
46
+ * Visually mirrors the chip used in the empty new-chat input (see
47
+ * `MobileChatInputConfigPicker` in `vs/sessions`) so the two chat-input
48
+ * surfaces present a consistent mobile experience.
49
+ */
50
+ export declare class MobileChatInputCombinedPickerActionItem extends BaseActionViewItem {
51
+ private readonly _modeDelegate;
52
+ private readonly _modelDelegate;
53
+ private readonly _presenter;
54
+ private readonly _renderDisposables;
55
+ private _triggerElement;
56
+ constructor(action: IAction, _modeDelegate: IModePickerDelegate, _modelDelegate: IModelPickerDelegate, _presenter: IChatPhoneInputPresenter);
57
+ render(container: HTMLElement): void;
58
+ private _updateTrigger;
59
+ /** Belt-and-braces: keep the action's `run()` suppressed even if `super.render` is reintroduced. */
60
+ onClick(): void;
61
+ private _showSheet;
62
+ }
@@ -0,0 +1,120 @@
1
+
2
+ import { registerCss } from '@codingame/monaco-vscode-api/css';
3
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
4
+ import * as chatPhoneInputPresenter from './media/chatPhoneInputPresenter.css';
5
+ import { append, $, EventType, addDisposableListener, EventHelper, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
6
+ import { renderIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
7
+ import { Gesture, EventType as EventType$1 } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/touch';
8
+ import { BaseActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems';
9
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
10
+ import { Disposable, toDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
11
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
12
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
13
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
14
+ import { IChatPhoneInputPresenter } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.service';
15
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
16
+ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
17
+ import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
18
+
19
+ registerCss(chatPhoneInputPresenter);
20
+ class ChatPhoneInputPresenterService extends Disposable {
21
+ constructor() {
22
+ super(...arguments);
23
+ this._impl = observableValue(this, undefined);
24
+ this.enabled = derived(this, reader => {
25
+ const impl = this._impl.read(reader);
26
+ return impl ? impl.enabled.read(reader) : false;
27
+ });
28
+ }
29
+ showCombinedModeAndModelSheet(target, modeDelegate, modelDelegate) {
30
+ const impl = this._impl.get();
31
+ return impl ? impl.showCombinedModeAndModelSheet(target, modeDelegate, modelDelegate) : Promise.resolve();
32
+ }
33
+ setImpl(impl) {
34
+ this._impl.set(impl, undefined);
35
+ return toDisposable(() => {
36
+ if (this._impl.get() === impl) {
37
+ this._impl.set(undefined, undefined);
38
+ }
39
+ });
40
+ }
41
+ }
42
+ let MobileChatInputCombinedPickerActionItem = class MobileChatInputCombinedPickerActionItem extends BaseActionViewItem {
43
+ constructor(action, _modeDelegate, _modelDelegate, _presenter) {
44
+ super(undefined, action);
45
+ this._modeDelegate = _modeDelegate;
46
+ this._modelDelegate = _modelDelegate;
47
+ this._presenter = _presenter;
48
+ this._renderDisposables = this._register(( new DisposableStore()));
49
+ }
50
+ render(container) {
51
+ this.element = container;
52
+ container.classList.add("chat-input-picker-item");
53
+ this._renderDisposables.clear();
54
+ const trigger = append(container, $("a.action-label.chat-phone-input-chip"));
55
+ trigger.tabIndex = 0;
56
+ trigger.role = "button";
57
+ this._triggerElement = trigger;
58
+ this._renderDisposables.add(Gesture.addTarget(trigger));
59
+ for (const eventType of [EventType.CLICK, EventType$1.Tap]) {
60
+ this._renderDisposables.add(addDisposableListener(trigger, eventType, e => {
61
+ EventHelper.stop(e, true);
62
+ this._showSheet();
63
+ }));
64
+ }
65
+ this._renderDisposables.add(addDisposableListener(trigger, EventType.KEY_DOWN, e => {
66
+ if (e.key === "Enter" || e.key === " ") {
67
+ EventHelper.stop(e, true);
68
+ this._showSheet();
69
+ }
70
+ }));
71
+ this._renderDisposables.add(autorun(reader => {
72
+ const currentMode = this._modeDelegate.currentMode.read(reader);
73
+ currentMode.label.read(reader);
74
+ currentMode.icon.read(reader);
75
+ this._modelDelegate.currentModel.read(reader);
76
+ this._updateTrigger();
77
+ }));
78
+ }
79
+ _updateTrigger() {
80
+ const trigger = this._triggerElement;
81
+ if (!trigger) {
82
+ return;
83
+ }
84
+ clearNode(trigger);
85
+ const currentMode = this._modeDelegate.currentMode.get();
86
+ const modeIcon = currentMode.icon.get();
87
+ if (modeIcon) {
88
+ append(trigger, renderIcon(modeIcon));
89
+ }
90
+ const currentModel = this._modelDelegate.currentModel.get();
91
+ const labelText = currentModel?.metadata.name ?? ( localize(7504, "Auto"));
92
+ const labelSpan = append(trigger, $("span.chat-input-picker-label"));
93
+ labelSpan.textContent = labelText;
94
+ append(trigger, renderIcon(Codicon.chevronDown));
95
+ const ariaParts = [];
96
+ const modeLabel = currentMode.label.get();
97
+ if (modeLabel) {
98
+ ariaParts.push(modeLabel);
99
+ }
100
+ ariaParts.push(labelText);
101
+ trigger.ariaLabel = ( localize(7505, "Pick Mode and Model, {0}", ariaParts.join(", ")));
102
+ }
103
+ onClick() {}
104
+ async _showSheet() {
105
+ const trigger = this._triggerElement;
106
+ if (!trigger) {
107
+ return;
108
+ }
109
+ trigger.setAttribute("aria-expanded", "true");
110
+ try {
111
+ await this._presenter.showCombinedModeAndModelSheet(trigger, this._modeDelegate, this._modelDelegate);
112
+ } finally {
113
+ trigger.setAttribute("aria-expanded", "false");
114
+ trigger.focus();
115
+ }
116
+ }
117
+ };
118
+ MobileChatInputCombinedPickerActionItem = ( __decorate([( __param(3, IChatPhoneInputPresenter))], MobileChatInputCombinedPickerActionItem));
119
+
120
+ export { ChatPhoneInputPresenterService, MobileChatInputCombinedPickerActionItem };
@@ -99,13 +99,13 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
99
99
  _getSessionCategory(sessionTypeItem) {
100
100
  if (isFirstPartyAgentSessionProvider(sessionTypeItem.type)) {
101
101
  return {
102
- label: ( localize(7197, "Continue In")),
102
+ label: ( localize(7513, "Continue In")),
103
103
  order: 1,
104
104
  showHeader: true
105
105
  };
106
106
  }
107
107
  return {
108
- label: ( localize(7198, "Continue In (Third Party)")),
108
+ label: ( localize(7514, "Continue In (Third Party)")),
109
109
  order: 2,
110
110
  showHeader: false
111
111
  };
@@ -117,7 +117,7 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
117
117
  const learnMoreUrl = "https://aka.ms/vscode-continue-chat-in";
118
118
  return {
119
119
  id: "workbench.action.chat.agentOverview.learnMoreHandOff",
120
- label: ( localize(7199, "Learn about agent handoff...")),
120
+ label: ( localize(7515, "Learn about agent handoff...")),
121
121
  tooltip: learnMoreUrl,
122
122
  class: undefined,
123
123
  enabled: true,
@@ -133,7 +133,7 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
133
133
  return [{
134
134
  id: "newChatSession",
135
135
  class: undefined,
136
- label: ( localize(7200, "New Chat Session")),
136
+ label: ( localize(7516, "New Chat Session")),
137
137
  tooltip: "",
138
138
  hover: {
139
139
  content: ""
@@ -142,7 +142,7 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
142
142
  icon: Codicon.plus,
143
143
  enabled: true,
144
144
  category: {
145
- label: ( localize(7201, "New Chat Session")),
145
+ label: ( localize(7517, "New Chat Session")),
146
146
  order: 0,
147
147
  showHeader: false
148
148
  },
@@ -0,0 +1,191 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ /* Hide the container when no notification is active */
7
+ .interactive-session .interactive-input-part > .chat-input-notification-container:not(.has-notification) {
8
+ display: none;
9
+ }
10
+
11
+ /* Counteract the `.interactive-input-part` `gap: 4px` so the notification attaches to the input. Add extra -6px to account for rounded corners. */
12
+ .interactive-session .interactive-input-part > .chat-input-notification-container {
13
+ margin-bottom: -10px;
14
+ }
15
+
16
+ .interactive-session .interactive-input-part > .chat-input-notification-container .chat-input-notification {
17
+ /* Padding needs to be -6px for top to account for -10px margin in parent container and 4px for half of chat border radius. */
18
+ padding: 10px 16px 16px 16px;
19
+ box-sizing: border-box;
20
+ border: 1px solid var(--vscode-input-border, transparent);
21
+ border-bottom: none;
22
+ border-top-left-radius: 4px;
23
+ border-top-right-radius: 4px;
24
+ display: flex;
25
+ flex-direction: column;
26
+ gap: 4px;
27
+ }
28
+
29
+ /* Severity variants */
30
+ .interactive-session .interactive-input-part > .chat-input-notification-container .chat-input-notification.severity-info {
31
+ border-color: var(--vscode-focusBorder);
32
+ background-color: color-mix(in srgb, var(--vscode-focusBorder) 6%, var(--vscode-editorWidget-background));
33
+ }
34
+
35
+ .interactive-session .interactive-input-part > .chat-input-notification-container .chat-input-notification.severity-warning {
36
+ border-color: var(--vscode-editorWarning-foreground);
37
+ background-color: color-mix(in srgb, var(--vscode-editorWarning-foreground) 6%, var(--vscode-editorWidget-background));
38
+ }
39
+
40
+ .interactive-session .interactive-input-part > .chat-input-notification-container .chat-input-notification.severity-error {
41
+ border-color: var(--vscode-editorError-foreground);
42
+ background-color: color-mix(in srgb, var(--vscode-editorError-foreground) 6%, var(--vscode-editorWidget-background));
43
+ }
44
+
45
+ /* Header row: icon + title + dismiss */
46
+ .chat-input-notification .chat-input-notification-header {
47
+ display: flex;
48
+ align-items: center;
49
+ gap: 8px;
50
+ min-width: 0;
51
+ }
52
+
53
+ /* Severity icon */
54
+ .chat-input-notification .chat-input-notification-icon {
55
+ flex-shrink: 0;
56
+ display: flex;
57
+ align-items: center;
58
+ }
59
+
60
+ .chat-input-notification.severity-info .chat-input-notification-icon {
61
+ color: var(--vscode-focusBorder);
62
+ }
63
+
64
+ .chat-input-notification.severity-warning .chat-input-notification-icon {
65
+ color: var(--vscode-editorWarning-foreground);
66
+ }
67
+
68
+ .chat-input-notification.severity-error .chat-input-notification-icon {
69
+ color: var(--vscode-editorError-foreground);
70
+ }
71
+
72
+ /* Title */
73
+ .chat-input-notification .chat-input-notification-title {
74
+ font-size: 12px;
75
+ font-weight: 600;
76
+ line-height: 18px;
77
+ color: var(--vscode-foreground);
78
+ flex: 1;
79
+ min-width: 0;
80
+ overflow: hidden;
81
+ text-overflow: ellipsis;
82
+ white-space: nowrap;
83
+ }
84
+
85
+ /* Body row: description + actions inline */
86
+ /* Markdown-rendered title: keep the title inline (no block <p> margins). */
87
+ .chat-input-notification .chat-input-notification-title-markdown {
88
+ display: inline;
89
+ }
90
+
91
+ .chat-input-notification .chat-input-notification-title-markdown > p {
92
+ display: inline;
93
+ margin: 0;
94
+ }
95
+
96
+ .chat-input-notification .chat-input-notification-title-markdown code {
97
+ font-family: var(--monaco-monospace-font);
98
+ font-size: 11px;
99
+ padding: 0 3px;
100
+ border-radius: 3px;
101
+ background: var(--vscode-textCodeBlock-background);
102
+ }
103
+
104
+ /* Body row: description + actions inline, wraps at small widths */
105
+ .chat-input-notification .chat-input-notification-body {
106
+ display: flex;
107
+ align-items: center;
108
+ gap: 8px;
109
+ min-width: 0;
110
+ }
111
+
112
+ /* Description */
113
+ .chat-input-notification .chat-input-notification-description {
114
+ font-size: 12px;
115
+ line-height: 18px;
116
+ color: var(--vscode-descriptionForeground);
117
+ flex: 1 1 auto;
118
+ min-width: 0;
119
+ overflow: hidden;
120
+ text-overflow: ellipsis;
121
+ white-space: nowrap;
122
+ }
123
+
124
+ /* Actions container */
125
+ .chat-input-notification .chat-input-notification-actions {
126
+ display: flex;
127
+ align-items: center;
128
+ gap: 8px;
129
+ flex-shrink: 0;
130
+ margin-left: auto;
131
+ }
132
+
133
+ /* Action buttons */
134
+ .chat-input-notification .chat-input-notification-action-button {
135
+ font-size: 11px;
136
+ padding: 4px 12px;
137
+ min-width: unset;
138
+ width: auto;
139
+ height: 24px;
140
+ }
141
+
142
+ /* Transparent ghost style for secondary action buttons (e.g. "View Usage") */
143
+ .chat-input-notification .chat-input-notification-action-button.secondary {
144
+ border: none;
145
+ background: transparent;
146
+ color: var(--vscode-foreground);
147
+ padding: 4px 8px;
148
+ opacity: 0.8;
149
+ }
150
+
151
+ .chat-input-notification .chat-input-notification-action-button.secondary:hover {
152
+ background: var(--vscode-toolbar-hoverBackground);
153
+ opacity: 1;
154
+ }
155
+
156
+ /* Dismiss button */
157
+ .chat-input-notification .chat-input-notification-dismiss {
158
+ display: flex;
159
+ align-items: center;
160
+ justify-content: center;
161
+ width: 20px;
162
+ height: 20px;
163
+ border-radius: 4px;
164
+ cursor: pointer;
165
+ color: var(--vscode-icon-foreground);
166
+ background: transparent;
167
+ border: none;
168
+ outline: none;
169
+ flex-shrink: 0;
170
+ margin-left: auto;
171
+ }
172
+
173
+ .chat-input-notification .chat-input-notification-dismiss:hover {
174
+ background-color: var(--vscode-toolbar-hoverBackground);
175
+ }
176
+
177
+ .chat-input-notification .chat-input-notification-dismiss:focus-visible {
178
+ outline: 1px solid var(--vscode-focusBorder);
179
+ outline-offset: -1px;
180
+ }
181
+
182
+ /* Cascade styling — remove top border-radius from sibling containers when notification is visible */
183
+ .interactive-session .interactive-input-part > .chat-input-notification-container.has-notification + .chat-todo-list-widget-container .chat-todo-list-widget {
184
+ border-top-left-radius: 0;
185
+ border-top-right-radius: 0;
186
+ }
187
+
188
+ /* Hide the getting-started tip when a notification is visible */
189
+ .interactive-session .interactive-input-part > .chat-input-notification-container.has-notification ~ .chat-getting-started-tip-container {
190
+ display: none !important;
191
+ }
@@ -0,0 +1,22 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ /* Combined Mode + Model chip used in `ChatInputPart` when a phone-layout
7
+ * presenter is active. The base layout (height/padding/color) is inherited
8
+ * from `.chat-input-picker-item .action-label` in `chat.css`; this file
9
+ * only adds the chip-specific spacing rules. */
10
+
11
+ .chat-input-picker-item .action-label.chat-phone-input-chip {
12
+ gap: 4px;
13
+ cursor: pointer;
14
+ touch-action: manipulation;
15
+ }
16
+
17
+ .chat-input-picker-item .action-label.chat-phone-input-chip .chat-input-picker-label {
18
+ overflow: hidden;
19
+ text-overflow: ellipsis;
20
+ white-space: nowrap;
21
+ min-width: 0;
22
+ }
@@ -11,14 +11,14 @@ import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platf
11
11
  import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
12
12
  import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
13
13
  import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service";
14
- import { IChatMode } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes";
15
- import { IChatModeService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service";
14
+ import { IChatMode, IChatModes } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes";
16
15
  import { Target } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
17
16
  import { ChatInputPickerActionViewItem, IChatInputPickerOptions } from "./chatInputPickerActionItem.js";
18
17
  import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
19
18
  import { IWorkbenchAssignmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service";
20
19
  export interface IModePickerDelegate {
21
20
  readonly currentMode: IObservable<IChatMode>;
21
+ readonly currentChatModes: IObservable<IChatModes>;
22
22
  readonly sessionResource: () => URI | undefined;
23
23
  /**
24
24
  * When set, the mode picker will show custom agents whose target matches this value.
@@ -31,7 +31,7 @@ export declare class ModePickerActionItem extends ChatInputPickerActionViewItem
31
31
  private readonly contextKeyService;
32
32
  private readonly menuService;
33
33
  private readonly _productService;
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
+ constructor(action: MenuItemAction, delegate: IModePickerDelegate, pickerOptions: IChatInputPickerOptions, actionWidgetService: IActionWidgetService, chatAgentService: IChatAgentService, keybindingService: IKeybindingService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, menuService: IMenuService, commandService: ICommandService, _productService: IProductService, telemetryService: ITelemetryService, openerService: IOpenerService, assignmentService: IWorkbenchAssignmentService);
35
35
  private getModePickerActionBarActions;
36
36
  render(container: HTMLElement): void;
37
37
  protected renderLabel(element: HTMLElement): IDisposable | null;