@vertesia/ui 1.5.0-dev.20260717.131047Z → 1.5.0-dev.20260725.083715Z

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 (567) hide show
  1. package/lib/core/components/SidePanel.js +1 -1
  2. package/lib/core/components/SidePanel.js.map +1 -1
  3. package/lib/core/components/shadcn/button.d.ts +10 -3
  4. package/lib/core/components/shadcn/button.d.ts.map +1 -1
  5. package/lib/core/components/shadcn/button.js +41 -9
  6. package/lib/core/components/shadcn/button.js.map +1 -1
  7. package/lib/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  8. package/lib/core/components/shadcn/filters/filterBar.js +1 -1
  9. package/lib/core/components/shadcn/filters/filterBar.js.map +1 -1
  10. package/lib/core/components/shadcn/modal/dialog.d.ts +1 -1
  11. package/lib/core/components/shadcn/modal/dialog.d.ts.map +1 -1
  12. package/lib/core/components/shadcn/modal/dialog.js +3 -1
  13. package/lib/core/components/shadcn/modal/dialog.js.map +1 -1
  14. package/lib/core/components/shadcn/tabs.d.ts +12 -1
  15. package/lib/core/components/shadcn/tabs.d.ts.map +1 -1
  16. package/lib/core/components/shadcn/tabs.js +12 -4
  17. package/lib/core/components/shadcn/tabs.js.map +1 -1
  18. package/lib/core/components/shadcn/theme/ThemeSwitcher.js +1 -1
  19. package/lib/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
  20. package/lib/features/agent/chat/AgentChatPlaybackControls.d.ts.map +1 -1
  21. package/lib/features/agent/chat/AgentChatPlaybackControls.js +2 -2
  22. package/lib/features/agent/chat/AgentChatPlaybackControls.js.map +1 -1
  23. package/lib/features/agent/chat/AgentRequestInputOverlay.d.ts.map +1 -1
  24. package/lib/features/agent/chat/AgentRequestInputOverlay.js +2 -2
  25. package/lib/features/agent/chat/AgentRequestInputOverlay.js.map +1 -1
  26. package/lib/features/agent/chat/AgentRightPanel.d.ts +5 -1
  27. package/lib/features/agent/chat/AgentRightPanel.d.ts.map +1 -1
  28. package/lib/features/agent/chat/AgentRightPanel.js +2 -2
  29. package/lib/features/agent/chat/AgentRightPanel.js.map +1 -1
  30. package/lib/features/agent/chat/ArtifactsTab.d.ts +5 -1
  31. package/lib/features/agent/chat/ArtifactsTab.d.ts.map +1 -1
  32. package/lib/features/agent/chat/ArtifactsTab.js +53 -13
  33. package/lib/features/agent/chat/ArtifactsTab.js.map +1 -1
  34. package/lib/features/agent/chat/DocumentEditingActionCard.d.ts +6 -0
  35. package/lib/features/agent/chat/DocumentEditingActionCard.d.ts.map +1 -0
  36. package/lib/features/agent/chat/DocumentEditingActionCard.js +129 -0
  37. package/lib/features/agent/chat/DocumentEditingActionCard.js.map +1 -0
  38. package/lib/features/agent/chat/ImageLightbox.d.ts.map +1 -1
  39. package/lib/features/agent/chat/ImageLightbox.js +1 -1
  40. package/lib/features/agent/chat/ImageLightbox.js.map +1 -1
  41. package/lib/features/agent/chat/ModernAgentConversation.d.ts +19 -1
  42. package/lib/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  43. package/lib/features/agent/chat/ModernAgentConversation.js +125 -27
  44. package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
  45. package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.d.ts +45 -0
  46. package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.d.ts.map +1 -0
  47. package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.js +40 -0
  48. package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.js.map +1 -0
  49. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
  50. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  51. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +96 -51
  52. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  53. package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts +2 -1
  54. package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts.map +1 -1
  55. package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js +9 -5
  56. package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js.map +1 -1
  57. package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.d.ts +25 -0
  58. package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.d.ts.map +1 -0
  59. package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.js +33 -0
  60. package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.js.map +1 -0
  61. package/lib/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  62. package/lib/features/agent/chat/ModernAgentOutput/Header.js +4 -2
  63. package/lib/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  64. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
  65. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js +2 -2
  66. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  67. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +3 -1
  68. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  69. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js +23 -24
  70. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  71. package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.d.ts +14 -0
  72. package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.d.ts.map +1 -0
  73. package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.js +21 -0
  74. package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.js.map +1 -0
  75. package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.d.ts +30 -0
  76. package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.d.ts.map +1 -0
  77. package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.js +53 -0
  78. package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.js.map +1 -0
  79. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  80. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +21 -2
  81. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  82. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts +6 -0
  83. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts.map +1 -1
  84. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js +15 -1
  85. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js.map +1 -1
  86. package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.d.ts +6 -0
  87. package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.d.ts.map +1 -0
  88. package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.js +29 -0
  89. package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.js.map +1 -0
  90. package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.d.ts +33 -0
  91. package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.d.ts.map +1 -0
  92. package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.js +129 -0
  93. package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.js.map +1 -0
  94. package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts +7 -0
  95. package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
  96. package/lib/features/agent/chat/ModernAgentOutput/utils.js +11 -1
  97. package/lib/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
  98. package/lib/features/agent/chat/hooks/useAgentStream.d.ts +1 -1
  99. package/lib/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
  100. package/lib/features/agent/chat/hooks/useAgentStream.js +24 -9
  101. package/lib/features/agent/chat/hooks/useAgentStream.js.map +1 -1
  102. package/lib/features/agent/chat/index.d.ts +2 -1
  103. package/lib/features/agent/chat/index.d.ts.map +1 -1
  104. package/lib/features/agent/chat/index.js +3 -0
  105. package/lib/features/agent/chat/index.js.map +1 -1
  106. package/lib/features/environment/SelectEnvironment.d.ts +28 -0
  107. package/lib/features/environment/SelectEnvironment.d.ts.map +1 -0
  108. package/lib/features/environment/SelectEnvironment.js +97 -0
  109. package/lib/features/environment/SelectEnvironment.js.map +1 -0
  110. package/lib/features/environment/index.d.ts +2 -0
  111. package/lib/features/environment/index.d.ts.map +1 -0
  112. package/lib/features/environment/index.js +2 -0
  113. package/lib/features/environment/index.js.map +1 -0
  114. package/lib/features/index.d.ts +2 -0
  115. package/lib/features/index.d.ts.map +1 -1
  116. package/lib/features/index.js +2 -0
  117. package/lib/features/index.js.map +1 -1
  118. package/lib/features/magic-pdf/AnnotatedImageSlider.js +12 -12
  119. package/lib/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
  120. package/lib/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
  121. package/lib/features/magic-pdf/DownloadPopover.js +3 -17
  122. package/lib/features/magic-pdf/DownloadPopover.js.map +1 -1
  123. package/lib/features/magic-pdf/ExtractedContentView.js +2 -6
  124. package/lib/features/magic-pdf/ExtractedContentView.js.map +1 -1
  125. package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.d.ts +25 -0
  126. package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.d.ts.map +1 -0
  127. package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.js +42 -0
  128. package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.js.map +1 -0
  129. package/lib/features/magic-pdf/GroundedExtractionView.d.ts +27 -0
  130. package/lib/features/magic-pdf/GroundedExtractionView.d.ts.map +1 -0
  131. package/lib/features/magic-pdf/GroundedExtractionView.js +377 -0
  132. package/lib/features/magic-pdf/GroundedExtractionView.js.map +1 -0
  133. package/lib/features/magic-pdf/MagicPdfProvider.d.ts +0 -2
  134. package/lib/features/magic-pdf/MagicPdfProvider.d.ts.map +1 -1
  135. package/lib/features/magic-pdf/MagicPdfProvider.js +15 -42
  136. package/lib/features/magic-pdf/MagicPdfProvider.js.map +1 -1
  137. package/lib/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
  138. package/lib/features/magic-pdf/MagicPdfView.js +2 -19
  139. package/lib/features/magic-pdf/MagicPdfView.js.map +1 -1
  140. package/lib/features/magic-pdf/index.d.ts +1 -0
  141. package/lib/features/magic-pdf/index.d.ts.map +1 -1
  142. package/lib/features/magic-pdf/index.js +1 -0
  143. package/lib/features/magic-pdf/index.js.map +1 -1
  144. package/lib/features/magic-pdf/types.d.ts +1 -1
  145. package/lib/features/magic-pdf/types.d.ts.map +1 -1
  146. package/lib/features/oauth/McpConnectionsButton.d.ts.map +1 -1
  147. package/lib/features/oauth/McpConnectionsButton.js +2 -2
  148. package/lib/features/oauth/McpConnectionsButton.js.map +1 -1
  149. package/lib/features/oauth/McpConnectionsDialog.d.ts.map +1 -1
  150. package/lib/features/oauth/McpConnectionsDialog.js +1 -1
  151. package/lib/features/oauth/McpConnectionsDialog.js.map +1 -1
  152. package/lib/features/oauth/RemoteMcpConnectionButton.d.ts.map +1 -1
  153. package/lib/features/oauth/RemoteMcpConnectionButton.js +1 -1
  154. package/lib/features/oauth/RemoteMcpConnectionButton.js.map +1 -1
  155. package/lib/features/pdf-viewer/PdfPageSlider.js +2 -2
  156. package/lib/features/pdf-viewer/PdfPageSlider.js.map +1 -1
  157. package/lib/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -1
  158. package/lib/features/pdf-viewer/SimplePdfViewer.js +3 -3
  159. package/lib/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
  160. package/lib/features/permissions/UserPermissionsProvider.js +1 -1
  161. package/lib/features/permissions/UserPermissionsProvider.js.map +1 -1
  162. package/lib/features/store/objects/DocumentQuickFilter.d.ts.map +1 -1
  163. package/lib/features/store/objects/DocumentQuickFilter.js +5 -5
  164. package/lib/features/store/objects/DocumentQuickFilter.js.map +1 -1
  165. package/lib/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
  166. package/lib/features/store/objects/DocumentSearchResults.js +4 -4
  167. package/lib/features/store/objects/DocumentSearchResults.js.map +1 -1
  168. package/lib/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -1
  169. package/lib/features/store/objects/components/ContentDispositionButton.js +1 -1
  170. package/lib/features/store/objects/components/ContentDispositionButton.js.map +1 -1
  171. package/lib/features/store/objects/components/ContentOverview.d.ts +2 -1
  172. package/lib/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  173. package/lib/features/store/objects/components/ContentOverview.js +159 -31
  174. package/lib/features/store/objects/components/ContentOverview.js.map +1 -1
  175. package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.d.ts +16 -0
  176. package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.d.ts.map +1 -0
  177. package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.js +116 -0
  178. package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.js.map +1 -0
  179. package/lib/features/store/objects/components/DocumentEditingLockStatus.d.ts +7 -0
  180. package/lib/features/store/objects/components/DocumentEditingLockStatus.d.ts.map +1 -0
  181. package/lib/features/store/objects/components/DocumentEditingLockStatus.js +13 -0
  182. package/lib/features/store/objects/components/DocumentEditingLockStatus.js.map +1 -0
  183. package/lib/features/store/objects/components/DocumentEditingPanel.d.ts +48 -0
  184. package/lib/features/store/objects/components/DocumentEditingPanel.d.ts.map +1 -0
  185. package/lib/features/store/objects/components/DocumentEditingPanel.js +720 -0
  186. package/lib/features/store/objects/components/DocumentEditingPanel.js.map +1 -0
  187. package/lib/features/store/objects/components/DocumentIcon.js +1 -1
  188. package/lib/features/store/objects/components/TextEditorPanel.d.ts.map +1 -1
  189. package/lib/features/store/objects/components/TextEditorPanel.js +22 -9
  190. package/lib/features/store/objects/components/TextEditorPanel.js.map +1 -1
  191. package/lib/features/store/objects/components/VectorSearchWidget.js +1 -1
  192. package/lib/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  193. package/lib/features/store/objects/components/documentArtifactRefs.d.ts +26 -0
  194. package/lib/features/store/objects/components/documentArtifactRefs.d.ts.map +1 -0
  195. package/lib/features/store/objects/components/documentArtifactRefs.js +52 -0
  196. package/lib/features/store/objects/components/documentArtifactRefs.js.map +1 -0
  197. package/lib/features/store/objects/components/documentEditingAgentConfig.d.ts +4 -0
  198. package/lib/features/store/objects/components/documentEditingAgentConfig.d.ts.map +1 -0
  199. package/lib/features/store/objects/components/documentEditingAgentConfig.js +40 -0
  200. package/lib/features/store/objects/components/documentEditingAgentConfig.js.map +1 -0
  201. package/lib/features/store/objects/components/documentEditingPrompts.d.ts +3 -0
  202. package/lib/features/store/objects/components/documentEditingPrompts.d.ts.map +1 -0
  203. package/lib/features/store/objects/components/documentEditingPrompts.js +13 -0
  204. package/lib/features/store/objects/components/documentEditingPrompts.js.map +1 -0
  205. package/lib/features/store/objects/components/documentEditingRun.d.ts +27 -0
  206. package/lib/features/store/objects/components/documentEditingRun.d.ts.map +1 -0
  207. package/lib/features/store/objects/components/documentEditingRun.js +126 -0
  208. package/lib/features/store/objects/components/documentEditingRun.js.map +1 -0
  209. package/lib/features/store/objects/components/documentEditingTarget.d.ts +20 -0
  210. package/lib/features/store/objects/components/documentEditingTarget.d.ts.map +1 -0
  211. package/lib/features/store/objects/components/documentEditingTarget.js +40 -0
  212. package/lib/features/store/objects/components/documentEditingTarget.js.map +1 -0
  213. package/lib/features/store/objects/components/index.d.ts +1 -0
  214. package/lib/features/store/objects/components/index.d.ts.map +1 -1
  215. package/lib/features/store/objects/components/index.js +1 -0
  216. package/lib/features/store/objects/components/index.js.map +1 -1
  217. package/lib/features/store/objects/components/useContentPanelHooks.d.ts +6 -3
  218. package/lib/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
  219. package/lib/features/store/objects/components/useContentPanelHooks.js +57 -37
  220. package/lib/features/store/objects/components/useContentPanelHooks.js.map +1 -1
  221. package/lib/features/store/objects/components/useDownloadFile.d.ts +2 -1
  222. package/lib/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
  223. package/lib/features/store/objects/components/useDownloadFile.js +3 -0
  224. package/lib/features/store/objects/components/useDownloadFile.js.map +1 -1
  225. package/lib/features/store/objects/layout/renderers.d.ts.map +1 -1
  226. package/lib/features/store/objects/layout/renderers.js +2 -2
  227. package/lib/features/store/objects/layout/renderers.js.map +1 -1
  228. package/lib/features/store/objects/selection/SelectionActions.js +1 -1
  229. package/lib/features/store/objects/selection/SelectionActions.js.map +1 -1
  230. package/lib/features/store/objects/selection/actions/StartWorkflowButton.js +1 -1
  231. package/lib/features/store/objects/selection/actions/StartWorkflowButton.js.map +1 -1
  232. package/lib/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
  233. package/lib/features/store/types/ContentObjectTypesTable.js +4 -4
  234. package/lib/features/store/types/ContentObjectTypesTable.js.map +1 -1
  235. package/lib/features/store/types/IntakePolicyEditor.d.ts +15 -0
  236. package/lib/features/store/types/IntakePolicyEditor.d.ts.map +1 -0
  237. package/lib/features/store/types/IntakePolicyEditor.js +455 -0
  238. package/lib/features/store/types/IntakePolicyEditor.js.map +1 -0
  239. package/lib/features/store/types/IntakePolicyForm.d.ts +11 -0
  240. package/lib/features/store/types/IntakePolicyForm.d.ts.map +1 -0
  241. package/lib/features/store/types/IntakePolicyForm.js +91 -0
  242. package/lib/features/store/types/IntakePolicyForm.js.map +1 -0
  243. package/lib/features/store/types/SelectContentTypeModal.js +1 -1
  244. package/lib/features/store/types/SelectContentTypeModal.js.map +1 -1
  245. package/lib/features/store/types/index.d.ts +2 -0
  246. package/lib/features/store/types/index.d.ts.map +1 -1
  247. package/lib/features/store/types/index.js +2 -0
  248. package/lib/features/store/types/index.js.map +1 -1
  249. package/lib/features/store/types/intake-policy-editor.logic.d.ts +7 -0
  250. package/lib/features/store/types/intake-policy-editor.logic.d.ts.map +1 -0
  251. package/lib/features/store/types/intake-policy-editor.logic.js +60 -0
  252. package/lib/features/store/types/intake-policy-editor.logic.js.map +1 -0
  253. package/lib/features/store/types/typeCatalogCache.d.ts +5 -0
  254. package/lib/features/store/types/typeCatalogCache.d.ts.map +1 -0
  255. package/lib/features/store/types/typeCatalogCache.js +40 -0
  256. package/lib/features/store/types/typeCatalogCache.js.map +1 -0
  257. package/lib/features/user/UserInfo.js +7 -3
  258. package/lib/features/user/UserInfo.js.map +1 -1
  259. package/lib/features/views/ViewExperience.d.ts +20 -0
  260. package/lib/features/views/ViewExperience.d.ts.map +1 -0
  261. package/lib/features/views/ViewExperience.js +188 -0
  262. package/lib/features/views/ViewExperience.js.map +1 -0
  263. package/lib/features/views/ViewNavigation.d.ts +3 -0
  264. package/lib/features/views/ViewNavigation.d.ts.map +1 -0
  265. package/lib/features/views/ViewNavigation.js +36 -0
  266. package/lib/features/views/ViewNavigation.js.map +1 -0
  267. package/lib/features/views/ViewResults.d.ts +9 -0
  268. package/lib/features/views/ViewResults.d.ts.map +1 -0
  269. package/lib/features/views/ViewResults.js +229 -0
  270. package/lib/features/views/ViewResults.js.map +1 -0
  271. package/lib/features/views/ViewSearch.d.ts +3 -0
  272. package/lib/features/views/ViewSearch.d.ts.map +1 -0
  273. package/lib/features/views/ViewSearch.js +74 -0
  274. package/lib/features/views/ViewSearch.js.map +1 -0
  275. package/lib/features/views/index.d.ts +7 -0
  276. package/lib/features/views/index.d.ts.map +1 -0
  277. package/lib/features/views/index.js +7 -0
  278. package/lib/features/views/index.js.map +1 -0
  279. package/lib/features/views/types.d.ts +39 -0
  280. package/lib/features/views/types.d.ts.map +1 -0
  281. package/lib/features/views/types.js +2 -0
  282. package/lib/features/views/types.js.map +1 -0
  283. package/lib/features/views/viewState.d.ts +14 -0
  284. package/lib/features/views/viewState.d.ts.map +1 -0
  285. package/lib/features/views/viewState.js +117 -0
  286. package/lib/features/views/viewState.js.map +1 -0
  287. package/lib/i18n/locales/ar.json +134 -1
  288. package/lib/i18n/locales/de.json +130 -1
  289. package/lib/i18n/locales/en.json +363 -33
  290. package/lib/i18n/locales/es.json +131 -1
  291. package/lib/i18n/locales/fr.json +131 -1
  292. package/lib/i18n/locales/it.json +131 -1
  293. package/lib/i18n/locales/ja.json +129 -1
  294. package/lib/i18n/locales/ko.json +129 -1
  295. package/lib/i18n/locales/pt.json +131 -1
  296. package/lib/i18n/locales/ru.json +132 -1
  297. package/lib/i18n/locales/tr.json +130 -1
  298. package/lib/i18n/locales/zh-TW.json +129 -1
  299. package/lib/i18n/locales/zh.json +129 -1
  300. package/lib/rich-text/EditorToolbar.d.ts +37 -0
  301. package/lib/rich-text/EditorToolbar.d.ts.map +1 -0
  302. package/lib/rich-text/EditorToolbar.js +215 -0
  303. package/lib/rich-text/EditorToolbar.js.map +1 -0
  304. package/lib/rich-text/VertesiaRichTextEditor.d.ts +26 -0
  305. package/lib/rich-text/VertesiaRichTextEditor.d.ts.map +1 -0
  306. package/lib/rich-text/VertesiaRichTextEditor.js +67 -0
  307. package/lib/rich-text/VertesiaRichTextEditor.js.map +1 -0
  308. package/lib/rich-text/index.d.ts +2 -0
  309. package/lib/rich-text/index.d.ts.map +1 -0
  310. package/lib/rich-text/index.js +2 -0
  311. package/lib/rich-text/index.js.map +1 -0
  312. package/lib/router/HistoryNavigator.d.ts.map +1 -1
  313. package/lib/router/HistoryNavigator.js +23 -13
  314. package/lib/router/HistoryNavigator.js.map +1 -1
  315. package/lib/router/Nav.d.ts.map +1 -1
  316. package/lib/router/Nav.js +15 -6
  317. package/lib/router/Nav.js.map +1 -1
  318. package/lib/session/UserSession.d.ts.map +1 -1
  319. package/lib/session/UserSession.js +5 -3
  320. package/lib/session/UserSession.js.map +1 -1
  321. package/lib/vertesia-ui-core.js +4 -4
  322. package/lib/vertesia-ui-core.js.map +1 -1
  323. package/lib/vertesia-ui-features.js +40 -28
  324. package/lib/vertesia-ui-features.js.map +1 -1
  325. package/lib/vertesia-ui-i18n.js +15 -15
  326. package/lib/vertesia-ui-i18n.js.map +1 -1
  327. package/lib/vertesia-ui-rich-text.js +5 -0
  328. package/lib/vertesia-ui-rich-text.js.map +1 -0
  329. package/lib/vertesia-ui-router.js +1 -1
  330. package/lib/vertesia-ui-router.js.map +1 -1
  331. package/lib/vertesia-ui-session.js +1 -1
  332. package/lib/vertesia-ui-session.js.map +1 -1
  333. package/lib/vertesia-ui-shell.js +1 -1
  334. package/lib/vertesia-ui-shell.js.map +1 -1
  335. package/lib/vertesia-ui-widgets.js +25 -7
  336. package/lib/vertesia-ui-widgets.js.map +1 -1
  337. package/lib/widgets/form/Form.js +1 -1
  338. package/lib/widgets/form/Form.js.map +1 -1
  339. package/lib/widgets/json-view/JSONSwitcher.js +1 -1
  340. package/lib/widgets/json-view/JSONSwitcher.js.map +1 -1
  341. package/lib/widgets/json-view/JSONView.js +6 -6
  342. package/lib/widgets/json-view/JSONView.js.map +1 -1
  343. package/lib/widgets/markdown/AgentResourceResolver.d.ts +31 -0
  344. package/lib/widgets/markdown/AgentResourceResolver.d.ts.map +1 -0
  345. package/lib/widgets/markdown/AgentResourceResolver.js +39 -0
  346. package/lib/widgets/markdown/AgentResourceResolver.js.map +1 -0
  347. package/lib/widgets/markdown/ArtifactEditingSurface.d.ts +63 -0
  348. package/lib/widgets/markdown/ArtifactEditingSurface.d.ts.map +1 -0
  349. package/lib/widgets/markdown/ArtifactEditingSurface.js +582 -0
  350. package/lib/widgets/markdown/ArtifactEditingSurface.js.map +1 -0
  351. package/lib/widgets/markdown/CollaborativeMarkdownRenderer.d.ts +69 -0
  352. package/lib/widgets/markdown/CollaborativeMarkdownRenderer.d.ts.map +1 -0
  353. package/lib/widgets/markdown/CollaborativeMarkdownRenderer.js +374 -0
  354. package/lib/widgets/markdown/CollaborativeMarkdownRenderer.js.map +1 -0
  355. package/lib/widgets/markdown/MarkdownLink.d.ts +3 -1
  356. package/lib/widgets/markdown/MarkdownLink.d.ts.map +1 -1
  357. package/lib/widgets/markdown/MarkdownLink.js +41 -14
  358. package/lib/widgets/markdown/MarkdownLink.js.map +1 -1
  359. package/lib/widgets/markdown/MarkdownRenderer.d.ts +8 -1
  360. package/lib/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  361. package/lib/widgets/markdown/MarkdownRenderer.js +20 -4
  362. package/lib/widgets/markdown/MarkdownRenderer.js.map +1 -1
  363. package/lib/widgets/markdown/index.d.ts +5 -1
  364. package/lib/widgets/markdown/index.d.ts.map +1 -1
  365. package/lib/widgets/markdown/index.js +5 -1
  366. package/lib/widgets/markdown/index.js.map +1 -1
  367. package/lib/widgets/markdown/normalizeCustomSchemeLinks.d.ts.map +1 -1
  368. package/lib/widgets/markdown/normalizeCustomSchemeLinks.js +14 -2
  369. package/lib/widgets/markdown/normalizeCustomSchemeLinks.js.map +1 -1
  370. package/lib/widgets/markdown/textDiff.d.ts +52 -0
  371. package/lib/widgets/markdown/textDiff.d.ts.map +1 -0
  372. package/lib/widgets/markdown/textDiff.js +362 -0
  373. package/lib/widgets/markdown/textDiff.js.map +1 -0
  374. package/lib/widgets/markdown/useArtifactContent.d.ts +5 -3
  375. package/lib/widgets/markdown/useArtifactContent.d.ts.map +1 -1
  376. package/lib/widgets/markdown/useArtifactContent.js +6 -3
  377. package/lib/widgets/markdown/useArtifactContent.js.map +1 -1
  378. package/lib/widgets/markdown/useResolvedUrl.d.ts +1 -5
  379. package/lib/widgets/markdown/useResolvedUrl.d.ts.map +1 -1
  380. package/lib/widgets/markdown/useResolvedUrl.js +19 -31
  381. package/lib/widgets/markdown/useResolvedUrl.js.map +1 -1
  382. package/lib/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
  383. package/lib/widgets/monacoEditor/MonacoEditor.js +29 -0
  384. package/lib/widgets/monacoEditor/MonacoEditor.js.map +1 -1
  385. package/lib/widgets/schema-editor/ManagedSchema.d.ts +8 -0
  386. package/lib/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
  387. package/lib/widgets/schema-editor/ManagedSchema.js +16 -0
  388. package/lib/widgets/schema-editor/ManagedSchema.js.map +1 -1
  389. package/lib/widgets/schema-editor/editor/EditableSchemaProperty.d.ts +2 -0
  390. package/lib/widgets/schema-editor/editor/EditableSchemaProperty.d.ts.map +1 -1
  391. package/lib/widgets/schema-editor/editor/EditableSchemaProperty.js +1 -0
  392. package/lib/widgets/schema-editor/editor/EditableSchemaProperty.js.map +1 -1
  393. package/lib/widgets/schema-editor/editor/PropertyViewer.d.ts.map +1 -1
  394. package/lib/widgets/schema-editor/editor/PropertyViewer.js +4 -1
  395. package/lib/widgets/schema-editor/editor/PropertyViewer.js.map +1 -1
  396. package/lib/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -1
  397. package/lib/widgets/schema-editor/editor/SchemaEditor.js +22 -11
  398. package/lib/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  399. package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts +9 -0
  400. package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts.map +1 -1
  401. package/lib/widgets/xml-viewer/hooks/useXMLViewer.js +20 -17
  402. package/lib/widgets/xml-viewer/hooks/useXMLViewer.js.map +1 -1
  403. package/package.json +37 -33
  404. package/src/__tests__/a11y.test.tsx +77 -1
  405. package/src/__tests__/axe-helper.ts +17 -7
  406. package/src/__tests__/setup.ts +25 -0
  407. package/src/core/components/SidePanel.tsx +1 -1
  408. package/src/core/components/shadcn/button.tsx +67 -12
  409. package/src/core/components/shadcn/filters/filterBar.tsx +1 -0
  410. package/src/core/components/shadcn/modal/dialog.tsx +4 -2
  411. package/src/core/components/shadcn/tabs.test.tsx +65 -0
  412. package/src/core/components/shadcn/tabs.tsx +25 -3
  413. package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +1 -1
  414. package/src/features/agent/chat/AgentChatPlaybackControls.tsx +0 -5
  415. package/src/features/agent/chat/AgentRequestInputOverlay.test.tsx +31 -0
  416. package/src/features/agent/chat/AgentRequestInputOverlay.tsx +6 -2
  417. package/src/features/agent/chat/AgentRightPanel.tsx +16 -1
  418. package/src/features/agent/chat/ArtifactsTab.test.tsx +55 -0
  419. package/src/features/agent/chat/ArtifactsTab.tsx +222 -61
  420. package/src/features/agent/chat/DocumentEditingActionCard.test.tsx +105 -0
  421. package/src/features/agent/chat/DocumentEditingActionCard.tsx +210 -0
  422. package/src/features/agent/chat/ImageLightbox.tsx +0 -1
  423. package/src/features/agent/chat/ModernAgentConversation.test.tsx +285 -40
  424. package/src/features/agent/chat/ModernAgentConversation.tsx +247 -77
  425. package/src/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.test.tsx +79 -0
  426. package/src/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.tsx +94 -0
  427. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.test.tsx +263 -35
  428. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +236 -118
  429. package/src/features/agent/chat/ModernAgentOutput/AttachmentPreview.tsx +17 -0
  430. package/src/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.test.tsx +44 -0
  431. package/src/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.tsx +88 -0
  432. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +3 -3
  433. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +0 -2
  434. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +34 -47
  435. package/src/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.tsx +40 -0
  436. package/src/features/agent/chat/ModernAgentOutput/ResourceChip.test.tsx +148 -0
  437. package/src/features/agent/chat/ModernAgentOutput/ResourceChip.tsx +141 -0
  438. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +33 -1
  439. package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.test.ts +80 -0
  440. package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.ts +21 -1
  441. package/src/features/agent/chat/ModernAgentOutput/resourceLinks.tsx +43 -0
  442. package/src/features/agent/chat/ModernAgentOutput/resourceSummary.test.ts +229 -0
  443. package/src/features/agent/chat/ModernAgentOutput/resourceSummary.ts +152 -0
  444. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +17 -0
  445. package/src/features/agent/chat/ModernAgentOutput/utils.ts +14 -1
  446. package/src/features/agent/chat/hooks/useAgentStream.test.tsx +188 -0
  447. package/src/features/agent/chat/hooks/useAgentStream.ts +28 -8
  448. package/src/features/agent/chat/index.ts +11 -0
  449. package/src/features/environment/SelectEnvironment.tsx +186 -0
  450. package/src/features/environment/index.ts +1 -0
  451. package/src/features/index.ts +2 -0
  452. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +62 -66
  453. package/src/features/magic-pdf/DownloadPopover.tsx +5 -48
  454. package/src/features/magic-pdf/ExtractedContentView.tsx +2 -14
  455. package/src/features/magic-pdf/GroundedExtractionAssistantPanel.tsx +86 -0
  456. package/src/features/magic-pdf/GroundedExtractionView.test.tsx +65 -0
  457. package/src/features/magic-pdf/GroundedExtractionView.tsx +1055 -0
  458. package/src/features/magic-pdf/MagicPdfProvider.tsx +17 -47
  459. package/src/features/magic-pdf/MagicPdfView.tsx +3 -51
  460. package/src/features/magic-pdf/index.ts +1 -0
  461. package/src/features/magic-pdf/types.ts +1 -1
  462. package/src/features/oauth/McpConnectionsButton.tsx +0 -2
  463. package/src/features/oauth/McpConnectionsDialog.tsx +0 -1
  464. package/src/features/oauth/RemoteMcpConnectionButton.tsx +0 -1
  465. package/src/features/pdf-viewer/PdfPageSlider.tsx +5 -5
  466. package/src/features/pdf-viewer/SimplePdfViewer.tsx +11 -12
  467. package/src/features/permissions/UserPermissionsProvider.tsx +1 -1
  468. package/src/features/store/objects/DocumentQuickFilter.tsx +13 -15
  469. package/src/features/store/objects/DocumentSearchResults.tsx +5 -8
  470. package/src/features/store/objects/components/ContentDispositionButton.tsx +5 -1
  471. package/src/features/store/objects/components/ContentOverview.tsx +356 -105
  472. package/src/features/store/objects/components/DocumentEditingConfigurationSelector.test.ts +34 -0
  473. package/src/features/store/objects/components/DocumentEditingConfigurationSelector.tsx +211 -0
  474. package/src/features/store/objects/components/DocumentEditingLockStatus.test.tsx +32 -0
  475. package/src/features/store/objects/components/DocumentEditingLockStatus.tsx +45 -0
  476. package/src/features/store/objects/components/DocumentEditingPanel.test.tsx +336 -0
  477. package/src/features/store/objects/components/DocumentEditingPanel.tsx +1236 -0
  478. package/src/features/store/objects/components/DocumentIcon.tsx +1 -1
  479. package/src/features/store/objects/components/TextEditorPanel.test.tsx +48 -0
  480. package/src/features/store/objects/components/TextEditorPanel.tsx +41 -20
  481. package/src/features/store/objects/components/VectorSearchWidget.tsx +2 -2
  482. package/src/features/store/objects/components/documentArtifactRefs.test.ts +65 -0
  483. package/src/features/store/objects/components/documentArtifactRefs.ts +72 -0
  484. package/src/features/store/objects/components/documentEditingAgentConfig.test.ts +28 -0
  485. package/src/features/store/objects/components/documentEditingAgentConfig.ts +41 -0
  486. package/src/features/store/objects/components/documentEditingPrompts.test.ts +26 -0
  487. package/src/features/store/objects/components/documentEditingPrompts.ts +12 -0
  488. package/src/features/store/objects/components/documentEditingRun.test.ts +176 -0
  489. package/src/features/store/objects/components/documentEditingRun.ts +184 -0
  490. package/src/features/store/objects/components/documentEditingTarget.test.ts +96 -0
  491. package/src/features/store/objects/components/documentEditingTarget.ts +63 -0
  492. package/src/features/store/objects/components/index.ts +1 -0
  493. package/src/features/store/objects/components/useContentPanelHooks.ts +55 -42
  494. package/src/features/store/objects/components/useDownloadFile.test.ts +20 -0
  495. package/src/features/store/objects/components/useDownloadFile.ts +5 -1
  496. package/src/features/store/objects/layout/renderers.tsx +1 -2
  497. package/src/features/store/objects/selection/SelectionActions.tsx +1 -1
  498. package/src/features/store/objects/selection/actions/StartWorkflowButton.tsx +2 -2
  499. package/src/features/store/types/ContentObjectTypesTable.tsx +12 -14
  500. package/src/features/store/types/IntakePolicyEditor.tsx +679 -0
  501. package/src/features/store/types/IntakePolicyForm.tsx +838 -0
  502. package/src/features/store/types/SelectContentTypeModal.tsx +2 -2
  503. package/src/features/store/types/index.ts +2 -0
  504. package/src/features/store/types/intake-policy-editor.logic.test.ts +109 -0
  505. package/src/features/store/types/intake-policy-editor.logic.ts +87 -0
  506. package/src/features/store/types/typeCatalogCache.ts +45 -0
  507. package/src/features/user/UserInfo.tsx +7 -7
  508. package/src/features/views/ViewExperience.test.tsx +273 -0
  509. package/src/features/views/ViewExperience.tsx +408 -0
  510. package/src/features/views/ViewNavigation.test.tsx +86 -0
  511. package/src/features/views/ViewNavigation.tsx +187 -0
  512. package/src/features/views/ViewResults.test.ts +82 -0
  513. package/src/features/views/ViewResults.tsx +609 -0
  514. package/src/features/views/ViewSearch.test.tsx +147 -0
  515. package/src/features/views/ViewSearch.tsx +205 -0
  516. package/src/features/views/index.ts +6 -0
  517. package/src/features/views/types.ts +57 -0
  518. package/src/features/views/viewState.test.ts +111 -0
  519. package/src/features/views/viewState.ts +132 -0
  520. package/src/i18n/locales/ar.json +134 -1
  521. package/src/i18n/locales/de.json +130 -1
  522. package/src/i18n/locales/en.json +1083 -753
  523. package/src/i18n/locales/es.json +131 -1
  524. package/src/i18n/locales/fr.json +131 -1
  525. package/src/i18n/locales/it.json +131 -1
  526. package/src/i18n/locales/ja.json +129 -1
  527. package/src/i18n/locales/ko.json +129 -1
  528. package/src/i18n/locales/pt.json +131 -1
  529. package/src/i18n/locales/ru.json +132 -1
  530. package/src/i18n/locales/tr.json +130 -1
  531. package/src/i18n/locales/zh-TW.json +129 -1
  532. package/src/i18n/locales/zh.json +129 -1
  533. package/src/rich-text/EditorToolbar.tsx +708 -0
  534. package/src/rich-text/VertesiaRichTextEditor.test.tsx +211 -0
  535. package/src/rich-text/VertesiaRichTextEditor.tsx +241 -0
  536. package/src/rich-text/index.ts +9 -0
  537. package/src/router/HistoryNavigator.test.ts +48 -0
  538. package/src/router/HistoryNavigator.ts +24 -13
  539. package/src/router/Nav.tsx +18 -8
  540. package/src/session/UserSession.test.ts +39 -0
  541. package/src/session/UserSession.ts +5 -3
  542. package/src/widgets/form/Form.tsx +1 -1
  543. package/src/widgets/json-view/JSONSwitcher.tsx +2 -2
  544. package/src/widgets/json-view/JSONView.tsx +7 -7
  545. package/src/widgets/markdown/AgentResourceResolver.test.ts +24 -0
  546. package/src/widgets/markdown/AgentResourceResolver.tsx +70 -0
  547. package/src/widgets/markdown/ArtifactEditingSurface.test.tsx +537 -0
  548. package/src/widgets/markdown/ArtifactEditingSurface.tsx +878 -0
  549. package/src/widgets/markdown/CollaborativeMarkdownRenderer.test.tsx +484 -0
  550. package/src/widgets/markdown/CollaborativeMarkdownRenderer.tsx +825 -0
  551. package/src/widgets/markdown/MarkdownLink.test.tsx +122 -0
  552. package/src/widgets/markdown/MarkdownLink.tsx +102 -17
  553. package/src/widgets/markdown/MarkdownRenderer.tsx +30 -3
  554. package/src/widgets/markdown/index.ts +39 -1
  555. package/src/widgets/markdown/normalizeCustomSchemeLinks.ts +15 -2
  556. package/src/widgets/markdown/textDiff.test.ts +156 -0
  557. package/src/widgets/markdown/textDiff.ts +399 -0
  558. package/src/widgets/markdown/useArtifactContent.ts +9 -3
  559. package/src/widgets/markdown/useResolvedUrl.test.ts +29 -40
  560. package/src/widgets/markdown/useResolvedUrl.ts +33 -35
  561. package/src/widgets/monacoEditor/MonacoEditor.tsx +29 -0
  562. package/src/widgets/schema-editor/ManagedSchema.ts +22 -0
  563. package/src/widgets/schema-editor/editor/EditableSchemaProperty.tsx +3 -0
  564. package/src/widgets/schema-editor/editor/PropertyViewer.tsx +14 -3
  565. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +80 -29
  566. package/src/widgets/xml-viewer/hooks/useXMLViewer.test.ts +26 -0
  567. package/src/widgets/xml-viewer/hooks/useXMLViewer.ts +23 -18
@@ -10,6 +10,8 @@ export interface MarkdownRendererProps {
10
10
  * Optional workflow run id used to resolve shorthand artifact paths (e.g. artifact:out/result.csv)
11
11
  */
12
12
  artifactRunId?: string;
13
+ /** Open Markdown artifact links in a host-provided viewer instead of downloading them. */
14
+ onArtifactOpen?: (path: string) => void;
13
15
  /** Additional className for the markdown wrapper */
14
16
  className?: string;
15
17
  /** Additional className for code blocks */
@@ -24,7 +26,12 @@ export interface MarkdownRendererProps {
24
26
  onProposalSelect?: (optionId: string) => void;
25
27
  /** Callback when user submits free-form response to proposal */
26
28
  onProposalSubmit?: (response: string) => void;
29
+ /**
30
+ * Keep parser source positions aligned with `children` by skipping source-changing
31
+ * normalization. Editing surfaces use this when node offsets are part of an anchor.
32
+ */
33
+ preserveSourcePositions?: boolean;
27
34
  }
28
- export declare function MarkdownRenderer({ children, components, remarkPlugins, removeComments, artifactRunId, className, codeClassName, inlineCodeClassName, linkClassName, imageClassName, onProposalSelect, onProposalSubmit, }: MarkdownRendererProps): React.JSX.Element;
35
+ export declare function MarkdownRenderer({ children, components, remarkPlugins, removeComments, artifactRunId, onArtifactOpen, className, codeClassName, inlineCodeClassName, linkClassName, imageClassName, onProposalSelect, onProposalSubmit, preserveSourcePositions, }: MarkdownRendererProps): React.JSX.Element;
29
36
  export {};
30
37
  //# sourceMappingURL=MarkdownRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownRenderer.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/MarkdownRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,EAAE,EAAE,KAAK,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AAuBhF,KAAK,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAkC5F,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAKD,wBAAgB,gBAAgB,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,aAAkB,EAClB,cAAqB,EACrB,aAAa,EACb,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACnB,EAAE,qBAAqB,qBA6MvB"}
1
+ {"version":3,"file":"MarkdownRenderer.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/MarkdownRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,EAAE,EAAE,KAAK,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AAuBhF,KAAK,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AA+C5F,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC;AAKD,wBAAgB,gBAAgB,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,aAAkB,EAClB,cAAqB,EACrB,aAAa,EACb,cAAc,EACd,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,uBAA+B,GAClC,EAAE,qBAAqB,qBAkNvB"}
@@ -20,7 +20,20 @@ import { normalizeDirectives } from './normalizeDirectives';
20
20
  import { preprocessMathDelimiters } from './preprocessMathDelimiters';
21
21
  import { remarkDirectiveHandler } from './remarkDirectiveHandler';
22
22
  // Custom URL schemes that we handle in our components
23
- const ALLOWED_CUSTOM_SCHEMES = ['artifact:', 'image:', 'store:', 'document:', 'document://', 'collection:'];
23
+ const ALLOWED_CUSTOM_SCHEMES = [
24
+ 'artifact:',
25
+ 'image:',
26
+ 'store:',
27
+ 'document:',
28
+ 'document://',
29
+ 'collection:',
30
+ 'interaction:',
31
+ 'prompt:',
32
+ 'agent:',
33
+ 'workflow:',
34
+ 'process:',
35
+ 'run:',
36
+ ];
24
37
  /**
25
38
  * Custom URL transform that allows our custom schemes while using
26
39
  * the default transform for standard URLs (which sanitizes unsafe schemes).
@@ -50,9 +63,11 @@ function remarkRemoveComments() {
50
63
  }
51
64
  // Create default handlers once, outside component
52
65
  const defaultCodeBlockHandlers = createDefaultCodeBlockHandlers();
53
- export function MarkdownRenderer({ children, components, remarkPlugins = [], removeComments = true, artifactRunId, className, codeClassName, inlineCodeClassName, linkClassName, imageClassName, onProposalSelect, onProposalSubmit, }) {
66
+ export function MarkdownRenderer({ children, components, remarkPlugins = [], removeComments = true, artifactRunId, onArtifactOpen, className, codeClassName, inlineCodeClassName, linkClassName, imageClassName, onProposalSelect, onProposalSubmit, preserveSourcePositions = false, }) {
54
67
  const codeBlockRegistry = useCodeBlockRendererRegistry();
55
- const normalizedMarkdown = React.useMemo(() => normalizeDirectives(normalizeCustomSchemeLinks(preprocessMathDelimiters(children))), [children]);
68
+ const normalizedMarkdown = React.useMemo(() => preserveSourcePositions
69
+ ? children
70
+ : normalizeDirectives(normalizeCustomSchemeLinks(preprocessMathDelimiters(children))), [children, preserveSourcePositions]);
56
71
  // Remark plugins (markdown parsing)
57
72
  // Order matters: GFM first, then directive (must precede handler),
58
73
  // then definition-list/supersub, then math, then user plugins.
@@ -124,7 +139,7 @@ export function MarkdownRenderer({ children, components, remarkPlugins = [], rem
124
139
  };
125
140
  const LinkComponent = (props) => {
126
141
  const { node, href, children: linkChildren, ...rest } = props;
127
- return (_jsx(MarkdownLink, { node: node, href: href, className: linkClassName, artifactRunId: artifactRunId, ExistingLink: typeof ExistingLink === 'function'
142
+ return (_jsx(MarkdownLink, { node: node, href: href, className: linkClassName, artifactRunId: artifactRunId, onArtifactOpen: onArtifactOpen, ExistingLink: typeof ExistingLink === 'function'
128
143
  ? ExistingLink
129
144
  : undefined, ...rest, children: linkChildren }));
130
145
  };
@@ -147,6 +162,7 @@ export function MarkdownRenderer({ children, components, remarkPlugins = [], rem
147
162
  }, [
148
163
  components,
149
164
  artifactRunId,
165
+ onArtifactOpen,
150
166
  codeBlockRegistry,
151
167
  codeClassName,
152
168
  inlineCodeClassName,
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownRenderer.js","sourceRoot":"","sources":["../../../src/widgets/markdown/MarkdownRenderer.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,EAAE,EAAmB,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAOlE,sDAAsD;AACtD,MAAM,sBAAsB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAE5G;;;GAGG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACnC,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IACzB,OAAO,CAAC,IAAkB,EAAE,EAAE;QAC1B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,KAAyB,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,OAAO,GAAG,IAAoB,CAAC;YACrC,MAAM,UAAU,GAAG,MAAoC,CAAC;YACxD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7E,IAAI,UAAU,EAAE,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACpD,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACrC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACzB,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AA2BD,kDAAkD;AAClD,MAAM,wBAAwB,GAAG,8BAA8B,EAAE,CAAC;AAElE,MAAM,UAAU,gBAAgB,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,aAAa,GAAG,EAAE,EAClB,cAAc,GAAG,IAAI,EACrB,aAAa,EACb,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACI;IACpB,MAAM,iBAAiB,GAAG,4BAA4B,EAAE,CAAC;IACzD,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CACpC,GAAG,EAAE,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,EACzF,CAAC,QAAQ,CAAC,CACb,CAAC;IAEF,oCAAoC;IACpC,mEAAmE;IACnE,+DAA+D;IAC/D,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC1C,MAAM,MAAM,GAAqB;YAC7B,SAAS;YACT,eAAe;YACf,sBAAsB;YACtB,WAAW;YACX,oBAAoB;YACpB,cAAc;YACd,UAAU;YACV,GAAG,aAAa;SACnB,CAAC;QACF,IAAI,cAAc,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;IAEpC,6DAA6D;IAC7D,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;IAElE,0EAA0E;IAC1E,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CACrC,GAAG,EAAE,CAAC,CAAC;QACH,QAAQ,EAAE;YACN,GAAG,mBAAmB;SACzB;KACJ,CAAC,EACF,EAAE,CACL,CAAC;IAEF,MAAM,uBAAuB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC/C,MAAM,cAAc,GAAG,UAAU,IAAI,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;QACzC,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC;QAEvC,MAAM,aAAa,GAAG,CAAC,EACnB,IAAI,EACJ,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,YAAY,EACtB,GAAG,KAAK,EAKX,EAAE,EAAE;YACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC;YACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEvC,iEAAiE;YACjE,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACxB,qCAAqC;gBACrC,IAAI,iBAAiB,EAAE,CAAC;oBACpB,MAAM,eAAe,GAAG,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACjE,IAAI,eAAe,EAAE,CAAC;wBAClB,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC/C,OAAO,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;oBAC/D,CAAC;gBACL,CAAC;gBAED,gEAAgE;gBAChE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC/C,OAAO,KAAC,sBAAsB,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;gBACtE,CAAC;gBAED,6EAA6E;gBAC7E,MAAM,cAAc,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;gBAC1D,IAAI,cAAc,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC/C,OAAO,KAAC,cAAc,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;gBAC9D,CAAC;YACL,CAAC;YAED,kDAAkD;YAClD,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;gBACrC,OAAO,CACH,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,KAAM,KAAK,YACzD,YAAY,GACF,CAClB,CAAC;YACN,CAAC;YAED,yBAAyB;YACzB,MAAM,eAAe,GAAG,uBAAuB,CAAC;YAChD,MAAM,aAAa,GAAG,EAAE,CAAC;YAEzB,OAAO,CACH,kBACQ,KAAK,EACT,SAAS,EACL,QAAQ;oBACJ,CAAC,CAAC,GAAG,eAAe,IAAI,mBAAmB,IAAI,EAAE,EAAE;oBACnD,CAAC,CAAC,GAAG,aAAa,IAAI,aAAa,IAAI,EAAE,EAAE,YAGlD,YAAY,GACV,CACV,CAAC;QACN,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,KAAoE,EAAE,EAAE;YAC3F,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;YAC9D,OAAO,CACH,KAAC,YAAY,IACT,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,aAAa,EACxB,aAAa,EAAE,aAAa,EAC5B,YAAY,EACR,OAAO,YAAY,KAAK,UAAU;oBAC9B,CAAC,CAAE,YAAuD;oBAC1D,CAAC,CAAC,SAAS,KAEf,IAAI,YAEP,YAAY,GACF,CAClB,CAAC;QACN,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,KAAqE,EAAE,EAAE;YAC7F,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;YAEjD,sDAAsD;YACtD,IAAI,KAAK,EAAE,CAAC;gBACR,OAAO,CACH,KAAC,cAAc,IACX,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,KAAK,EACd,SAAS,EAAE,cAAc,EACzB,aAAa,EAAE,aAAa,GAC9B,CACL,CAAC;YACN,CAAC;YAED,OAAO,CACH,KAAC,aAAa,IACV,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,cAAc,EACzB,aAAa,EAAE,aAAa,EAC5B,WAAW,EACP,OAAO,WAAW,KAAK,UAAU;oBAC7B,CAAC,CAAE,WAAuD;oBAC1D,CAAC,CAAC,SAAS,KAEf,IAAI,GACV,CACL,CAAC;QACN,CAAC,CAAC;QAEF,OAAO;YACH,GAAG,cAAc;YACjB,IAAI,EAAE,aAAa;YACnB,CAAC,EAAE,aAAa;YAChB,GAAG,EAAE,cAAc;SACtB,CAAC;IACN,CAAC,EAAE;QACC,UAAU;QACV,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QACnB,aAAa;QACb,cAAc;KACjB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,CACpB,KAAC,wBAAwB,IACrB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,YAElC,KAAC,QAAQ,IACL,aAAa,EAAE,kBAAkB,EACjC,aAAa,EAAE,kBAAkB,EACjC,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,uBAAuB,EACnC,YAAY,EAAE,kBAAkB,YAE/B,kBAAkB,GACZ,GACY,CAC9B,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACZ,OAAO,cAAK,SAAS,EAAE,cAAc,SAAS,EAAE,YAAG,eAAe,GAAO,CAAC;IAC9E,CAAC;IAED,OAAO,cAAK,SAAS,EAAC,YAAY,YAAE,eAAe,GAAO,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"MarkdownRenderer.js","sourceRoot":"","sources":["../../../src/widgets/markdown/MarkdownRenderer.tsx"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
+ export { type AgentResourceLinkReference, type AgentResourceResolver, AgentResourceResolverProvider, type AgentResourceTarget, parseAgentResourceHref, type ResourceResolveContext, useAgentResourceResolver, } from './AgentResourceResolver';
1
2
  export { ArtifactContentRenderer, type ArtifactContentRendererProps, type ExpandRenderType, } from './ArtifactContentRenderer';
3
+ export { ArtifactEditingSurface, type ArtifactEditingSurfaceDocumentEdit, type ArtifactEditingSurfaceProps, type ArtifactSaveStatus, applyArtifactRefreshChanges, isArtifactRefreshEvent, } from './ArtifactEditingSurface';
2
4
  export { type CodeBlockHandlerContext, CodeBlockHandlerProvider, useCodeBlockContext, } from './CodeBlockContext';
3
5
  export { CodeBlockErrorBoundary, CodeBlockPlaceholder, type CodeBlockPlaceholderProps, type CodeBlockType, } from './CodeBlockPlaceholder';
4
6
  export { type CodeBlockRendererProps, CodeBlockRendererProvider, useCodeBlockComponent, useCodeBlockRendererRegistry, } from './CodeBlockRendering';
7
+ export { applyMarkdownEditingChange, CollaborativeMarkdownRenderer, type CollaborativeMarkdownRendererProps, createMarkdownBlockAnchor, formatMarkdownEditingAction, type MarkdownBlockAnchor, type MarkdownBlockType, type MarkdownEditingAction, type MarkdownEditingResource, } from './CollaborativeMarkdownRenderer';
5
8
  export { ChartCodeBlockHandler, createDefaultCodeBlockHandlers, ExpandCodeBlockHandler, isExpandLanguage, isIncompleteJson, MermaidCodeBlockHandler, } from './codeBlockHandlers';
6
9
  export { MarkdownFigure, type MarkdownFigureProps } from './MarkdownFigure';
7
10
  export { MarkdownImage, type MarkdownImageProps } from './MarkdownImage';
8
11
  export { MarkdownLink, type MarkdownLinkProps } from './MarkdownLink';
9
12
  export { MarkdownRenderer, type MarkdownRendererProps } from './MarkdownRenderer';
10
13
  export { MermaidDiagram } from './MermaidDiagram';
14
+ export { createUnifiedLineDiff, diffTextSegments, diffWordSegments, getTextLineChangeRegions, rebaseTextChanges, type TextDiffSegment, type TextLineChangeRegion, type TextRebaseResult, type UnifiedLineDiffOptions, } from './textDiff';
11
15
  export { type ArtifactContentState, type UseArtifactContentOptions, useArtifactContent, } from './useArtifactContent';
12
- export { mapSchemeToRoute, parseUrlScheme, type ResolvedUrlState, type UrlScheme, type UseResolvedUrlOptions, useResolvedUrl, } from './useResolvedUrl';
16
+ export { parseUrlScheme, type ResolvedUrlState, type UrlScheme, type UseResolvedUrlOptions, useResolvedUrl, } from './useResolvedUrl';
13
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,uBAAuB,EAC5B,wBAAwB,EACxB,mBAAmB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,KAAK,aAAa,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACH,KAAK,sBAAsB,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,kBAAkB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,cAAc,GACjB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,6BAA6B,EAC7B,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,wBAAwB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,uBAAuB,EACvB,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,sBAAsB,EACtB,KAAK,kCAAkC,EACvC,KAAK,2BAA2B,EAChC,KAAK,kBAAkB,EACvB,2BAA2B,EAC3B,sBAAsB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,KAAK,uBAAuB,EAC5B,wBAAwB,EACxB,mBAAmB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,KAAK,aAAa,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACH,KAAK,sBAAsB,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,0BAA0B,EAC1B,6BAA6B,EAC7B,KAAK,kCAAkC,EACvC,yBAAyB,EACzB,2BAA2B,EAC3B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,GAC/B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACH,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,kBAAkB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,cAAc,GACjB,MAAM,kBAAkB,CAAC"}
@@ -1,13 +1,17 @@
1
+ export { AgentResourceResolverProvider, parseAgentResourceHref, useAgentResourceResolver, } from './AgentResourceResolver';
1
2
  export { ArtifactContentRenderer, } from './ArtifactContentRenderer';
3
+ export { ArtifactEditingSurface, applyArtifactRefreshChanges, isArtifactRefreshEvent, } from './ArtifactEditingSurface';
2
4
  export { CodeBlockHandlerProvider, useCodeBlockContext, } from './CodeBlockContext';
3
5
  export { CodeBlockErrorBoundary, CodeBlockPlaceholder, } from './CodeBlockPlaceholder';
4
6
  export { CodeBlockRendererProvider, useCodeBlockComponent, useCodeBlockRendererRegistry, } from './CodeBlockRendering';
7
+ export { applyMarkdownEditingChange, CollaborativeMarkdownRenderer, createMarkdownBlockAnchor, formatMarkdownEditingAction, } from './CollaborativeMarkdownRenderer';
5
8
  export { ChartCodeBlockHandler, createDefaultCodeBlockHandlers, ExpandCodeBlockHandler, isExpandLanguage, isIncompleteJson, MermaidCodeBlockHandler, } from './codeBlockHandlers';
6
9
  export { MarkdownFigure } from './MarkdownFigure';
7
10
  export { MarkdownImage } from './MarkdownImage';
8
11
  export { MarkdownLink } from './MarkdownLink';
9
12
  export { MarkdownRenderer } from './MarkdownRenderer';
10
13
  export { MermaidDiagram } from './MermaidDiagram';
14
+ export { createUnifiedLineDiff, diffTextSegments, diffWordSegments, getTextLineChangeRegions, rebaseTextChanges, } from './textDiff';
11
15
  export { useArtifactContent, } from './useArtifactContent';
12
- export { mapSchemeToRoute, parseUrlScheme, useResolvedUrl, } from './useResolvedUrl';
16
+ export { parseUrlScheme, useResolvedUrl, } from './useResolvedUrl';
13
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/widgets/markdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,GAG1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEH,wBAAwB,EACxB,mBAAmB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,sBAAsB,EACtB,oBAAoB,GAGvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEH,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAA8B,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAGH,kBAAkB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,gBAAgB,EAChB,cAAc,EAId,cAAc,GACjB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/widgets/markdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,6BAA6B,EAE7B,sBAAsB,EAEtB,wBAAwB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,uBAAuB,GAG1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,sBAAsB,EAItB,2BAA2B,EAC3B,sBAAsB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEH,wBAAwB,EACxB,mBAAmB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,sBAAsB,EACtB,oBAAoB,GAGvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEH,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,0BAA0B,EAC1B,6BAA6B,EAE7B,yBAAyB,EACzB,2BAA2B,GAK9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACH,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAA8B,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,GAKpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAGH,kBAAkB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,cAAc,EAId,cAAc,GACjB,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeCustomSchemeLinks.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/normalizeCustomSchemeLinks.ts"],"names":[],"mappings":"AA4DA;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgBnE"}
1
+ {"version":3,"file":"normalizeCustomSchemeLinks.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/normalizeCustomSchemeLinks.ts"],"names":[],"mappings":"AAyEA;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgBnE"}
@@ -1,8 +1,20 @@
1
- const CUSTOM_SCHEME_PREFIXES = ['artifact:', 'image:', 'store:', 'document://', 'collection:'];
1
+ const CUSTOM_SCHEME_PREFIXES = [
2
+ 'artifact:',
3
+ 'image:',
4
+ 'store:',
5
+ 'document://',
6
+ 'collection:',
7
+ 'interaction:',
8
+ 'prompt:',
9
+ 'agent:',
10
+ 'workflow:',
11
+ 'process:',
12
+ 'run:',
13
+ ];
2
14
  // Excludes `[` from the link-text and destination classes: a long run of `[` (or
3
15
  // `[](image:` groups) with no closing delimiter would otherwise be re-scanned at every
4
16
  // start position, giving polynomial backtracking (CodeQL js/polynomial-redos).
5
- const CUSTOM_LINK_REGEX = /(!?\[[^[\]\n]*\]\()((?:artifact:|image:|store:|document:\/\/|collection:)[^)[\n]+)(\))/g;
17
+ const CUSTOM_LINK_REGEX = /(!?\[[^[\]\n]*\]\()((?:artifact:|image:|store:|document:\/\/|collection:|interaction:|prompt:|agent:|workflow:|process:|run:)[^)[\n]+)(\))/g;
6
18
  const INLINE_CODE_REGEX = /`[^`\n]*`/g;
7
19
  const FENCED_CODE_BLOCK_REGEX = /(^|\n)(`{3,}|~{3,})[^\n]*\n[\s\S]*?\n\2(?=\n|$)/g;
8
20
  const LINK_TITLE_SUFFIX_REGEX = /\s+("(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\([^)]*\))\s*$/;
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeCustomSchemeLinks.js","sourceRoot":"","sources":["../../../src/widgets/markdown/normalizeCustomSchemeLinks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalizeCustomSchemeLinks.js","sourceRoot":"","sources":["../../../src/widgets/markdown/normalizeCustomSchemeLinks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ export interface TextDiffSegment {
2
+ type: 'equal' | 'added' | 'removed';
3
+ text: string;
4
+ }
5
+ /**
6
+ * Word-level diff of two texts, returned as ordered segments suitable for
7
+ * rendering a unified inline diff. Whitespace is kept in the segments so the
8
+ * concatenation of `equal` + `removed` segments equals `before`, and
9
+ * `equal` + `added` segments equals `after`.
10
+ */
11
+ export declare function diffWordSegments(before: string, after: string): TextDiffSegment[];
12
+ /**
13
+ * Document-scale text diff. Exact lines are aligned first, then word-level
14
+ * highlighting is applied only inside each changed line hunk. This avoids the
15
+ * word diff's bounded-LCS fallback turning a large document middle into one
16
+ * wholesale removal and addition.
17
+ */
18
+ export declare function diffTextSegments(before: string, after: string): TextDiffSegment[];
19
+ export interface TextLineChangeRegion {
20
+ /** Zero-based line in the current document where the change starts. */
21
+ startLine: number;
22
+ /** Inclusive zero-based line in the current document where the change ends. */
23
+ endLine: number;
24
+ }
25
+ /** Returns distinct current-document line hunks for a change minimap. */
26
+ export declare function getTextLineChangeRegions(before: string, after: string): TextLineChangeRegion[];
27
+ export type TextRebaseResult = {
28
+ status: 'rebased';
29
+ content: string;
30
+ } | {
31
+ status: 'conflict';
32
+ content: string;
33
+ };
34
+ /**
35
+ * Conservatively reapplies local line edits onto a concurrently changed document.
36
+ * Identical edits are deduplicated. Any overlapping base ranges return a conflict
37
+ * and preserve `local` unchanged for recovery by the caller.
38
+ */
39
+ export declare function rebaseTextChanges(base: string, local: string, remote: string): TextRebaseResult;
40
+ export interface UnifiedLineDiffOptions {
41
+ /** Unchanged lines shown around each change (default 2). */
42
+ context?: number;
43
+ /** When set, returns undefined if the formatted diff would exceed this length. */
44
+ maxChars?: number;
45
+ }
46
+ /**
47
+ * Line-level unified diff (`@@ -a,b +c,d @@` hunks with `-`/`+`/space prefixes)
48
+ * of two texts. Returns undefined when the texts are identical, or when the
49
+ * formatted diff exceeds `maxChars` — callers fall back to a non-diff summary.
50
+ */
51
+ export declare function createUnifiedLineDiff(before: string, after: string, options?: UnifiedLineDiffOptions): string | undefined;
52
+ //# sourceMappingURL=textDiff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textDiff.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/textDiff.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;CAChB;AAoDD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE,CAkCjF;AAmED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE,CA2BjF;AAED,MAAM,WAAW,oBAAoB;IACjC,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,yEAAyE;AACzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAyB9F;AASD,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AA4ChH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAmC/F;AAED,MAAM,WAAW,sBAAsB;IACnC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,sBAA2B,GACrC,MAAM,GAAG,SAAS,CAyDpB"}
@@ -0,0 +1,362 @@
1
+ // Above this token count the LCS table gets expensive; fall back to a whole-text replace.
2
+ const MAX_LCS_TOKENS = 600;
3
+ function tokenize(text) {
4
+ return text.split(/(\s+)/).filter((token) => token.length > 0);
5
+ }
6
+ function pushSegment(segments, type, text) {
7
+ if (!text)
8
+ return;
9
+ const last = segments[segments.length - 1];
10
+ if (last && last.type === type) {
11
+ last.text += text;
12
+ }
13
+ else {
14
+ segments.push({ type, text });
15
+ }
16
+ }
17
+ function lcsSegments(before, after, segments) {
18
+ // lengths[i][j] = LCS length of before[i..] and after[j..]
19
+ const rows = before.length + 1;
20
+ const cols = after.length + 1;
21
+ const lengths = new Uint32Array(rows * cols);
22
+ for (let i = before.length - 1; i >= 0; i--) {
23
+ for (let j = after.length - 1; j >= 0; j--) {
24
+ lengths[i * cols + j] =
25
+ before[i] === after[j]
26
+ ? lengths[(i + 1) * cols + j + 1] + 1
27
+ : Math.max(lengths[(i + 1) * cols + j], lengths[i * cols + j + 1]);
28
+ }
29
+ }
30
+ let i = 0;
31
+ let j = 0;
32
+ while (i < before.length && j < after.length) {
33
+ if (before[i] === after[j]) {
34
+ pushSegment(segments, 'equal', before[i]);
35
+ i++;
36
+ j++;
37
+ }
38
+ else if (lengths[(i + 1) * cols + j] >= lengths[i * cols + j + 1]) {
39
+ pushSegment(segments, 'removed', before[i]);
40
+ i++;
41
+ }
42
+ else {
43
+ pushSegment(segments, 'added', after[j]);
44
+ j++;
45
+ }
46
+ }
47
+ pushSegment(segments, 'removed', before.slice(i).join(''));
48
+ pushSegment(segments, 'added', after.slice(j).join(''));
49
+ }
50
+ /**
51
+ * Word-level diff of two texts, returned as ordered segments suitable for
52
+ * rendering a unified inline diff. Whitespace is kept in the segments so the
53
+ * concatenation of `equal` + `removed` segments equals `before`, and
54
+ * `equal` + `added` segments equals `after`.
55
+ */
56
+ export function diffWordSegments(before, after) {
57
+ if (before === after) {
58
+ return before ? [{ type: 'equal', text: before }] : [];
59
+ }
60
+ const beforeTokens = tokenize(before);
61
+ const afterTokens = tokenize(after);
62
+ // Trim the common prefix and suffix so the quadratic LCS only runs on the changed middle.
63
+ let start = 0;
64
+ while (start < beforeTokens.length && start < afterTokens.length && beforeTokens[start] === afterTokens[start]) {
65
+ start++;
66
+ }
67
+ let beforeEnd = beforeTokens.length;
68
+ let afterEnd = afterTokens.length;
69
+ while (beforeEnd > start && afterEnd > start && beforeTokens[beforeEnd - 1] === afterTokens[afterEnd - 1]) {
70
+ beforeEnd--;
71
+ afterEnd--;
72
+ }
73
+ const segments = [];
74
+ pushSegment(segments, 'equal', beforeTokens.slice(0, start).join(''));
75
+ const beforeMiddle = beforeTokens.slice(start, beforeEnd);
76
+ const afterMiddle = afterTokens.slice(start, afterEnd);
77
+ if (beforeMiddle.length * afterMiddle.length > MAX_LCS_TOKENS * MAX_LCS_TOKENS) {
78
+ pushSegment(segments, 'removed', beforeMiddle.join(''));
79
+ pushSegment(segments, 'added', afterMiddle.join(''));
80
+ }
81
+ else {
82
+ lcsSegments(beforeMiddle, afterMiddle, segments);
83
+ }
84
+ pushSegment(segments, 'equal', beforeTokens.slice(beforeEnd).join(''));
85
+ return segments;
86
+ }
87
+ function lcsLineOps(before, after) {
88
+ const ops = [];
89
+ let start = 0;
90
+ while (start < before.length && start < after.length && before[start] === after[start]) {
91
+ ops.push({ type: 'equal', line: before[start] });
92
+ start++;
93
+ }
94
+ let beforeEnd = before.length;
95
+ let afterEnd = after.length;
96
+ const tail = [];
97
+ while (beforeEnd > start && afterEnd > start && before[beforeEnd - 1] === after[afterEnd - 1]) {
98
+ beforeEnd--;
99
+ afterEnd--;
100
+ tail.unshift({ type: 'equal', line: before[beforeEnd] });
101
+ }
102
+ const beforeMiddle = before.slice(start, beforeEnd);
103
+ const afterMiddle = after.slice(start, afterEnd);
104
+ if (beforeMiddle.length * afterMiddle.length > MAX_LCS_TOKENS * MAX_LCS_TOKENS) {
105
+ for (const line of beforeMiddle)
106
+ ops.push({ type: 'removed', line });
107
+ for (const line of afterMiddle)
108
+ ops.push({ type: 'added', line });
109
+ return [...ops, ...tail];
110
+ }
111
+ const rows = beforeMiddle.length + 1;
112
+ const cols = afterMiddle.length + 1;
113
+ const lengths = new Uint32Array(rows * cols);
114
+ for (let i = beforeMiddle.length - 1; i >= 0; i--) {
115
+ for (let j = afterMiddle.length - 1; j >= 0; j--) {
116
+ lengths[i * cols + j] =
117
+ beforeMiddle[i] === afterMiddle[j]
118
+ ? lengths[(i + 1) * cols + j + 1] + 1
119
+ : Math.max(lengths[(i + 1) * cols + j], lengths[i * cols + j + 1]);
120
+ }
121
+ }
122
+ let i = 0;
123
+ let j = 0;
124
+ while (i < beforeMiddle.length && j < afterMiddle.length) {
125
+ if (beforeMiddle[i] === afterMiddle[j]) {
126
+ ops.push({ type: 'equal', line: beforeMiddle[i] });
127
+ i++;
128
+ j++;
129
+ }
130
+ else if (lengths[(i + 1) * cols + j] >= lengths[i * cols + j + 1]) {
131
+ ops.push({ type: 'removed', line: beforeMiddle[i] });
132
+ i++;
133
+ }
134
+ else {
135
+ ops.push({ type: 'added', line: afterMiddle[j] });
136
+ j++;
137
+ }
138
+ }
139
+ while (i < beforeMiddle.length)
140
+ ops.push({ type: 'removed', line: beforeMiddle[i++] });
141
+ while (j < afterMiddle.length)
142
+ ops.push({ type: 'added', line: afterMiddle[j++] });
143
+ return [...ops, ...tail];
144
+ }
145
+ function splitLinesWithEndings(text) {
146
+ return text.match(/[^\n]*\n|[^\n]+$/g) ?? [];
147
+ }
148
+ /**
149
+ * Document-scale text diff. Exact lines are aligned first, then word-level
150
+ * highlighting is applied only inside each changed line hunk. This avoids the
151
+ * word diff's bounded-LCS fallback turning a large document middle into one
152
+ * wholesale removal and addition.
153
+ */
154
+ export function diffTextSegments(before, after) {
155
+ if (!before.includes('\n') && !after.includes('\n'))
156
+ return diffWordSegments(before, after);
157
+ if (before === after)
158
+ return before ? [{ type: 'equal', text: before }] : [];
159
+ const segments = [];
160
+ const ops = lcsLineOps(splitLinesWithEndings(before), splitLinesWithEndings(after));
161
+ let index = 0;
162
+ while (index < ops.length) {
163
+ const op = ops[index];
164
+ if (op.type === 'equal') {
165
+ pushSegment(segments, 'equal', op.line);
166
+ index++;
167
+ continue;
168
+ }
169
+ let removed = '';
170
+ let added = '';
171
+ while (index < ops.length && ops[index].type !== 'equal') {
172
+ const changed = ops[index++];
173
+ if (changed.type === 'removed')
174
+ removed += changed.line;
175
+ if (changed.type === 'added')
176
+ added += changed.line;
177
+ }
178
+ for (const segment of diffWordSegments(removed, added)) {
179
+ pushSegment(segments, segment.type, segment.text);
180
+ }
181
+ }
182
+ return segments;
183
+ }
184
+ /** Returns distinct current-document line hunks for a change minimap. */
185
+ export function getTextLineChangeRegions(before, after) {
186
+ if (before === after)
187
+ return [];
188
+ const regions = [];
189
+ const ops = lcsLineOps(before.split('\n'), after.split('\n'));
190
+ let currentLine = 0;
191
+ let startLine;
192
+ const closeRegion = () => {
193
+ if (startLine === undefined)
194
+ return;
195
+ regions.push({ startLine, endLine: Math.max(startLine, currentLine - 1) });
196
+ startLine = undefined;
197
+ };
198
+ for (const op of ops) {
199
+ if (op.type === 'equal') {
200
+ closeRegion();
201
+ currentLine++;
202
+ continue;
203
+ }
204
+ startLine ??= currentLine;
205
+ if (op.type === 'added')
206
+ currentLine++;
207
+ }
208
+ closeRegion();
209
+ return regions;
210
+ }
211
+ function lineChanges(base, changed) {
212
+ const changes = [];
213
+ const ops = lcsLineOps(base, changed);
214
+ let baseIndex = 0;
215
+ let index = 0;
216
+ while (index < ops.length) {
217
+ if (ops[index].type === 'equal') {
218
+ baseIndex++;
219
+ index++;
220
+ continue;
221
+ }
222
+ const start = baseIndex;
223
+ const replacement = [];
224
+ while (index < ops.length && ops[index].type !== 'equal') {
225
+ const op = ops[index++];
226
+ if (op.type === 'removed')
227
+ baseIndex++;
228
+ if (op.type === 'added')
229
+ replacement.push(op.line);
230
+ }
231
+ changes.push({ start, end: baseIndex, replacement });
232
+ }
233
+ return changes;
234
+ }
235
+ function sameLineChange(left, right) {
236
+ return (left.start === right.start &&
237
+ left.end === right.end &&
238
+ left.replacement.length === right.replacement.length &&
239
+ left.replacement.every((line, index) => line === right.replacement[index]));
240
+ }
241
+ function lineChangesOverlap(left, right) {
242
+ const leftInsertion = left.start === left.end;
243
+ const rightInsertion = right.start === right.end;
244
+ if (leftInsertion && rightInsertion)
245
+ return left.start === right.start;
246
+ if (leftInsertion)
247
+ return left.start >= right.start && left.start <= right.end;
248
+ if (rightInsertion)
249
+ return right.start >= left.start && right.start <= left.end;
250
+ return left.start < right.end && right.start < left.end;
251
+ }
252
+ /**
253
+ * Conservatively reapplies local line edits onto a concurrently changed document.
254
+ * Identical edits are deduplicated. Any overlapping base ranges return a conflict
255
+ * and preserve `local` unchanged for recovery by the caller.
256
+ */
257
+ export function rebaseTextChanges(base, local, remote) {
258
+ if (local === remote)
259
+ return { status: 'rebased', content: local };
260
+ if (local === base)
261
+ return { status: 'rebased', content: remote };
262
+ if (remote === base)
263
+ return { status: 'rebased', content: local };
264
+ const baseLines = base.split('\n');
265
+ const localChanges = lineChanges(baseLines, local.split('\n'));
266
+ const remoteChanges = lineChanges(baseLines, remote.split('\n'));
267
+ const uniqueLocalChanges = [];
268
+ for (const localChange of localChanges) {
269
+ let duplicate = false;
270
+ for (const remoteChange of remoteChanges) {
271
+ if (sameLineChange(localChange, remoteChange)) {
272
+ duplicate = true;
273
+ break;
274
+ }
275
+ if (lineChangesOverlap(localChange, remoteChange)) {
276
+ return { status: 'conflict', content: local };
277
+ }
278
+ }
279
+ if (!duplicate)
280
+ uniqueLocalChanges.push(localChange);
281
+ }
282
+ const combined = [...remoteChanges, ...uniqueLocalChanges].sort((left, right) => left.start - right.start || left.end - right.end);
283
+ const merged = [];
284
+ let cursor = 0;
285
+ for (const change of combined) {
286
+ merged.push(...baseLines.slice(cursor, change.start), ...change.replacement);
287
+ cursor = change.end;
288
+ }
289
+ merged.push(...baseLines.slice(cursor));
290
+ return { status: 'rebased', content: merged.join('\n') };
291
+ }
292
+ /**
293
+ * Line-level unified diff (`@@ -a,b +c,d @@` hunks with `-`/`+`/space prefixes)
294
+ * of two texts. Returns undefined when the texts are identical, or when the
295
+ * formatted diff exceeds `maxChars` — callers fall back to a non-diff summary.
296
+ */
297
+ export function createUnifiedLineDiff(before, after, options = {}) {
298
+ if (before === after)
299
+ return undefined;
300
+ const context = options.context ?? 2;
301
+ const ops = lcsLineOps(before.split('\n'), after.split('\n'));
302
+ // Group changed ops into hunks, merging hunks whose context would overlap.
303
+ const changed = [];
304
+ for (let index = 0; index < ops.length; index++) {
305
+ if (ops[index].type === 'equal')
306
+ continue;
307
+ const previous = changed[changed.length - 1];
308
+ if (previous && index - previous.end <= context * 2) {
309
+ previous.end = index + 1;
310
+ }
311
+ else {
312
+ changed.push({ start: index, end: index + 1 });
313
+ }
314
+ }
315
+ if (changed.length === 0)
316
+ return undefined;
317
+ const lines = [];
318
+ let beforeLine = 1;
319
+ let afterLine = 1;
320
+ let cursor = 0;
321
+ for (const hunk of changed) {
322
+ const start = Math.max(hunk.start - context, cursor === 0 ? 0 : cursor);
323
+ for (; cursor < start; cursor++) {
324
+ if (ops[cursor].type !== 'added')
325
+ beforeLine++;
326
+ if (ops[cursor].type !== 'removed')
327
+ afterLine++;
328
+ }
329
+ const end = Math.min(hunk.end + context, ops.length);
330
+ let beforeCount = 0;
331
+ let afterCount = 0;
332
+ const body = [];
333
+ for (let index = start; index < end; index++) {
334
+ const op = ops[index];
335
+ if (op.type === 'equal') {
336
+ body.push(` ${op.line}`);
337
+ beforeCount++;
338
+ afterCount++;
339
+ }
340
+ else if (op.type === 'removed') {
341
+ body.push(`-${op.line}`);
342
+ beforeCount++;
343
+ }
344
+ else {
345
+ body.push(`+${op.line}`);
346
+ afterCount++;
347
+ }
348
+ }
349
+ lines.push(`@@ -${beforeLine},${beforeCount} +${afterLine},${afterCount} @@`, ...body);
350
+ for (; cursor < end; cursor++) {
351
+ if (ops[cursor].type !== 'added')
352
+ beforeLine++;
353
+ if (ops[cursor].type !== 'removed')
354
+ afterLine++;
355
+ }
356
+ }
357
+ const formatted = lines.join('\n');
358
+ if (options.maxChars !== undefined && formatted.length > options.maxChars)
359
+ return undefined;
360
+ return formatted;
361
+ }
362
+ //# sourceMappingURL=textDiff.js.map