@parhelia/core 0.4.12796 → 0.4.12818

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 (532) hide show
  1. package/dist/agents-view/AgentsWorkspaceView.d.ts +2 -0
  2. package/dist/agents-view/AgentsWorkspaceView.js +12 -3
  3. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  4. package/dist/components/WorkspaceHomeView.d.ts +14 -3
  5. package/dist/components/WorkspaceHomeView.js +7 -4
  6. package/dist/components/WorkspaceHomeView.js.map +1 -1
  7. package/dist/components/ui/dialog.d.ts +7 -1
  8. package/dist/components/ui/dialog.js +6 -3
  9. package/dist/components/ui/dialog.js.map +1 -1
  10. package/dist/components/ui/popover.d.ts +8 -0
  11. package/dist/components/ui/popover.js +40 -6
  12. package/dist/components/ui/popover.js.map +1 -1
  13. package/dist/components/ui/tooltip.d.ts +2 -2
  14. package/dist/components/ui/tooltip.js +9 -4
  15. package/dist/components/ui/tooltip.js.map +1 -1
  16. package/dist/config/config.js +9 -2
  17. package/dist/config/config.js.map +1 -1
  18. package/dist/config/types.d.ts +2 -0
  19. package/dist/config/types.js.map +1 -1
  20. package/dist/editor/ConfirmationDialog.d.ts +1 -0
  21. package/dist/editor/ConfirmationDialog.js +9 -2
  22. package/dist/editor/ConfirmationDialog.js.map +1 -1
  23. package/dist/editor/ContentTree.d.ts +9 -1
  24. package/dist/editor/ContentTree.js +50 -23
  25. package/dist/editor/ContentTree.js.map +1 -1
  26. package/dist/editor/FieldList.js +41 -4
  27. package/dist/editor/FieldList.js.map +1 -1
  28. package/dist/editor/FieldListField.js +164 -127
  29. package/dist/editor/FieldListField.js.map +1 -1
  30. package/dist/editor/LinkEditorDialog.d.ts +3 -0
  31. package/dist/editor/LinkEditorDialog.js +9 -4
  32. package/dist/editor/LinkEditorDialog.js.map +1 -1
  33. package/dist/editor/MainLayout.js +9 -2
  34. package/dist/editor/MainLayout.js.map +1 -1
  35. package/dist/editor/SetupWizard.js +1 -1
  36. package/dist/editor/SetupWizard.js.map +1 -1
  37. package/dist/editor/UsedBy.d.ts +2 -0
  38. package/dist/editor/UsedBy.js +50 -10
  39. package/dist/editor/UsedBy.js.map +1 -1
  40. package/dist/editor/agent-changes/agentChangeTargets.d.ts +58 -0
  41. package/dist/editor/agent-changes/agentChangeTargets.js +174 -0
  42. package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -0
  43. package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +57 -0
  44. package/dist/editor/agent-changes/agentChangeTextHighlight.js +109 -0
  45. package/dist/editor/agent-changes/agentChangeTextHighlight.js.map +1 -0
  46. package/dist/editor/ai/AgentImagePreview.d.ts +13 -0
  47. package/dist/editor/ai/AgentImagePreview.js +41 -0
  48. package/dist/editor/ai/AgentImagePreview.js.map +1 -0
  49. package/dist/editor/ai/Agents.js +13 -2
  50. package/dist/editor/ai/Agents.js.map +1 -1
  51. package/dist/editor/ai/ContentInspectorPopover.d.ts +2 -1
  52. package/dist/editor/ai/ContentInspectorPopover.js +3 -3
  53. package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
  54. package/dist/editor/ai/MediaImage.js +2 -1
  55. package/dist/editor/ai/MediaImage.js.map +1 -1
  56. package/dist/editor/ai/activityRowNavigation.d.ts +28 -0
  57. package/dist/editor/ai/activityRowNavigation.js +53 -0
  58. package/dist/editor/ai/activityRowNavigation.js.map +1 -0
  59. package/dist/editor/ai/agentMessageGrouping.d.ts +1 -1
  60. package/dist/editor/ai/agentMessageGrouping.js +2 -13
  61. package/dist/editor/ai/agentMessageGrouping.js.map +1 -1
  62. package/dist/editor/ai/agentMessageHelpers.js +21 -1
  63. package/dist/editor/ai/agentMessageHelpers.js.map +1 -1
  64. package/dist/editor/ai/terminal/agentSessionSelectors.js +0 -4
  65. package/dist/editor/ai/terminal/agentSessionSelectors.js.map +1 -1
  66. package/dist/editor/ai/terminal/agentSessionState.d.ts +0 -2
  67. package/dist/editor/ai/terminal/agentSessionState.js +8 -12
  68. package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
  69. package/dist/editor/ai/terminal/agentTurnTiming.d.ts +2 -0
  70. package/dist/editor/ai/terminal/agentTurnTiming.js +26 -1
  71. package/dist/editor/ai/terminal/agentTurnTiming.js.map +1 -1
  72. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +3 -1
  73. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +48 -6
  74. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -1
  75. package/dist/editor/ai/terminal/components/AgentBanners.d.ts +2 -1
  76. package/dist/editor/ai/terminal/components/AgentBanners.js +3 -2
  77. package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -1
  78. package/dist/editor/ai/terminal/components/AgentCostDisplay.js +6 -5
  79. package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
  80. package/dist/editor/ai/terminal/components/AgentDocumentList.js +20 -10
  81. package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
  82. package/dist/editor/ai/terminal/components/AgentGreeting.js +1 -1
  83. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  84. package/dist/editor/ai/terminal/components/AgentMemoryPanel.d.ts +2 -1
  85. package/dist/editor/ai/terminal/components/AgentMemoryPanel.js +12 -9
  86. package/dist/editor/ai/terminal/components/AgentMemoryPanel.js.map +1 -1
  87. package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.d.ts +9 -0
  88. package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js +75 -0
  89. package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js.map +1 -0
  90. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +1 -1
  91. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +3 -71
  92. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
  93. package/dist/editor/ai/terminal/components/AgentRunStatusBanners.d.ts +2 -1
  94. package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js +2 -2
  95. package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js.map +1 -1
  96. package/dist/editor/ai/terminal/components/AgentSettingsContent.js +2 -1
  97. package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -1
  98. package/dist/editor/ai/terminal/components/AgentSettingsSections.d.ts +1 -0
  99. package/dist/editor/ai/terminal/components/AgentSettingsSections.js +1 -1
  100. package/dist/editor/ai/terminal/components/AgentSettingsSections.js.map +1 -1
  101. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -1
  102. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js +2 -2
  103. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
  104. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +2 -1
  105. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +9 -3
  106. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  107. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +2 -1
  108. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -6
  109. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
  110. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +2 -1
  111. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +8 -2
  112. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
  113. package/dist/editor/ai/terminal/components/AgentTerminalView.js +1 -1
  114. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  115. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.d.ts +6 -1
  116. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js +5 -3
  117. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js.map +1 -1
  118. package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -1
  119. package/dist/editor/ai/terminal/components/AiResponseMessage.js +12 -9
  120. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  121. package/dist/editor/ai/terminal/components/ContextInfoBar.js +1 -1
  122. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
  123. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.d.ts +3 -0
  124. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js +47 -0
  125. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js.map +1 -0
  126. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +15 -4
  127. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -1
  128. package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +2 -1
  129. package/dist/editor/ai/terminal/components/ToolCallDisplay.js +22 -54
  130. package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
  131. package/dist/editor/ai/terminal/components/UserMessage.d.ts +6 -0
  132. package/dist/editor/ai/terminal/components/UserMessage.js +17 -4
  133. package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
  134. package/dist/editor/ai/terminal/components/agentThinkingStyles.d.ts +5 -0
  135. package/dist/editor/ai/terminal/components/agentThinkingStyles.js +5 -0
  136. package/dist/editor/ai/terminal/components/agentThinkingStyles.js.map +1 -1
  137. package/dist/editor/ai/terminal/components/toolCallContentRenderers.d.ts +2 -0
  138. package/dist/editor/ai/terminal/components/toolCallContentRenderers.js +6 -0
  139. package/dist/editor/ai/terminal/components/toolCallContentRenderers.js.map +1 -1
  140. package/dist/editor/ai/terminal/components/toolCallResultJson.d.ts +1 -0
  141. package/dist/editor/ai/terminal/components/toolCallResultJson.js +46 -0
  142. package/dist/editor/ai/terminal/components/toolCallResultJson.js.map +1 -0
  143. package/dist/editor/ai/terminal/types.d.ts +2 -0
  144. package/dist/editor/ai/terminal/useAgentDraftInitializer.d.ts +2 -0
  145. package/dist/editor/ai/terminal/useAgentDraftInitializer.js +51 -14
  146. package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
  147. package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +2 -0
  148. package/dist/editor/ai/terminal/useAgentLoadPipeline.js +3 -1
  149. package/dist/editor/ai/terminal/useAgentLoadPipeline.js.map +1 -1
  150. package/dist/editor/ai/terminal/useAgentProviderWait.d.ts +18 -0
  151. package/dist/editor/ai/terminal/useAgentProviderWait.js +23 -0
  152. package/dist/editor/ai/terminal/useAgentProviderWait.js.map +1 -0
  153. package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.d.ts +1 -1
  154. package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js +3 -3
  155. package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js.map +1 -1
  156. package/dist/editor/ai/terminal/useAgentRunDeltaRouter.d.ts +2 -2
  157. package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js +5 -5
  158. package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js.map +1 -1
  159. package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js +14 -10
  160. package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js.map +1 -1
  161. package/dist/editor/ai/terminal/useAgentRunMessagePipeline.d.ts +6 -7
  162. package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js +5 -5
  163. package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js.map +1 -1
  164. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.d.ts +1 -1
  165. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +23 -16
  166. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
  167. package/dist/editor/ai/terminal/useAgentSession.d.ts +0 -2
  168. package/dist/editor/ai/terminal/useAgentSession.js +8 -15
  169. package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
  170. package/dist/editor/ai/terminal/useAgentSessionFacade.d.ts +1 -0
  171. package/dist/editor/ai/terminal/useAgentSessionFacade.js +2 -0
  172. package/dist/editor/ai/terminal/useAgentSessionFacade.js.map +1 -1
  173. package/dist/editor/ai/terminal/useAgentSettleCompletedRun.d.ts +1 -1
  174. package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js +3 -3
  175. package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js.map +1 -1
  176. package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +2 -2
  177. package/dist/editor/ai/terminal/useAgentStreamPipeline.js +5 -5
  178. package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -1
  179. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +0 -1
  180. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +3 -12
  181. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
  182. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +18 -5
  183. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
  184. package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js +6 -1
  185. package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js.map +1 -1
  186. package/dist/editor/ai/terminal/useAgentTerminalController.js +9 -10
  187. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  188. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
  189. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  190. package/dist/editor/ai-image-editor/AiImageEditorDialog.js +1 -1
  191. package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
  192. package/dist/editor/bridge/bridgeKeys.d.ts +5 -0
  193. package/dist/editor/bridge/bridgeKeys.js +8 -0
  194. package/dist/editor/bridge/bridgeKeys.js.map +1 -0
  195. package/dist/editor/bridge/linkDownload.d.ts +3 -0
  196. package/dist/editor/bridge/linkDownload.js +52 -0
  197. package/dist/editor/bridge/linkDownload.js.map +1 -0
  198. package/dist/editor/bridge/protocol.d.ts +34 -0
  199. package/dist/editor/bridge/protocol.js +3 -1
  200. package/dist/editor/bridge/protocol.js.map +1 -1
  201. package/dist/editor/client/EditorShell.js +30 -21
  202. package/dist/editor/client/EditorShell.js.map +1 -1
  203. package/dist/editor/client/OperationDialogContent.d.ts +10 -3
  204. package/dist/editor/client/OperationDialogContent.js +27 -4
  205. package/dist/editor/client/OperationDialogContent.js.map +1 -1
  206. package/dist/editor/client/agentLoadItemPolicy.d.ts +22 -0
  207. package/dist/editor/client/agentLoadItemPolicy.js +60 -0
  208. package/dist/editor/client/agentLoadItemPolicy.js.map +1 -0
  209. package/dist/editor/client/editContext.d.ts +16 -0
  210. package/dist/editor/client/editContext.js.map +1 -1
  211. package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +5 -0
  212. package/dist/editor/client/hooks/useSocketMessageHandler.js +53 -13
  213. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  214. package/dist/editor/client/itemsRepository.js +26 -7
  215. package/dist/editor/client/itemsRepository.js.map +1 -1
  216. package/dist/editor/client/localUserEditActivity.d.ts +3 -0
  217. package/dist/editor/client/localUserEditActivity.js +12 -0
  218. package/dist/editor/client/localUserEditActivity.js.map +1 -0
  219. package/dist/editor/client/operations.js +26 -13
  220. package/dist/editor/client/operations.js.map +1 -1
  221. package/dist/editor/commands/mediaCommands.d.ts +5 -0
  222. package/dist/editor/commands/mediaCommands.js +59 -0
  223. package/dist/editor/commands/mediaCommands.js.map +1 -0
  224. package/dist/editor/commands/undo.js +8 -2
  225. package/dist/editor/commands/undo.js.map +1 -1
  226. package/dist/editor/componentVisualMode.d.ts +14 -0
  227. package/dist/editor/componentVisualMode.js +43 -0
  228. package/dist/editor/componentVisualMode.js.map +1 -0
  229. package/dist/editor/field-types/FieldHistoryBoundary.d.ts +7 -0
  230. package/dist/editor/field-types/FieldHistoryBoundary.js +19 -0
  231. package/dist/editor/field-types/FieldHistoryBoundary.js.map +1 -0
  232. package/dist/editor/field-types/ImageFieldEditor.js +1 -1
  233. package/dist/editor/field-types/ImageFieldEditor.js.map +1 -1
  234. package/dist/editor/field-types/MultiLineText.js +29 -46
  235. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  236. package/dist/editor/field-types/PictureFieldEditor.js +1 -1
  237. package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
  238. package/dist/editor/field-types/RichTextEditorComponent.js +9 -2
  239. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  240. package/dist/editor/field-types/SingleLineText.js +28 -79
  241. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  242. package/dist/editor/field-types/richtext/components/ReactSlate.js +59 -8
  243. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  244. package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js +4 -1
  245. package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js.map +1 -1
  246. package/dist/editor/field-types/richtext/components/ToolbarButton.js +4 -1
  247. package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
  248. package/dist/editor/field-types/richtext/types.d.ts +7 -0
  249. package/dist/editor/field-types/richtext/types.js.map +1 -1
  250. package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +18 -0
  251. package/dist/editor/field-types/richtext/utils/changeHighlight.js +57 -0
  252. package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -0
  253. package/dist/editor/field-types/useFormFieldCaretPresence.d.ts +11 -0
  254. package/dist/editor/field-types/useFormFieldCaretPresence.js +32 -16
  255. package/dist/editor/field-types/useFormFieldCaretPresence.js.map +1 -1
  256. package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +36 -0
  257. package/dist/editor/field-types/useFormFieldSelectionRange.js +123 -0
  258. package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -0
  259. package/dist/editor/field-types/useTextCompletion.js +13 -3
  260. package/dist/editor/field-types/useTextCompletion.js.map +1 -1
  261. package/dist/editor/media-selector/AiImageSearchPrompt.d.ts +2 -1
  262. package/dist/editor/media-selector/AiImageSearchPrompt.js +2 -2
  263. package/dist/editor/media-selector/AiImageSearchPrompt.js.map +1 -1
  264. package/dist/editor/media-selector/Thumbnails.d.ts +2 -1
  265. package/dist/editor/media-selector/Thumbnails.js +2 -2
  266. package/dist/editor/media-selector/Thumbnails.js.map +1 -1
  267. package/dist/editor/media-selector/TreeSelector.js +142 -42
  268. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  269. package/dist/editor/media-selector/UploadMediaFileDialog.d.ts +5 -0
  270. package/dist/editor/media-selector/UploadMediaFileDialog.js +14 -0
  271. package/dist/editor/media-selector/UploadMediaFileDialog.js.map +1 -0
  272. package/dist/editor/media-selector/UploadZone.d.ts +6 -1
  273. package/dist/editor/media-selector/UploadZone.js +10 -7
  274. package/dist/editor/media-selector/UploadZone.js.map +1 -1
  275. package/dist/editor/media-selector/mediaFileType.d.ts +2 -0
  276. package/dist/editor/media-selector/mediaFileType.js +37 -0
  277. package/dist/editor/media-selector/mediaFileType.js.map +1 -1
  278. package/dist/editor/menubar/GenericToolbar.d.ts +2 -1
  279. package/dist/editor/menubar/GenericToolbar.js +2 -2
  280. package/dist/editor/menubar/GenericToolbar.js.map +1 -1
  281. package/dist/editor/menubar/ToolbarFactory.js +1 -1
  282. package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
  283. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +10 -3
  284. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
  285. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +6 -1
  286. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  287. package/dist/editor/notifications/WatchButton.js +11 -4
  288. package/dist/editor/notifications/WatchButton.js.map +1 -1
  289. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +20 -0
  290. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +31 -0
  291. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -0
  292. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +2 -2
  293. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  294. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +33 -0
  295. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +290 -0
  296. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -0
  297. package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js +27 -10
  298. package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js.map +1 -1
  299. package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +6 -1
  300. package/dist/editor/page-editor-chrome/InsertComponentMenu.js +53 -6
  301. package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -1
  302. package/dist/editor/page-editor-chrome/PageEditorChrome.js +2 -1
  303. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  304. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +14 -2
  305. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  306. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +59 -13
  307. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
  308. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +1 -1
  309. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +6 -271
  310. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
  311. package/dist/editor/page-editor-chrome/diffRulerSegments.d.ts +18 -0
  312. package/dist/editor/page-editor-chrome/diffRulerSegments.js +37 -0
  313. package/dist/editor/page-editor-chrome/diffRulerSegments.js.map +1 -0
  314. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +15 -2
  315. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  316. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +2 -0
  317. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +58 -5
  318. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
  319. package/dist/editor/page-viewer/DeviceToolbar.js +53 -10
  320. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  321. package/dist/editor/page-viewer/MiniMap.js +22 -24
  322. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  323. package/dist/editor/page-viewer/PageViewerFrame.js +204 -27
  324. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  325. package/dist/editor/page-viewer/bridgeFieldPatch.js +1 -0
  326. package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
  327. package/dist/editor/page-viewer/compareFrameWidth.d.ts +8 -0
  328. package/dist/editor/page-viewer/compareFrameWidth.js +25 -0
  329. package/dist/editor/page-viewer/compareFrameWidth.js.map +1 -0
  330. package/dist/editor/page-viewer/pageViewContext.d.ts +2 -1
  331. package/dist/editor/page-viewer/pageViewContext.js +10 -4
  332. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  333. package/dist/editor/pageModel.d.ts +2 -0
  334. package/dist/editor/reviews/Comment.js +13 -12
  335. package/dist/editor/reviews/Comment.js.map +1 -1
  336. package/dist/editor/reviews/CommentDisplayPopover.js +25 -29
  337. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  338. package/dist/editor/reviews/CommentEditor.js +47 -13
  339. package/dist/editor/reviews/CommentEditor.js.map +1 -1
  340. package/dist/editor/reviews/CommentQuote.d.ts +4 -0
  341. package/dist/editor/reviews/CommentQuote.js +30 -0
  342. package/dist/editor/reviews/CommentQuote.js.map +1 -0
  343. package/dist/editor/reviews/CommentThreadAgentLink.d.ts +23 -0
  344. package/dist/editor/reviews/CommentThreadAgentLink.js +37 -0
  345. package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -0
  346. package/dist/editor/reviews/CommentView.d.ts +2 -3
  347. package/dist/editor/reviews/CommentView.js +17 -14
  348. package/dist/editor/reviews/CommentView.js.map +1 -1
  349. package/dist/editor/reviews/Comments.js +14 -5
  350. package/dist/editor/reviews/Comments.js.map +1 -1
  351. package/dist/editor/reviews/CreateReviewDialog.js +21 -4
  352. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  353. package/dist/editor/reviews/CreateReviewReviewersStep.d.ts +6 -1
  354. package/dist/editor/reviews/CreateReviewReviewersStep.js +29 -27
  355. package/dist/editor/reviews/CreateReviewReviewersStep.js.map +1 -1
  356. package/dist/editor/reviews/CreateReviewSuccessStep.d.ts +8 -1
  357. package/dist/editor/reviews/CreateReviewSuccessStep.js +4 -3
  358. package/dist/editor/reviews/CreateReviewSuccessStep.js.map +1 -1
  359. package/dist/editor/reviews/MentionText.d.ts +5 -1
  360. package/dist/editor/reviews/MentionText.js +23 -0
  361. package/dist/editor/reviews/MentionText.js.map +1 -1
  362. package/dist/editor/reviews/ReviewCard.js +14 -8
  363. package/dist/editor/reviews/ReviewCard.js.map +1 -1
  364. package/dist/editor/reviews/ReviewersPanel.js +11 -3
  365. package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
  366. package/dist/editor/reviews/SuggestedEdit.js +75 -15
  367. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  368. package/dist/editor/reviews/SuggestionCommentThread.js +5 -4
  369. package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -1
  370. package/dist/editor/reviews/commentAi.d.ts +27 -3
  371. package/dist/editor/reviews/commentAi.js +109 -28
  372. package/dist/editor/reviews/commentAi.js.map +1 -1
  373. package/dist/editor/reviews/commentImages.d.ts +49 -0
  374. package/dist/editor/reviews/commentImages.js +164 -0
  375. package/dist/editor/reviews/commentImages.js.map +1 -0
  376. package/dist/editor/reviews/feedbackAvatar.js +11 -5
  377. package/dist/editor/reviews/feedbackAvatar.js.map +1 -1
  378. package/dist/editor/reviews/feedbackCommentRules.d.ts +1 -1
  379. package/dist/editor/reviews/feedbackCommentRules.js +3 -9
  380. package/dist/editor/reviews/feedbackCommentRules.js.map +1 -1
  381. package/dist/editor/reviews/feedbackSelection.d.ts +13 -0
  382. package/dist/editor/reviews/feedbackSelection.js +37 -0
  383. package/dist/editor/reviews/feedbackSelection.js.map +1 -1
  384. package/dist/editor/reviews/suggestionDisplayValue.d.ts +24 -2
  385. package/dist/editor/reviews/suggestionDisplayValue.js +28 -4
  386. package/dist/editor/reviews/suggestionDisplayValue.js.map +1 -1
  387. package/dist/editor/reviews/useCommentImagePaste.d.ts +45 -0
  388. package/dist/editor/reviews/useCommentImagePaste.js +149 -0
  389. package/dist/editor/reviews/useCommentImagePaste.js.map +1 -0
  390. package/dist/editor/services/agentErrorMessage.js +5 -1
  391. package/dist/editor/services/agentErrorMessage.js.map +1 -1
  392. package/dist/editor/services/agentService.d.ts +12 -0
  393. package/dist/editor/services/agentService.js.map +1 -1
  394. package/dist/editor/services/contentService.d.ts +2 -0
  395. package/dist/editor/services/contentService.js.map +1 -1
  396. package/dist/editor/services/editService.d.ts +17 -2
  397. package/dist/editor/services/editService.js +7 -2
  398. package/dist/editor/services/editService.js.map +1 -1
  399. package/dist/editor/services/reviewsService.d.ts +2 -2
  400. package/dist/editor/services/reviewsService.js +3 -1
  401. package/dist/editor/services/reviewsService.js.map +1 -1
  402. package/dist/editor/services/searchService.d.ts +2 -1
  403. package/dist/editor/services/searchService.js +2 -1
  404. package/dist/editor/services/searchService.js.map +1 -1
  405. package/dist/editor/services/userResolution.js +6 -5
  406. package/dist/editor/services/userResolution.js.map +1 -1
  407. package/dist/editor/settings/About.js +4 -3
  408. package/dist/editor/settings/About.js.map +1 -1
  409. package/dist/editor/settings/SettingsView.js +1 -1
  410. package/dist/editor/settings/SettingsView.js.map +1 -1
  411. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js +11 -0
  412. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js.map +1 -1
  413. package/dist/editor/sidebar/ComponentPalette.js +12 -4
  414. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  415. package/dist/editor/sidebar/ComponentTree.js +38 -22
  416. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  417. package/dist/editor/sidebar/EditHistory.js +2 -2
  418. package/dist/editor/sidebar/EditHistory.js.map +1 -1
  419. package/dist/editor/sidebar/MainContentTree.js +1 -1
  420. package/dist/editor/sidebar/MainContentTree.js.map +1 -1
  421. package/dist/editor/sidebar/MorePanelsButton.js +2 -2
  422. package/dist/editor/sidebar/MorePanelsButton.js.map +1 -1
  423. package/dist/editor/sidebar/NavigationPanelMenuItem.js +2 -2
  424. package/dist/editor/sidebar/NavigationPanelMenuItem.js.map +1 -1
  425. package/dist/editor/sidebar/Validation.js +38 -44
  426. package/dist/editor/sidebar/Validation.js.map +1 -1
  427. package/dist/editor/sidebar/liveComponentThumbnails.d.ts +62 -0
  428. package/dist/editor/sidebar/liveComponentThumbnails.js +215 -0
  429. package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -0
  430. package/dist/editor/ui/ItemCollectionEditor.d.ts +17 -1
  431. package/dist/editor/ui/ItemCollectionEditor.js +17 -5
  432. package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
  433. package/dist/editor/ui/ItemList.d.ts +5 -0
  434. package/dist/editor/ui/ItemList.js +10 -2
  435. package/dist/editor/ui/ItemList.js.map +1 -1
  436. package/dist/editor/ui/ItemSearch.d.ts +7 -0
  437. package/dist/editor/ui/ItemSearch.js +14 -6
  438. package/dist/editor/ui/ItemSearch.js.map +1 -1
  439. package/dist/editor/ui/PublishDialog.js +3 -2
  440. package/dist/editor/ui/PublishDialog.js.map +1 -1
  441. package/dist/editor/ui/SimpleTabs.js +58 -3
  442. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  443. package/dist/editor/ui/Splitter.d.ts +15 -0
  444. package/dist/editor/ui/Splitter.js +77 -100
  445. package/dist/editor/ui/Splitter.js.map +1 -1
  446. package/dist/editor/ui/TreeListSelector.d.ts +15 -1
  447. package/dist/editor/ui/TreeListSelector.js +2 -2
  448. package/dist/editor/ui/TreeListSelector.js.map +1 -1
  449. package/dist/editor/ui/WorkboxItemsTable.d.ts +6 -1
  450. package/dist/editor/ui/WorkboxItemsTable.js +44 -48
  451. package/dist/editor/ui/WorkboxItemsTable.js.map +1 -1
  452. package/dist/editor/ui/publishReadiness.d.ts +13 -0
  453. package/dist/editor/ui/publishReadiness.js +56 -0
  454. package/dist/editor/ui/publishReadiness.js.map +1 -1
  455. package/dist/editor/utils/keyboardNavigation.js +20 -0
  456. package/dist/editor/utils/keyboardNavigation.js.map +1 -1
  457. package/dist/editor/validation/ValidationIssuesPopover.d.ts +39 -0
  458. package/dist/editor/validation/ValidationIssuesPopover.js +51 -0
  459. package/dist/editor/validation/ValidationIssuesPopover.js.map +1 -0
  460. package/dist/editor/validation/navigateToValidationIssue.d.ts +13 -0
  461. package/dist/editor/validation/navigateToValidationIssue.js +43 -0
  462. package/dist/editor/validation/navigateToValidationIssue.js.map +1 -0
  463. package/dist/editor/validation/validationFixAgent.d.ts +26 -0
  464. package/dist/editor/validation/validationFixAgent.js +124 -0
  465. package/dist/editor/validation/validationFixAgent.js.map +1 -0
  466. package/dist/editor/validation/validationSeverity.d.ts +15 -0
  467. package/dist/editor/validation/validationSeverity.js +47 -0
  468. package/dist/editor/validation/validationSeverity.js.map +1 -0
  469. package/dist/editor/version-diff/versionDiffGeometryKeys.d.ts +10 -4
  470. package/dist/editor/version-diff/versionDiffGeometryKeys.js +21 -7
  471. package/dist/editor/version-diff/versionDiffGeometryKeys.js.map +1 -1
  472. package/dist/editor/version-diff/versionDiffTargets.d.ts +6 -1
  473. package/dist/editor/version-diff/versionDiffTargets.js +5 -5
  474. package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
  475. package/dist/editor/views/editorSlotContext.d.ts +4 -0
  476. package/dist/editor/views/editorSlotContext.js +37 -1
  477. package/dist/editor/views/editorSlotContext.js.map +1 -1
  478. package/dist/revision.d.ts +2 -2
  479. package/dist/revision.js +2 -2
  480. package/dist/splash-screen/ModernSplashScreen.js +6 -5
  481. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  482. package/dist/splash-screen/RecentPages.js +33 -18
  483. package/dist/splash-screen/RecentPages.js.map +1 -1
  484. package/dist/task-board/TaskBoardWorkspace.js +65 -49
  485. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  486. package/dist/task-board/components/CommentsList.js +11 -11
  487. package/dist/task-board/components/CommentsList.js.map +1 -1
  488. package/dist/task-board/components/GoalDataView.d.ts +32 -1
  489. package/dist/task-board/components/GoalDataView.js +207 -51
  490. package/dist/task-board/components/GoalDataView.js.map +1 -1
  491. package/dist/task-board/components/ProjectDashboard.d.ts +2 -18
  492. package/dist/task-board/components/ProjectDashboard.js +2 -206
  493. package/dist/task-board/components/ProjectDashboard.js.map +1 -1
  494. package/dist/task-board/components/ProjectGoalsPanel.js +115 -10
  495. package/dist/task-board/components/ProjectGoalsPanel.js.map +1 -1
  496. package/dist/task-board/components/ProjectProgressIndicator.d.ts +8 -0
  497. package/dist/task-board/components/ProjectProgressIndicator.js +17 -0
  498. package/dist/task-board/components/ProjectProgressIndicator.js.map +1 -0
  499. package/dist/task-board/components/TaskBoardHomeView.d.ts +11 -0
  500. package/dist/task-board/components/TaskBoardHomeView.js +40 -2
  501. package/dist/task-board/components/TaskBoardHomeView.js.map +1 -1
  502. package/dist/task-board/components/TaskBoardProjectListSidebar.js +2 -11
  503. package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
  504. package/dist/task-board/components/TaskDetailPanel.js +62 -23
  505. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  506. package/dist/task-board/components/commentAuthor.d.ts +14 -0
  507. package/dist/task-board/components/commentAuthor.js +25 -0
  508. package/dist/task-board/components/commentAuthor.js.map +1 -0
  509. package/dist/task-board/taskBoardNavStore.d.ts +6 -0
  510. package/dist/task-board/taskBoardNavStore.js +36 -1
  511. package/dist/task-board/taskBoardNavStore.js.map +1 -1
  512. package/dist/task-board/types.d.ts +4 -0
  513. package/dist/task-board/utils/projectDashboardModel.d.ts +68 -0
  514. package/dist/task-board/utils/projectDashboardModel.js +355 -0
  515. package/dist/task-board/utils/projectDashboardModel.js.map +1 -0
  516. package/dist/task-board/views/DependencyGraphView.d.ts +7 -1
  517. package/dist/task-board/views/DependencyGraphView.js +58 -19
  518. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  519. package/dist/task-board/views/ProjectDashboardView.d.ts +28 -0
  520. package/dist/task-board/views/ProjectDashboardView.js +316 -0
  521. package/dist/task-board/views/ProjectDashboardView.js.map +1 -0
  522. package/dist/tour/Tour.js +23 -3
  523. package/dist/tour/Tour.js.map +1 -1
  524. package/dist/tour/TourInputBoundary.d.ts +6 -0
  525. package/dist/tour/TourInputBoundary.js +82 -0
  526. package/dist/tour/TourInputBoundary.js.map +1 -0
  527. package/dist/tour/sandbox-tour.js +1 -0
  528. package/dist/tour/sandbox-tour.js.map +1 -1
  529. package/dist/types.d.ts +29 -0
  530. package/images/Parhelia-Onboarding-Beach.jpg +0 -0
  531. package/package.json +1 -1
  532. package/images/Parhelia-Onboarding-BG.jpg +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"keyboardNavigation.js","sourceRoot":"","sources":["../../../src/editor/utils/keyboardNavigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyboardNavigation.js","sourceRoot":"","sources":["../../../src/editor/utils/keyboardNavigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { ComponentProps, ReactNode } from "react";
2
+ import { PopoverContent } from "../../components/ui/popover";
3
+ import { SingleValidatorResult } from "../../types";
4
+ import { ItemDescriptor } from "../pageModel";
5
+ import { ValidationSeverity } from "./validationSeverity";
6
+ /** The coloured pill used as popover trigger on every surface. */
7
+ export declare const ValidationSeverityBadge: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "children"> & {
8
+ severity: ValidationSeverity;
9
+ label: ReactNode;
10
+ }, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
11
+ export type ValidationIssuesPopoverProps = {
12
+ /** Issues to list; pass them pre-filtered (filterValidationIssues). */
13
+ issues: readonly SingleValidatorResult[];
14
+ /** The item the issues belong to. */
15
+ item: ItemDescriptor;
16
+ /** Scope of the list when it was opened from a single field. */
17
+ field?: {
18
+ fieldId: string;
19
+ fieldName?: string;
20
+ };
21
+ trigger: ReactNode;
22
+ open?: boolean;
23
+ onOpenChange?: (open: boolean) => void;
24
+ /** Show each issue's field name (item-scoped lists). */
25
+ showFieldName?: boolean;
26
+ /** Row click; when set, rows render as buttons. */
27
+ onSelectIssue?: (issue: SingleValidatorResult) => void | Promise<void>;
28
+ /** Footer "Show all validation results". Default: opens the sidebar. */
29
+ showAllAction?: boolean;
30
+ onShowAll?: () => void;
31
+ /** Called after any footer or row action fired (e.g. to close a dialog). */
32
+ onAction?: () => void;
33
+ side?: ComponentProps<typeof PopoverContent>["side"];
34
+ align?: ComponentProps<typeof PopoverContent>["align"];
35
+ sideOffset?: number;
36
+ collisionPadding?: number;
37
+ contentClassName?: string;
38
+ };
39
+ export declare function ValidationIssuesPopover({ issues, item, field, trigger, open, onOpenChange, showFieldName, onSelectIssue, showAllAction, onShowAll, onAction, side, align, sideOffset, collisionPadding, contentClassName, }: ValidationIssuesPopoverProps): import("react").JSX.Element;
@@ -0,0 +1,51 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { ListChecks, WandSparkles } from "lucide-react";
4
+ import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
5
+ import { cn } from "../../lib/utils";
6
+ import { useEditContext } from "../client/editContext";
7
+ import { hasAgentsPanel, openAiAgentForValidationIssues, } from "./validationFixAgent";
8
+ import { formatValidationIssueCount, getValidationSeverity, validationSeverityStyles, } from "./validationSeverity";
9
+ const footerButtonClassName = "hover:bg-neutral-grey-5 flex w-full items-center gap-2 rounded px-3 py-2 text-xs transition-colors";
10
+ /** The coloured pill used as popover trigger on every surface. */
11
+ export const ValidationSeverityBadge = forwardRef(function ValidationSeverityBadge({ severity, label, className, ...props }, ref) {
12
+ const style = validationSeverityStyles[severity];
13
+ const Icon = style.icon;
14
+ return (_jsxs("button", { ref: ref, type: "button", className: cn(style.badge, "inline-flex cursor-pointer items-center gap-1 rounded px-1 py-0.5 text-[10px] leading-none whitespace-nowrap transition-opacity hover:opacity-80", className), ...props, children: [_jsx(Icon, { className: "h-3 w-3 shrink-0", strokeWidth: 1.5 }), label] }));
15
+ });
16
+ export function ValidationIssuesPopover({ issues, item, field, trigger, open, onOpenChange, showFieldName, onSelectIssue, showAllAction = true, onShowAll, onAction, side = "bottom", align = "start", sideOffset, collisionPadding, contentClassName, }) {
17
+ const editContext = useEditContext();
18
+ const canFix = hasAgentsPanel(editContext) && issues.length > 0;
19
+ const close = () => onOpenChange?.(false);
20
+ const handleFix = () => {
21
+ const started = openAiAgentForValidationIssues({ item, issues, field }, editContext);
22
+ close();
23
+ if (started)
24
+ onAction?.();
25
+ };
26
+ const handleShowAll = () => {
27
+ if (onShowAll)
28
+ onShowAll();
29
+ else
30
+ editContext?.openSidebar("validation");
31
+ close();
32
+ onAction?.();
33
+ };
34
+ const handleSelect = (issue) => {
35
+ close();
36
+ onAction?.();
37
+ void onSelectIssue?.(issue);
38
+ };
39
+ return (_jsxs(Popover, { open: open, onOpenChange: onOpenChange, children: [_jsx(PopoverTrigger, { asChild: true, children: trigger }), _jsxs(PopoverContent, { className: cn("w-80 max-w-[calc(100vw-2rem)] p-0", contentClassName), side: side, align: align, sideOffset: sideOffset, collisionPadding: collisionPadding, "data-testid": "validation-issues-popover",
40
+ // The content is portaled, but React still bubbles its clicks to the
41
+ // React parent (e.g. a clickable table row). Keep them here.
42
+ onClick: (event) => event.stopPropagation(), children: [_jsxs("div", { className: "border-neutral-grey-10 flex items-center justify-between border-b px-3 py-2", children: [_jsx("span", { className: "text-xs font-medium", children: "Validation" }), _jsx("span", { className: "text-neutral-grey-50 text-[10px]", children: formatValidationIssueCount(issues.length) })] }), _jsx("ul", { className: "max-h-72 overflow-y-auto p-1", children: issues.map((issue) => {
43
+ const severity = getValidationSeverity(issue.result);
44
+ const style = validationSeverityStyles[severity];
45
+ const Icon = style.icon;
46
+ const body = (_jsxs(_Fragment, { children: [_jsx(Icon, { className: `${style.text} mt-0.5 h-3.5 w-3.5 shrink-0`, strokeWidth: 1.5 }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "text-neutral-grey-50 flex flex-wrap items-baseline gap-x-1.5 text-[10px] leading-tight", children: [showFieldName && issue.fieldName && (_jsx("span", { className: "text-neutral-grey-100 font-medium", children: issue.fieldName })), _jsx("span", { children: issue.validator })] }), _jsx("div", { className: "break-words select-text", children: issue.message })] })] }));
47
+ const key = `${issue.itemId}|${issue.fieldId}|${issue.validator}`;
48
+ return (_jsx("li", { "data-testid": "validation-issue-row", children: onSelectIssue ? (_jsx("button", { type: "button", className: "hover:bg-neutral-grey-5 flex w-full items-start gap-2 rounded px-2 py-1.5 text-left text-xs transition-colors", onClick: () => handleSelect(issue), children: body })) : (_jsx("div", { className: "flex items-start gap-2 rounded px-2 py-1.5 text-xs", children: body })) }, key));
49
+ }) }), (canFix || showAllAction) && (_jsxs("div", { className: "border-neutral-grey-10 border-t p-1", children: [canFix && (_jsxs("button", { type: "button", className: footerButtonClassName, onClick: handleFix, "data-testid": "validation-fix-with-agent", children: [_jsx(WandSparkles, { strokeWidth: 1, className: "h-4 w-4" }), "Fix with agent"] })), showAllAction && (_jsxs("button", { type: "button", className: footerButtonClassName, onClick: handleShowAll, "data-testid": "validation-show-all", children: [_jsx(ListChecks, { strokeWidth: 1, className: "h-4 w-4" }), "Show all validation results"] }))] }))] })] }));
50
+ }
51
+ //# sourceMappingURL=ValidationIssuesPopover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationIssuesPopover.js","sourceRoot":"","sources":["../../../src/editor/validation/ValidationIssuesPopover.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { EditContextType } from "../client/editContext";
2
+ export declare const VALIDATION_SLOT_TAG = "validation";
3
+ export type ValidationIssueTarget = {
4
+ itemId: string;
5
+ language: string;
6
+ version: number;
7
+ fieldId?: string;
8
+ };
9
+ /**
10
+ * Opens the item a validation issue belongs to and focuses the field.
11
+ * Shared by the Validation sidebar rows and the issue popovers.
12
+ */
13
+ export declare function navigateToValidationIssue(editContext: EditContextType, target: ValidationIssueTarget, setFocusedField?: EditContextType["setFocusedField"] | undefined): Promise<void>;
@@ -0,0 +1,43 @@
1
+ import { stripGuid } from "../utils";
2
+ // All validation click-throughs open in this one shared slot (EditorSlot.tag).
3
+ export const VALIDATION_SLOT_TAG = "validation";
4
+ /**
5
+ * Opens the item a validation issue belongs to and focuses the field.
6
+ * Shared by the Validation sidebar rows and the issue popovers.
7
+ */
8
+ export async function navigateToValidationIssue(editContext, target, setFocusedField = editContext.setFocusedField) {
9
+ const itemDescriptor = {
10
+ id: target.itemId,
11
+ language: target.language,
12
+ version: target.version,
13
+ };
14
+ const slots = editContext.editorSlots ?? [];
15
+ const openSlot = slots.find((slot) => stripGuid(slot.itemDescriptor?.id ?? "") === stripGuid(itemDescriptor.id) &&
16
+ slot.itemDescriptor?.language?.toLowerCase() ===
17
+ itemDescriptor.language?.toLowerCase() &&
18
+ slot.itemDescriptor?.version === itemDescriptor.version);
19
+ if (openSlot) {
20
+ editContext.setActiveSlot(openSlot.slotId);
21
+ }
22
+ else {
23
+ // Open the result in the shared validation slot instead of replacing the
24
+ // reviewed page: replacing the page collapses the workbox scope and
25
+ // re-scopes the validation list to the single clicked item. Every click
26
+ // routes into the same tagged slot, so stepping through results never
27
+ // accumulates panes.
28
+ const validationSlot = slots.find((slot) => slot.tag === VALIDATION_SLOT_TAG);
29
+ const loadedItem = await editContext.loadItem(itemDescriptor, validationSlot
30
+ ? { targetSlotId: validationSlot.slotId }
31
+ : { openInNewSlot: true, newSlotTag: VALIDATION_SLOT_TAG });
32
+ if (!loadedItem)
33
+ return;
34
+ }
35
+ // Selection first: it keeps the component highlighted on its page canvas,
36
+ // and the focus-clearing effect only retains focusedField while
37
+ // selection[0] matches its item id.
38
+ editContext.select?.([target.itemId]);
39
+ if (target.fieldId) {
40
+ await setFocusedField?.({ item: itemDescriptor, fieldId: target.fieldId }, false);
41
+ }
42
+ }
43
+ //# sourceMappingURL=navigateToValidationIssue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigateToValidationIssue.js","sourceRoot":"","sources":["../../../src/editor/validation/navigateToValidationIssue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAShD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,WAA4B,EAC5B,MAA6B,EAC7B,eAAe,GAAmD,WAAW,CAAC,eAAe;IAE7F,MAAM,cAAc,GAAG;QACrB,EAAE,EAAE,MAAM,CAAC,MAAM;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,CAAC,IAAI,EAAE,EAAE,CACP,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE;YAC1C,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE;QACxC,IAAI,CAAC,cAAc,EAAE,OAAO,KAAK,cAAc,CAAC,OAAO,CAC1D,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,yEAAyE;QACzE,oEAAoE;QACpE,wEAAwE;QACxE,sEAAsE;QACtE,qBAAqB;QACrB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,mBAAmB,CAC3C,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,QAAQ,CAC3C,cAAc,EACd,cAAc;YACZ,CAAC,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,MAAM,EAAE;YACzC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAC7D,CAAC;QACF,IAAI,CAAC,UAAU;YAAE,OAAO;IAC1B,CAAC;IAED,0EAA0E;IAC1E,gEAAgE;IAChE,oCAAoC;IACpC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,eAAe,EAAE,CACrB,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EACjD,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { SingleValidatorResult } from "../../types";
2
+ import { EditContextType } from "../client/editContext";
3
+ import { ItemDescriptor } from "../pageModel";
4
+ export type ValidationFixTarget = {
5
+ /** The item the issues belong to (a page or an embedded component item). */
6
+ item: ItemDescriptor;
7
+ issues: readonly SingleValidatorResult[];
8
+ /** Set when the button was clicked on a single field of the item. */
9
+ field?: {
10
+ fieldId: string;
11
+ fieldName?: string;
12
+ };
13
+ };
14
+ export declare function hasAgentsPanel(editContext?: EditContextType): boolean;
15
+ /**
16
+ * Prompt for the agent. The vocabulary (field, validator, level, message)
17
+ * mirrors the validate-items tool's findings so the agent can match them
18
+ * after re-running the validation.
19
+ */
20
+ export declare function buildValidationFixPrompt(target: ValidationFixTarget): string;
21
+ /**
22
+ * Opens the Agents panel and starts a new agent that fixes the given
23
+ * validation issues. Mirrors openAiAgentForComment (reviews/commentAi.ts).
24
+ * Returns false when nothing was started (no panel, quota exceeded, error).
25
+ */
26
+ export declare function openAiAgentForValidationIssues(target: ValidationFixTarget, editContext?: EditContextType): boolean;
@@ -0,0 +1,124 @@
1
+ import { stripGuid } from "../utils";
2
+ import { getValidationSeverity, validationSeverityStyles, } from "./validationSeverity";
3
+ export function hasAgentsPanel(editContext) {
4
+ return !!editContext?.configuration?.editor?.sidebars?.some((sidebar) => sidebar.id === "agents-panel");
5
+ }
6
+ function describeItem(item, fallbackName) {
7
+ const name = item.displayName || item.name || fallbackName || item.id;
8
+ const details = [
9
+ item.path,
10
+ item.language ? `${item.language} v${item.version ?? 0}` : undefined,
11
+ ].filter(Boolean);
12
+ return details.length ? `"${name}" (${details.join(", ")})` : `"${name}"`;
13
+ }
14
+ /**
15
+ * Prompt for the agent. The vocabulary (field, validator, level, message)
16
+ * mirrors the validate-items tool's findings so the agent can match them
17
+ * after re-running the validation.
18
+ */
19
+ export function buildValidationFixPrompt(target) {
20
+ const { item, issues, field } = target;
21
+ const scope = field
22
+ ? `, field "${field.fieldName || issues[0]?.fieldName || field.fieldId}"`
23
+ : "";
24
+ const lines = issues.map((issue) => {
25
+ const level = validationSeverityStyles[getValidationSeverity(issue.result)]
26
+ .label;
27
+ const fieldPart = !field && issue.fieldName ? ` — Field "${issue.fieldName}"` : "";
28
+ return `- [${level}] ${issue.validator}${fieldPart}: ${issue.message}`;
29
+ });
30
+ return [
31
+ `Fix the following validation ${issues.length === 1 ? "issue" : "issues"} on ${describeItem(item, issues[0]?.itemName)}${scope}:`,
32
+ ...lines,
33
+ "",
34
+ "Make the smallest content change that resolves each issue, then run validate-items on this item to confirm nothing is left, and summarize what you changed.",
35
+ ].join("\n");
36
+ }
37
+ /**
38
+ * Opens the Agents panel and starts a new agent that fixes the given
39
+ * validation issues. Mirrors openAiAgentForComment (reviews/commentAi.ts).
40
+ * Returns false when nothing was started (no panel, quota exceeded, error).
41
+ */
42
+ export function openAiAgentForValidationIssues(target, editContext) {
43
+ if (!editContext)
44
+ return false;
45
+ if (!hasAgentsPanel(editContext))
46
+ return false;
47
+ if (target.issues.length === 0)
48
+ return false;
49
+ if (editContext.isQuotaExceeded) {
50
+ editContext.showToast?.("AI quota exceeded. Please try again later or adjust settings.");
51
+ return false;
52
+ }
53
+ try {
54
+ if (editContext.isMobile) {
55
+ editContext.openSidebar("agents-panel");
56
+ }
57
+ else {
58
+ editContext.setShowAgentsPanel(true);
59
+ }
60
+ const { item, issues, field } = target;
61
+ const itemName = item.name || issues[0]?.itemName;
62
+ const targetItem = {
63
+ id: item.id,
64
+ language: item.language,
65
+ version: item.version,
66
+ name: itemName,
67
+ path: item.path,
68
+ };
69
+ // The loaded page gives the agent the surrounding context when the
70
+ // issues sit on an embedded component item of that page.
71
+ const pageItem = editContext.item;
72
+ const pageDiffers = !!pageItem?.id && stripGuid(pageItem.id) !== stripGuid(item.id);
73
+ const items = pageDiffers
74
+ ? [
75
+ {
76
+ id: pageItem.id,
77
+ language: pageItem.language,
78
+ version: pageItem.version,
79
+ name: pageItem.name,
80
+ path: pageItem.path,
81
+ },
82
+ targetItem,
83
+ ]
84
+ : [targetItem];
85
+ const metadata = {
86
+ items,
87
+ currentItemId: item.id,
88
+ field: field
89
+ ? {
90
+ fieldId: field.fieldId,
91
+ fieldName: field.fieldName || issues[0]?.fieldName,
92
+ item: targetItem,
93
+ }
94
+ : undefined,
95
+ additionalData: {
96
+ initialPrompt: buildValidationFixPrompt(target),
97
+ profileId: editContext.parheliaSettings?.validationFixProfileId || undefined,
98
+ profileName: editContext.parheliaSettings?.validationFixProfileName || undefined,
99
+ },
100
+ };
101
+ const dispatchEvent = () => {
102
+ try {
103
+ window.dispatchEvent(new CustomEvent("editor:addNewAgent", {
104
+ detail: { metadata },
105
+ }));
106
+ }
107
+ catch { }
108
+ };
109
+ if (editContext.isMobile) {
110
+ // Mobile: the sidebar needs a moment to mount and start listening.
111
+ setTimeout(dispatchEvent, 500);
112
+ }
113
+ else {
114
+ dispatchEvent();
115
+ }
116
+ return true;
117
+ }
118
+ catch (e) {
119
+ console.error("Failed to start agent for validation issues:", e);
120
+ editContext.showToast?.("Failed to start AI agent for these issues.");
121
+ return false;
122
+ }
123
+ }
124
+ //# sourceMappingURL=validationFixAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validationFixAgent.js","sourceRoot":"","sources":["../../../src/editor/validation/validationFixAgent.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAU9B,MAAM,UAAU,cAAc,CAAC,WAA6B;IAC1D,OAAO,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CACzD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,cAAc,CAC3C,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAoB,EAAE,YAAqB;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,YAAY,IAAI,IAAI,CAAC,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG;QACd,IAAI,CAAC,IAAI;QACT,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;KACrE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAA2B;IAClE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK;QACjB,CAAC,CAAC,YAAY,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,KAAK,CAAC,OAAO,GAAG;QACzE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,wBAAwB,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACxE,KAAK,CAAC;QACT,MAAM,SAAS,GACb,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,MAAM,KAAK,KAAK,KAAK,CAAC,SAAS,GAAG,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,gCAAgC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,KAAK,GAAG;QACjI,GAAG,KAAK;QACR,EAAE;QACF,6JAA6J;KAC9J,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,MAA2B,EAC3B,WAA6B;IAE7B,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7C,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;QAChC,WAAW,CAAC,SAAS,EAAE,CACrB,+DAA+D,CAChE,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzB,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;QAClD,MAAM,UAAU,GAAG;YACjB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QAEF,mEAAmE;QACnE,yDAAyD;QACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;QAClC,MAAM,WAAW,GACf,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,WAAW;YACvB,CAAC,CAAC;gBACE;oBACE,EAAE,EAAE,QAAS,CAAC,EAAE;oBAChB,QAAQ,EAAE,QAAS,CAAC,QAAQ;oBAC5B,OAAO,EAAE,QAAS,CAAC,OAAO;oBAC1B,IAAI,EAAE,QAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,QAAS,CAAC,IAAI;iBACrB;gBACD,UAAU;aACX;YACH,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAEjB,MAAM,QAAQ,GAAkB;YAC9B,KAAK;YACL,aAAa,EAAE,IAAI,CAAC,EAAE;YACtB,KAAK,EAAE,KAAK;gBACV,CAAC,CAAC;oBACE,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS;oBAClD,IAAI,EAAE,UAAU;iBACjB;gBACH,CAAC,CAAC,SAAS;YACb,cAAc,EAAE;gBACd,aAAa,EAAE,wBAAwB,CAAC,MAAM,CAAC;gBAC/C,SAAS,EACP,WAAW,CAAC,gBAAgB,EAAE,sBAAsB,IAAI,SAAS;gBACnE,WAAW,EACT,WAAW,CAAC,gBAAgB,EAAE,wBAAwB,IAAI,SAAS;aACtE;SACF,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC;gBACH,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,oBAAoB,EAAE;oBACpC,MAAM,EAAE,EAAE,QAAQ,EAAE;iBACrB,CAAC,CACH,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC,CAAC;QAEF,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzB,mEAAmE;YACnE,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,aAAa,EAAE,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,CAAC,CAAC,CAAC;QACjE,WAAW,CAAC,SAAS,EAAE,CAAC,4CAA4C,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { AlertCircle } from "lucide-react";
2
+ import { SingleValidatorResult } from "../../types";
3
+ export type ValidationSeverity = "suggestion" | "warning" | "error";
4
+ export declare function getValidationSeverity(result: SingleValidatorResult["result"] | number): ValidationSeverity;
5
+ export declare const validationSeverityStyles: Record<ValidationSeverity, {
6
+ label: string;
7
+ icon: typeof AlertCircle;
8
+ text: string;
9
+ badge: string;
10
+ bar: string;
11
+ }>;
12
+ /** Keeps only results above "Valid", worst first. */
13
+ export declare function filterValidationIssues<T extends SingleValidatorResult>(results: readonly T[] | undefined): T[];
14
+ export declare function getWorstValidationSeverity(issues: readonly SingleValidatorResult[]): ValidationSeverity | undefined;
15
+ export declare function formatValidationIssueCount(count: number): string;
@@ -0,0 +1,47 @@
1
+ import { AlertCircle, AlertTriangle, Lightbulb } from "lucide-react";
2
+ export function getValidationSeverity(result) {
3
+ if (result >= 4)
4
+ return "error";
5
+ if (result === 3)
6
+ return "warning";
7
+ return "suggestion";
8
+ }
9
+ export const validationSeverityStyles = {
10
+ error: {
11
+ label: "Error",
12
+ icon: AlertCircle,
13
+ text: "text-feedback-red",
14
+ badge: "bg-feedback-red-light text-feedback-red",
15
+ bar: "border-feedback-red",
16
+ },
17
+ warning: {
18
+ label: "Warning",
19
+ icon: AlertTriangle,
20
+ text: "text-feedback-orange",
21
+ badge: "bg-feedback-orange-light text-feedback-orange",
22
+ bar: "border-feedback-orange",
23
+ },
24
+ suggestion: {
25
+ label: "Suggestion",
26
+ icon: Lightbulb,
27
+ text: "text-feedback-blue",
28
+ badge: "bg-feedback-blue-light text-feedback-blue",
29
+ bar: "border-feedback-blue",
30
+ },
31
+ };
32
+ /** Keeps only results above "Valid", worst first. */
33
+ export function filterValidationIssues(results) {
34
+ return [...(results ?? [])]
35
+ .filter((x) => x.result > 1)
36
+ .sort((a, b) => b.result - a.result);
37
+ }
38
+ export function getWorstValidationSeverity(issues) {
39
+ if (issues.length === 0)
40
+ return undefined;
41
+ const worst = issues.reduce((max, issue) => Math.max(max, issue.result), 0);
42
+ return getValidationSeverity(worst);
43
+ }
44
+ export function formatValidationIssueCount(count) {
45
+ return `${count} ${count === 1 ? "issue" : "issues"}`;
46
+ }
47
+ //# sourceMappingURL=validationSeverity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validationSeverity.js","sourceRoot":"","sources":["../../../src/editor/validation/validationSeverity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQrE,MAAM,UAAU,qBAAqB,CACnC,MAAgD;IAEhD,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAChC,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GASjC;IACF,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,yCAAyC;QAChD,GAAG,EAAE,qBAAqB;KAC3B;IACD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,+CAA+C;QACtD,GAAG,EAAE,wBAAwB;KAC9B;IACD,UAAU,EAAE;QACV,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,2CAA2C;QAClD,GAAG,EAAE,sBAAsB;KAC5B;CACF,CAAC;AAEF,qDAAqD;AACrD,MAAM,UAAU,sBAAsB,CACpC,OAAiC;IAEjC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAwC;IAExC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CACzB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAC3C,CAAW,CACZ,CAAC;IACF,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,OAAO,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxD,CAAC"}
@@ -1,10 +1,16 @@
1
1
  export type VersionDiffVariant = "default" | "minimap";
2
2
  /**
3
- * The default overlay and the minimap mount against the same pageViewContext,
4
- * and requestBridgeGeometry keeps the latest text ranges per source — so each
5
- * variant needs its own source (and range keys) or the instances clobber each
6
- * other's contributions in the per-source union.
3
+ * A scope identifies one highlight feature instance ("version-diff:default",
4
+ * "agent-changes:minimap", ...). The default overlay and the minimap mount
5
+ * against the same pageViewContext, and requestBridgeGeometry keeps the latest
6
+ * text ranges per source — so each variant needs its own source (and range
7
+ * keys) or the instances clobber each other's contributions in the per-source
8
+ * union.
7
9
  */
10
+ export declare function getDiffBridgeSource(scope: string): string;
11
+ export declare function getDiffTextRangeKey(scope: string, targetKey: string, rangeIndex: number): string;
12
+ export declare function getDiffInnerRangeKey(scope: string, targetKey: string, rangeIndex: number, innerIndex: number): string;
13
+ export declare function getVersionDiffScope(variant: VersionDiffVariant): string;
8
14
  export declare function getVersionDiffBridgeSource(variant: VersionDiffVariant): string;
9
15
  export declare function getVersionDiffTextRangeKey(variant: VersionDiffVariant, targetKey: string, rangeIndex: number): string;
10
16
  export declare function getVersionDiffInnerRangeKey(variant: VersionDiffVariant, targetKey: string, rangeIndex: number, innerIndex: number): string;
@@ -1,16 +1,30 @@
1
1
  /**
2
- * The default overlay and the minimap mount against the same pageViewContext,
3
- * and requestBridgeGeometry keeps the latest text ranges per source — so each
4
- * variant needs its own source (and range keys) or the instances clobber each
5
- * other's contributions in the per-source union.
2
+ * A scope identifies one highlight feature instance ("version-diff:default",
3
+ * "agent-changes:minimap", ...). The default overlay and the minimap mount
4
+ * against the same pageViewContext, and requestBridgeGeometry keeps the latest
5
+ * text ranges per source — so each variant needs its own source (and range
6
+ * keys) or the instances clobber each other's contributions in the per-source
7
+ * union.
6
8
  */
7
- export function getVersionDiffBridgeSource(variant) {
9
+ export function getDiffBridgeSource(scope) {
10
+ return scope;
11
+ }
12
+ export function getDiffTextRangeKey(scope, targetKey, rangeIndex) {
13
+ return `${scope}:${targetKey}:r${rangeIndex}`;
14
+ }
15
+ export function getDiffInnerRangeKey(scope, targetKey, rangeIndex, innerIndex) {
16
+ return `${scope}:${targetKey}:r${rangeIndex}:c${innerIndex}`;
17
+ }
18
+ export function getVersionDiffScope(variant) {
8
19
  return `version-diff:${variant}`;
9
20
  }
21
+ export function getVersionDiffBridgeSource(variant) {
22
+ return getDiffBridgeSource(getVersionDiffScope(variant));
23
+ }
10
24
  export function getVersionDiffTextRangeKey(variant, targetKey, rangeIndex) {
11
- return `version-diff:${variant}:${targetKey}:r${rangeIndex}`;
25
+ return getDiffTextRangeKey(getVersionDiffScope(variant), targetKey, rangeIndex);
12
26
  }
13
27
  export function getVersionDiffInnerRangeKey(variant, targetKey, rangeIndex, innerIndex) {
14
- return `version-diff:${variant}:${targetKey}:r${rangeIndex}:c${innerIndex}`;
28
+ return getDiffInnerRangeKey(getVersionDiffScope(variant), targetKey, rangeIndex, innerIndex);
15
29
  }
16
30
  //# sourceMappingURL=versionDiffGeometryKeys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versionDiffGeometryKeys.js","sourceRoot":"","sources":["../../../src/editor/version-diff/versionDiffGeometryKeys.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAA2B;IACpE,OAAO,gBAAgB,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAA2B,EAC3B,SAAiB,EACjB,UAAkB;IAElB,OAAO,gBAAgB,OAAO,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAA2B,EAC3B,SAAiB,EACjB,UAAkB,EAClB,UAAkB;IAElB,OAAO,gBAAgB,OAAO,IAAI,SAAS,KAAK,UAAU,KAAK,UAAU,EAAE,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"versionDiffGeometryKeys.js","sourceRoot":"","sources":["../../../src/editor/version-diff/versionDiffGeometryKeys.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,SAAiB,EACjB,UAAkB;IAElB,OAAO,GAAG,KAAK,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,SAAiB,EACjB,UAAkB,EAClB,UAAkB;IAElB,OAAO,GAAG,KAAK,IAAI,SAAS,KAAK,UAAU,KAAK,UAAU,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA2B;IAC7D,OAAO,gBAAgB,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAA2B;IACpE,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAA2B,EAC3B,SAAiB,EACjB,UAAkB;IAElB,OAAO,mBAAmB,CACxB,mBAAmB,CAAC,OAAO,CAAC,EAC5B,SAAS,EACT,UAAU,CACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAA2B,EAC3B,SAAiB,EACjB,UAAkB,EAClB,UAAkB;IAElB,OAAO,oBAAoB,CACzB,mBAAmB,CAAC,OAAO,CAAC,EAC5B,SAAS,EACT,UAAU,EACV,UAAU,CACX,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { SerializablePageStructure } from "../bridge/protocol";
2
- import type { FullItem, ItemDescriptor } from "../pageModel";
2
+ import type { Field, FullItem, ItemDescriptor } from "../pageModel";
3
3
  export type RenderedField = {
4
4
  descriptor: {
5
5
  item: ItemDescriptor;
@@ -70,6 +70,7 @@ export declare function resolveVersionDiffTargets({ bridgeStructure, pageItem, g
70
70
  baseline: BaselineMode;
71
71
  previousVersionCache: Map<string, number | null>;
72
72
  }): Promise<VersionDiffTargetsResult>;
73
+ export declare function collectRenderedFieldsFromBridge(structure: SerializablePageStructure, fallbackItem: ItemDescriptor): RenderedField[];
73
74
  /**
74
75
  * Word-level diff with two-tier highlighting: whole changed words form the
75
76
  * outer ranges, and for typo-like replacements a char-level refinement marks
@@ -78,5 +79,9 @@ export declare function resolveVersionDiffTargets({ bridgeStructure, pageItem, g
78
79
  * sync with the bridge's textContent-based range measurement.
79
80
  */
80
81
  export declare function computeWordDiffRanges(oldText: string, newText: string): WordDiffResult;
82
+ export declare function getFieldText(field: Field): string;
83
+ export declare function stripHtml(value: string): string;
81
84
  export declare function fieldKey(descriptor: RenderedField["descriptor"]): string;
85
+ export declare function itemKey(item: ItemDescriptor): string;
86
+ export declare function normalizeId(id?: string | null): string;
82
87
  export {};
@@ -89,7 +89,7 @@ export async function resolveVersionDiffTargets({ bridgeStructure, pageItem, get
89
89
  .map((component) => componentToDiffTarget(component, rangeKind));
90
90
  return { fieldTargets, componentTargets };
91
91
  }
92
- function collectRenderedFieldsFromBridge(structure, fallbackItem) {
92
+ export function collectRenderedFieldsFromBridge(structure, fallbackItem) {
93
93
  const renderedFieldsByKey = new Map();
94
94
  structure.fields.forEach((field) => {
95
95
  if (!field.fieldId)
@@ -381,7 +381,7 @@ function mergeTupleRanges(ranges) {
381
381
  });
382
382
  return merged;
383
383
  }
384
- function getFieldText(field) {
384
+ export function getFieldText(field) {
385
385
  const value = typeof field.rawValue === "string"
386
386
  ? field.rawValue
387
387
  : typeof field.value === "string"
@@ -391,7 +391,7 @@ function getFieldText(field) {
391
391
  : String(field.value);
392
392
  return stripHtml(value);
393
393
  }
394
- function stripHtml(value) {
394
+ export function stripHtml(value) {
395
395
  if (!value.includes("<"))
396
396
  return value;
397
397
  if (typeof DOMParser === "undefined")
@@ -402,10 +402,10 @@ function stripHtml(value) {
402
402
  export function fieldKey(descriptor) {
403
403
  return `${itemKey(descriptor.item)}|${normalizeId(descriptor.fieldId)}`;
404
404
  }
405
- function itemKey(item) {
405
+ export function itemKey(item) {
406
406
  return `${normalizeId(item.id)}|${item.language}|${item.version}`;
407
407
  }
408
- function normalizeId(id) {
408
+ export function normalizeId(id) {
409
409
  return (id || "").replace(/[{}-]/g, "").toLowerCase();
410
410
  }
411
411
  //# sourceMappingURL=versionDiffTargets.js.map