@codingame/monaco-vscode-katex-common 24.2.0 → 25.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 (197) hide show
  1. package/package.json +3 -3
  2. package/vscode/src/vs/platform/actions/browser/buttonbar.js +3 -3
  3. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityProvider.d.ts → accessibility/chatAccessibilityProvider.d.ts} +1 -1
  4. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityProvider.js → accessibility/chatAccessibilityProvider.js} +25 -20
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +19 -19
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +4 -4
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +31 -31
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +15 -15
  9. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentModel.d.ts → attachments/chatAttachmentModel.d.ts} +4 -2
  10. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentModel.js → attachments/chatAttachmentModel.js} +24 -3
  11. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentWidgets.d.ts → attachments/chatAttachmentWidgets.d.ts} +4 -4
  12. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentWidgets.js → attachments/chatAttachmentWidgets.js} +80 -89
  13. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → attachments}/chatImplicitContext.d.ts +4 -4
  14. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → attachments}/chatImplicitContext.js +23 -11
  15. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → attachments}/chatInputRelatedFilesContrib.d.ts +1 -1
  16. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → attachments}/chatInputRelatedFilesContrib.js +2 -2
  17. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +4 -3
  18. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +47 -21
  19. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +1 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +39 -39
  21. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +3 -3
  22. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +5 -5
  23. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAgentHover.d.ts → widget/chatAgentHover.d.ts} +3 -3
  24. package/vscode/src/vs/workbench/contrib/chat/browser/{chatAgentHover.js → widget/chatAgentHover.js} +4 -4
  25. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatAgentCommandContentPart.d.ts +3 -3
  26. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatAgentCommandContentPart.js +2 -2
  27. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatAnonymousRateLimitedPart.d.ts +2 -2
  28. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatAnonymousRateLimitedPart.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatAttachmentsContentPart.d.ts +2 -2
  30. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatAttachmentsContentPart.js +3 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatChangesSummaryPart.d.ts +10 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatChangesSummaryPart.js +59 -119
  33. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatCodeCitationContentPart.d.ts +2 -2
  34. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatCodeCitationContentPart.js +2 -2
  35. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatCollapsibleContentPart.d.ts +11 -4
  36. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatCollapsibleContentPart.js +31 -10
  37. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatCommandContentPart.d.ts +3 -3
  38. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatCommandContentPart.js +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatConfirmationContentPart.d.ts +4 -4
  40. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatConfirmationContentPart.js +5 -5
  41. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatConfirmationWidget.d.ts +9 -18
  42. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatConfirmationWidget.js +31 -99
  43. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatContentCodePools.d.ts +1 -1
  44. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatContentCodePools.js +1 -1
  45. package/vscode/src/vs/workbench/contrib/chat/browser/{chatDiffBlockPart.d.ts → widget/chatContentParts/chatDiffBlockPart.d.ts} +2 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatElicitationContentPart.d.ts +3 -3
  47. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatElicitationContentPart.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatErrorConfirmationPart.d.ts +4 -4
  49. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatErrorConfirmationPart.js +2 -2
  50. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatErrorContentPart.d.ts +3 -3
  51. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatErrorContentPart.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatExtensionsContentPart.d.ts +3 -3
  53. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatExtensionsContentPart.js +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/{chatInlineAnchorWidget.d.ts → widget/chatContentParts/chatInlineAnchorWidget.d.ts} +2 -2
  55. package/vscode/src/vs/workbench/contrib/chat/browser/{chatInlineAnchorWidget.js → widget/chatContentParts/chatInlineAnchorWidget.js} +18 -15
  56. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownContentPart.d.ts +6 -6
  57. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownContentPart.js +15 -15
  58. package/vscode/src/vs/workbench/contrib/chat/browser/{chatMarkdownDecorationsRenderer.d.ts → widget/chatContentParts/chatMarkdownDecorationsRenderer.d.ts} +7 -7
  59. package/vscode/src/vs/workbench/contrib/chat/browser/{chatMarkdownDecorationsRenderer.js → widget/chatContentParts/chatMarkdownDecorationsRenderer.js} +9 -12
  60. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMcpServersInteractionContentPart.d.ts +3 -3
  61. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMcpServersInteractionContentPart.js +7 -7
  62. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMultiDiffContentPart.d.ts +4 -6
  63. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMultiDiffContentPart.js +31 -35
  64. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatProgressContentPart.d.ts +5 -5
  65. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatProgressContentPart.js +9 -42
  66. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatPullRequestContentPart.d.ts +3 -3
  67. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatPullRequestContentPart.js +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatQuotaExceededPart.d.ts +2 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatQuotaExceededPart.js +4 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatReferencesContentPart.d.ts +7 -6
  71. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatReferencesContentPart.js +20 -17
  72. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatSuggestNextWidget.js +5 -5
  73. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatTaskContentPart.d.ts +3 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatTaskContentPart.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatTextEditContentPart.d.ts +2 -2
  76. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatTextEditContentPart.js +3 -3
  77. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatTextEditContentPart.service.d.ts +2 -2
  78. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatThinkingContentPart.d.ts +9 -7
  79. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatThinkingContentPart.js +71 -17
  80. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatTodoListWidget.d.ts +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatTodoListWidget.js +23 -23
  82. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatToolInputOutputContentPart.d.ts +4 -3
  83. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatToolInputOutputContentPart.js +2 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatToolOutputContentSubPart.d.ts +6 -3
  85. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatToolOutputContentSubPart.js +27 -11
  86. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatTreeContentPart.d.ts +3 -3
  87. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatTreeContentPart.js +1 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/{codeBlockPart.d.ts → widget/chatContentParts/codeBlockPart.d.ts} +5 -5
  89. package/vscode/src/vs/workbench/contrib/chat/browser/{codeBlockPart.js → widget/chatContentParts/codeBlockPart.js} +19 -18
  90. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/media/chatThinkingContent.css +17 -14
  91. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +3 -3
  92. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/abstractToolConfirmationSubPart.js +4 -4
  93. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatExtensionsInstallToolSubPart.d.ts +2 -2
  94. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatExtensionsInstallToolSubPart.js +7 -7
  95. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +3 -3
  96. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +4 -32
  97. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatResultListSubPart.d.ts +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatResultListSubPart.js +4 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +4 -3
  100. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +103 -37
  101. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatTerminalToolProgressPart.d.ts +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatTerminalToolProgressPart.js +18 -131
  103. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatToolConfirmationSubPart.d.ts +6 -6
  104. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatToolConfirmationSubPart.js +13 -13
  105. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatToolInvocationPart.d.ts +4 -4
  106. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatToolInvocationPart.js +2 -2
  107. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatToolInvocationSubPart.d.ts +1 -1
  108. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatToolInvocationSubPart.js +1 -1
  109. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatToolOutputPart.d.ts +2 -2
  110. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatToolOutputPart.js +3 -3
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.d.ts +14 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +46 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +4 -4
  114. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +11 -10
  115. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatToolProgressPart.d.ts +2 -2
  116. package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/toolInvocationParts/chatToolProgressPart.js +1 -1
  117. package/vscode/src/vs/workbench/contrib/chat/browser/{chatDragAndDrop.d.ts → widget/chatDragAndDrop.d.ts} +3 -3
  118. package/vscode/src/vs/workbench/contrib/chat/browser/{chatDragAndDrop.js → widget/chatDragAndDrop.js} +13 -13
  119. package/vscode/src/vs/workbench/contrib/chat/browser/{chatListRenderer.d.ts → widget/chatListRenderer.d.ts} +5 -5
  120. package/vscode/src/vs/workbench/contrib/chat/browser/{chatListRenderer.js → widget/chatListRenderer.js} +41 -53
  121. package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidget.d.ts → widget/chatWidget.d.ts} +18 -16
  122. package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidget.js → widget/chatWidget.js} +77 -57
  123. package/vscode/src/vs/workbench/contrib/chat/browser/{chatFollowups.d.ts → widget/input/chatFollowups.d.ts} +2 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/{chatFollowups.js → widget/input/chatFollowups.js} +3 -3
  125. package/vscode/src/vs/workbench/contrib/chat/browser/{chatInputPart.d.ts → widget/input/chatInputPart.d.ts} +14 -13
  126. package/vscode/src/vs/workbench/contrib/chat/browser/{chatInputPart.js → widget/input/chatInputPart.js} +75 -59
  127. package/vscode/src/vs/workbench/contrib/chat/browser/{chatSelectedTools.d.ts → widget/input/chatSelectedTools.d.ts} +3 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/{chatSelectedTools.js → widget/input/chatSelectedTools.js} +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputCompletions.js +36 -24
  130. package/vscode/src/vs/workbench/contrib/chat/browser/{modelPicker → widget/input}/modePickerActionItem.d.ts +2 -2
  131. package/vscode/src/vs/workbench/contrib/chat/browser/{modelPicker → widget/input}/modePickerActionItem.js +9 -7
  132. package/vscode/src/vs/workbench/contrib/chat/browser/{modelPicker → widget/input}/modelPickerActionItem.d.ts +4 -2
  133. package/vscode/src/vs/workbench/contrib/chat/browser/{modelPicker → widget/input}/modelPickerActionItem.js +21 -14
  134. package/vscode/src/vs/workbench/contrib/chat/browser/{media → widget/media}/chat.css +17 -16
  135. package/vscode/src/vs/workbench/contrib/chat/browser/{media → widget/media}/chatViewWelcome.css +3 -1
  136. package/vscode/src/vs/workbench/contrib/chat/common/{chatColors.js → widget/chatColors.js} +13 -13
  137. package/vscode/src/vs/workbench/contrib/chat/common/{chatWidgetHistoryService.d.ts → widget/chatWidgetHistoryService.d.ts} +2 -2
  138. package/vscode/src/vs/workbench/contrib/chat/common/{chatWidgetHistoryService.js → widget/chatWidgetHistoryService.js} +2 -2
  139. package/vscode/src/vs/workbench/contrib/chat/common/{codeBlockModelCollection.d.ts → widget/codeBlockModelCollection.d.ts} +2 -2
  140. package/vscode/src/vs/workbench/contrib/chat/common/{codeBlockModelCollection.js → widget/codeBlockModelCollection.js} +4 -3
  141. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +7 -8
  142. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +63 -63
  143. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.d.ts +2 -2
  144. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +2 -2
  145. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +1 -1
  146. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +3 -4
  147. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +16 -18
  148. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.d.ts +1 -5
  149. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +8 -18
  150. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +3 -3
  151. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +12 -12
  152. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +1 -1
  153. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +2 -2
  154. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +1 -1
  155. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +0 -1
  156. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +35 -54
  157. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  158. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +1 -1
  159. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  160. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  161. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +4 -4
  162. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  163. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +1 -1
  164. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  165. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  166. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  167. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.js +3 -3
  168. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.d.ts +35 -4
  169. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +129 -31
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.d.ts +0 -19
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.js +0 -76
  172. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +0 -48
  173. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +0 -373
  174. /package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/{chatSessionAction.css → chatSessionPickerActionItem.css} +0 -0
  175. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentMarkdownRenderer.d.ts → widget/chatContentMarkdownRenderer.d.ts} +0 -0
  176. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentMarkdownRenderer.js → widget/chatContentMarkdownRenderer.js} +0 -0
  177. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatCollections.d.ts +0 -0
  178. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatCollections.js +0 -0
  179. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatDiffBlockPart.js → widget/chatContentParts/chatDiffBlockPart.js} +0 -0
  180. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatSuggestNextWidget.d.ts +0 -0
  181. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatTextEditContentPart.service.js +0 -0
  182. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → widget/chatContentParts/media}/chatCodeBlockPill.css +0 -0
  183. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/media/chatConfirmationWidget.css +0 -0
  184. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/media/chatExtensionsContent.css +0 -0
  185. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → widget/chatContentParts/media}/chatInlineAnchorWidget.css +0 -0
  186. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/media/chatMarkdownPart.css +0 -0
  187. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/media/chatMcpServersInteractionContent.css +0 -0
  188. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/media/chatPullRequestContent.css +0 -0
  189. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/media/chatTerminalToolProgressPart.css +0 -0
  190. /package/vscode/src/vs/workbench/contrib/chat/browser/{codeBlockPart.css → widget/chatContentParts/media/codeBlockPart.css} +0 -0
  191. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatOptions.d.ts → widget/chatOptions.d.ts} +0 -0
  192. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatOptions.js → widget/chatOptions.js} +0 -0
  193. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatInputPartWidgets.d.ts → widget/input/chatInputPartWidgets.d.ts} +0 -0
  194. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatInputPartWidgets.js → widget/input/chatInputPartWidgets.js} +0 -0
  195. /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputCompletions.d.ts +0 -0
  196. /package/vscode/src/vs/workbench/contrib/chat/browser/{media → widget/media}/chatAgentHover.css +0 -0
  197. /package/vscode/src/vs/workbench/contrib/chat/common/{chatColors.d.ts → widget/chatColors.d.ts} +0 -0
@@ -1,10 +1,10 @@
1
1
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
2
  import { IRange } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range";
3
3
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
- import { IChatRequestFileEntry, IChatRequestVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries";
4
+ import { IChatRequestFileEntry, IChatRequestVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
5
5
  import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
6
6
  import { ISharedWebContentExtractorService } from "@codingame/monaco-vscode-api/vscode/vs/platform/webContentExtractor/common/webContentExtractor.service";
7
- import { IChatAttachmentResolveService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service";
7
+ import { IChatAttachmentResolveService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.service";
8
8
  export interface IChatAttachmentChangeEvent {
9
9
  readonly deleted: readonly string[];
10
10
  readonly added: readonly IChatRequestVariableEntry[];
@@ -15,6 +15,7 @@ export declare class ChatAttachmentModel extends Disposable {
15
15
  private readonly webContentExtractorService;
16
16
  private readonly chatAttachmentResolveService;
17
17
  private readonly _attachments;
18
+ private readonly _fileWatchers;
18
19
  private _onDidChange;
19
20
  readonly onDidChange: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<IChatAttachmentChangeEvent>;
20
21
  constructor(fileService: IFileService, webContentExtractorService: ISharedWebContentExtractorService, chatAttachmentResolveService: IChatAttachmentResolveService);
@@ -29,6 +30,7 @@ export declare class ChatAttachmentModel extends Disposable {
29
30
  clearAndSetContext(...attachments: IChatRequestVariableEntry[]): void;
30
31
  delete(...variableEntryIds: string[]): void;
31
32
  updateContext(toDelete: Iterable<string>, upsert: Iterable<IChatRequestVariableEntry>): void;
33
+ private _watchAttachment;
32
34
  asFileVariableEntry(uri: URI, range?: IRange): IChatRequestFileEntry;
33
35
  asImageVariableEntry(uri: URI): Promise<IChatRequestVariableEntry | undefined>;
34
36
  }
@@ -3,12 +3,13 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
4
4
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
5
5
  import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
6
- import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
- import { isPromptFileVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries';
6
+ import { Disposable, DisposableMap, combinedDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import { isPromptFileVariableEntry, IChatRequestVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
8
+ import { FileChangeType } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
8
9
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
9
10
  import { ISharedWebContentExtractorService } from '@codingame/monaco-vscode-api/vscode/vs/platform/webContentExtractor/common/webContentExtractor.service';
10
11
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
11
- import { IChatAttachmentResolveService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service';
12
+ import { IChatAttachmentResolveService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.service';
12
13
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
13
14
  import { equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
14
15
  import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
@@ -20,6 +21,7 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
20
21
  this.webContentExtractorService = webContentExtractorService;
21
22
  this.chatAttachmentResolveService = chatAttachmentResolveService;
22
23
  this._attachments = ( new Map());
24
+ this._fileWatchers = this._register(( new DisposableMap()));
23
25
  this._onDidChange = this._register(( new Emitter()));
24
26
  this.onDidChange = this._onDidChange.event;
25
27
  }
@@ -60,6 +62,7 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
60
62
  if (clearStickyAttachments) {
61
63
  const deleted = Array.from(( this._attachments.keys()));
62
64
  this._attachments.clear();
65
+ this._fileWatchers.clearAndDisposeAll();
63
66
  this._onDidChange.fire({ deleted, added: [], updated: [] });
64
67
  }
65
68
  else {
@@ -69,6 +72,7 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
69
72
  const entry = this._attachments.get(id);
70
73
  if (entry && !isPromptFileVariableEntry(entry)) {
71
74
  this._attachments.delete(id);
75
+ this._fileWatchers.deleteAndDispose(id);
72
76
  deleted.push(id);
73
77
  }
74
78
  }
@@ -94,6 +98,7 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
94
98
  if (item) {
95
99
  this._attachments.delete(id);
96
100
  deleted.push(id);
101
+ this._fileWatchers.deleteAndDispose(id);
97
102
  }
98
103
  }
99
104
  for (const item of upsert) {
@@ -101,16 +106,32 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
101
106
  if (!oldItem) {
102
107
  this._attachments.set(item.id, item);
103
108
  added.push(item);
109
+ this._watchAttachment(item);
104
110
  }
105
111
  else if (!equals(oldItem, item)) {
112
+ this._fileWatchers.deleteAndDispose(item.id);
106
113
  this._attachments.set(item.id, item);
107
114
  updated.push(item);
115
+ this._watchAttachment(item);
108
116
  }
109
117
  }
110
118
  if (deleted.length > 0 || added.length > 0 || updated.length > 0) {
111
119
  this._onDidChange.fire({ deleted, added, updated });
112
120
  }
113
121
  }
122
+ _watchAttachment(attachment) {
123
+ const uri = IChatRequestVariableEntry.toUri(attachment);
124
+ if (!uri || uri.scheme !== Schemas.file) {
125
+ return;
126
+ }
127
+ const watcher = this.fileService.createWatcher(uri, { recursive: false, excludes: [] });
128
+ const onDidChangeListener = watcher.onDidChange(e => {
129
+ if (e.contains(uri, FileChangeType.DELETED)) {
130
+ this.updateContext([attachment.id], Iterable.empty());
131
+ }
132
+ });
133
+ this._fileWatchers.set(attachment.id, combinedDisposable(onDidChangeListener, watcher));
134
+ }
114
135
  asFileVariableEntry(uri, range) {
115
136
  return {
116
137
  kind: 'file',
@@ -7,7 +7,7 @@ import { MenuId } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/
7
7
  import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
8
8
  import { IScopedContextKeyService, RawContextKey } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
9
9
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
10
- import { IOpenEditorOptions } from "../../../../platform/editor/browser/editor.js";
10
+ import { IOpenEditorOptions } from "../../../../../platform/editor/browser/editor.js";
11
11
  import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
12
12
  import { IInstantiationService, ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
13
13
  import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service";
@@ -19,11 +19,11 @@ import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench
19
19
  import { IPreferencesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/preferences/common/preferences.service";
20
20
  import { INotebookService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service";
21
21
  import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
22
- import { IChatContentReference } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
23
- import { IChatRequestPasteVariableEntry, IChatRequestVariableEntry, IElementVariableEntry, INotebookOutputVariableEntry, IPromptFileVariableEntry, IPromptTextVariableEntry, ISCMHistoryItemVariableEntry, ChatRequestToolReferenceEntry, ISCMHistoryItemChangeVariableEntry, ISCMHistoryItemChangeRangeVariableEntry, ITerminalVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries";
22
+ import { IChatContentReference } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
23
+ import { IChatRequestPasteVariableEntry, IChatRequestVariableEntry, IElementVariableEntry, INotebookOutputVariableEntry, IPromptFileVariableEntry, IPromptTextVariableEntry, ISCMHistoryItemVariableEntry, ChatRequestToolReferenceEntry, ISCMHistoryItemChangeVariableEntry, ISCMHistoryItemChangeRangeVariableEntry, ITerminalVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
24
24
  import { ILanguageModelChatMetadataAndIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
25
25
  import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
26
- import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service";
26
+ import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
27
27
  declare abstract class AbstractChatAttachmentWidget extends Disposable {
28
28
  protected readonly attachment: IChatRequestVariableEntry;
29
29
  private readonly options;
@@ -31,7 +31,7 @@ import { RawContextKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/c
31
31
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
32
32
  import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
33
33
  import { fillInSymbolsDragData } from '@codingame/monaco-vscode-api/vscode/vs/platform/dnd/browser/dnd';
34
- import { registerOpenEditorListeners } from '../../../../platform/editor/browser/editor.js';
34
+ import { registerOpenEditorListeners } from '../../../../../platform/editor/browser/editor.js';
35
35
  import { FileKind } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
36
36
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
37
37
  import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
@@ -52,10 +52,10 @@ import { INotebookService } from '@codingame/monaco-vscode-api/vscode/vs/workben
52
52
  import { toHistoryItemHoverContent } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/browser/scmHistory';
53
53
  import { getHistoryItemEditorTitle } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/browser/util';
54
54
  import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
55
- import { OmittedState, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries';
55
+ import { OmittedState, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
56
56
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
57
- import { ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
58
- import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
57
+ import { ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
58
+ import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
59
59
  import { getCleanPromptName } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
60
60
 
61
61
  const commonHoverOptions = {
@@ -86,6 +86,7 @@ let AbstractChatAttachmentWidget = class AbstractChatAttachmentWidget extends Di
86
86
  this._onDidDelete = this._register(new Emitter());
87
87
  this._onDidOpen = this._register(new Emitter());
88
88
  this.element = append(container, $('.chat-attached-context-attachment.show-file-icons'));
89
+ this.attachClearButton();
89
90
  this.label = contextResourceLabels.create(this.element, { supportIcons: true, hoverTargetOverride: this.element });
90
91
  this._register(this.label);
91
92
  this.element.tabIndex = 0;
@@ -108,7 +109,7 @@ let AbstractChatAttachmentWidget = class AbstractChatAttachmentWidget extends Di
108
109
  const clearButton = ( new Button(this.element, {
109
110
  supportIcons: true,
110
111
  hoverDelegate: createInstantHoverDelegate(),
111
- title: ( localize(5013, "Remove from context"))
112
+ title: ( localize(4936, "Remove from context"))
112
113
  }));
113
114
  clearButton.element.tabIndex = -1;
114
115
  clearButton.icon = Codicon.close;
@@ -175,14 +176,14 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
175
176
  const fileDirname = dirname(resource.path);
176
177
  const friendlyName = `${fileBasename} ${fileDirname}`;
177
178
  let ariaLabel = range ? ( localize(
178
- 5014,
179
+ 4937,
179
180
  "Attached file, {0}, line {1} to line {2}",
180
181
  friendlyName,
181
182
  range.startLineNumber,
182
183
  range.endLineNumber
183
- )) : ( localize(5015, "Attached file, {0}", friendlyName));
184
+ )) : ( localize(4938, "Attached file, {0}", friendlyName));
184
185
  if (attachment.omittedState === OmittedState.Full) {
185
- ariaLabel = ( localize(5016, "Omitted this file: {0}", attachment.name));
186
+ ariaLabel = ( localize(4939, "Omitted this file: {0}", attachment.name));
186
187
  this.renderOmittedWarning(friendlyName, ariaLabel);
187
188
  }
188
189
  else {
@@ -202,7 +203,6 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
202
203
  this._register(hookUpResourceAttachmentDragAndContextMenu(accessor, this.element, resource));
203
204
  });
204
205
  this.addResourceOpenHandlers(resource, range);
205
- this.attachClearButton();
206
206
  }
207
207
  renderOmittedWarning(friendlyName, ariaLabel) {
208
208
  const pillIcon = $('div.chat-attached-context-pill', {}, $('span.codicon.codicon-warning'));
@@ -213,7 +213,7 @@ let FileAttachmentWidget = class FileAttachmentWidget extends AbstractChatAttach
213
213
  hoverElement.setAttribute('aria-label', ariaLabel);
214
214
  this.element.classList.add('warning');
215
215
  hoverElement.textContent = ( localize(
216
- 5017,
216
+ 4940,
217
217
  "{0} does not support this file type.",
218
218
  this.currentLanguageModel ? this.languageModelsService.lookupLanguageModel(this.currentLanguageModel.identifier)?.name : this.currentLanguageModel ?? 'This model'
219
219
  ));
@@ -236,7 +236,7 @@ let TerminalCommandAttachmentWidget = class TerminalCommandAttachmentWidget exte
236
236
  super(attachment, options, container, contextResourceLabels, currentLanguageModel, commandService, openerService, terminalService);
237
237
  this.hoverService = hoverService;
238
238
  this.terminalService = terminalService;
239
- const ariaLabel = ( localize(5018, "Terminal command, {0}", attachment.command));
239
+ const ariaLabel = ( localize(4941, "Terminal command, {0}", attachment.command));
240
240
  const clickHandler = () => this.openResource(attachment.resource, { editorOptions: { preserveFocus: true } }, false, undefined);
241
241
  this._register(createTerminalCommandElements(this.element, attachment, ariaLabel, this.hoverService, clickHandler));
242
242
  this._register(addDisposableListener(this.element, EventType.KEY_DOWN, async (e) => {
@@ -246,7 +246,6 @@ let TerminalCommandAttachmentWidget = class TerminalCommandAttachmentWidget exte
246
246
  await clickHandler();
247
247
  }
248
248
  }));
249
- this.attachClearButton();
250
249
  }
251
250
  };
252
251
  TerminalCommandAttachmentWidget = ( __decorate([
@@ -275,52 +274,54 @@ function createTerminalCommandElements(element, attachment, ariaLabel, hoverServ
275
274
  e.stopPropagation();
276
275
  clickHandler();
277
276
  }));
278
- const hoverElement = $('div.chat-attached-context-hover');
279
- hoverElement.setAttribute('aria-label', ariaLabel);
280
- const commandTitle = $('div', {}, typeof attachment.exitCode === 'number'
281
- ? ( localize(
282
- 5019,
283
- "Command: {0}, exit code: {1}",
284
- attachment.command,
285
- attachment.exitCode
286
- ))
287
- : ( localize(5020, "Command")));
288
- commandTitle.classList.add('attachment-additional-info');
289
- const commandBlock = $('pre.chat-terminal-command-block');
290
- hoverElement.append(commandTitle, commandBlock);
291
- if (attachment.output && attachment.output.trim().length > 0) {
292
- const outputTitle = $('div', {}, ( localize(5021, "Output:")));
293
- outputTitle.classList.add('attachment-additional-info');
294
- const outputBlock = $('pre.chat-terminal-command-output');
295
- const fullOutputLines = attachment.output.split('\n');
296
- const hoverOutputLines = [];
297
- for (const line of fullOutputLines) {
298
- if (hoverOutputLines.length >= TerminalConstants.MaxAttachmentOutputLineCount) {
299
- hoverOutputLines.push('...');
300
- break;
301
- }
302
- const trimmed = line.trim();
303
- if (trimmed.length === 0) {
304
- continue;
305
- }
306
- if (trimmed.length > TerminalConstants.MaxAttachmentOutputLineLength) {
307
- hoverOutputLines.push(`${trimmed.slice(0, TerminalConstants.MaxAttachmentOutputLineLength)}...`);
308
- }
309
- else {
310
- hoverOutputLines.push(trimmed);
277
+ disposable.add(hoverService.setupDelayedHover(element, () => getHoverContent(ariaLabel, attachment), commonHoverLifecycleOptions));
278
+ return disposable;
279
+ }
280
+ function getHoverContent(ariaLabel, attachment) {
281
+ {
282
+ const hoverElement = $('div.chat-attached-context-hover');
283
+ hoverElement.setAttribute('aria-label', ariaLabel);
284
+ const commandTitle = $('div', {}, typeof attachment.exitCode === 'number'
285
+ ? ( localize(
286
+ 4942,
287
+ "Command: {0}, exit code: {1}",
288
+ attachment.command,
289
+ attachment.exitCode
290
+ ))
291
+ : ( localize(4943, "Command")));
292
+ commandTitle.classList.add('attachment-additional-info');
293
+ const commandBlock = $('pre.chat-terminal-command-block');
294
+ hoverElement.append(commandTitle, commandBlock);
295
+ if (attachment.output && attachment.output.trim().length > 0) {
296
+ const outputTitle = $('div', {}, ( localize(4944, "Output:")));
297
+ outputTitle.classList.add('attachment-additional-info');
298
+ const outputBlock = $('pre.chat-terminal-command-output');
299
+ const fullOutputLines = attachment.output.split('\n');
300
+ const hoverOutputLines = [];
301
+ for (const line of fullOutputLines) {
302
+ if (hoverOutputLines.length >= TerminalConstants.MaxAttachmentOutputLineCount) {
303
+ hoverOutputLines.push('...');
304
+ break;
305
+ }
306
+ const trimmed = line.trim();
307
+ if (trimmed.length === 0) {
308
+ continue;
309
+ }
310
+ if (trimmed.length > TerminalConstants.MaxAttachmentOutputLineLength) {
311
+ hoverOutputLines.push(`${trimmed.slice(0, TerminalConstants.MaxAttachmentOutputLineLength)}...`);
312
+ }
313
+ else {
314
+ hoverOutputLines.push(trimmed);
315
+ }
311
316
  }
317
+ outputBlock.textContent = hoverOutputLines.join('\n');
318
+ hoverElement.append(outputTitle, outputBlock);
312
319
  }
313
- outputBlock.textContent = hoverOutputLines.join('\n');
314
- hoverElement.append(outputTitle, outputBlock);
320
+ return {
321
+ ...commonHoverOptions,
322
+ content: hoverElement,
323
+ };
315
324
  }
316
- const hint = $('div', {}, ( localize(5022, "Click to focus this command in the terminal.")));
317
- hint.classList.add('attachment-additional-info');
318
- hoverElement.appendChild(hint);
319
- disposable.add(hoverService.setupDelayedHover(element, {
320
- ...commonHoverOptions,
321
- content: hoverElement,
322
- }, commonHoverLifecycleOptions));
323
- return disposable;
324
325
  }
325
326
  let ImageAttachmentWidget = class ImageAttachmentWidget extends AbstractChatAttachmentWidget {
326
327
  constructor(resource, attachment, currentLanguageModel, options, container, contextResourceLabels, commandService, openerService, hoverService, languageModelsService, instantiationService, labelService) {
@@ -330,13 +331,13 @@ let ImageAttachmentWidget = class ImageAttachmentWidget extends AbstractChatAtta
330
331
  this.labelService = labelService;
331
332
  let ariaLabel;
332
333
  if (attachment.omittedState === OmittedState.Full) {
333
- ariaLabel = ( localize(5023, "Omitted this image: {0}", attachment.name));
334
+ ariaLabel = ( localize(4945, "Omitted this image: {0}", attachment.name));
334
335
  }
335
336
  else if (attachment.omittedState === OmittedState.Partial) {
336
- ariaLabel = ( localize(5024, "Partially omitted this image: {0}", attachment.name));
337
+ ariaLabel = ( localize(4946, "Partially omitted this image: {0}", attachment.name));
337
338
  }
338
339
  else {
339
- ariaLabel = ( localize(5025, "Attached image, {0}", attachment.name));
340
+ ariaLabel = ( localize(4947, "Attached image, {0}", attachment.name));
340
341
  }
341
342
  const ref = attachment.references?.[0]?.reference;
342
343
  resource = ref && URI.isUri(ref) ? ref : undefined;
@@ -354,7 +355,6 @@ let ImageAttachmentWidget = class ImageAttachmentWidget extends AbstractChatAtta
354
355
  this._register(hookUpResourceAttachmentDragAndContextMenu(accessor, this.element, resource));
355
356
  });
356
357
  }
357
- this.attachClearButton();
358
358
  }
359
359
  };
360
360
  ImageAttachmentWidget = ( __decorate([
@@ -386,7 +386,7 @@ function createImageElements(resource, name, fullName, element, buffer, hoverSer
386
386
  if ((!supportsVision && currentLanguageModel) || omittedState === OmittedState.Full) {
387
387
  element.classList.add('warning');
388
388
  hoverElement.textContent = ( localize(
389
- 5026,
389
+ 4948,
390
390
  "{0} does not support images.",
391
391
  currentLanguageModelName ?? 'This model'
392
392
  ));
@@ -412,7 +412,7 @@ function createImageElements(resource, name, fullName, element, buffer, hoverSer
412
412
  const imageContainer = $('div.chat-attached-context-image-container', {}, hoverImage);
413
413
  hoverElement.appendChild(imageContainer);
414
414
  if (resource) {
415
- const urlContainer = $('a.chat-attached-context-url', {}, omittedState === OmittedState.Partial ? ( localize(5027, "This GIF was partially omitted - current frame will be sent.")) : fullName);
415
+ const urlContainer = $('a.chat-attached-context-url', {}, omittedState === OmittedState.Partial ? ( localize(4949, "This GIF was partially omitted - current frame will be sent.")) : fullName);
416
416
  const separator = $('div.chat-attached-context-url-separator');
417
417
  disposable.add(addDisposableListener(urlContainer, 'click', () => clickHandler()));
418
418
  hoverElement.append(separator, urlContainer);
@@ -434,7 +434,7 @@ let PasteAttachmentWidget = class PasteAttachmentWidget extends AbstractChatAtta
434
434
  super(attachment, options, container, contextResourceLabels, currentLanguageModel, commandService, openerService);
435
435
  this.hoverService = hoverService;
436
436
  this.instantiationService = instantiationService;
437
- const ariaLabel = ( localize(5028, "Attached context, {0}", attachment.name));
437
+ const ariaLabel = ( localize(4950, "Attached context, {0}", attachment.name));
438
438
  this.element.ariaLabel = ariaLabel;
439
439
  const classNames = ['file-icon', `${attachment.language}-lang-file-icon`];
440
440
  let resource;
@@ -463,7 +463,6 @@ let PasteAttachmentWidget = class PasteAttachmentWidget extends AbstractChatAtta
463
463
  this._register(this.instantiationService.invokeFunction(hookUpResourceAttachmentDragAndContextMenu, this.element, copiedFromResource));
464
464
  this.addResourceOpenHandlers(copiedFromResource, range);
465
465
  }
466
- this.attachClearButton();
467
466
  }
468
467
  };
469
468
  PasteAttachmentWidget = ( __decorate([
@@ -480,7 +479,7 @@ let DefaultChatAttachmentWidget = class DefaultChatAttachmentWidget extends Abst
480
479
  const attachmentLabel = attachment.fullName ?? attachment.name;
481
480
  const withIcon = attachment.icon?.id ? `$(${attachment.icon.id})\u00A0${attachmentLabel}` : attachmentLabel;
482
481
  this.label.setLabel(withIcon, correspondingContentReference?.options?.status?.description);
483
- this.element.ariaLabel = ( localize(5028, "Attached context, {0}", attachment.name));
482
+ this.element.ariaLabel = ( localize(4950, "Attached context, {0}", attachment.name));
484
483
  if (attachment.kind === 'diagnostic') {
485
484
  if (attachment.filterUri) {
486
485
  resource = attachment.filterUri ? URI.revive(attachment.filterUri) : undefined;
@@ -500,7 +499,6 @@ let DefaultChatAttachmentWidget = class DefaultChatAttachmentWidget extends Abst
500
499
  if (resource) {
501
500
  this.addResourceOpenHandlers(resource, range);
502
501
  }
503
- this.attachClearButton();
504
502
  }
505
503
  };
506
504
  DefaultChatAttachmentWidget = ( __decorate([
@@ -520,7 +518,6 @@ let PromptFileAttachmentWidget = class PromptFileAttachmentWidget extends Abstra
520
518
  this._register(hookUpResourceAttachmentDragAndContextMenu(accessor, this.element, attachment.value));
521
519
  });
522
520
  this.addResourceOpenHandlers(attachment.value, undefined);
523
- this.attachClearButton();
524
521
  }
525
522
  updateLabel(attachment) {
526
523
  const resource = attachment.value;
@@ -529,11 +526,11 @@ let PromptFileAttachmentWidget = class PromptFileAttachmentWidget extends Abstra
529
526
  const friendlyName = `${fileBasename} ${fileDirname}`;
530
527
  const isPrompt = attachment.id.startsWith(PromptFileVariableKind.PromptFile);
531
528
  const ariaLabel = isPrompt
532
- ? ( localize(5029, "Prompt file, {0}", friendlyName))
533
- : ( localize(5030, "Instructions attachment, {0}", friendlyName));
529
+ ? ( localize(4951, "Prompt file, {0}", friendlyName))
530
+ : ( localize(4952, "Instructions attachment, {0}", friendlyName));
534
531
  const typeLabel = isPrompt
535
- ? ( localize(5031, "Prompt"))
536
- : ( localize(5032, "Instructions"));
532
+ ? ( localize(4953, "Prompt"))
533
+ : ( localize(4954, "Instructions"));
537
534
  const title = this.labelService.getUriLabel(resource) + (attachment.originLabel ? `\n${attachment.originLabel}` : '');
538
535
  this.element.classList.remove('warning', 'error');
539
536
  const fileWithoutExtension = getCleanPromptName(resource);
@@ -573,7 +570,7 @@ let PromptTextAttachmentWidget = class PromptTextAttachmentWidget extends Abstra
573
570
  }
574
571
  }));
575
572
  }
576
- this.label.setLabel(( localize(5033, 'Additional Instructions')), undefined, undefined);
573
+ this.label.setLabel(( localize(4955, 'Additional Instructions')), undefined, undefined);
577
574
  this._register(hoverService.setupDelayedHover(this.element, {
578
575
  ...commonHoverOptions,
579
576
  content: attachment.value,
@@ -600,11 +597,11 @@ let ToolSetOrToolItemAttachmentWidget = class ToolSetOrToolItemAttachmentWidget
600
597
  }
601
598
  this.label.setLabel(`$(${icon.id})\u00A0${name}`, undefined);
602
599
  this.element.style.cursor = 'pointer';
603
- this.element.ariaLabel = ( localize(5028, "Attached context, {0}", name));
600
+ this.element.ariaLabel = ( localize(4950, "Attached context, {0}", name));
604
601
  let hoverContent;
605
602
  if (toolOrToolSet instanceof ToolSet) {
606
603
  hoverContent = ( localize(
607
- 5034,
604
+ 4956,
608
605
  "{0} - {1}",
609
606
  toolOrToolSet.description ?? toolOrToolSet.referenceName,
610
607
  toolOrToolSet.source.label
@@ -612,7 +609,7 @@ let ToolSetOrToolItemAttachmentWidget = class ToolSetOrToolItemAttachmentWidget
612
609
  }
613
610
  else if (toolOrToolSet) {
614
611
  hoverContent = ( localize(
615
- 5035,
612
+ 4957,
616
613
  "{0} - {1}",
617
614
  toolOrToolSet.userDescription ?? toolOrToolSet.modelDescription,
618
615
  toolOrToolSet.source.label
@@ -624,7 +621,6 @@ let ToolSetOrToolItemAttachmentWidget = class ToolSetOrToolItemAttachmentWidget
624
621
  content: hoverContent,
625
622
  }, commonHoverLifecycleOptions));
626
623
  }
627
- this.attachClearButton();
628
624
  }
629
625
  };
630
626
  ToolSetOrToolItemAttachmentWidget = ( __decorate([
@@ -659,10 +655,9 @@ let NotebookCellOutputChatAttachmentWidget = class NotebookCellOutputChatAttachm
659
655
  this._register(hookUpResourceAttachmentDragAndContextMenu(accessor, this.element, resource));
660
656
  });
661
657
  this.addResourceOpenHandlers(resource, undefined);
662
- this.attachClearButton();
663
658
  }
664
659
  getAriaLabel(attachment) {
665
- return localize(5036, "Attached Notebook output, {0}", attachment.name);
660
+ return localize(4958, "Attached Notebook output, {0}", attachment.name);
666
661
  }
667
662
  renderErrorOutput(resource, attachment) {
668
663
  const attachmentLabel = attachment.name;
@@ -687,10 +682,10 @@ let NotebookCellOutputChatAttachmentWidget = class NotebookCellOutputChatAttachm
687
682
  renderImageOutput(resource, attachment) {
688
683
  let ariaLabel;
689
684
  if (attachment.omittedState === OmittedState.Full) {
690
- ariaLabel = ( localize(5037, "Omitted this Notebook ouput: {0}", attachment.name));
685
+ ariaLabel = ( localize(4959, "Omitted this Notebook ouput: {0}", attachment.name));
691
686
  }
692
687
  else if (attachment.omittedState === OmittedState.Partial) {
693
- ariaLabel = ( localize(5038, "Partially omitted this Notebook output: {0}", attachment.name));
688
+ ariaLabel = ( localize(4960, "Partially omitted this Notebook output: {0}", attachment.name));
694
689
  }
695
690
  else {
696
691
  ariaLabel = this.getAriaLabel(attachment);
@@ -728,13 +723,13 @@ NotebookCellOutputChatAttachmentWidget = ( __decorate([
728
723
  let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends AbstractChatAttachmentWidget {
729
724
  constructor(attachment, currentLanguageModel, options, container, contextResourceLabels, commandService, openerService, editorService) {
730
725
  super(attachment, options, container, contextResourceLabels, currentLanguageModel, commandService, openerService);
731
- const ariaLabel = ( localize(5039, "Attached element, {0}", attachment.name));
726
+ const ariaLabel = ( localize(4961, "Attached element, {0}", attachment.name));
732
727
  this.element.ariaLabel = ariaLabel;
733
728
  this.element.style.position = 'relative';
734
729
  this.element.style.cursor = 'pointer';
735
730
  const attachmentLabel = attachment.name;
736
731
  const withIcon = attachment.icon?.id ? `$(${attachment.icon.id})\u00A0${attachmentLabel}` : attachmentLabel;
737
- this.label.setLabel(withIcon, undefined, { title: ( localize(5040, "Click to view the contents of: {0}", attachmentLabel)) });
732
+ this.label.setLabel(withIcon, undefined, { title: ( localize(4962, "Click to view the contents of: {0}", attachmentLabel)) });
738
733
  this._register(addDisposableListener(this.element, EventType.CLICK, async () => {
739
734
  const content = attachment.value?.toString() || '';
740
735
  await editorService.openEditor({
@@ -745,7 +740,6 @@ let ElementChatAttachmentWidget = class ElementChatAttachmentWidget extends Abst
745
740
  }
746
741
  });
747
742
  }));
748
- this.attachClearButton();
749
743
  }
750
744
  };
751
745
  ElementChatAttachmentWidget = ( __decorate([
@@ -758,7 +752,7 @@ let SCMHistoryItemAttachmentWidget = class SCMHistoryItemAttachmentWidget extend
758
752
  super(attachment, options, container, contextResourceLabels, currentLanguageModel, commandService, openerService);
759
753
  this.label.setLabel(attachment.name, undefined);
760
754
  this.element.style.cursor = 'pointer';
761
- this.element.ariaLabel = ( localize(5028, "Attached context, {0}", attachment.name));
755
+ this.element.ariaLabel = ( localize(4950, "Attached context, {0}", attachment.name));
762
756
  const { content, disposables } = toHistoryItemHoverContent(markdownRendererService, attachment.historyItem, false);
763
757
  this._store.add(hoverService.setupDelayedHover(this.element, {
764
758
  ...commonHoverOptions,
@@ -776,7 +770,6 @@ let SCMHistoryItemAttachmentWidget = class SCMHistoryItemAttachmentWidget extend
776
770
  this._openAttachment(attachment);
777
771
  }
778
772
  }));
779
- this.attachClearButton();
780
773
  }
781
774
  async _openAttachment(attachment) {
782
775
  await this.commandService.executeCommand('_workbench.openMultiDiffEditor', {
@@ -797,14 +790,13 @@ let SCMHistoryItemChangeAttachmentWidget = class SCMHistoryItemChangeAttachmentW
797
790
  this.editorService = editorService;
798
791
  const nameSuffix = `\u00A0$(${Codicon.gitCommit.id})${attachment.historyItem.displayId ?? attachment.historyItem.id}`;
799
792
  this.label.setFile(attachment.value, { fileKind: FileKind.FILE, hidePath: true, nameSuffix });
800
- this.element.ariaLabel = ( localize(5028, "Attached context, {0}", attachment.name));
793
+ this.element.ariaLabel = ( localize(4950, "Attached context, {0}", attachment.name));
801
794
  const { content, disposables } = toHistoryItemHoverContent(markdownRendererService, attachment.historyItem, false);
802
795
  this._store.add(hoverService.setupDelayedHover(this.element, {
803
796
  ...commonHoverOptions, content,
804
797
  }, commonHoverLifecycleOptions));
805
798
  this._store.add(disposables);
806
799
  this.addResourceOpenHandlers(attachment.value, undefined);
807
- this.attachClearButton();
808
800
  }
809
801
  async openResource(resource, options, isDirectory, range) {
810
802
  const attachment = this.attachment;
@@ -832,9 +824,8 @@ let SCMHistoryItemChangeRangeAttachmentWidget = class SCMHistoryItemChangeRangeA
832
824
  const historyItemEndId = attachment.historyItemChangeEnd.historyItem.displayId ?? attachment.historyItemChangeEnd.historyItem.id;
833
825
  const nameSuffix = `\u00A0$(${Codicon.gitCommit.id})${historyItemStartId}..${historyItemEndId}`;
834
826
  this.label.setFile(attachment.value, { fileKind: FileKind.FILE, hidePath: true, nameSuffix });
835
- this.element.ariaLabel = ( localize(5028, "Attached context, {0}", attachment.name));
827
+ this.element.ariaLabel = ( localize(4950, "Attached context, {0}", attachment.name));
836
828
  this.addResourceOpenHandlers(attachment.value, undefined);
837
- this.attachClearButton();
838
829
  }
839
830
  async openResource(resource, options, isDirectory, range) {
840
831
  const attachment = this.attachment;
@@ -943,7 +934,7 @@ const chatAttachmentResourceContextKey = ( new RawContextKey(
943
934
  'chatAttachmentResource',
944
935
  undefined,
945
936
  { type: 'URI', description: ( localize(
946
- 5041,
937
+ 4963,
947
938
  "The full value of the chat attachment resource, including scheme and path"
948
939
  )) }
949
940
  ));
@@ -7,12 +7,12 @@ import { Location } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/l
7
7
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
8
8
  import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
9
9
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
10
- import { IChatEditingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService.service";
11
- import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
12
- import { IChatRequestImplicitVariableEntry, IChatRequestVariableEntry, StringChatContextValue } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries";
10
+ import { IChatEditingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService.service";
11
+ import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
12
+ import { IChatRequestImplicitVariableEntry, IChatRequestVariableEntry, StringChatContextValue } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
13
13
  import { ILanguageModelIgnoredFilesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/ignoredFiles.service";
14
14
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
15
- import { IChatContextService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextService.service";
15
+ import { IChatContextService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.service";
16
16
  export declare class ChatImplicitContextContribution extends Disposable implements IWorkbenchContribution {
17
17
  private readonly codeEditorService;
18
18
  private readonly editorService;