@codingame/monaco-vscode-katex-common 34.1.2 → 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
@@ -0,0 +1,110 @@
1
+ import type { ErrorInfo } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state";
2
+ import { ChatEntitlement } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService";
3
+ import { IChatResponseErrorDetails } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
4
+ /**
5
+ * Mirror of the Copilot extension's `ChatFetchResponseType` (see
6
+ * `extensions/copilot/src/platform/chat/common/commonTypes.ts`). These string
7
+ * values are forwarded verbatim from the agent host harnesses (Copilot CLI,
8
+ * Claude, Codex) over `_meta`, so they MUST stay in sync with the extension.
9
+ */
10
+ export declare enum ChatFetchResponseType {
11
+ OffTopic = "offTopic",
12
+ Canceled = "canceled",
13
+ Filtered = "filtered",
14
+ FilteredRetry = "filteredRetry",
15
+ PromptFiltered = "promptFiltered",
16
+ Length = "length",
17
+ RateLimited = "rateLimited",
18
+ QuotaExceeded = "quotaExceeded",
19
+ ExtensionBlocked = "extensionBlocked",
20
+ BadRequest = "badRequest",
21
+ NotFound = "notFound",
22
+ Failed = "failed",
23
+ Unknown = "unknown",
24
+ NetworkError = "networkError",
25
+ AgentUnauthorized = "agent_unauthorized",
26
+ AgentFailedDependency = "agent_failed_dependency",
27
+ InvalidStatefulMarker = "invalid_stateful_marker",
28
+ Success = "success"
29
+ }
30
+ /**
31
+ * Mirror of the Copilot extension's `FilterReason` (see
32
+ * `extensions/copilot/src/platform/networking/common/openai.ts`).
33
+ */
34
+ export declare enum FilterReason {
35
+ Hate = "hate",
36
+ SelfHarm = "self_harm",
37
+ Sexual = "sexual",
38
+ Violence = "violence",
39
+ Copyright = "snippy",
40
+ Prompt = "prompt"
41
+ }
42
+ /**
43
+ * Raw error payload forwarded from an agent host harness. This is the
44
+ * serialized `ChatFetchError` from the Copilot extension. Because it crosses
45
+ * the extension/core boundary as untyped JSON inside `_meta`, every field is
46
+ * optional and consumers type-cast based on `type`.
47
+ */
48
+ export interface IChatFetchErrorPayload {
49
+ readonly type: ChatFetchResponseType | string;
50
+ readonly reason?: string;
51
+ readonly reasonDetail?: string;
52
+ readonly requestId?: string;
53
+ readonly serverRequestId?: string | undefined;
54
+ readonly category?: FilterReason | string;
55
+ readonly retryAfter?: number;
56
+ readonly rateLimitKey?: string;
57
+ readonly isAuto?: boolean;
58
+ readonly capiError?: {
59
+ code?: string;
60
+ message?: string;
61
+ };
62
+ }
63
+ /**
64
+ * The full forwarded chat error payload, including the user-context fields that
65
+ * the extension would normally read from the Copilot token. This is the value
66
+ * placed at `_meta.chatError` by the harnesses.
67
+ */
68
+ export interface IForwardedChatError {
69
+ readonly fetchError: IChatFetchErrorPayload;
70
+ readonly copilotPlan?: string;
71
+ readonly isUsageBasedBilling?: boolean;
72
+ readonly quotaResetDate?: string;
73
+ }
74
+ export declare function getQuotaMessageForPlan(copilotPlan: string | undefined, isUsageBasedBilling?: boolean, quotaResetDate?: string): string;
75
+ export declare function getFilteredMessage(category: FilterReason | string, supportsMarkdown?: boolean): string;
76
+ /**
77
+ * Builds the user-facing {@link IChatResponseErrorDetails} from a forwarded raw
78
+ * chat fetch error. This is the core analog of the Copilot extension's
79
+ * `getErrorDetailsFromChatFetchError`. Unlike the extension, core has no
80
+ * access to the GitHub outage status, so the outage note is never appended
81
+ * (assume no outage).
82
+ */
83
+ export declare function getChatErrorDetailsFromFetchError(fetchError: IChatFetchErrorPayload, copilotPlan: string | undefined, isUsageBasedBilling?: boolean, quotaResetDate?: string): IChatResponseErrorDetails;
84
+ /**
85
+ * Extracts and formats {@link IChatResponseErrorDetails} from the `_meta`
86
+ * forwarded by an agent host harness, if present. Returns `undefined` when no
87
+ * forwarded chat error is found so callers can fall back to their existing
88
+ * error handling.
89
+ *
90
+ * The agent host does not know the signed-in user's plan, so callers in core
91
+ * pass an {@link IChatErrorContext} (resolved from `IChatEntitlementService`)
92
+ * whose fields take precedence over the values forwarded in `_meta`.
93
+ */
94
+ export declare function getChatErrorDetailsFromMeta(error: ErrorInfo | undefined, context?: IChatErrorContext): IChatResponseErrorDetails | undefined;
95
+ /**
96
+ * User-context overrides for {@link getChatErrorDetailsFromMeta}. When a field
97
+ * is set it takes precedence over the value forwarded by the agent host. Core
98
+ * resolves these from `IChatEntitlementService`.
99
+ */
100
+ export interface IChatErrorContext {
101
+ readonly copilotPlan?: string;
102
+ readonly isUsageBasedBilling?: boolean;
103
+ readonly quotaResetDate?: string;
104
+ }
105
+ /**
106
+ * Maps a core {@link ChatEntitlement} to the Copilot plan string understood by
107
+ * the quota/rate-limit message helpers (mirrors the Copilot extension's
108
+ * `CopilotToken.copilotPlan` values).
109
+ */
110
+ export declare function getCopilotPlanFromEntitlement(entitlement: ChatEntitlement): string | undefined;
@@ -0,0 +1,37 @@
1
+
2
+ import '@codingame/monaco-vscode-api/vscode/vs/nls';
3
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
4
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
5
+
6
+ var ChatFetchResponseType;
7
+ (function(ChatFetchResponseType) {
8
+ ChatFetchResponseType["OffTopic"] = "offTopic";
9
+ ChatFetchResponseType["Canceled"] = "canceled";
10
+ ChatFetchResponseType["Filtered"] = "filtered";
11
+ ChatFetchResponseType["FilteredRetry"] = "filteredRetry";
12
+ ChatFetchResponseType["PromptFiltered"] = "promptFiltered";
13
+ ChatFetchResponseType["Length"] = "length";
14
+ ChatFetchResponseType["RateLimited"] = "rateLimited";
15
+ ChatFetchResponseType["QuotaExceeded"] = "quotaExceeded";
16
+ ChatFetchResponseType["ExtensionBlocked"] = "extensionBlocked";
17
+ ChatFetchResponseType["BadRequest"] = "badRequest";
18
+ ChatFetchResponseType["NotFound"] = "notFound";
19
+ ChatFetchResponseType["Failed"] = "failed";
20
+ ChatFetchResponseType["Unknown"] = "unknown";
21
+ ChatFetchResponseType["NetworkError"] = "networkError";
22
+ ChatFetchResponseType["AgentUnauthorized"] = "agent_unauthorized";
23
+ ChatFetchResponseType["AgentFailedDependency"] = "agent_failed_dependency";
24
+ ChatFetchResponseType["InvalidStatefulMarker"] = "invalid_stateful_marker";
25
+ ChatFetchResponseType["Success"] = "success";
26
+ })(ChatFetchResponseType || (ChatFetchResponseType = {}));
27
+ var FilterReason;
28
+ (function(FilterReason) {
29
+ FilterReason["Hate"] = "hate";
30
+ FilterReason["SelfHarm"] = "self_harm";
31
+ FilterReason["Sexual"] = "sexual";
32
+ FilterReason["Violence"] = "violence";
33
+ FilterReason["Copyright"] = "snippy";
34
+ FilterReason["Prompt"] = "prompt";
35
+ })(FilterReason || (FilterReason = {}));
36
+
37
+ export { ChatFetchResponseType, FilterReason };
@@ -1,7 +1,9 @@
1
1
  import { VSBuffer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/buffer";
2
+ import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
2
3
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
4
  import { IChatResponseViewModel, IChatRequestViewModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
4
5
  import { IChatToolInvocation, IChatToolInvocationSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
6
+ import { type IChatRequestVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
5
7
  export interface IChatExtractedImage {
6
8
  readonly id: string;
7
9
  readonly uri: URI;
@@ -9,7 +11,7 @@ export interface IChatExtractedImage {
9
11
  readonly mimeType: string;
10
12
  readonly data: VSBuffer;
11
13
  readonly source: string;
12
- readonly caption: string | undefined;
14
+ readonly caption: string | IMarkdownString | undefined;
13
15
  }
14
16
  export interface IChatExtractedImageCollection {
15
17
  readonly id: string;
@@ -29,3 +31,4 @@ export declare function coerceImageBuffer(value: unknown): Uint8Array | undefine
29
31
  * Extract images from a chat request's variable attachments (user-attached images).
30
32
  */
31
33
  export declare function extractImagesFromChatRequest(request: IChatRequestViewModel): IChatExtractedImage[];
34
+ export declare function extractImagesFromChatVariables(variables: readonly IChatRequestVariableEntry[]): IChatExtractedImage[];
@@ -26,7 +26,7 @@ async function extractImagesFromChatResponse(response, readFile) {
26
26
  }
27
27
  }
28
28
  const request = response.session.getItems().find(item => isRequestVM(item) && item.id === response.requestId);
29
- const title = request ? request.messageText.trim() || getExplicitFileOrImageAttachmentSummary(request.variables) || ( localize(7922, "Images")) : ( localize(7922, "Images"));
29
+ const title = request ? request.messageText.trim() || getExplicitFileOrImageAttachmentSummary(request.variables) || ( localize(8522, "Images")) : ( localize(8522, "Images"));
30
30
  return {
31
31
  id: ( response.sessionResource.toString()) + "_" + response.id,
32
32
  title,
@@ -36,8 +36,7 @@ async function extractImagesFromChatResponse(response, readFile) {
36
36
  function extractImagesFromToolInvocationOutputDetails(toolInvocation, sessionResource) {
37
37
  const images = [];
38
38
  const resultDetails = IChatToolInvocation.resultDetails(toolInvocation);
39
- const msg = toolInvocation.pastTenseMessage ?? toolInvocation.invocationMessage;
40
- const caption = msg ? (typeof msg === "string" ? msg : msg.value) : undefined;
39
+ const caption = toolInvocation.pastTenseMessage ?? toolInvocation.invocationMessage;
41
40
  const pushImage = (mimeType, data, outputIndex) => {
42
41
  const ext = getExtensionForMimeType(mimeType);
43
42
  const permalinkBasename = ext ? `file${ext}` : "file.bin";
@@ -45,10 +44,10 @@ function extractImagesFromToolInvocationOutputDetails(toolInvocation, sessionRes
45
44
  images.push({
46
45
  id: `${toolInvocation.toolCallId}_${outputIndex}`,
47
46
  uri,
48
- name: ( localize(7923, "Image {0}", images.length + 1)),
47
+ name: ( localize(8523, "Image {0}", images.length + 1)),
49
48
  mimeType,
50
49
  data,
51
- source: ( localize(7924, "Tool: {0}", toolInvocation.toolId)),
50
+ source: ( localize(8524, "Tool: {0}", toolInvocation.toolId)),
52
51
  caption
53
52
  });
54
53
  };
@@ -93,8 +92,8 @@ async function extractImagesFromToolInvocationMessages(toolInvocation, readFile)
93
92
  name,
94
93
  mimeType,
95
94
  data,
96
- source: ( localize(7924, "Tool: {0}", toolInvocation.toolId)),
97
- caption: message.value
95
+ source: ( localize(8524, "Tool: {0}", toolInvocation.toolId)),
96
+ caption: message
98
97
  });
99
98
  }
100
99
  }
@@ -131,7 +130,7 @@ async function extractImageFromInlineReference(part, readFile) {
131
130
  name,
132
131
  mimeType: mime,
133
132
  data,
134
- source: ( localize(7925, "File")),
133
+ source: ( localize(8525, "File")),
135
134
  caption: undefined
136
135
  };
137
136
  }
@@ -139,8 +138,11 @@ function coerceImageBuffer(value) {
139
138
  return value instanceof Uint8Array ? value : value instanceof ArrayBuffer ? ( new Uint8Array(value)) : (value && typeof value === "object" && !Array.isArray(value)) ? ( new Uint8Array(( ( Object.keys(value)).sort((a, b) => Number(a) - Number(b)).map(key => value[key])))) : undefined;
140
139
  }
141
140
  function extractImagesFromChatRequest(request) {
141
+ return extractImagesFromChatVariables(request.variables);
142
+ }
143
+ function extractImagesFromChatVariables(variables) {
142
144
  const images = [];
143
- for (const variable of request.variables) {
145
+ for (const variable of variables) {
144
146
  if (!isImageVariableEntry(variable)) {
145
147
  continue;
146
148
  }
@@ -160,11 +162,11 @@ function extractImagesFromChatRequest(request) {
160
162
  name: variable.name,
161
163
  mimeType,
162
164
  data: VSBuffer.wrap(buffer),
163
- source: ( localize(7926, "Attachment")),
165
+ source: ( localize(8526, "Attachment")),
164
166
  caption: undefined
165
167
  });
166
168
  }
167
169
  return images;
168
170
  }
169
171
 
170
- export { coerceImageBuffer, extractImagesFromChatRequest, extractImagesFromChatResponse, extractImagesFromToolInvocationMessages, extractImagesFromToolInvocationOutputDetails };
172
+ export { coerceImageBuffer, extractImagesFromChatRequest, extractImagesFromChatResponse, extractImagesFromChatVariables, extractImagesFromToolInvocationMessages, extractImagesFromToolInvocationOutputDetails };
@@ -23,5 +23,12 @@ export declare function hasShownElevatedWarning(level: ChatPermissionLevel, stor
23
23
  * When the user ticks "Don't show again", the choice is persisted in
24
24
  * `StorageScope.PROFILE`, which is shared across the workbench and Agents
25
25
  * windows so a dismissal in one applies to the other.
26
+ *
27
+ * `options.defaultSettingKey` controls which "make this the default" setting
28
+ * the dialog links to — local chat uses `chat.permissions.default` (the
29
+ * default), while agent-host sessions pass
30
+ * `chat.defaultConfiguration`.
26
31
  */
27
- export declare function maybeConfirmElevatedPermissionLevel(level: ChatPermissionLevel, dialogService: IDialogService, storageService: IStorageService): Promise<boolean>;
32
+ export declare function maybeConfirmElevatedPermissionLevel(level: ChatPermissionLevel, dialogService: IDialogService, storageService: IStorageService, options?: {
33
+ readonly defaultSettingKey?: string;
34
+ }): Promise<boolean>;
@@ -20,48 +20,84 @@ function dontShowAgainKey(level) {
20
20
  function resetShownWarnings() {
21
21
  shownWarnings.clear();
22
22
  }
23
+ const ELEVATION_RANK = ( new Map([[ChatPermissionLevel.AutoApprove, 1], [ChatPermissionLevel.Autopilot, 1]]));
23
24
  function hasShownElevatedWarning(level, storageService) {
24
- if (( shownWarnings.has(level))) {
25
- return true;
25
+ const rank = ELEVATION_RANK.get(level);
26
+ if (rank === undefined) {
27
+ return false;
26
28
  }
27
- const key = dontShowAgainKey(level);
28
- if (key && storageService.getBoolean(key, StorageScope.PROFILE, false)) {
29
- return true;
29
+ for (const [candidate, candidateRank] of ELEVATION_RANK) {
30
+ if (candidateRank < rank) {
31
+ continue;
32
+ }
33
+ if (( shownWarnings.has(candidate))) {
34
+ return true;
35
+ }
36
+ const key = dontShowAgainKey(candidate);
37
+ if (key && storageService.getBoolean(key, StorageScope.PROFILE, false)) {
38
+ return true;
39
+ }
30
40
  }
31
41
  return false;
32
42
  }
33
- async function maybeConfirmElevatedPermissionLevel(level, dialogService, storageService) {
43
+ function getElevatedWarningCopy(level, defaultSettingKey) {
44
+ switch (level) {
45
+ case ChatPermissionLevel.Autopilot:
46
+ return {
47
+ title: ( localize(8530, "Enable Autopilot?")),
48
+ confirm: ( localize(8531, "Enable")),
49
+ icon: Codicon.rocket,
50
+ detail: ( localize(
51
+ 8532,
52
+ "Autopilot will auto-approve all tool calls and continue working autonomously until the task is complete. This includes terminal commands, file edits, and external tool calls. The agent will make decisions on your behalf without asking for confirmation.\n\nYou can stop the agent at any time by clicking the stop button. This applies to the current session only.\n\nTo make this the starting permission level for new sessions, change the [{0}](command:workbench.action.openSettings?%5B%22{0}%22%5D) setting.",
53
+ defaultSettingKey
54
+ ))
55
+ };
56
+ case ChatPermissionLevel.AutoApprove:
57
+ return {
58
+ title: ( localize(8533, "Enable Bypass Approvals?")),
59
+ confirm: ( localize(8534, "Enable")),
60
+ icon: Codicon.warning,
61
+ detail: ( localize(
62
+ 8535,
63
+ "Bypass Approvals will auto-approve all tool calls without asking for confirmation. This includes file edits, terminal commands, and external tool calls.\n\nTo make this the starting permission level for new sessions, change the [{0}](command:workbench.action.openSettings?%5B%22{0}%22%5D) setting.",
64
+ defaultSettingKey
65
+ ))
66
+ };
67
+ default:
68
+ return undefined;
69
+ }
70
+ }
71
+ async function maybeConfirmElevatedPermissionLevel(level, dialogService, storageService, options) {
34
72
  const key = dontShowAgainKey(level);
35
73
  if (!key || hasShownElevatedWarning(level, storageService)) {
36
74
  return true;
37
75
  }
38
- const isAutopilot = level === ChatPermissionLevel.Autopilot;
76
+ const copy = getElevatedWarningCopy(
77
+ level,
78
+ options?.defaultSettingKey ?? ChatConfiguration.DefaultPermissionLevel
79
+ );
80
+ if (!copy) {
81
+ return true;
82
+ }
39
83
  const result = await dialogService.prompt({
40
84
  type: Severity.Warning,
41
- message: isAutopilot ? ( localize(7930, "Enable Autopilot?")) : ( localize(7931, "Enable Bypass Approvals?")),
85
+ message: copy.title,
42
86
  buttons: [{
43
- label: isAutopilot ? ( localize(7932, "Enable")) : ( localize(7933, "Enable")),
87
+ label: copy.confirm,
44
88
  run: () => true
45
89
  }, {
46
- label: isAutopilot ? ( localize(7934, "Cancel")) : ( localize(7935, "Cancel")),
90
+ label: ( localize(8536, "Cancel")),
47
91
  run: () => false
48
92
  }],
49
93
  checkbox: {
50
- label: ( localize(7936, "Don't show again")),
94
+ label: ( localize(8537, "Don't show again")),
51
95
  checked: false
52
96
  },
53
97
  custom: {
54
- icon: isAutopilot ? Codicon.rocket : Codicon.warning,
98
+ icon: copy.icon,
55
99
  markdownDetails: [{
56
- markdown: ( new MarkdownString(isAutopilot ? ( localize(
57
- 7937,
58
- "Autopilot will auto-approve all tool calls and continue working autonomously until the task is complete. This includes terminal commands, file edits, and external tool calls. The agent will make decisions on your behalf without asking for confirmation.\n\nYou can stop the agent at any time by clicking the stop button. This applies to the current session only.\n\nTo make this the starting permission level for new chat sessions, change the [{0}](command:workbench.action.openSettings?%5B%22{0}%22%5D) setting.",
59
- ChatConfiguration.DefaultPermissionLevel
60
- )) : ( localize(
61
- 7938,
62
- "Bypass Approvals will auto-approve all tool calls without asking for confirmation. This includes file edits, terminal commands, and external tool calls.\n\nTo make this the starting permission level for new chat sessions, change the [{0}](command:workbench.action.openSettings?%5B%22{0}%22%5D) setting.",
63
- ChatConfiguration.DefaultPermissionLevel
64
- )), {
100
+ markdown: ( new MarkdownString(copy.detail, {
65
101
  isTrusted: {
66
102
  enabledCommands: ["workbench.action.openSettings"]
67
103
  }
@@ -18,45 +18,45 @@ registerColor("agentStatusIndicator.background", {
18
18
  light: ( Color.black.transparent(0.05)),
19
19
  hcDark: null,
20
20
  hcLight: null
21
- }, ( localize(8394, "Background color of the agent status indicator in the titlebar.")));
21
+ }, ( localize(9011, "Background color of the agent status indicator in the titlebar.")));
22
22
  registerColor("chat.requestBorder", {
23
23
  dark: ( new Color(( new RGBA(255, 255, 255, 0.10)))),
24
24
  light: ( new Color(( new RGBA(0, 0, 0, 0.10)))),
25
25
  hcDark: contrastBorder,
26
26
  hcLight: contrastBorder
27
- }, ( localize(8395, "The border color of a chat request.")));
27
+ }, ( localize(9012, "The border color of a chat request.")));
28
28
  const chatRequestBackground = registerColor("chat.requestBackground", {
29
29
  dark: ( transparent(editorBackground, 0.62)),
30
30
  light: ( transparent(editorBackground, 0.62)),
31
31
  hcDark: editorWidgetBackground,
32
32
  hcLight: null
33
- }, ( localize(8396, "The background color of a chat request.")));
33
+ }, ( localize(9013, "The background color of a chat request.")));
34
34
  const chatSlashCommandBackground = registerColor("chat.slashCommandBackground", {
35
35
  dark: "#26477866",
36
36
  light: "#adceff7a",
37
37
  hcDark: Color.white,
38
38
  hcLight: badgeBackground
39
- }, ( localize(8397, "The background color of a chat slash command.")));
39
+ }, ( localize(9014, "The background color of a chat slash command.")));
40
40
  const chatSlashCommandForeground = registerColor("chat.slashCommandForeground", {
41
41
  dark: "#85b6ff",
42
42
  light: "#26569e",
43
43
  hcDark: Color.black,
44
44
  hcLight: badgeForeground
45
- }, ( localize(8398, "The foreground color of a chat slash command.")));
45
+ }, ( localize(9015, "The foreground color of a chat slash command.")));
46
46
  registerColor("chat.avatarBackground", {
47
47
  dark: "#1f1f1f",
48
48
  light: "#f2f2f2",
49
49
  hcDark: Color.black,
50
50
  hcLight: Color.white
51
- }, ( localize(8399, "The background color of a chat avatar.")));
52
- registerColor("chat.avatarForeground", foreground, ( localize(8400, "The foreground color of a chat avatar.")));
51
+ }, ( localize(9016, "The background color of a chat avatar.")));
52
+ registerColor("chat.avatarForeground", foreground, ( localize(9017, "The foreground color of a chat avatar.")));
53
53
  registerColor("chat.editedFileForeground", {
54
54
  light: "#895503",
55
55
  dark: "#E2C08D",
56
56
  hcDark: "#E2C08D",
57
57
  hcLight: "#895503"
58
58
  }, ( localize(
59
- 8401,
59
+ 9018,
60
60
  "The foreground color of a chat edited file in the edited file list."
61
61
  )));
62
62
  registerColor("chat.requestCodeBorder", {
@@ -64,50 +64,50 @@ registerColor("chat.requestCodeBorder", {
64
64
  light: "#0e639c40",
65
65
  hcDark: null,
66
66
  hcLight: null
67
- }, ( localize(8402, "Border color of code blocks within the chat request bubble.")), true);
67
+ }, ( localize(9019, "Border color of code blocks within the chat request bubble.")), true);
68
68
  registerColor("chat.requestBubbleBackground", {
69
69
  light: ( transparent(editorSelectionBackground, 0.3)),
70
70
  dark: ( transparent(editorSelectionBackground, 0.3)),
71
71
  hcDark: null,
72
72
  hcLight: null
73
- }, ( localize(8403, "Background color of the chat request bubble.")), true);
73
+ }, ( localize(9020, "Background color of the chat request bubble.")), true);
74
74
  registerColor("chat.requestBubbleHoverBackground", {
75
75
  dark: ( transparent(editorSelectionBackground, 0.6)),
76
76
  light: ( transparent(editorSelectionBackground, 0.6)),
77
77
  hcDark: null,
78
78
  hcLight: null
79
- }, ( localize(8404, "Background color of the chat request bubble on hover.")), true);
79
+ }, ( localize(9021, "Background color of the chat request bubble on hover.")), true);
80
80
  registerColor("chat.checkpointSeparator", {
81
81
  dark: "#585858",
82
82
  light: "#a9a9a9",
83
83
  hcDark: "#a9a9a9",
84
84
  hcLight: "#a5a5a5"
85
- }, ( localize(8405, "Chat checkpoint separator color.")));
85
+ }, ( localize(9022, "Chat checkpoint separator color.")));
86
86
  registerColor("chat.linesAddedForeground", {
87
87
  dark: "#54B054",
88
88
  light: "#107C10",
89
89
  hcDark: "#54B054",
90
90
  hcLight: "#107C10"
91
- }, ( localize(8406, "Foreground color of lines added in chat code block pill.")), true);
91
+ }, ( localize(9023, "Foreground color of lines added in chat code block pill.")), true);
92
92
  registerColor("chat.linesRemovedForeground", {
93
93
  dark: "#FC6A6A",
94
94
  light: "#BC2F32",
95
95
  hcDark: "#F48771",
96
96
  hcLight: "#B5200D"
97
- }, ( localize(8407, "Foreground color of lines removed in chat code block pill.")), true);
97
+ }, ( localize(9024, "Foreground color of lines removed in chat code block pill.")), true);
98
98
  registerColor("chat.thinkingShimmer", {
99
99
  dark: "#ffffff",
100
100
  light: "#000000",
101
101
  hcDark: "#ffffff",
102
102
  hcLight: "#000000"
103
- }, ( localize(8408, "Shimmer highlight for thinking/working labels.")), true);
103
+ }, ( localize(9025, "Shimmer highlight for thinking/working labels.")), true);
104
104
  registerColor("chat.inputWorkingBorderColor1", {
105
105
  dark: buttonBackground,
106
106
  light: buttonBackground,
107
107
  hcDark: "#FFFFFF",
108
108
  hcLight: "#000000"
109
109
  }, ( localize(
110
- 8409,
110
+ 9026,
111
111
  "First color stop of the animated chat input border shown while a request is in flight."
112
112
  )), true);
113
113
  registerColor("chat.inputWorkingBorderColor2", {
@@ -116,7 +116,7 @@ registerColor("chat.inputWorkingBorderColor2", {
116
116
  hcDark: "#A0A0A0",
117
117
  hcLight: "#555555"
118
118
  }, ( localize(
119
- 8410,
119
+ 9027,
120
120
  "Secondary accent color used by other animated chat input affordances. Not used by the in-flight chat input border."
121
121
  )), true);
122
122
  registerColor("chat.inputWorkingBorderColor3", {
@@ -125,7 +125,7 @@ registerColor("chat.inputWorkingBorderColor3", {
125
125
  hcDark: "#000000",
126
126
  hcLight: "#000000"
127
127
  }, ( localize(
128
- 8411,
128
+ 9028,
129
129
  "Tertiary accent color used by other animated chat input affordances. Not used by the in-flight chat input border."
130
130
  )), true);
131
131
 
@@ -266,7 +266,7 @@ let InlineChatController = class InlineChatController {
266
266
  }
267
267
  }));
268
268
  const defaultPlaceholderObs = ( visibleSessionObs.map((session, r) => {
269
- return session?.initialSelection.isEmpty() ? ( localize(10714, "Generate code")) : ( localize(10715, "Modify selected code"));
269
+ return session?.initialSelection.isEmpty() ? ( localize(11330, "Generate code")) : ( localize(11331, "Modify selected code"));
270
270
  }));
271
271
  this.#store.add(autorun(r => {
272
272
  const session = visibleSessionObs.read(r);
@@ -379,7 +379,7 @@ let InlineChatController = class InlineChatController {
379
379
  if (lastProgress) {
380
380
  placeholder = renderAsPlaintext(lastProgress.content);
381
381
  }
382
- this.#zone.rawValue?.widget.chatWidget.setInputPlaceholder(placeholder || ( localize(10716, "Working...")));
382
+ this.#zone.rawValue?.widget.chatWidget.setInputPlaceholder(placeholder || ( localize(11332, "Working...")));
383
383
  }
384
384
  }));
385
385
  this.#store.add(autorun(r => {
@@ -455,7 +455,7 @@ let InlineChatController = class InlineChatController {
455
455
  }
456
456
  if (entries.length > 0) {
457
457
  this.#zone.value.widget.chatWidget.attachmentModel.addContext(...entries);
458
- const msg = entries.length > 1 ? ( localize(10717, "Fix the attached problems")) : ( localize(10718, "Fix the attached problem"));
458
+ const msg = entries.length > 1 ? ( localize(11333, "Fix the attached problems")) : ( localize(11334, "Fix the attached problem"));
459
459
  this.#zone.value.widget.chatWidget.input.setValue(msg, true);
460
460
  arg.message = msg;
461
461
  this.#zone.value.widget.chatWidget.inputEditor.setSelection(( new Selection(1, 1, Number.MAX_SAFE_INTEGER, 1)));
@@ -488,7 +488,7 @@ let InlineChatController = class InlineChatController {
488
488
  this.#zone.value.widget.chatWidget.input.setCurrentLanguageModel({
489
489
  metadata: model,
490
490
  identifier: id
491
- });
491
+ }, true);
492
492
  }
493
493
  if (arg.message) {
494
494
  this.#zone.value.widget.chatWidget.setInput(arg.message);
@@ -257,7 +257,7 @@ let InlineChatWidget = class InlineChatWidget {
257
257
  );
258
258
  this._store.add(this.#chatService.onDidPerformUserAction(e => {
259
259
  if (isEqual(e.sessionResource, this.chatWidget.viewModel?.model.sessionResource) && e.action.kind === "vote") {
260
- this.updateStatus(( localize(10725, "Thank you for your feedback!")), {
260
+ this.updateStatus(( localize(11341, "Thank you for your feedback!")), {
261
261
  resetAfter: 1250
262
262
  });
263
263
  }
@@ -270,11 +270,11 @@ let InlineChatWidget = class InlineChatWidget {
270
270
  if (this.#configurationService.getValue(AccessibilityVerbositySettingId.InlineChat)) {
271
271
  const kbLabel = this.#keybindingService.lookupKeybinding(AccessibilityCommandId.OpenAccessibilityHelp)?.getLabel();
272
272
  label = kbLabel ? ( localize(
273
- 10726,
273
+ 11342,
274
274
  "Inline Chat Input, Use {0} for Inline Chat Accessibility Help.",
275
275
  kbLabel
276
276
  )) : ( localize(
277
- 10727,
277
+ 11343,
278
278
  "Inline Chat Input, Run the Inline Chat Accessibility Help command for more information."
279
279
  ));
280
280
  }
@@ -295,7 +295,7 @@ let InlineChatWidget = class InlineChatWidget {
295
295
  this._elements.disclaimerLabel.classList.toggle("hidden", !showDisclaimer);
296
296
  if (showDisclaimer) {
297
297
  const renderedMarkdown = disposables.add(this.#markdownRendererService.render(( new MarkdownString(( localize(
298
- 10728,
298
+ 11344,
299
299
  "By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
300
300
  product.defaultChatAgent?.provider?.default?.name ?? "",
301
301
  product.defaultChatAgent?.provider?.default?.name ?? "",
@@ -417,7 +417,7 @@ let InlineChatWidget = class InlineChatWidget {
417
417
  }
418
418
  };
419
419
  InlineChatWidget = ( __decorate([( __param(2, IInstantiationService)), ( __param(3, IContextKeyService)), ( __param(4, IKeybindingService)), ( __param(5, IAccessibilityService)), ( __param(6, IConfigurationService)), ( __param(7, IAccessibleViewService)), ( __param(8, ITextModelService)), ( __param(9, IChatService)), ( __param(10, IHoverService)), ( __param(11, IChatEntitlementService)), ( __param(12, IMarkdownRendererService))], InlineChatWidget));
420
- const defaultAriaLabel = ( localize(10729, "Inline Chat Input"));
420
+ const defaultAriaLabel = ( localize(11345, "Inline Chat Input"));
421
421
  let EditorBasedInlineChatWidget = class EditorBasedInlineChatWidget extends InlineChatWidget {
422
422
  constructor(
423
423
  location,
@@ -421,7 +421,7 @@ let InlineChatZoneWidget = class InlineChatZoneWidget extends ZoneWidget {
421
421
  this.widget.domNode.style.display = "";
422
422
  this.widget.chatWidget.setVisible(false);
423
423
  super.hide();
424
- status(( localize(10730, "Closed inline chat widget")));
424
+ status(( localize(11346, "Closed inline chat widget")));
425
425
  scrollState.restore(this.editor);
426
426
  }
427
427
  };