@codingame/monaco-vscode-katex-common 34.1.3 → 35.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/base/browser/animationSync.d.ts +36 -0
  3. package/vscode/src/vs/base/browser/animationSync.js +23 -0
  4. package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.js +23 -2
  5. package/vscode/src/vs/platform/actions/browser/buttonbar.js +3 -2
  6. package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.d.ts +5 -5
  7. package/vscode/src/vs/platform/agentHost/common/fileEditDiff.d.ts +32 -0
  8. package/vscode/src/vs/platform/agentHost/common/fileEditDiff.js +33 -0
  9. package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAnnotations.d.ts +90 -0
  10. package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAttachments.d.ts +30 -0
  11. package/vscode/src/vs/platform/agentHost/common/meta/agentToolCallMeta.d.ts +65 -0
  12. package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.d.ts +16 -5
  13. package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.js +3 -2
  14. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-resource-watch/reducer.d.ts +21 -0
  15. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +8 -0
  16. package/vscode/src/vs/platform/agentHost/common/state/sessionReducers.d.ts +9 -0
  17. package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +2 -2
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +29 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +105 -28
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +15 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +74 -44
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +2 -2
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +98 -24
  28. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +8 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +31 -4
  30. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +45 -4
  31. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +163 -37
  32. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.d.ts +47 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.js +172 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +3 -1
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +7 -4
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionReferenceAttachment.d.ts +12 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.d.ts +116 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.js +348 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.d.ts +211 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.js +64 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +18 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +13 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +1 -1
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +30 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +4 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +29 -4
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +24 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +119 -41
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +27 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.d.ts +63 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.js +97 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +5 -6
  56. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +105 -88
  57. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +13 -13
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +1 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +46 -48
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +28 -0
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +98 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +3 -3
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +9 -7
  64. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatTurnPills.css +162 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +9 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +95 -24
  67. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +22 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +151 -20
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +20 -2
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +5 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +61 -17
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.d.ts +20 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.js +55 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +6 -2
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +81 -30
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +2 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.d.ts +11 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.js +13 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +9 -33
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.d.ts +6 -2
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.js +21 -11
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +6 -2
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +40 -19
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.d.ts +35 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.js +140 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.d.ts +24 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.js +58 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +3 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +29 -8
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +30 -30
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +1 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +44 -44
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -2
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +12 -66
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +39 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +167 -43
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +1 -15
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +9 -86
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.d.ts +12 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.js +23 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +9 -1
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +141 -72
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +2 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +17 -3
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.d.ts +29 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.js +110 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAgentFeedbackReviewConfirmation.css +133 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAutoModeResolution.css +30 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +4 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +18 -8
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +23 -7
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +33 -18
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +23 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +44 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +2 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +9 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +21 -4
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAgentFeedbackReviewConfirmationSubPart.d.ts +48 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAgentFeedbackReviewConfirmationSubPart.js +279 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +43 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +53 -15
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +7 -9
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.d.ts +4 -1
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +24 -10
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/{chatMissingSandboxDepsConfirmationSubPart.d.ts → chatSandboxPrerequisiteConfirmationSubPart.d.ts} +3 -2
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/{chatMissingSandboxDepsConfirmationSubPart.js → chatSandboxPrerequisiteConfirmationSubPart.js} +14 -10
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +0 -1
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +30 -59
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +2 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +41 -29
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +8 -8
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +2 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +12 -9
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +1 -1
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +43 -35
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +2 -1
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +11 -8
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.d.ts +18 -0
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.js +51 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +4 -4
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +18 -3
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +266 -98
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +1 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +8 -3
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.d.ts +32 -0
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.js +135 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.d.ts +85 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.js +275 -0
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +18 -1
  176. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +84 -37
  177. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  178. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.js +4 -4
  179. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +14 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +6 -1
  181. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +52 -4
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +187 -13
  183. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +435 -139
  184. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.d.ts +6 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.js +21 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.d.ts +50 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.js +49 -0
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.d.ts +79 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.js +127 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +84 -8
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +658 -430
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +72 -8
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +82 -7
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +2 -2
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.d.ts +3 -3
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +6 -3
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +2 -1
  198. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +23 -9
  199. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatGoalBannerWidget.css +2 -2
  200. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +28 -12
  201. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +15 -14
  203. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +60 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +18 -7
  205. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +49 -1
  206. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +141 -81
  207. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +7 -15
  208. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +30 -47
  209. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  210. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerInputActionItem.d.ts +20 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerInputActionItem.js +18 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +469 -148
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +11 -2
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +79 -28
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +71 -2
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +107 -45
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +20 -0
  218. package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.d.ts +110 -0
  219. package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.js +37 -0
  220. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.d.ts +4 -1
  221. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +13 -11
  222. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +8 -1
  223. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +57 -21
  224. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +18 -18
  225. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +4 -4
  226. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  227. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +30 -30
  229. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.d.ts +39 -8
  231. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.js +168 -72
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  234. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  235. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  236. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  238. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  239. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  240. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  241. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  242. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.d.ts +0 -30
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.js +0 -147
@@ -1,15 +1,21 @@
1
1
 
2
2
  import { assertNever } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
3
3
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
4
+ import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
4
5
  import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
5
6
  import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
7
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
7
8
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
8
9
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
10
+ import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
9
11
  import { ExtensionIdentifier } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
12
+ import { FileSystemProviderCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
13
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
14
+ import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
10
15
  import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
11
16
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
12
17
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
18
+ import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service';
13
19
  import { ExtensionEditorTab } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions';
14
20
  import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service';
15
21
  import { McpCommandIds } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpCommandIds';
@@ -18,9 +24,9 @@ import { McpServerEditorTab, McpConnectionState, McpServerCacheState } from '@co
18
24
  import { IMcpService, IMcpWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service';
19
25
  import { startServerAndWaitForLiveTools } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypesUtils';
20
26
  import { ILanguageModelToolsConfirmationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service';
21
- import { ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
27
+ import { ToolDataSource, ToolAndToolSetEnablementMap } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
22
28
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
23
- import { ConfigureToolSets } from '../tools/toolSetsContribution.js';
29
+ import { deleteToolSetFromFileContents, ConfigureToolSets } from '../tools/toolSetsContribution.js';
24
30
 
25
31
  var BucketOrdinal;
26
32
  (function(BucketOrdinal) {
@@ -72,17 +78,21 @@ function createToolTreeItemFromData(tool, checked) {
72
78
  ...iconProps
73
79
  };
74
80
  }
75
- function createToolSetTreeItem(toolset, checked, editorService) {
81
+ function createToolSetTreeItem(toolset, checked, editorService, removeToolSet) {
76
82
  const iconProps = mapIconToTreeItem(toolset.icon);
77
83
  const buttons = [];
78
84
  if (toolset.source.type === "user") {
79
85
  const resource = toolset.source.file;
80
86
  buttons.push({
81
87
  iconClass: ThemeIcon.asClassName(Codicon.edit),
82
- tooltip: ( localize(5179, "Edit Tool Set")),
88
+ tooltip: ( localize(5388, "Edit Tool Set")),
83
89
  action: () => editorService.openEditor({
84
90
  resource
85
91
  })
92
+ }, {
93
+ iconClass: ThemeIcon.asClassName(Codicon.trash),
94
+ tooltip: ( localize(5389, "Delete Tool Set")),
95
+ action: () => removeToolSet(toolset)
86
96
  });
87
97
  }
88
98
  return {
@@ -109,6 +119,50 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
109
119
  const toolsService = accessor.get(ILanguageModelToolsService);
110
120
  const confirmationService = accessor.get(ILanguageModelToolsConfirmationService);
111
121
  const telemetryService = accessor.get(ITelemetryService);
122
+ const dialogService = accessor.get(IDialogService);
123
+ const textFileService = accessor.get(ITextFileService);
124
+ const fileService = accessor.get(IFileService);
125
+ const notificationService = accessor.get(INotificationService);
126
+ const removeToolSet = async toolSet => {
127
+ if (toolSet.source.type !== "user") {
128
+ return;
129
+ }
130
+ const result = await dialogService.confirm({
131
+ type: "warning",
132
+ message: ( localize(5390, "Delete tool set '{0}'?", toolSet.referenceName)),
133
+ detail: ( localize(
134
+ 5391,
135
+ "This removes the tool set definition from {0}.",
136
+ toolSet.source.label
137
+ )),
138
+ primaryButton: ( localize(5392, "Delete"))
139
+ });
140
+ if (!result.confirmed) {
141
+ return;
142
+ }
143
+ try {
144
+ const rawContent = await textFileService.read(toolSet.source.file);
145
+ const updated = deleteToolSetFromFileContents(rawContent.value, toolSet.referenceName);
146
+ if (!updated) {
147
+ return;
148
+ }
149
+ if (updated.isEmpty) {
150
+ const useTrash = fileService.hasCapability(toolSet.source.file, FileSystemProviderCapabilities.Trash);
151
+ await fileService.del(toolSet.source.file, {
152
+ useTrash
153
+ });
154
+ } else {
155
+ await textFileService.write(toolSet.source.file, updated.contents);
156
+ }
157
+ } catch (error) {
158
+ notificationService.error(( localize(
159
+ 5393,
160
+ "Failed to delete tool set '{0}': {1}",
161
+ toolSet.referenceName,
162
+ toErrorMessage(error)
163
+ )));
164
+ }
165
+ };
112
166
  const mcpServerByTool = ( new Map());
113
167
  for (const server of mcpService.servers.get()) {
114
168
  for (const tool of server.tools.get()) {
@@ -125,13 +179,16 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
125
179
  }
126
180
  }
127
181
  for (const toolSet of toolsService.getToolSetsForModel(model)) {
182
+ if (toolSet.hiddenInToolsPicker) {
183
+ continue;
184
+ }
128
185
  defaultEntries.set(toolSet, false);
129
186
  }
130
187
  toolsEntries = defaultEntries;
131
188
  }
132
- previousToolsEntries?.forEach((value, key) => {
133
- toolsEntries.set(key.id, value);
134
- });
189
+ for (const [entry, enabled] of previousToolsEntries ?? []) {
190
+ toolsEntries.set(entry.id, enabled);
191
+ }
135
192
  const treeItems = [];
136
193
  const bucketMap = ( new Map());
137
194
  const getKey = source => {
@@ -166,7 +223,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
166
223
  if (collection?.source) {
167
224
  buttons.push({
168
225
  iconClass: ThemeIcon.asClassName(Codicon.settingsGear),
169
- tooltip: ( localize(5180, "Configure {0}", collection.label)),
226
+ tooltip: ( localize(5394, "Configure {0}", collection.label)),
170
227
  action: () => collection.source ? collection.source instanceof ExtensionIdentifier ? extensionsWorkbenchService.open(collection.source.value, {
171
228
  tab: ExtensionEditorTab.Features,
172
229
  feature: "mcp"
@@ -177,7 +234,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
177
234
  } else if (collection?.presentation?.origin) {
178
235
  buttons.push({
179
236
  iconClass: ThemeIcon.asClassName(Codicon.settingsGear),
180
- tooltip: ( localize(5180, "Configure {0}", collection.label)),
237
+ tooltip: ( localize(5394, "Configure {0}", collection.label)),
181
238
  action: () => editorService.openEditor({
182
239
  resource: collection.presentation.origin
183
240
  })
@@ -186,7 +243,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
186
243
  if (mcpServer.connectionState.get().state === McpConnectionState.Kind.Error) {
187
244
  buttons.push({
188
245
  iconClass: ThemeIcon.asClassName(Codicon.warning),
189
- tooltip: ( localize(5181, "Show Output")),
246
+ tooltip: ( localize(5395, "Show Output")),
190
247
  action: () => mcpServer.showOutput()
191
248
  });
192
249
  }
@@ -198,7 +255,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
198
255
  children.push({
199
256
  itemType: "callback",
200
257
  iconClass: ThemeIcon.asClassName(Codicon.sync),
201
- label: ( localize(5182, "Update Tools")),
258
+ label: ( localize(5396, "Update Tools")),
202
259
  pickable: false,
203
260
  run: () => {
204
261
  treePicker.busy = true;
@@ -254,7 +311,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
254
311
  itemType: "bucket",
255
312
  ordinal: BucketOrdinal.BuiltIn,
256
313
  id: key,
257
- label: ( localize(5183, "Built-In")),
314
+ label: ( localize(5397, "Built-In")),
258
315
  checked: undefined,
259
316
  children: [],
260
317
  buttons: [],
@@ -266,7 +323,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
266
323
  itemType: "bucket",
267
324
  ordinal: BucketOrdinal.User,
268
325
  id: key,
269
- label: ( localize(5184, "User Defined Tool Sets")),
326
+ label: ( localize(5398, "User Defined Tool Sets")),
270
327
  checked: undefined,
271
328
  children: [],
272
329
  buttons: [],
@@ -287,6 +344,9 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
287
344
  return bucket;
288
345
  };
289
346
  for (const toolSet of toolsService.getToolSetsForModel(model)) {
347
+ if (toolSet.hiddenInToolsPicker) {
348
+ continue;
349
+ }
290
350
  if (!( toolsEntries.has(toolSet.id))) {
291
351
  continue;
292
352
  }
@@ -301,7 +361,12 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
301
361
  bucket.checked = toolSetChecked;
302
362
  }
303
363
  } else {
304
- const treeItem = createToolSetTreeItem(toolSet, toolSetChecked, editorService);
364
+ const treeItem = createToolSetTreeItem(
365
+ toolSet,
366
+ toolSetChecked,
367
+ editorService,
368
+ toolSet => void removeToolSet(toolSet)
369
+ );
305
370
  bucket.children.push(treeItem);
306
371
  const children = [];
307
372
  for (const tool of toolSet.getTools()) {
@@ -370,7 +435,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
370
435
  const buttons = toolItem.buttons ? [...toolItem.buttons] : [];
371
436
  buttons.push({
372
437
  iconClass: ThemeIcon.asClassName(Codicon.pass),
373
- tooltip: ( localize(5185, "Manage Approval")),
438
+ tooltip: ( localize(5399, "Manage Approval")),
374
439
  keepOpen: true,
375
440
  action: () => confirmationService.manageConfirmationPreferences(manageTools, {
376
441
  focusToolId: tool.id
@@ -391,7 +456,7 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
391
456
  }
392
457
  }
393
458
  if (treeItems.length === 0) {
394
- treePicker.placeholder = ( localize(5186, "Add tools to chat"));
459
+ treePicker.placeholder = ( localize(5400, "Add tools to chat"));
395
460
  } else {
396
461
  treePicker.placeholder = placeHolder;
397
462
  }
@@ -423,17 +488,24 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
423
488
  }
424
489
  traverse(item.children);
425
490
  } else if (isToolSetTreeItem(item)) {
426
- result.set(item.toolset, item.checked === true);
491
+ let toolSetChecked = item.checked === true;
492
+ if (item.children) {
493
+ const allChildrenChecked = item.children.filter(isToolTreeItem).every(child => child.checked === true);
494
+ toolSetChecked = toolSetChecked && allChildrenChecked;
495
+ }
496
+ result.set(item.toolset, toolSetChecked);
427
497
  if (item.children) {
428
498
  traverse(item.children);
429
499
  }
430
500
  } else if (isToolTreeItem(item)) {
431
- result.set(item.tool, item.checked || result.get(item.tool) === true);
501
+ const checked = item.checked === true;
502
+ const previous = result.get(item.tool);
503
+ result.set(item.tool, previous === undefined ? checked : previous && checked);
432
504
  }
433
505
  }
434
506
  };
435
507
  traverse(treePicker.itemTree);
436
- return result;
508
+ return ToolAndToolSetEnablementMap.fromMap(result);
437
509
  };
438
510
  let didAccept = false;
439
511
  const didAcceptFinalItem = store.add(( new Emitter()));
@@ -452,17 +524,17 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
452
524
  }));
453
525
  const addMcpServerButton = {
454
526
  iconClass: ThemeIcon.asClassName(Codicon.mcp),
455
- tooltip: ( localize(5187, "Add MCP Server..."))
527
+ tooltip: ( localize(5401, "Add MCP Server..."))
456
528
  };
457
529
  const installExtension = {
458
530
  iconClass: ThemeIcon.asClassName(Codicon.extensions),
459
- tooltip: ( localize(5188, "Install Extension..."))
531
+ tooltip: ( localize(5402, "Install Extension..."))
460
532
  };
461
533
  const configureToolSets = {
462
534
  iconClass: ThemeIcon.asClassName(Codicon.gear),
463
- tooltip: ( localize(5189, "Configure Tool Sets..."))
535
+ tooltip: ( localize(5403, "Configure Tool Sets..."))
464
536
  };
465
- treePicker.title = ( localize(5190, "Configure Tools"));
537
+ treePicker.title = ( localize(5404, "Configure Tools"));
466
538
  treePicker.buttons = [addMcpServerButton, installExtension, configureToolSets];
467
539
  store.add(treePicker.onDidTriggerButton(button => {
468
540
  if (button === addMcpServerButton) {
@@ -470,7 +542,9 @@ async function showToolsPicker(accessor, placeHolder, source, description, getTo
470
542
  } else if (button === installExtension) {
471
543
  extensionsWorkbenchService.openSearch("@tag:language-model-tools");
472
544
  } else if (button === configureToolSets) {
473
- commandService.executeCommand(ConfigureToolSets.ID);
545
+ commandService.executeCommand(ConfigureToolSets.ID, {
546
+ selection: collectResults()
547
+ });
474
548
  }
475
549
  treePicker.hide();
476
550
  }));
@@ -12,7 +12,15 @@ import { Action2 } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions
12
12
  * 0.8 OpenAgentHostAutoApprovePickerAction (NEW — Auto-Approve)
13
13
  * 0.9 OpenAgentHostPermissionModePickerAction (NEW — Claude Approvals)
14
14
  * 1 OpenPermissionPickerAction (Default Approvals)
15
+ * 1.1 OpenAgentHostFolderPickerAction (NEW — Folder, multi-root only;
16
+ * ordered last to match the
17
+ * extension-host Copilot CLI)
15
18
  */
19
+ export declare class OpenAgentHostFolderPickerAction extends Action2 {
20
+ static readonly ID = "workbench.action.chat.openAgentHostFolderPicker";
21
+ constructor();
22
+ run(): Promise<void>;
23
+ }
16
24
  export declare class OpenAgentHostModePickerAction extends Action2 {
17
25
  static readonly ID = "workbench.action.chat.openAgentHostModePicker";
18
26
  constructor();
@@ -1,8 +1,34 @@
1
1
 
2
2
  import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
3
  import { Action2, MenuId, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
4
+ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
5
+ import { WorkspaceFolderCountContext, IsSessionsWindowContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
4
6
  import { ChatContextKeyExprs, ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
5
7
 
8
+ class OpenAgentHostFolderPickerAction extends Action2 {
9
+ static {
10
+ this.ID = "workbench.action.chat.openAgentHostFolderPicker";
11
+ }
12
+ constructor() {
13
+ super({
14
+ id: OpenAgentHostFolderPickerAction.ID,
15
+ title: ( localize2(5487, "Folder")),
16
+ f1: false,
17
+ precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ChatContextKeys.chatSessionIsEmpty)),
18
+ menu: [{
19
+ id: MenuId.ChatInputSecondary,
20
+ group: "navigation",
21
+ order: 1.1,
22
+ when: ( ContextKeyExpr.and(
23
+ ChatContextKeyExprs.isAgentHostSession,
24
+ WorkspaceFolderCountContext.greater(1),
25
+ ( IsSessionsWindowContext.negate())
26
+ ))
27
+ }]
28
+ });
29
+ }
30
+ async run() {}
31
+ }
6
32
  class OpenAgentHostModePickerAction extends Action2 {
7
33
  static {
8
34
  this.ID = "workbench.action.chat.openAgentHostModePicker";
@@ -10,7 +36,7 @@ class OpenAgentHostModePickerAction extends Action2 {
10
36
  constructor() {
11
37
  super({
12
38
  id: OpenAgentHostModePickerAction.ID,
13
- title: ( localize2(5266, "Agent Mode")),
39
+ title: ( localize2(5488, "Agent Mode")),
14
40
  f1: false,
15
41
  precondition: ChatContextKeys.enabled,
16
42
  menu: [{
@@ -30,7 +56,7 @@ class OpenAgentHostAutoApprovePickerAction extends Action2 {
30
56
  constructor() {
31
57
  super({
32
58
  id: OpenAgentHostAutoApprovePickerAction.ID,
33
- title: ( localize2(5267, "Auto-Approve")),
59
+ title: ( localize2(5489, "Auto-Approve")),
34
60
  f1: false,
35
61
  precondition: ChatContextKeys.enabled,
36
62
  menu: [{
@@ -50,7 +76,7 @@ class OpenAgentHostPermissionModePickerAction extends Action2 {
50
76
  constructor() {
51
77
  super({
52
78
  id: OpenAgentHostPermissionModePickerAction.ID,
53
- title: ( localize2(5268, "Approvals")),
79
+ title: ( localize2(5490, "Approvals")),
54
80
  f1: false,
55
81
  precondition: ChatContextKeys.enabled,
56
82
  menu: [{
@@ -66,5 +92,6 @@ class OpenAgentHostPermissionModePickerAction extends Action2 {
66
92
  registerAction2(OpenAgentHostModePickerAction);
67
93
  registerAction2(OpenAgentHostAutoApprovePickerAction);
68
94
  registerAction2(OpenAgentHostPermissionModePickerAction);
95
+ registerAction2(OpenAgentHostFolderPickerAction);
69
96
 
70
- export { OpenAgentHostAutoApprovePickerAction, OpenAgentHostModePickerAction, OpenAgentHostPermissionModePickerAction };
97
+ export { OpenAgentHostAutoApprovePickerAction, OpenAgentHostFolderPickerAction, OpenAgentHostModePickerAction, OpenAgentHostPermissionModePickerAction };
@@ -3,13 +3,25 @@ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/l
3
3
  import { IAgentHostService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service";
4
4
  import type { SessionConfigPropertySchema } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/commands";
5
5
  import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
6
+ import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
6
7
  import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
8
+ import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service";
9
+ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
7
10
  import type { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
8
11
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
9
12
  import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
10
13
  import type { IChatWidget } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
11
14
  import { IAgentHostSessionWorkingDirectoryResolver } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.service";
15
+ import { IAgentHostNewSessionFolderService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.service";
12
16
  import { IAgentHostUntitledProvisionalSessionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.service";
17
+ interface IConfigPickerItem {
18
+ readonly value: string;
19
+ readonly label: string;
20
+ readonly description?: string;
21
+ readonly checked?: boolean;
22
+ }
23
+ export declare function getConfigPickerTriggerHover(property: string, schema: SessionConfigPropertySchema, value: unknown | undefined, isReadOnly: boolean): string;
24
+ export declare function getConfigPickerItemHover(property: string, item: IConfigPickerItem, disabled: boolean): string | undefined;
13
25
  /**
14
26
  * Returns `true` when an `autoApprove` schema uses the well-known shape the
15
27
  * dedicated Auto-Approve picker understands: a string enum that includes
@@ -40,6 +52,20 @@ export declare const WELL_KNOWN_PICKER_PROPERTIES: ReadonlySet<string>;
40
52
  * generic lane.
41
53
  */
42
54
  export declare function isClaimedByDedicatedPicker(property: string, schema: SessionConfigPropertySchema): boolean;
55
+ /**
56
+ * Resolves which config value a chat-input chip should display, given the
57
+ * server's session-state value and the workbench overlay value.
58
+ *
59
+ * Precedence depends on the session lifecycle:
60
+ * - Untitled (pre-send): the workbench overlay is authoritative — it reflects
61
+ * synchronous chip edits before the provisional backend echoes them, so it
62
+ * wins over server state.
63
+ * - Running (titled): the *server* is authoritative. The overlay is only
64
+ * refreshed on manual chip edits, so server-driven changes (e.g. Plan →
65
+ * Autopilot when the user approves a plan) must win, otherwise a stale
66
+ * overlay value would shadow them.
67
+ */
68
+ export declare function resolveConfigChipValue(isUntitled: boolean, serverValue: unknown, overlayValue: unknown, schemaDefault: unknown): unknown;
43
69
  /**
44
70
  * One workbench chat-input chip bound to a single agent-host session-config
45
71
  * property. Used both for dedicated well-known property chips
@@ -51,18 +77,23 @@ export declare class AgentHostChatInputPicker extends Disposable {
51
77
  private readonly _property;
52
78
  private readonly _agentHostService;
53
79
  private readonly _actionWidgetService;
80
+ private readonly _hoverService;
54
81
  private readonly _openerService;
55
82
  private readonly _workingDirectoryResolver;
56
83
  private readonly _workspaceContextService;
57
84
  private readonly _provisional;
58
85
  private readonly _configurationService;
59
- private readonly _renderDisposables;
60
- private readonly _filterDelayer;
61
- private readonly _subRef;
86
+ private readonly _newSessionFolderService;
87
+ private readonly _dialogService;
88
+ private readonly _storageService;
62
89
  private _container;
63
90
  private _initialResolved;
64
91
  private readonly _initialResolveCts;
65
- constructor(_widget: IChatWidget, _property: string, _agentHostService: IAgentHostService, _actionWidgetService: IActionWidgetService, _openerService: IOpenerService, _workingDirectoryResolver: IAgentHostSessionWorkingDirectoryResolver, _workspaceContextService: IWorkspaceContextService, _provisional: IAgentHostUntitledProvisionalSessionService, _configurationService: IConfigurationService);
92
+ private readonly _renderDisposables;
93
+ private readonly _filterDelayer;
94
+ private readonly _subRef;
95
+ constructor(_widget: IChatWidget, _property: string, _agentHostService: IAgentHostService, _actionWidgetService: IActionWidgetService, _hoverService: IHoverService, _openerService: IOpenerService, _workingDirectoryResolver: IAgentHostSessionWorkingDirectoryResolver, _workspaceContextService: IWorkspaceContextService, _provisional: IAgentHostUntitledProvisionalSessionService, _configurationService: IConfigurationService, _newSessionFolderService: IAgentHostNewSessionFolderService, _dialogService: IDialogService, _storageService: IStorageService);
96
+ private _registerInitialResolveCts;
66
97
  render(container: HTMLElement): void;
67
98
  private _reattach;
68
99
  private _cancelInitialResolve;
@@ -76,6 +107,15 @@ export declare class AgentHostChatInputPicker extends Disposable {
76
107
  private _fromCompletion;
77
108
  private _readWorkingDirectory;
78
109
  private _readCurrentValues;
110
+ /**
111
+ * Surfaces the shared elevated-level warning for a Bypass / (legacy)
112
+ * Autopilot approval pick before applying it. Non-elevated levels and
113
+ * non-approval properties apply directly. Tolerated forward/legacy
114
+ * auto-approve values that are not recognized {@link ChatPermissionLevel}s
115
+ * (e.g. `assisted`) are still treated as elevated and fall back to the
116
+ * Bypass Approvals warning so they can never be selected silently.
117
+ */
118
+ private _confirmAndSetValue;
79
119
  private _setValue;
80
120
  }
81
121
  export declare class AgentHostChatInputPickerActionViewItem extends BaseActionViewItem {
@@ -83,3 +123,4 @@ export declare class AgentHostChatInputPickerActionViewItem extends BaseActionVi
83
123
  constructor(action: IAction, _picker: AgentHostChatInputPicker);
84
124
  render(container: HTMLElement): void;
85
125
  }
126
+ export {};