@codingame/monaco-vscode-katex-common 30.0.0 → 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
@@ -378,13 +378,13 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
378
378
  return true;
379
379
  }
380
380
  if (session.element.status === ChatSessionStatus.InProgress) {
381
- template.description.textContent = ( localize(5192, "Working..."));
381
+ template.description.textContent = ( localize(5202, "Working..."));
382
382
  return true;
383
383
  } else if (session.element.status === ChatSessionStatus.NeedsInput) {
384
- template.description.textContent = ( localize(5193, "Input needed."));
384
+ template.description.textContent = ( localize(5203, "Input needed."));
385
385
  return true;
386
386
  } else if (session.element.status === ChatSessionStatus.Failed) {
387
- template.description.textContent = ( localize(5194, "Failed"));
387
+ template.description.textContent = ( localize(5204, "Failed"));
388
388
  return true;
389
389
  }
390
390
  template.description.textContent = "";
@@ -393,7 +393,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
393
393
  toDuration(startTime, endTime, useFullTimeWords, disallowNow) {
394
394
  const elapsed = Math.max(Math.round((endTime - startTime) / 1000) * 1000, 1000 );
395
395
  if (!disallowNow && elapsed < 60000) {
396
- return localize(5195, "now");
396
+ return localize(5205, "now");
397
397
  }
398
398
  return getDurationString(elapsed, useFullTimeWords);
399
399
  }
@@ -408,7 +408,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
408
408
  const date = this.options.isSortedByUpdated?.() ? session.timing.lastRequestEnded ?? session.timing.created : session.timing.created;
409
409
  const seconds = Math.round((( new Date()).getTime() - date) / 1000);
410
410
  if (seconds < 60) {
411
- timeLabel = ( localize(5195, "now"));
411
+ timeLabel = ( localize(5205, "now"));
412
412
  } else {
413
413
  timeLabel = sessionDateFromNow(date, true);
414
414
  }
@@ -491,11 +491,11 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
491
491
  template.approvalButtonContainer.textContent = "";
492
492
  const isActive = this._activeSessionResource.read(reader)?.toString() === ( session.element.resource.toString());
493
493
  const button = buttonStore.add(( new Button(template.approvalButtonContainer, {
494
- title: ( localize(5196, "Allow once")),
494
+ title: ( localize(5206, "Allow once")),
495
495
  secondary: isActive,
496
496
  ...defaultButtonStyles
497
497
  })));
498
- button.label = ( localize(5197, "Allow"));
498
+ button.label = ( localize(5207, "Allow"));
499
499
  buttonStore.add(button.onDidClick(() => info.confirm()));
500
500
  }
501
501
  if (wasVisible !== visible) {
@@ -519,16 +519,16 @@ function toStatusLabel(status) {
519
519
  let statusLabel;
520
520
  switch (status) {
521
521
  case ChatSessionStatus.NeedsInput:
522
- statusLabel = ( localize(5198, "Needs Input"));
522
+ statusLabel = ( localize(5208, "Needs Input"));
523
523
  break;
524
524
  case ChatSessionStatus.InProgress:
525
- statusLabel = ( localize(5199, "In Progress"));
525
+ statusLabel = ( localize(5209, "In Progress"));
526
526
  break;
527
527
  case ChatSessionStatus.Failed:
528
- statusLabel = ( localize(5200, "Failed"));
528
+ statusLabel = ( localize(5210, "Failed"));
529
529
  break;
530
530
  default:
531
- statusLabel = ( localize(5201, "Completed"));
531
+ statusLabel = ( localize(5211, "Completed"));
532
532
  }
533
533
  return statusLabel;
534
534
  }
@@ -621,7 +621,7 @@ class AgentSessionShowMoreRenderer {
621
621
  };
622
622
  }
623
623
  renderElement(element, _index, template) {
624
- template.label.textContent = this.options?.compactLabel ? ( localize(5202, "+{0} more", element.element.remainingCount)) : ( localize(5203, "Show {0} More...", element.element.remainingCount));
624
+ template.label.textContent = this.options?.compactLabel ? ( localize(5212, "+{0} more", element.element.remainingCount)) : ( localize(5213, "Show {0} More...", element.element.remainingCount));
625
625
  template.container.setAttribute("data-section-label", element.element.sectionLabel);
626
626
  }
627
627
  renderCompressedElements() {
@@ -656,7 +656,7 @@ class AgentSessionShowLessRenderer {
656
656
  };
657
657
  }
658
658
  renderElement(element, _index, template) {
659
- template.label.textContent = ( localize(5204, "Show less"));
659
+ template.label.textContent = ( localize(5214, "Show less"));
660
660
  template.container.setAttribute("data-section-label", element.element.sectionLabel);
661
661
  }
662
662
  renderCompressedElements() {
@@ -719,24 +719,24 @@ class AgentSessionsAccessibilityProvider {
719
719
  return "listitem";
720
720
  }
721
721
  getWidgetAriaLabel() {
722
- return localize(5205, "Agent Sessions");
722
+ return localize(5215, "Agent Sessions");
723
723
  }
724
724
  getAriaLabel(element) {
725
725
  if (isAgentSessionSection(element)) {
726
726
  const count = element.sessions.length;
727
727
  if (count === 1) {
728
- return localize(5206, "{0} sessions section, {1} session", element.label, count);
728
+ return localize(5216, "{0} sessions section, {1} session", element.label, count);
729
729
  }
730
- return localize(5207, "{0} sessions section, {1} sessions", element.label, count);
730
+ return localize(5217, "{0} sessions section, {1} sessions", element.label, count);
731
731
  }
732
732
  if (isAgentSessionShowMore(element)) {
733
- return localize(5208, "Show {0} more sessions", element.remainingCount);
733
+ return localize(5218, "Show {0} more sessions", element.remainingCount);
734
734
  }
735
735
  if (isAgentSessionShowLess(element)) {
736
- return localize(5209, "Show less sessions");
736
+ return localize(5219, "Show less sessions");
737
737
  }
738
738
  return localize(
739
- 5210,
739
+ 5220,
740
740
  "{0} session {1} ({2}), created {3}",
741
741
  element.providerLabel,
742
742
  element.label,
@@ -1065,14 +1065,14 @@ function extractRepoNameFromPath(dirPath) {
1065
1065
  return segments[segments.length - 1];
1066
1066
  }
1067
1067
  const AgentSessionSectionLabels = {
1068
- [AgentSessionSection.Pinned]: ( localize(5211, "Pinned")),
1069
- [AgentSessionSection.Today]: ( localize(5212, "Today")),
1070
- [AgentSessionSection.Yesterday]: ( localize(5213, "Yesterday")),
1071
- [AgentSessionSection.Week]: ( localize(5214, "Last 7 days")),
1072
- [AgentSessionSection.Older]: ( localize(5215, "Older")),
1073
- [AgentSessionSection.Archived]: ( localize(5216, "Archived")),
1074
- [AgentSessionSection.More]: ( localize(5217, "More")),
1075
- [AgentSessionSection.Repository]: ( localize(5218, "Other"))
1068
+ [AgentSessionSection.Pinned]: ( localize(5221, "Pinned")),
1069
+ [AgentSessionSection.Today]: ( localize(5222, "Today")),
1070
+ [AgentSessionSection.Yesterday]: ( localize(5223, "Yesterday")),
1071
+ [AgentSessionSection.Week]: ( localize(5224, "Last 7 days")),
1072
+ [AgentSessionSection.Older]: ( localize(5225, "Older")),
1073
+ [AgentSessionSection.Archived]: ( localize(5226, "Archived")),
1074
+ [AgentSessionSection.More]: ( localize(5227, "More")),
1075
+ [AgentSessionSection.Repository]: ( localize(5228, "Other"))
1076
1076
  };
1077
1077
  const DAY_THRESHOLD = 24 * 60 * 60 * 1000;
1078
1078
  const WEEK_THRESHOLD = 7 * DAY_THRESHOLD;
@@ -1137,10 +1137,10 @@ function sessionDateFromNow(sessionTime, appendAgoLabel) {
1137
1137
  const startOfYesterday = startOfToday - DAY_THRESHOLD;
1138
1138
  const startOfTwoDaysAgo = startOfYesterday - DAY_THRESHOLD;
1139
1139
  if (sessionTime < startOfToday && sessionTime >= startOfYesterday) {
1140
- return appendAgoLabel ? ( localize(5219, "1 day ago")) : ( localize(5220, "1 day"));
1140
+ return appendAgoLabel ? ( localize(5229, "1 day ago")) : ( localize(5230, "1 day"));
1141
1141
  }
1142
1142
  if (sessionTime < startOfYesterday && sessionTime >= startOfTwoDaysAgo) {
1143
- return appendAgoLabel ? ( localize(5221, "2 days ago")) : ( localize(5222, "2 days"));
1143
+ return appendAgoLabel ? ( localize(5231, "2 days ago")) : ( localize(5232, "2 days"));
1144
1144
  }
1145
1145
  return fromNow(sessionTime, appendAgoLabel);
1146
1146
  }
@@ -1204,8 +1204,8 @@ class AgentSessionsSorter {
1204
1204
  return 1;
1205
1205
  }
1206
1206
  const sortBy = this.getSortBy();
1207
- const timeA = prioritizeActiveSessions ? sessionA.timing.lastRequestStarted ?? sessionA.timing.created : sortBy === AgentSessionsSorting.Updated ? sessionA.timing.lastRequestEnded ?? sessionA.timing.created : sessionA.timing.created;
1208
- const timeB = prioritizeActiveSessions ? sessionB.timing.lastRequestStarted ?? sessionB.timing.created : sortBy === AgentSessionsSorting.Updated ? sessionB.timing.lastRequestEnded ?? sessionB.timing.created : sessionB.timing.created;
1207
+ const timeA = sortBy === AgentSessionsSorting.Updated ? (prioritizeActiveSessions ? sessionA.timing.lastRequestStarted ?? sessionA.timing.created : sessionA.timing.lastRequestEnded ?? sessionA.timing.created) : sessionA.timing.created;
1208
+ const timeB = sortBy === AgentSessionsSorting.Updated ? (prioritizeActiveSessions ? sessionB.timing.lastRequestStarted ?? sessionB.timing.created : sessionB.timing.lastRequestEnded ?? sessionB.timing.created) : sessionB.timing.created;
1209
1209
  return timeB - timeA;
1210
1210
  }
1211
1211
  }
@@ -1247,7 +1247,7 @@ let AgentSessionsDragAndDrop = class AgentSessionsDragAndDrop extends Disposable
1247
1247
  if (sessions.length === 1) {
1248
1248
  return sessions[0].label;
1249
1249
  }
1250
- return localize(5223, "{0} agent sessions", sessions.length);
1250
+ return localize(5233, "{0} agent sessions", sessions.length);
1251
1251
  }
1252
1252
  onDragOver(data, targetElement, targetIndex, targetSector, originalEvent) {
1253
1253
  return false;
@@ -30,6 +30,7 @@ export declare class ChatAttachmentModel extends Disposable {
30
30
  clearAndSetContext(...attachments: IChatRequestVariableEntry[]): void;
31
31
  delete(...variableEntryIds: string[]): void;
32
32
  updateContext(toDelete: Iterable<string>, upsert: Iterable<IChatRequestVariableEntry>): void;
33
+ private _maybeResolveDirectoryImageCount;
33
34
  private _watchAttachment;
34
35
  asFileVariableEntry(uri: URI, range?: IRange): IChatRequestFileEntry;
35
36
  asImageVariableEntry(uri: URI): Promise<IChatRequestVariableEntry | undefined>;
@@ -49,12 +49,13 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
49
49
  }
50
50
  }
51
51
  addFolder(uri) {
52
- this.addContext({
52
+ const entry = {
53
53
  kind: "directory",
54
54
  value: uri,
55
55
  id: ( uri.toString()),
56
56
  name: basename(uri)
57
- });
57
+ };
58
+ this.addContext(entry);
58
59
  }
59
60
  clear(clearStickyAttachments = false) {
60
61
  if (clearStickyAttachments) {
@@ -112,11 +113,13 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
112
113
  this._attachments.set(item.id, item);
113
114
  added.push(item);
114
115
  this._watchAttachment(item);
116
+ this._maybeResolveDirectoryImageCount(item);
115
117
  } else if (!equals(oldItem, item)) {
116
118
  this._fileWatchers.deleteAndDispose(item.id);
117
119
  this._attachments.set(item.id, item);
118
120
  updated.push(item);
119
121
  this._watchAttachment(item);
122
+ this._maybeResolveDirectoryImageCount(item);
120
123
  }
121
124
  }
122
125
  if (deleted.length > 0 || added.length > 0 || updated.length > 0) {
@@ -127,6 +130,21 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
127
130
  });
128
131
  }
129
132
  }
133
+ _maybeResolveDirectoryImageCount(attachment) {
134
+ if (attachment.kind !== "directory" || typeof attachment.imageCount === "number" || !URI.isUri(attachment.value)) {
135
+ return;
136
+ }
137
+ const uri = attachment.value;
138
+ this.chatAttachmentResolveService.resolveDirectoryImages(uri).then(images => {
139
+ const current = this._attachments.get(attachment.id);
140
+ if (current && current.kind === "directory" && current.value?.toString() === ( uri.toString())) {
141
+ this.updateContext(Iterable.empty(), [{
142
+ ...current,
143
+ imageCount: images.length
144
+ }]);
145
+ }
146
+ }, () => {});
147
+ }
130
148
  _watchAttachment(attachment) {
131
149
  const uri = IChatRequestVariableEntry.toUri(attachment);
132
150
  if (!uri || uri.scheme !== Schemas.file) {
@@ -65,6 +65,7 @@ export declare class FileAttachmentWidget extends AbstractChatAttachmentWidget {
65
65
  supportsDeletion: boolean;
66
66
  }, container: HTMLElement, contextResourceLabels: ResourceLabels, commandService: ICommandService, openerService: IOpenerService, configurationService: IConfigurationService, themeService: IThemeService, hoverService: IHoverService, languageModelsService: ILanguageModelsService, instantiationService: IInstantiationService);
67
67
  private renderOmittedWarning;
68
+ private renderFolderImageLimitWarning;
68
69
  }
69
70
  export declare class TerminalCommandAttachmentWidget extends AbstractChatAttachmentWidget {
70
71
  private readonly hoverService;
@@ -58,7 +58,7 @@ import { getHistoryItemEditorTitle } from '@codingame/monaco-vscode-api/vscode/v
58
58
  import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
59
59
  import { coerceImageBuffer } from '../../common/chatImageExtraction.js';
60
60
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
61
- import { OmittedState, MAX_IMAGES_PER_REQUEST, isStringVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
61
+ import { OmittedState, getImageAttachmentLimit, isStringVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
62
62
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
63
63
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
64
64
  import { isToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
@@ -140,7 +140,7 @@ let AbstractChatAttachmentWidget = class AbstractChatAttachmentWidget extends Di
140
140
  if (!this._hasClearButton) {
141
141
  return ariaLabel;
142
142
  }
143
- return localize(5510, "{0} (Delete)", ariaLabel);
143
+ return localize(5577, "{0} (Delete)", ariaLabel);
144
144
  }
145
145
  attachClearButton() {
146
146
  if (this.attachment.range || !this.options.supportsDeletion) {
@@ -150,7 +150,7 @@ let AbstractChatAttachmentWidget = class AbstractChatAttachmentWidget extends Di
150
150
  const clearButton = ( new Button(this.element, {
151
151
  supportIcons: true,
152
152
  hoverDelegate: createInstantHoverDelegate(),
153
- title: ( localize(5511, "Remove from context"))
153
+ title: ( localize(5578, "Remove from context"))
154
154
  }));
155
155
  clearButton.element.tabIndex = -1;
156
156
  clearButton.icon = Codicon.close;
@@ -243,14 +243,14 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
243
243
  const fileDirname = dirname(resource.path);
244
244
  const friendlyName = `${fileBasename} ${fileDirname}`;
245
245
  let ariaLabel = range ? ( localize(
246
- 5512,
246
+ 5579,
247
247
  "Attached file, {0}, line {1} to line {2}",
248
248
  friendlyName,
249
249
  range.startLineNumber,
250
250
  range.endLineNumber
251
- )) : ( localize(5513, "Attached file, {0}", friendlyName));
251
+ )) : ( localize(5580, "Attached file, {0}", friendlyName));
252
252
  if (attachment.omittedState === OmittedState.Full) {
253
- ariaLabel = ( localize(5514, "Omitted this file: {0}", attachment.name));
253
+ ariaLabel = ( localize(5581, "Omitted this file: {0}", attachment.name));
254
254
  this.renderOmittedWarning(friendlyName, ariaLabel);
255
255
  } else {
256
256
  const fileOptions = {
@@ -266,6 +266,12 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
266
266
  fileKind: FileKind.FOLDER,
267
267
  icon: !this.themeService.getFileIconTheme().hasFolderIcons ? FolderThemeIcon : undefined
268
268
  });
269
+ if (attachment.kind === "directory" && typeof attachment.imageCount === "number") {
270
+ const maxImagesPerRequest = getImageAttachmentLimit(currentLanguageModel?.metadata);
271
+ if (maxImagesPerRequest !== undefined && attachment.imageCount > maxImagesPerRequest) {
272
+ this.renderFolderImageLimitWarning(attachment.imageCount, maxImagesPerRequest);
273
+ }
274
+ }
269
275
  }
270
276
  this.element.ariaLabel = this.appendDeletionHint(ariaLabel);
271
277
  this.instantiationService.invokeFunction(accessor => {
@@ -288,7 +294,7 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
288
294
  hoverElement.setAttribute("aria-label", ariaLabel);
289
295
  this.element.classList.add("warning");
290
296
  hoverElement.textContent = ( localize(
291
- 5515,
297
+ 5582,
292
298
  "{0} does not support this file type.",
293
299
  this.currentLanguageModel ? this.languageModelsService.lookupLanguageModel(this.currentLanguageModel.identifier)?.name : this.currentLanguageModel ?? "This model"
294
300
  ));
@@ -297,6 +303,20 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
297
303
  content: hoverElement
298
304
  }, commonHoverLifecycleOptions));
299
305
  }
306
+ renderFolderImageLimitWarning(imageCount, limit) {
307
+ this.element.classList.add("warning");
308
+ const hoverElement = $("div.chat-attached-context-hover");
309
+ hoverElement.textContent = ( localize(
310
+ 5583,
311
+ "This folder contains {0} images, which exceeds the maximum of {1} images per request. Older images will not be sent.",
312
+ imageCount,
313
+ limit
314
+ ));
315
+ this._register(this.hoverService.setupDelayedHover(this.element, {
316
+ ...commonHoverOptions,
317
+ content: hoverElement
318
+ }, commonHoverLifecycleOptions));
319
+ }
300
320
  };
301
321
  FileAttachmentWidget = ( __decorate([( __param(8, ICommandService)), ( __param(9, IOpenerService)), ( __param(10, IConfigurationService)), ( __param(11, IThemeService)), ( __param(12, IHoverService)), ( __param(13, ILanguageModelsService)), ( __param(14, IInstantiationService))], FileAttachmentWidget));
302
322
  let TerminalCommandAttachmentWidget = class TerminalCommandAttachmentWidget extends AbstractChatAttachmentWidget {
@@ -325,7 +345,7 @@ let TerminalCommandAttachmentWidget = class TerminalCommandAttachmentWidget exte
325
345
  );
326
346
  this.hoverService = hoverService;
327
347
  this.terminalService = terminalService;
328
- const ariaLabel = ( localize(5516, "Terminal command, {0}", attachment.command));
348
+ const ariaLabel = ( localize(5584, "Terminal command, {0}", attachment.command));
329
349
  const clickHandler = () => this.openResource(attachment.resource, {
330
350
  editorOptions: {
331
351
  preserveFocus: true
@@ -379,16 +399,16 @@ function getHoverContent(ariaLabel, attachment) {
379
399
  const hoverElement = $("div.chat-attached-context-hover");
380
400
  hoverElement.setAttribute("aria-label", ariaLabel);
381
401
  const commandTitle = $("div", {}, typeof attachment.exitCode === "number" ? ( localize(
382
- 5517,
402
+ 5585,
383
403
  "Command: {0}, exit code: {1}",
384
404
  attachment.command,
385
405
  attachment.exitCode
386
- )) : ( localize(5518, "Command")));
406
+ )) : ( localize(5586, "Command")));
387
407
  commandTitle.classList.add("attachment-additional-info");
388
408
  const commandBlock = $("pre.chat-terminal-command-block");
389
409
  hoverElement.append(commandTitle, commandBlock);
390
410
  if (attachment.output && attachment.output.trim().length > 0) {
391
- const outputTitle = $("div", {}, ( localize(5519, "Output:")));
411
+ const outputTitle = $("div", {}, ( localize(5587, "Output:")));
392
412
  outputTitle.classList.add("attachment-additional-info");
393
413
  const outputBlock = $("pre.chat-terminal-command-output");
394
414
  const fullOutputLines = attachment.output.split("\n");
@@ -452,20 +472,20 @@ let ImageAttachmentWidget = class ImageAttachmentWidget extends AbstractChatAtta
452
472
  this.chatImageCarouselService = chatImageCarouselService;
453
473
  let ariaLabel;
454
474
  if (attachment.omittedState === OmittedState.Full) {
455
- ariaLabel = ( localize(5520, "Omitted this image: {0}", attachment.name));
475
+ ariaLabel = ( localize(5588, "Omitted this image: {0}", attachment.name));
456
476
  } else if (attachment.omittedState === OmittedState.Partial) {
457
- ariaLabel = ( localize(5521, "Partially omitted this image: {0}", attachment.name));
477
+ ariaLabel = ( localize(5589, "Partially omitted this image: {0}", attachment.name));
458
478
  } else if (attachment.omittedState === OmittedState.ImageLimitExceeded) {
459
- ariaLabel = ( localize(5522, "Image not sent due to limit: {0}", attachment.name));
479
+ ariaLabel = ( localize(5590, "Image not sent due to limit: {0}", attachment.name));
460
480
  } else {
461
- ariaLabel = ( localize(5523, "Attached image, {0}", attachment.name));
481
+ ariaLabel = ( localize(5591, "Attached image, {0}", attachment.name));
462
482
  }
463
483
  const ref = attachment.references?.[0]?.reference;
464
484
  resource = ref && URI.isUri(ref) ? ref : undefined;
465
485
  const imageData = coerceImageBuffer(attachment.value);
466
486
  const clickHandler = async () => {
467
487
  if ((resource || imageData) && configurationService.getValue(ChatConfiguration.ImageCarouselEnabled)) {
468
- await this.openInCarousel(attachment.name, imageData, resource);
488
+ await this.openInCarousel(attachment.id, attachment.name, imageData, resource);
469
489
  } else if (resource) {
470
490
  await this.openResource(resource, {
471
491
  editorOptions: {
@@ -506,10 +526,10 @@ let ImageAttachmentWidget = class ImageAttachmentWidget extends AbstractChatAtta
506
526
  });
507
527
  }
508
528
  }
509
- async openInCarousel(name, data, referenceUri) {
529
+ async openInCarousel(id, name, data, referenceUri) {
510
530
  const resource = referenceUri ?? ( URI.from({
511
531
  scheme: "data",
512
- path: name
532
+ path: `${id}/${encodeURIComponent(name)}`
513
533
  }));
514
534
  await this.chatImageCarouselService.openCarouselAtResource(resource, data);
515
535
  }
@@ -549,7 +569,7 @@ function createImageElements(
549
569
  hoverElement.setAttribute("aria-label", ariaLabel);
550
570
  if (previewFeaturesDisabled) {
551
571
  element.classList.add("warning");
552
- hoverElement.textContent = ( localize(5524, "Vision is disabled by your organization."));
572
+ hoverElement.textContent = ( localize(5592, "Vision is disabled by your organization."));
553
573
  disposable.add(hoverService.setupDelayedHover(element, {
554
574
  content: hoverElement,
555
575
  style: HoverStyle.Pointer
@@ -557,7 +577,7 @@ function createImageElements(
557
577
  } else if ((!supportsVision && currentLanguageModel) || omittedState === OmittedState.Full) {
558
578
  element.classList.add("warning");
559
579
  hoverElement.textContent = ( localize(
560
- 5525,
580
+ 5593,
561
581
  "{0} does not support images.",
562
582
  currentLanguageModelName ?? "This model"
563
583
  ));
@@ -567,10 +587,14 @@ function createImageElements(
567
587
  }));
568
588
  } else if (omittedState === OmittedState.ImageLimitExceeded) {
569
589
  element.classList.add("warning");
570
- hoverElement.textContent = ( localize(
571
- 5526,
590
+ const maxImagesPerRequest = getImageAttachmentLimit(currentLanguageModel?.metadata);
591
+ hoverElement.textContent = maxImagesPerRequest !== undefined ? ( localize(
592
+ 5594,
572
593
  "This image was not sent because the maximum of {0} images per request was exceeded.",
573
- MAX_IMAGES_PER_REQUEST
594
+ maxImagesPerRequest
595
+ )) : ( localize(
596
+ 5595,
597
+ "This image was not sent because this model's image limit was exceeded."
574
598
  ));
575
599
  disposable.add(hoverService.setupDelayedHover(element, {
576
600
  content: hoverElement,
@@ -604,7 +628,7 @@ function createImageElements(
604
628
  const urlContainer = $(
605
629
  "a.chat-attached-context-url",
606
630
  {},
607
- omittedState === OmittedState.Partial ? ( localize(5527, "This GIF was partially omitted - current frame will be sent.")) : fullName
631
+ omittedState === OmittedState.Partial ? ( localize(5596, "This GIF was partially omitted - current frame will be sent.")) : fullName
608
632
  );
609
633
  const separator = $("div.chat-attached-context-url-separator");
610
634
  disposable.add(addDisposableListener(urlContainer, "click", () => clickHandler()));
@@ -653,7 +677,7 @@ let PasteAttachmentWidget = class PasteAttachmentWidget extends AbstractChatAtta
653
677
  );
654
678
  this.hoverService = hoverService;
655
679
  this.instantiationService = instantiationService;
656
- const ariaLabel = ( localize(5528, "Attached context, {0}", attachment.name));
680
+ const ariaLabel = ( localize(5597, "Attached context, {0}", attachment.name));
657
681
  this.element.ariaLabel = this.appendDeletionHint(ariaLabel);
658
682
  const classNames = ["file-icon", `${attachment.language}-lang-file-icon`];
659
683
  let resource;
@@ -746,7 +770,7 @@ let DefaultChatAttachmentWidget = class DefaultChatAttachmentWidget extends Abst
746
770
  const withIcon = attachment.icon?.id ? `$(${attachment.icon.id})\u00A0${attachmentLabel}` : attachmentLabel;
747
771
  this.label.setLabel(withIcon, correspondingContentReference?.options?.status?.description);
748
772
  }
749
- this.element.ariaLabel = this.appendDeletionHint(( localize(5528, "Attached context, {0}", attachment.name)));
773
+ this.element.ariaLabel = this.appendDeletionHint(( localize(5597, "Attached context, {0}", attachment.name)));
750
774
  if (attachment.kind === "diagnostic") {
751
775
  if (attachment.filterUri) {
752
776
  resource = attachment.filterUri ? URI.revive(attachment.filterUri) : undefined;
@@ -847,8 +871,8 @@ let PromptFileAttachmentWidget = class PromptFileAttachmentWidget extends Abstra
847
871
  const fileDirname = dirname(resource.path);
848
872
  const friendlyName = `${fileBasename} ${fileDirname}`;
849
873
  const isPrompt = attachment.id.startsWith(PromptFileVariableKind.PromptFile);
850
- const ariaLabel = isPrompt ? ( localize(5529, "Prompt file, {0}", friendlyName)) : ( localize(5530, "Instructions attachment, {0}", friendlyName));
851
- const typeLabel = isPrompt ? ( localize(5531, "Prompt")) : ( localize(5532, "Instructions"));
874
+ const ariaLabel = isPrompt ? ( localize(5598, "Prompt file, {0}", friendlyName)) : ( localize(5599, "Instructions attachment, {0}", friendlyName));
875
+ const typeLabel = isPrompt ? ( localize(5600, "Prompt")) : ( localize(5601, "Instructions"));
852
876
  const title = this.labelService.getUriLabel(resource) + (attachment.originLabel ? `\n${attachment.originLabel}` : "");
853
877
  this.element.classList.remove("warning", "error");
854
878
  const fileWithoutExtension = getCleanPromptName(resource);
@@ -908,8 +932,8 @@ let PromptTextAttachmentWidget = class PromptTextAttachmentWidget extends Abstra
908
932
  })
909
933
  );
910
934
  }
911
- this.label.setLabel(( localize(5533, "Additional Instructions")), undefined, undefined);
912
- this.element.ariaLabel = this.appendDeletionHint(( localize(5528, "Attached context, {0}", attachment.name)));
935
+ this.label.setLabel(( localize(5602, "Additional Instructions")), undefined, undefined);
936
+ this.element.ariaLabel = this.appendDeletionHint(( localize(5597, "Attached context, {0}", attachment.name)));
913
937
  this._register(hoverService.setupDelayedHover(this.element, {
914
938
  ...commonHoverOptions,
915
939
  content: attachment.value
@@ -956,18 +980,18 @@ let ToolSetOrToolItemAttachmentWidget = class ToolSetOrToolItemAttachmentWidget
956
980
  }
957
981
  this.label.setLabel(`$(${icon.id})\u00A0${name}`, undefined);
958
982
  this.element.style.cursor = "pointer";
959
- this.element.ariaLabel = this.appendDeletionHint(( localize(5528, "Attached context, {0}", name)));
983
+ this.element.ariaLabel = this.appendDeletionHint(( localize(5597, "Attached context, {0}", name)));
960
984
  let hoverContent;
961
985
  if (isToolSet(toolOrToolSet)) {
962
986
  hoverContent = ( localize(
963
- 5534,
987
+ 5603,
964
988
  "{0} - {1}",
965
989
  toolOrToolSet.description ?? toolOrToolSet.referenceName,
966
990
  toolOrToolSet.source.label
967
991
  ));
968
992
  } else if (toolOrToolSet) {
969
993
  hoverContent = ( localize(
970
- 5535,
994
+ 5604,
971
995
  "{0} - {1}",
972
996
  toolOrToolSet.userDescription ?? toolOrToolSet.modelDescription,
973
997
  toolOrToolSet.source.label
@@ -1040,7 +1064,7 @@ let NotebookCellOutputChatAttachmentWidget = class NotebookCellOutputChatAttachm
1040
1064
  this.addResourceOpenHandlers(resource, undefined);
1041
1065
  }
1042
1066
  getAriaLabel(attachment) {
1043
- return localize(5536, "Attached Notebook output, {0}", attachment.name);
1067
+ return localize(5605, "Attached Notebook output, {0}", attachment.name);
1044
1068
  }
1045
1069
  renderErrorOutput(resource, attachment) {
1046
1070
  const attachmentLabel = attachment.name;
@@ -1068,9 +1092,9 @@ let NotebookCellOutputChatAttachmentWidget = class NotebookCellOutputChatAttachm
1068
1092
  renderImageOutput(resource, attachment) {
1069
1093
  let ariaLabel;
1070
1094
  if (attachment.omittedState === OmittedState.Full) {
1071
- ariaLabel = ( localize(5537, "Omitted this Notebook ouput: {0}", attachment.name));
1095
+ ariaLabel = ( localize(5606, "Omitted this Notebook ouput: {0}", attachment.name));
1072
1096
  } else if (attachment.omittedState === OmittedState.Partial) {
1073
- ariaLabel = ( localize(5538, "Partially omitted this Notebook output: {0}", attachment.name));
1097
+ ariaLabel = ( localize(5607, "Partially omitted this Notebook output: {0}", attachment.name));
1074
1098
  } else {
1075
1099
  ariaLabel = this.getAriaLabel(attachment);
1076
1100
  }
@@ -1140,14 +1164,14 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1140
1164
  );
1141
1165
  this.editorService = editorService;
1142
1166
  this.hoverService = hoverService;
1143
- const ariaLabel = ( localize(5539, "Attached element, {0}", attachment.name));
1167
+ const ariaLabel = ( localize(5608, "Attached element, {0}", attachment.name));
1144
1168
  this.element.ariaLabel = this.appendDeletionHint(ariaLabel);
1145
1169
  this.element.style.position = "relative";
1146
1170
  this.element.style.cursor = "pointer";
1147
1171
  const attachmentLabel = attachment.name;
1148
1172
  const withIcon = attachment.icon?.id ? `$(${attachment.icon.id})\u00A0${attachmentLabel}` : attachmentLabel;
1149
1173
  this.label.setLabel(withIcon, undefined, {
1150
- title: ( localize(5540, "Click to view the contents of: {0}", attachmentLabel))
1174
+ title: ( localize(5609, "Click to view the contents of: {0}", attachmentLabel))
1151
1175
  });
1152
1176
  this._register(this.hoverService.setupDelayedHover(
1153
1177
  this.element,
@@ -1167,7 +1191,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1167
1191
  const innerScrollables = [];
1168
1192
  {
1169
1193
  const section = $("div.chat-element-hover-section");
1170
- const header = $("div.chat-element-hover-header", {}, ( localize(5541, "ELEMENT")));
1194
+ const header = $("div.chat-element-hover-header", {}, ( localize(5610, "ELEMENT")));
1171
1195
  section.appendChild(header);
1172
1196
  const elementPre = $("pre.chat-element-hover-code");
1173
1197
  const elementCode = $("code");
@@ -1185,7 +1209,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1185
1209
  const computedStyleEntries = this.getComputedStyleEntriesForHover(attachment.computedStyles);
1186
1210
  if (computedStyleEntries.length > 0) {
1187
1211
  const section = $("div.chat-element-hover-section");
1188
- const header = $("div.chat-element-hover-header", {}, ( localize(5542, "KEY COMPUTED STYLES")));
1212
+ const header = $("div.chat-element-hover-header", {}, ( localize(5611, "KEY COMPUTED STYLES")));
1189
1213
  section.appendChild(header);
1190
1214
  const table = $("div.chat-element-hover-table");
1191
1215
  for (const [name, value] of computedStyleEntries) {
@@ -1204,7 +1228,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1204
1228
  section.appendChild(table);
1205
1229
  const showMoreButton = $("button.chat-element-hover-show-more", {
1206
1230
  type: "button"
1207
- }, ( localize(5543, "Show More...")));
1231
+ }, ( localize(5612, "Show More...")));
1208
1232
  this._register(
1209
1233
  addDisposableListener(showMoreButton, EventType.CLICK, async e => {
1210
1234
  EventHelper.stop(e, true);
@@ -1216,7 +1240,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1216
1240
  }
1217
1241
  if (attachment.ancestors && attachment.ancestors.length > 1) {
1218
1242
  const section = $("div.chat-element-hover-section");
1219
- const header = $("div.chat-element-hover-header", {}, ( localize(5544, "HTML PATH")));
1243
+ const header = $("div.chat-element-hover-header", {}, ( localize(5613, "HTML PATH")));
1220
1244
  section.appendChild(header);
1221
1245
  const lines = [];
1222
1246
  for (let i = 0; i < attachment.ancestors.length; i++) {
@@ -1239,7 +1263,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1239
1263
  }
1240
1264
  if (attachment.attributes && ( Object.keys(attachment.attributes)).length > 0) {
1241
1265
  const section = $("div.chat-element-hover-section");
1242
- const header = $("div.chat-element-hover-header", {}, ( localize(5545, "ATTRIBUTES")));
1266
+ const header = $("div.chat-element-hover-header", {}, ( localize(5614, "ATTRIBUTES")));
1243
1267
  section.appendChild(header);
1244
1268
  const table = $("div.chat-element-hover-table");
1245
1269
  for (const [name, value] of Object.entries(attachment.attributes)) {
@@ -1253,7 +1277,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1253
1277
  }
1254
1278
  if (attachment.dimensions) {
1255
1279
  const section = $("div.chat-element-hover-section");
1256
- const header = $("div.chat-element-hover-header", {}, ( localize(5546, "POSITION & SIZE")));
1280
+ const header = $("div.chat-element-hover-header", {}, ( localize(5615, "POSITION & SIZE")));
1257
1281
  section.appendChild(header);
1258
1282
  const table = $("div.chat-element-hover-table");
1259
1283
  const dims = [
@@ -1273,7 +1297,7 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
1273
1297
  }
1274
1298
  if (attachment.innerText) {
1275
1299
  const section = $("div.chat-element-hover-section");
1276
- const header = $("div.chat-element-hover-header", {}, ( localize(5547, "INNER TEXT")));
1300
+ const header = $("div.chat-element-hover-header", {}, ( localize(5616, "INNER TEXT")));
1277
1301
  section.appendChild(header);
1278
1302
  section.appendChild($("div.chat-element-hover-text", {}, attachment.innerText));
1279
1303
  scrollableContent.appendChild(section);
@@ -1419,7 +1443,7 @@ let SCMHistoryItemAttachmentWidget = class SCMHistoryItemAttachmentWidget extend
1419
1443
  );
1420
1444
  this.label.setLabel(attachment.name, undefined);
1421
1445
  this.element.style.cursor = "pointer";
1422
- this.element.ariaLabel = this.appendDeletionHint(( localize(5528, "Attached context, {0}", attachment.name)));
1446
+ this.element.ariaLabel = this.appendDeletionHint(( localize(5597, "Attached context, {0}", attachment.name)));
1423
1447
  const {
1424
1448
  content,
1425
1449
  disposables
@@ -1481,7 +1505,7 @@ let SCMHistoryItemChangeAttachmentWidget = class SCMHistoryItemChangeAttachmentW
1481
1505
  hidePath: true,
1482
1506
  nameSuffix
1483
1507
  });
1484
- this.element.ariaLabel = this.appendDeletionHint(( localize(5528, "Attached context, {0}", attachment.name)));
1508
+ this.element.ariaLabel = this.appendDeletionHint(( localize(5597, "Attached context, {0}", attachment.name)));
1485
1509
  const {
1486
1510
  content,
1487
1511
  disposables
@@ -1537,7 +1561,7 @@ let SCMHistoryItemChangeRangeAttachmentWidget = class SCMHistoryItemChangeRangeA
1537
1561
  hidePath: true,
1538
1562
  nameSuffix
1539
1563
  });
1540
- this.element.ariaLabel = this.appendDeletionHint(( localize(5528, "Attached context, {0}", attachment.name)));
1564
+ this.element.ariaLabel = this.appendDeletionHint(( localize(5597, "Attached context, {0}", attachment.name)));
1541
1565
  this.addResourceOpenHandlers(attachment.value, undefined);
1542
1566
  }
1543
1567
  async openResource(resource, options, isDirectory, range) {
@@ -1699,7 +1723,7 @@ function addBasicContextMenu(accessor, widget, scopedContextKeyService, menuId,
1699
1723
  const chatAttachmentResourceContextKey = ( new RawContextKey("chatAttachmentResource", undefined, {
1700
1724
  type: "URI",
1701
1725
  description: ( localize(
1702
- 5548,
1726
+ 5617,
1703
1727
  "The full value of the chat attachment resource, including scheme and path"
1704
1728
  ))
1705
1729
  }));