@codingame/monaco-vscode-katex-common 30.0.1 → 31.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 (276) hide show
  1. package/package.json +3 -3
  2. package/vscode/src/vs/platform/actions/browser/actionbar.d.ts +16 -0
  3. package/vscode/src/vs/platform/actions/browser/actionbar.js +22 -0
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
  5. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
  6. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
  7. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
  8. package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
  9. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
  10. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
  11. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +73 -0
  12. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +3 -1
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +51 -24
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +2 -1
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +64 -72
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +2 -1
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -14
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +17 -18
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +5 -2
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +5 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +73 -9
  28. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +32 -32
  30. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.d.ts +1 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +20 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +1 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +73 -49
  34. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +12 -12
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +0 -6
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +41 -99
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +13 -9
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +14 -15
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +11 -12
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +339 -161
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +9 -2
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +9 -4
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +33 -5
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.d.ts +43 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.js +147 -2
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +4 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +55 -6
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.d.ts +1 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +7 -5
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +1 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +42 -10
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animation.d.ts +18 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.d.ts +15 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.js +16 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.d.ts +13 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.js +33 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/buffer.d.ts +46 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.d.ts +11 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.js +12 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.d.ts +9 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.js +12 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +23 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +37 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.d.ts +34 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.js +68 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +77 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +170 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/media/chatIncrementalRendering.css +112 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +3 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -16
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +24 -6
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +111 -145
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.d.ts +58 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +425 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +16 -7
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +68 -25
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +101 -45
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +36 -4
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +217 -25
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +23 -3
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +168 -60
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +10 -10
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +18 -17
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -5
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +7 -18
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +1 -5
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +7 -19
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +24 -19
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +104 -78
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +11 -2
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +257 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +19 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +30 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +1 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +12 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +286 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +15 -11
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -7
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +25 -47
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +29 -53
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +258 -321
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +53 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +392 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -3
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +24 -30
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +2 -3
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +9 -8
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +6 -3
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +2 -3
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +38 -11
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +577 -113
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +0 -7
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +4 -7
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +1 -8
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +58 -75
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +44 -12
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +362 -188
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +0 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +4 -5
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +42 -95
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +2 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +9 -10
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +57 -38
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +21 -15
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/{modelPickerActionItem2.js → modelPickerActionItem.js} +5 -7
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +38 -31
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +4 -5
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +94 -40
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
  166. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +16 -0
  167. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +218 -0
  168. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +7 -7
  169. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +6 -1
  170. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
  171. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +12 -21
  172. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -32
  173. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +355 -156
  174. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +2 -13
  175. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +72 -65
  176. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +4 -43
  177. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +238 -204
  178. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +4 -19
  179. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +128 -115
  180. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +6 -9
  181. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +152 -49
  182. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +64 -0
  183. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +40 -40
  184. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  185. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  186. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  187. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  188. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  189. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  190. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  191. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  192. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  193. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  194. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  196. package/vscode/src/vs/workbench/contrib/terminal/terminalContribChatExports.d.ts +2 -0
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +45 -0
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +165 -0
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +53 -0
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +163 -0
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +142 -0
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +29 -0
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +144 -0
  210. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +42 -0
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +256 -0
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +42 -0
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +94 -0
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +221 -0
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +52 -0
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +19 -0
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +168 -0
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +22 -0
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +47 -0
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +24 -0
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +32 -0
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +108 -0
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +412 -0
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
  256. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
  257. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +192 -0
  258. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2258 -0
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +22 -0
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +43 -0
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +1 -0
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +25 -0
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +141 -0
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +85 -0
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +608 -0
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +0 -40
  271. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +0 -196
  272. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +0 -29
  273. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.d.ts +0 -46
  274. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +0 -215
  275. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +0 -18
  276. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +0 -107
@@ -1,4 +1,3 @@
1
- import { IHoverPositionOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hover";
2
1
  import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
3
2
  import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
4
3
  import { ActionWidgetDropdownActionViewItem } from "../../../../../../platform/actions/browser/actionWidgetDropdownActionViewItem.js";
@@ -16,7 +15,6 @@ export interface IChatInputPickerOptions {
16
15
  readonly getOverflowAnchor?: () => HTMLElement | undefined;
17
16
  readonly actionContext?: IChatExecuteActionContext;
18
17
  readonly hideChevrons: IObservable<boolean>;
19
- readonly hoverPosition?: IHoverPositionOptions;
20
18
  }
21
19
  /**
22
20
  * Base class for chat input picker action items (model picker, mode picker, session target picker).
@@ -3,7 +3,6 @@ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"
3
3
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
4
  import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
5
5
  import { IActionListItem } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionList";
6
- import { IHoverPositionOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hover";
7
6
  import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
8
7
  import { IActionWidgetDropdownAction } from "../../../../../../platform/actionWidget/browser/actionWidgetDropdown.js";
9
8
  import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
@@ -28,13 +27,13 @@ import { IUpdateService } from "@codingame/monaco-vscode-api/vscode/vs/platform/
28
27
  * 3. Other Models (collapsible toggle, available first, then sorted by vendor then name)
29
28
  * 4. Optional "Manage Models..." action shown in Other Models after a separator
30
29
  */
31
- export declare function buildModelPickerItems(models: ILanguageModelChatMetadataAndIdentifier[], selectedModelId: string | undefined, recentModelIds: string[], controlModels: IStringDictionary<IModelControlEntry>, currentVSCodeVersion: string, updateStateType: StateType, onSelect: (model: ILanguageModelChatMetadataAndIdentifier) => void, manageSettingsUrl: string | undefined, useGroupedModelPicker: boolean, manageModelsAction: IActionWidgetDropdownAction | undefined, chatEntitlementService: IChatEntitlementService, showUnavailableFeatured: boolean, showFeatured: boolean, hoverPosition?: IHoverPositionOptions, languageModelsService?: ILanguageModelsService): IActionListItem<IActionWidgetDropdownAction>[];
30
+ export declare function buildModelPickerItems(models: ILanguageModelChatMetadataAndIdentifier[], selectedModelId: string | undefined, recentModelIds: string[], controlModels: IStringDictionary<IModelControlEntry>, currentVSCodeVersion: string, updateStateType: StateType, onSelect: (model: ILanguageModelChatMetadataAndIdentifier) => void, manageSettingsUrl: string | undefined, useGroupedModelPicker: boolean, manageModelsAction: IActionWidgetDropdownAction | undefined, chatEntitlementService: IChatEntitlementService, showUnavailableFeatured: boolean, showFeatured: boolean, languageModelsService?: ILanguageModelsService): IActionListItem<IActionWidgetDropdownAction>[];
32
31
  export declare function getModelPickerAccessibilityProvider(): {
33
32
  readonly isChecked: (element: IActionListItem<IActionWidgetDropdownAction>) => boolean | undefined;
34
33
  readonly getRole: (element: IActionListItem<IActionWidgetDropdownAction>) => "separator" | "menuitem" | "menuitemradio";
35
34
  readonly getWidgetRole: () => string;
36
35
  };
37
- export type ModelPickerBadge = "info" | "warning";
36
+ type ModelPickerBadge = "info" | "warning";
38
37
  /**
39
38
  * A model selection dropdown widget.
40
39
  *
@@ -47,7 +46,6 @@ export type ModelPickerBadge = "info" | "warning";
47
46
  */
48
47
  export declare class ModelPickerWidget extends Disposable {
49
48
  private readonly _delegate;
50
- private readonly _hoverPosition;
51
49
  private readonly _actionWidgetService;
52
50
  private readonly _commandService;
53
51
  private readonly _openerService;
@@ -66,7 +64,7 @@ export declare class ModelPickerWidget extends Disposable {
66
64
  private _badgeIcon;
67
65
  get selectedModel(): ILanguageModelChatMetadataAndIdentifier | undefined;
68
66
  get domNode(): HTMLElement | undefined;
69
- constructor(_delegate: IModelPickerDelegate, _hoverPosition: IHoverPositionOptions | undefined, _actionWidgetService: IActionWidgetService, _commandService: ICommandService, _openerService: IOpenerService, _telemetryService: ITelemetryService, _languageModelsService: ILanguageModelsService, _productService: IProductService, _entitlementService: IChatEntitlementService, _updateService: IUpdateService, _uriIdentityService: IUriIdentityService);
67
+ constructor(_delegate: IModelPickerDelegate, _actionWidgetService: IActionWidgetService, _commandService: ICommandService, _openerService: IOpenerService, _telemetryService: ITelemetryService, _languageModelsService: ILanguageModelsService, _productService: IProductService, _entitlementService: IChatEntitlementService, _updateService: IUpdateService, _uriIdentityService: IUriIdentityService);
70
68
  setHideChevrons(hideChevrons: IObservable<boolean>): void;
71
69
  setSelectedModel(model: ILanguageModelChatMetadataAndIdentifier | undefined): void;
72
70
  setEnabled(enabled: boolean): void;
@@ -76,3 +74,4 @@ export declare class ModelPickerWidget extends Disposable {
76
74
  private _updateBadge;
77
75
  private _renderLabel;
78
76
  }
77
+ export {};
@@ -44,20 +44,20 @@ function getUpdateHoverContent(updateState) {
44
44
  switch (updateState) {
45
45
  case StateType.AvailableForDownload:
46
46
  hoverContent.appendMarkdown(( localize(
47
- 7044,
47
+ 7168,
48
48
  "This model requires a newer version of VS Code. [Download Update](command:update.downloadUpdate) to access it."
49
49
  )));
50
50
  break;
51
51
  case StateType.Downloaded:
52
52
  case StateType.Ready:
53
53
  hoverContent.appendMarkdown(( localize(
54
- 7045,
54
+ 7169,
55
55
  "This model requires a newer version of VS Code. [Restart to Update](command:update.restartToUpdate) to access it."
56
56
  )));
57
57
  break;
58
58
  default:
59
59
  hoverContent.appendMarkdown(( localize(
60
- 7046,
60
+ 7170,
61
61
  "This model requires a newer version of VS Code. [Update VS Code](command:update.checkForUpdate) to access it."
62
62
  )));
63
63
  break;
@@ -67,7 +67,7 @@ function getUpdateHoverContent(updateState) {
67
67
  const ModelPickerSection = {
68
68
  Other: "other"
69
69
  };
70
- function createModelItem(action, model, hoverPosition, languageModelsService) {
70
+ function createModelItem(action, model) {
71
71
  return {
72
72
  item: action,
73
73
  kind: ActionListItemKind.Action,
@@ -80,8 +80,7 @@ function createModelItem(action, model, hoverPosition, languageModelsService) {
80
80
  hideIcon: false,
81
81
  section: action.section,
82
82
  hover: model ? {
83
- content: getModelHoverContent(model, languageModelsService),
84
- position: hoverPosition
83
+ content: getModelHoverContent(model)
85
84
  } : undefined,
86
85
  submenuActions: action.toolbarActions
87
86
  };
@@ -97,6 +96,9 @@ function getModelConfigurationDescription(model, languageModelsService) {
97
96
  if (propSchema.group !== "navigation") {
98
97
  continue;
99
98
  }
99
+ if (!propSchema.enum || propSchema.enum.length < 2) {
100
+ continue;
101
+ }
100
102
  const value = currentConfig[key] ?? propSchema.default;
101
103
  if (value === undefined) {
102
104
  continue;
@@ -136,8 +138,8 @@ function createManageModelsAction(commandService) {
136
138
  enabled: true,
137
139
  checked: false,
138
140
  class: ThemeIcon.asClassName(Codicon.gear),
139
- tooltip: ( localize(7047, "Manage Language Models")),
140
- label: ( localize(7048, "Manage Models...")),
141
+ tooltip: ( localize(7171, "Manage Language Models")),
142
+ label: ( localize(7172, "Manage Models...")),
141
143
  run: () => {
142
144
  commandService.executeCommand(MANAGE_CHAT_COMMAND_ID);
143
145
  }
@@ -157,7 +159,6 @@ function buildModelPickerItems(
157
159
  chatEntitlementService,
158
160
  showUnavailableFeatured,
159
161
  showFeatured,
160
- hoverPosition,
161
162
  languageModelsService
162
163
  ) {
163
164
  const items = [];
@@ -167,8 +168,8 @@ function buildModelPickerItems(
167
168
  enabled: true,
168
169
  checked: true,
169
170
  class: undefined,
170
- tooltip: ( localize(7049, "Auto")),
171
- label: ( localize(7049, "Auto")),
171
+ tooltip: ( localize(7173, "Auto")),
172
+ label: ( localize(7173, "Auto")),
172
173
  run: () => {}
173
174
  }));
174
175
  }
@@ -204,9 +205,7 @@ function buildModelPickerItems(
204
205
  markPlaced(autoModel.identifier, autoModel.metadata.id);
205
206
  items.push(createModelItem(
206
207
  createModelAction(autoModel, selectedModelId, onSelect, languageModelsService),
207
- autoModel,
208
- hoverPosition,
209
- languageModelsService
208
+ autoModel
210
209
  ));
211
210
  }
212
211
  const promotedItems = [];
@@ -306,20 +305,12 @@ function buildModelPickerItems(
306
305
  if (item.kind === "available") {
307
306
  items.push(createModelItem(
308
307
  createModelAction(item.model, selectedModelId, onSelect, languageModelsService),
309
- item.model,
310
- hoverPosition,
311
- languageModelsService
308
+ item.model
312
309
  ));
313
310
  } else {
314
- items.push(createUnavailableModelItem(
315
- item.id,
316
- item.entry,
317
- item.reason,
318
- manageSettingsUrl,
319
- updateStateType,
320
- undefined,
321
- hoverPosition
322
- ));
311
+ items.push(
312
+ createUnavailableModelItem(item.id, item.entry, item.reason, manageSettingsUrl, updateStateType)
313
+ );
323
314
  }
324
315
  }
325
316
  }
@@ -351,12 +342,12 @@ function buildModelPickerItems(
351
342
  enabled: true,
352
343
  checked: false,
353
344
  class: undefined,
354
- tooltip: ( localize(7050, "Other Models")),
355
- label: ( localize(7050, "Other Models")),
345
+ tooltip: ( localize(7174, "Other Models")),
346
+ label: ( localize(7174, "Other Models")),
356
347
  run: () => {}
357
348
  },
358
349
  kind: ActionListItemKind.Action,
359
- label: ( localize(7050, "Other Models")),
350
+ label: ( localize(7174, "Other Models")),
360
351
  group: {
361
352
  title: "",
362
353
  icon: Codicon.chevronDown
@@ -374,8 +365,7 @@ function buildModelPickerItems(
374
365
  "update",
375
366
  manageSettingsUrl,
376
367
  updateStateType,
377
- ModelPickerSection.Other,
378
- hoverPosition
368
+ ModelPickerSection.Other
379
369
  ));
380
370
  } else {
381
371
  items.push(createModelItem(createModelAction(
@@ -384,7 +374,7 @@ function buildModelPickerItems(
384
374
  onSelect,
385
375
  languageModelsService,
386
376
  ModelPickerSection.Other
387
- ), model, hoverPosition, languageModelsService));
377
+ ), model));
388
378
  }
389
379
  }
390
380
  }
@@ -412,9 +402,7 @@ function buildModelPickerItems(
412
402
  if (autoModel) {
413
403
  items.push(createModelItem(
414
404
  createModelAction(autoModel, selectedModelId, onSelect, languageModelsService),
415
- autoModel,
416
- hoverPosition,
417
- languageModelsService
405
+ autoModel
418
406
  ));
419
407
  }
420
408
  const sortedModels = models.filter(m => m !== autoModel).sort((a, b) => {
@@ -424,9 +412,7 @@ function buildModelPickerItems(
424
412
  for (const model of sortedModels) {
425
413
  items.push(createModelItem(
426
414
  createModelAction(model, selectedModelId, onSelect, languageModelsService),
427
- model,
428
- hoverPosition,
429
- languageModelsService
415
+ model
430
416
  ));
431
417
  }
432
418
  }
@@ -456,26 +442,18 @@ function getModelPickerAccessibilityProvider() {
456
442
  getWidgetRole: () => "menu"
457
443
  };
458
444
  }
459
- function createUnavailableModelItem(
460
- id,
461
- entry,
462
- reason,
463
- manageSettingsUrl,
464
- updateStateType,
465
- section,
466
- hoverPosition
467
- ) {
445
+ function createUnavailableModelItem(id, entry, reason, manageSettingsUrl, updateStateType, section) {
468
446
  let description;
469
447
  if (reason === "upgrade") {
470
- description = ( new MarkdownString(( localize(7051, "[Upgrade](command:workbench.action.chat.upgradePlan \" \")")), {
448
+ description = ( new MarkdownString(( localize(7175, "[Upgrade](command:workbench.action.chat.upgradePlan \" \")")), {
471
449
  isTrusted: true
472
450
  }));
473
451
  } else if (reason === "update") {
474
- description = ( localize(7052, "Update VS Code"));
452
+ description = ( localize(7176, "Update VS Code"));
475
453
  } else {
476
- description = manageSettingsUrl ? ( new MarkdownString(( localize(7053, "[Contact your admin]({0})", manageSettingsUrl)), {
454
+ description = manageSettingsUrl ? ( new MarkdownString(( localize(7177, "[Contact your admin]({0})", manageSettingsUrl)), {
477
455
  isTrusted: true
478
- })) : ( localize(7054, "Contact your admin"));
456
+ })) : ( localize(7178, "Contact your admin"));
479
457
  }
480
458
  let hoverContent;
481
459
  if (reason === "upgrade") {
@@ -484,8 +462,8 @@ function createUnavailableModelItem(
484
462
  supportThemeIcons: true
485
463
  }));
486
464
  hoverContent.appendMarkdown(( localize(
487
- 7055,
488
- "[Upgrade to GitHub Copilot Pro](command:workbench.action.chat.upgradePlan \" \") with a free 30-day trial to use the best models."
465
+ 7179,
466
+ "[Upgrade to GitHub Copilot Pro](command:workbench.action.chat.upgradePlan \" \") to use the best models."
489
467
  )));
490
468
  } else if (reason === "update") {
491
469
  hoverContent = getUpdateHoverContent(updateStateType);
@@ -495,7 +473,7 @@ function createUnavailableModelItem(
495
473
  supportThemeIcons: true
496
474
  }));
497
475
  hoverContent.appendMarkdown(( localize(
498
- 7056,
476
+ 7180,
499
477
  "This model is not available. Contact your administrator to enable it."
500
478
  )));
501
479
  }
@@ -522,8 +500,7 @@ function createUnavailableModelItem(
522
500
  className: "chat-model-picker-unavailable",
523
501
  section,
524
502
  hover: {
525
- content: hoverContent,
526
- position: hoverPosition
503
+ content: hoverContent
527
504
  }
528
505
  };
529
506
  }
@@ -536,7 +513,6 @@ let ModelPickerWidget = class ModelPickerWidget extends Disposable {
536
513
  }
537
514
  constructor(
538
515
  _delegate,
539
- _hoverPosition,
540
516
  _actionWidgetService,
541
517
  _commandService,
542
518
  _openerService,
@@ -549,7 +525,6 @@ let ModelPickerWidget = class ModelPickerWidget extends Disposable {
549
525
  ) {
550
526
  super();
551
527
  this._delegate = _delegate;
552
- this._hoverPosition = _hoverPosition;
553
528
  this._actionWidgetService = _actionWidgetService;
554
529
  this._commandService = _commandService;
555
530
  this._openerService = _openerService;
@@ -658,12 +633,11 @@ let ModelPickerWidget = class ModelPickerWidget extends Disposable {
658
633
  this._entitlementService,
659
634
  this._delegate.showUnavailableFeatured(),
660
635
  this._delegate.showFeatured(),
661
- this._hoverPosition,
662
636
  this._languageModelsService
663
637
  );
664
638
  const listOptions = {
665
639
  showFilter,
666
- filterPlaceholder: ( localize(7057, "Search models")),
640
+ filterPlaceholder: ( localize(7181, "Search models")),
667
641
  filterActions: showFilter && manageModelsAction ? [manageModelsAction] : undefined,
668
642
  focusFilterOnOpen: true,
669
643
  collapsedByDefault: ( new Set([ModelPickerSection.Other])),
@@ -740,7 +714,7 @@ let ModelPickerWidget = class ModelPickerWidget extends Disposable {
740
714
  const iconElement = renderIcon(statusIcon);
741
715
  domChildren.push(iconElement);
742
716
  }
743
- const modelLabel = name ?? ( localize(7049, "Auto"));
717
+ const modelLabel = name ?? ( localize(7173, "Auto"));
744
718
  const configDescription = this._selectedModel ? getModelConfigurationDescription(this._selectedModel, this._languageModelsService) : undefined;
745
719
  const fullLabel = configDescription ? `${modelLabel} · ${configDescription}` : modelLabel;
746
720
  domChildren.push($("span.chat-input-picker-label", undefined, fullLabel));
@@ -749,56 +723,29 @@ let ModelPickerWidget = class ModelPickerWidget extends Disposable {
749
723
  }
750
724
  domChildren.push(...renderLabelWithIcons(`$(chevron-down)`));
751
725
  reset(this._domNode, ...domChildren);
752
- this._domNode.ariaLabel = ( localize(7058, "Pick Model, {0}", fullLabel));
726
+ this._domNode.ariaLabel = ( localize(7182, "Pick Model, {0}", fullLabel));
753
727
  }
754
728
  };
755
- ModelPickerWidget = ( __decorate([( __param(2, IActionWidgetService)), ( __param(3, ICommandService)), ( __param(4, IOpenerService)), ( __param(5, ITelemetryService)), ( __param(6, ILanguageModelsService)), ( __param(7, IProductService)), ( __param(8, IChatEntitlementService)), ( __param(9, IUpdateService)), ( __param(10, IUriIdentityService))], ModelPickerWidget));
756
- function getModelHoverContent(model, languageModelsService) {
729
+ ModelPickerWidget = ( __decorate([( __param(1, IActionWidgetService)), ( __param(2, ICommandService)), ( __param(3, IOpenerService)), ( __param(4, ITelemetryService)), ( __param(5, ILanguageModelsService)), ( __param(6, IProductService)), ( __param(7, IChatEntitlementService)), ( __param(8, IUpdateService)), ( __param(9, IUriIdentityService))], ModelPickerWidget));
730
+ function getModelHoverContent(model) {
757
731
  const isAuto = model.metadata.id === "auto" && model.metadata.vendor === "copilot";
758
732
  const markdown = ( new MarkdownString("", {
759
733
  isTrusted: true,
760
734
  supportThemeIcons: true
761
735
  }));
762
736
  markdown.appendMarkdown(`**${model.metadata.name}**`);
763
- markdown.appendText(`\n`);
764
- if (model.metadata.statusIcon && model.metadata.tooltip) {
737
+ if (model.metadata.tooltip) {
738
+ markdown.appendMarkdown(`\n\n`);
765
739
  if (model.metadata.statusIcon) {
766
740
  markdown.appendMarkdown(`$(${model.metadata.statusIcon.id})&nbsp;`);
767
741
  }
768
742
  markdown.appendMarkdown(`${model.metadata.tooltip}`);
769
- markdown.appendText(`\n`);
770
- }
771
- if (model.metadata.multiplier) {
772
- markdown.appendMarkdown(`${( localize(
773
- 7059,
774
- "Each chat message counts {0} toward your premium request quota",
775
- model.metadata.multiplier
776
- ))}`);
777
- markdown.appendText(`\n`);
778
743
  }
779
744
  if (!isAuto && (model.metadata.maxInputTokens || model.metadata.maxOutputTokens)) {
745
+ markdown.appendMarkdown(`\n\n`);
780
746
  const totalTokens = (model.metadata.maxInputTokens ?? 0) + (model.metadata.maxOutputTokens ?? 0);
781
- markdown.appendMarkdown(`${( localize(7060, "Context Size"))}: `);
747
+ markdown.appendMarkdown(`${( localize(7183, "Context Size"))}: `);
782
748
  markdown.appendMarkdown(`${formatTokenCount(totalTokens)}`);
783
- markdown.appendText(`\n`);
784
- }
785
- if (languageModelsService) {
786
- const schema = model.metadata.configurationSchema;
787
- if (schema?.properties) {
788
- const currentConfig = languageModelsService.getModelConfiguration(model.identifier) ?? {};
789
- for (const [key, propSchema] of Object.entries(schema.properties)) {
790
- const value = currentConfig[key] ?? propSchema.default;
791
- if (value === undefined) {
792
- continue;
793
- }
794
- const enumItemLabels = propSchema.enumItemLabels;
795
- const enumIndex = propSchema.enum?.indexOf(value) ?? -1;
796
- const displayValue = enumItemLabels?.[enumIndex] ?? String(value);
797
- const label = propSchema.title ?? key;
798
- markdown.appendText(`${label}: ${displayValue}`);
799
- markdown.appendText(`\n`);
800
- }
801
- }
802
749
  }
803
750
  return markdown;
804
751
  }
@@ -3,7 +3,7 @@ import { ILanguageModelChatMetadataAndIdentifier } from "@codingame/monaco-vscod
3
3
  /**
4
4
  * Describes the context needed for model selection decisions.
5
5
  */
6
- export interface IModelSelectionContext {
6
+ interface IModelSelectionContext {
7
7
  readonly location: ChatAgentLocation;
8
8
  readonly currentModeKind: ChatModeKind;
9
9
  readonly isInlineChatV2Enabled: boolean;
@@ -102,3 +102,4 @@ export declare function shouldResetOnModelListChange(currentModelId: string | un
102
102
  * The model must pass both the persisted-default check and the `isUserSelectable` check.
103
103
  */
104
104
  export declare function shouldRestoreLateArrivingModel(persistedModelId: string, persistedAsDefault: boolean, model: ILanguageModelChatMetadataAndIdentifier, location: ChatAgentLocation): boolean;
105
+ export {};
@@ -82,6 +82,9 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
82
82
  return this._getSelectedSessionType() !== type;
83
83
  }
84
84
  _hasGitRepository() {
85
+ if (this.delegate.hasGitRepository) {
86
+ return this.delegate.hasGitRepository();
87
+ }
85
88
  return !Iterable.isEmpty(this.gitService.repositories);
86
89
  }
87
90
  _isVisible(type) {
@@ -96,28 +99,25 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
96
99
  _getSessionCategory(sessionTypeItem) {
97
100
  if (isFirstPartyAgentSessionProvider(sessionTypeItem.type)) {
98
101
  return {
99
- label: ( localize(7074, "Continue In")),
102
+ label: ( localize(7197, "Continue In")),
100
103
  order: 1,
101
104
  showHeader: true
102
105
  };
103
106
  }
104
107
  return {
105
- label: ( localize(7075, "Continue In (Third Party)")),
108
+ label: ( localize(7198, "Continue In (Third Party)")),
106
109
  order: 2,
107
110
  showHeader: false
108
111
  };
109
112
  }
110
113
  _getSessionDescription(sessionTypeItem) {
111
- if (this._isSessionsWindow && sessionTypeItem.type === AgentSessionProviders.Cloud && !this._hasGitRepository()) {
112
- return localize(7076, "Requires a Git repository");
113
- }
114
114
  return undefined;
115
115
  }
116
116
  _getLearnMore() {
117
117
  const learnMoreUrl = "https://aka.ms/vscode-continue-chat-in";
118
118
  return {
119
119
  id: "workbench.action.chat.agentOverview.learnMoreHandOff",
120
- label: ( localize(7077, "Learn about agent handoff...")),
120
+ label: ( localize(7199, "Learn about agent handoff...")),
121
121
  tooltip: learnMoreUrl,
122
122
  class: undefined,
123
123
  enabled: true,
@@ -133,17 +133,16 @@ let DelegationSessionPickerActionItem = class DelegationSessionPickerActionItem
133
133
  return [{
134
134
  id: "newChatSession",
135
135
  class: undefined,
136
- label: ( localize(7078, "New Chat Session")),
136
+ label: ( localize(7200, "New Chat Session")),
137
137
  tooltip: "",
138
138
  hover: {
139
- content: "",
140
- position: this.pickerOptions.hoverPosition
139
+ content: ""
141
140
  },
142
141
  checked: false,
143
142
  icon: Codicon.plus,
144
143
  enabled: true,
145
144
  category: {
146
- label: ( localize(7079, "New Chat Session")),
145
+ label: ( localize(7201, "New Chat Session")),
147
146
  order: 0,
148
147
  showHeader: false
149
148
  },
@@ -23,8 +23,9 @@ import { ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contr
23
23
  import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
24
24
  import { isOrganizationPromptFile } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/utils/promptsServiceUtils';
25
25
  import { ChatConfiguration, ChatModeKind, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
26
- import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
26
+ import { PromptsStorage, matchesSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
27
27
  import { Target } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
28
+ import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
28
29
  import { getOpenChatActionIdForMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
29
30
  import { ToggleAgentModeActionId } from '../../actions/chatExecuteActions.js';
30
31
  import { ChatInputPickerActionViewItem } from './chatInputPickerActionItem.js';
@@ -66,17 +67,17 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
66
67
  const assignments = observableValue("modePickerAssignments", {
67
68
  showOldAskMode: false
68
69
  });
69
- const customAgentTarget = delegate.customAgentTarget?.() ?? Target.Undefined;
70
+ const getCustomAgentTarget = () => delegate.customAgentTarget?.() ?? Target.Undefined;
70
71
  const builtInCategory = {
71
- label: ( localize(7100, "Built-In")),
72
+ label: ( localize(7221, "Built-In")),
72
73
  order: 0
73
74
  };
74
75
  const customCategory = {
75
- label: ( localize(7101, "Custom")),
76
+ label: ( localize(7222, "Custom")),
76
77
  order: 1
77
78
  };
78
79
  const policyDisabledCategory = {
79
- label: ( localize(7102, "Managed by your organization")),
80
+ label: ( localize(7223, "Managed by your organization")),
80
81
  order: 999,
81
82
  showHeader: true
82
83
  };
@@ -91,11 +92,11 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
91
92
  if (mode.source?.storage === PromptsStorage.extension) {
92
93
  icon = Codicon.file;
93
94
  id = `viewAgent:${mode.id}`;
94
- label = ( localize(7103, "View {0} agent", mode.label.get()));
95
+ label = ( localize(7224, "View {0} agent", mode.label.get()));
95
96
  } else {
96
97
  icon = Codicon.edit;
97
98
  id = `editAgent:${mode.id}`;
98
- label = ( localize(7104, "Edit {0} agent", mode.label.get()));
99
+ label = ( localize(7225, "Edit {0} agent", mode.label.get()));
99
100
  }
100
101
  const modeResource = mode.uri;
101
102
  toolbarActions.push({
@@ -120,8 +121,7 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
120
121
  checked: !isDisabledViaPolicy && currentMode.id === mode.id,
121
122
  tooltip: "",
122
123
  hover: {
123
- content: tooltip,
124
- position: this.pickerOptions.hoverPosition
124
+ content: tooltip
125
125
  },
126
126
  toolbarActions,
127
127
  run: async () => {
@@ -145,49 +145,59 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
145
145
  ...makeAction(mode, currentMode),
146
146
  tooltip: "",
147
147
  hover: {
148
- content: mode.description.get() ?? chatAgentService.getDefaultAgent(ChatAgentLocation.Chat, mode.kind)?.description ?? action.tooltip,
149
- position: this.pickerOptions.hoverPosition
148
+ content: mode.description.get() ?? chatAgentService.getDefaultAgent(ChatAgentLocation.Chat, mode.kind)?.description ?? action.tooltip
150
149
  },
151
150
  icon: mode.icon.get() ?? (isModeConsideredBuiltIn(mode, this._productService) ? builtinDefaultIcon(mode) : undefined),
152
151
  category: agentModeDisabledViaPolicy ? policyDisabledCategory : customCategory
153
152
  };
154
153
  };
155
- const actionProviderWithCustomAgentTarget = {
156
- getActions: () => {
157
- const modes = chatModeService.getModes();
158
- const currentMode = delegate.currentMode.get();
159
- const filteredCustomModes = modes.custom.filter(mode => {
160
- const target = mode.target.get();
161
- return target === customAgentTarget || target === Target.Undefined;
162
- });
163
- const customModes = groupBy(
164
- filteredCustomModes,
165
- mode => isModeConsideredBuiltIn(mode, this._productService) ? "builtin" : "custom"
166
- );
167
- const checked = currentMode.id === ChatMode.Agent.id;
168
- const defaultAction = {
169
- ...makeAction(ChatMode.Agent, ChatMode.Agent),
170
- checked
171
- };
172
- defaultAction.category = builtInCategory;
173
- const builtInActions = customModes.builtin?.map(mode => {
174
- const action = makeActionFromCustomMode(mode, currentMode);
175
- action.category = builtInCategory;
176
- return action;
177
- }) ?? [];
178
- const customActions = customModes.custom?.map(mode => makeActionFromCustomMode(mode, currentMode)) ?? [];
179
- return [defaultAction, ...builtInActions, ...customActions];
180
- }
154
+ const getActionsForCustomAgentTarget = currentTarget => {
155
+ const modes = chatModeService.getModes();
156
+ const currentMode = delegate.currentMode.get();
157
+ const sessionResource = delegate.sessionResource();
158
+ const currentSessionType = sessionResource ? getChatSessionType(sessionResource) : undefined;
159
+ const filteredCustomModes = modes.custom.filter(mode => {
160
+ const target = mode.target.get();
161
+ if (target !== currentTarget && target !== Target.Undefined) {
162
+ return false;
163
+ }
164
+ if (!matchesSessionType(mode.sessionTypes, currentSessionType)) {
165
+ return false;
166
+ }
167
+ return true;
168
+ });
169
+ const customModes = groupBy(
170
+ filteredCustomModes,
171
+ mode => isModeConsideredBuiltIn(mode, this._productService) ? "builtin" : "custom"
172
+ );
173
+ const checked = currentMode.id === ChatMode.Agent.id;
174
+ const defaultAction = {
175
+ ...makeAction(ChatMode.Agent, ChatMode.Agent),
176
+ checked
177
+ };
178
+ defaultAction.category = builtInCategory;
179
+ const builtInActions = customModes.builtin?.map(mode => {
180
+ const action = makeActionFromCustomMode(mode, currentMode);
181
+ action.category = builtInCategory;
182
+ return action;
183
+ }) ?? [];
184
+ const customActions = customModes.custom?.map(mode => makeActionFromCustomMode(mode, currentMode)) ?? [];
185
+ return [defaultAction, ...builtInActions, ...customActions];
181
186
  };
182
187
  const actionProvider = {
183
188
  getActions: () => {
184
189
  const modes = chatModeService.getModes();
185
190
  const currentMode = delegate.currentMode.get();
186
191
  const agentMode = modes.builtin.find(mode => mode.id === ChatMode.Agent.id);
192
+ const sessionResource = delegate.sessionResource();
193
+ const currentSessionType = sessionResource ? getChatSessionType(sessionResource) : undefined;
187
194
  const otherBuiltinModes = modes.builtin.filter(mode => {
188
195
  return mode.id !== ChatMode.Agent.id && shouldShowBuiltInMode(mode, assignments.get(), agentModeDisabledViaPolicy);
189
196
  });
190
197
  const filteredCustomModes = modes.custom.filter(mode => {
198
+ if (!matchesSessionType(mode.sessionTypes, currentSessionType)) {
199
+ return false;
200
+ }
191
201
  if (isModeConsideredBuiltIn(mode, this._productService)) {
192
202
  return shouldShowBuiltInMode(mode, assignments.get(), agentModeDisabledViaPolicy);
193
203
  }
@@ -209,8 +219,17 @@ let ModePickerActionItem = class ModePickerActionItem extends ChatInputPickerAct
209
219
  return orderedModes;
210
220
  }
211
221
  };
222
+ const dynamicActionProvider = {
223
+ getActions: () => {
224
+ const currentTarget = getCustomAgentTarget();
225
+ if (currentTarget !== Target.Undefined) {
226
+ return getActionsForCustomAgentTarget(currentTarget);
227
+ }
228
+ return actionProvider.getActions();
229
+ }
230
+ };
212
231
  const modePickerActionWidgetOptions = {
213
- actionProvider: customAgentTarget !== Target.Undefined ? actionProviderWithCustomAgentTarget : actionProvider,
232
+ actionProvider: dynamicActionProvider,
214
233
  actionBarActionProvider: {
215
234
  getActions: () => this.getModePickerActionBarActions()
216
235
  },