@parhelia/core 0.3.12763 → 0.3.12767

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 (677) hide show
  1. package/dist/agents-view/AgentCard.js +7 -9
  2. package/dist/agents-view/AgentCard.js.map +1 -1
  3. package/dist/agents-view/AgentGalleryView.js +4 -4
  4. package/dist/agents-view/AgentGalleryView.js.map +1 -1
  5. package/dist/agents-view/AgentProfileIcon.js +1 -8
  6. package/dist/agents-view/AgentProfileIcon.js.map +1 -1
  7. package/dist/agents-view/AgentsWorkspaceView.js +2 -2
  8. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  9. package/dist/agents-view/RenameAgentDialog.js +1 -1
  10. package/dist/agents-view/RenameAgentDialog.js.map +1 -1
  11. package/dist/components/MarkdownViewerPopover.js +3 -3
  12. package/dist/components/MarkdownViewerPopover.js.map +1 -1
  13. package/dist/components/WorkspaceHomeView.js +1 -1
  14. package/dist/components/WorkspaceHomeView.js.map +1 -1
  15. package/dist/components/ui/LanguageSelector.js +1 -1
  16. package/dist/components/ui/LanguageSelector.js.map +1 -1
  17. package/dist/components/ui/PlaceholderInput.js +1 -1
  18. package/dist/components/ui/PlaceholderItemSelector.js +1 -1
  19. package/dist/components/ui/PlaceholderItemSelector.js.map +1 -1
  20. package/dist/components/ui/UserPicker.js +2 -2
  21. package/dist/components/ui/UserPicker.js.map +1 -1
  22. package/dist/components/ui/accordion.js +1 -1
  23. package/dist/components/ui/accordion.js.map +1 -1
  24. package/dist/components/ui/breadcrumb.js +2 -2
  25. package/dist/components/ui/breadcrumb.js.map +1 -1
  26. package/dist/components/ui/calendar.js +3 -3
  27. package/dist/components/ui/calendar.js.map +1 -1
  28. package/dist/components/ui/card.js +2 -2
  29. package/dist/components/ui/card.js.map +1 -1
  30. package/dist/components/ui/checkbox.js +1 -1
  31. package/dist/components/ui/checkbox.js.map +1 -1
  32. package/dist/components/ui/context-menu.js +3 -3
  33. package/dist/components/ui/context-menu.js.map +1 -1
  34. package/dist/components/ui/delete-icon.js +1 -1
  35. package/dist/components/ui/delete-icon.js.map +1 -1
  36. package/dist/components/ui/dropdown-menu.js +4 -4
  37. package/dist/components/ui/dropdown-menu.js.map +1 -1
  38. package/dist/components/ui/mention-textarea.js +2 -2
  39. package/dist/components/ui/mention-textarea.js.map +1 -1
  40. package/dist/components/ui/multi-switch-button.js +1 -1
  41. package/dist/components/ui/multi-switch-button.js.map +1 -1
  42. package/dist/components/ui/upload-button.js +1 -1
  43. package/dist/components/ui/upload-button.js.map +1 -1
  44. package/dist/config/config.js +29 -18
  45. package/dist/config/config.js.map +1 -1
  46. package/dist/editor/AdminRequiredView.js +1 -1
  47. package/dist/editor/AdminRequiredView.js.map +1 -1
  48. package/dist/editor/ConcurrentUserLimitDialog.d.ts +2 -1
  49. package/dist/editor/ConcurrentUserLimitDialog.js +26 -11
  50. package/dist/editor/ConcurrentUserLimitDialog.js.map +1 -1
  51. package/dist/editor/ConfirmationDialog.js +1 -1
  52. package/dist/editor/ContentTree.js +2 -2
  53. package/dist/editor/ContentTree.js.map +1 -1
  54. package/dist/editor/ContextMenu.js +36 -6
  55. package/dist/editor/ContextMenu.js.map +1 -1
  56. package/dist/editor/DeleteItemsWarning.js +2 -2
  57. package/dist/editor/DeleteItemsWarning.js.map +1 -1
  58. package/dist/editor/Editor.js +49 -4
  59. package/dist/editor/Editor.js.map +1 -1
  60. package/dist/editor/EditorWarning.js +1 -1
  61. package/dist/editor/EditorWarning.js.map +1 -1
  62. package/dist/editor/FieldActionsOverlay.js +1 -1
  63. package/dist/editor/FieldActionsOverlay.js.map +1 -1
  64. package/dist/editor/FieldHistory.js +7 -7
  65. package/dist/editor/FieldHistory.js.map +1 -1
  66. package/dist/editor/FieldList.js +45 -4
  67. package/dist/editor/FieldList.js.map +1 -1
  68. package/dist/editor/FieldListField.js +1 -1
  69. package/dist/editor/FieldListField.js.map +1 -1
  70. package/dist/editor/FieldListFieldWithFallbacks.js +1 -1
  71. package/dist/editor/FieldListFieldWithFallbacks.js.map +1 -1
  72. package/dist/editor/MainLayout.js +3 -6
  73. package/dist/editor/MainLayout.js.map +1 -1
  74. package/dist/editor/MigrationsView.js +6 -6
  75. package/dist/editor/MigrationsView.js.map +1 -1
  76. package/dist/editor/PictureCropper.js +2 -2
  77. package/dist/editor/PictureCropper.js.map +1 -1
  78. package/dist/editor/SetupWizard.js +1 -1
  79. package/dist/editor/SetupWizard.js.map +1 -1
  80. package/dist/editor/UsedBy.js +2 -2
  81. package/dist/editor/UsedBy.js.map +1 -1
  82. package/dist/editor/WorkspaceTitleSwitcher.js +3 -3
  83. package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -1
  84. package/dist/editor/ai/AgentProfileSelector.js +4 -4
  85. package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
  86. package/dist/editor/ai/AgentSharingSection.js +6 -6
  87. package/dist/editor/ai/AgentSharingSection.js.map +1 -1
  88. package/dist/editor/ai/Agents.js +3 -3
  89. package/dist/editor/ai/Agents.js.map +1 -1
  90. package/dist/editor/ai/ContentInspectorPopover.js +2 -2
  91. package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
  92. package/dist/editor/ai/GuidanceOverlay.js +1 -1
  93. package/dist/editor/ai/GuidanceOverlay.js.map +1 -1
  94. package/dist/editor/ai/HeartbeatDiagnosticsPanel.js +5 -19
  95. package/dist/editor/ai/HeartbeatDiagnosticsPanel.js.map +1 -1
  96. package/dist/editor/ai/InlineAiDialog.d.ts +13 -0
  97. package/dist/editor/ai/InlineAiDialog.js +52 -14
  98. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  99. package/dist/editor/ai/InlineAiTrigger.js +1 -1
  100. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  101. package/dist/editor/ai/bridgeInlineTextReplace.d.ts +16 -0
  102. package/dist/editor/ai/bridgeInlineTextReplace.js +31 -0
  103. package/dist/editor/ai/bridgeInlineTextReplace.js.map +1 -0
  104. package/dist/editor/ai/dialogs/ComponentTypeSelectorInline.js +2 -2
  105. package/dist/editor/ai/dialogs/ComponentTypeSelectorInline.js.map +1 -1
  106. package/dist/editor/ai/dialogs/QuestionnaireInline.js +3 -3
  107. package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
  108. package/dist/editor/ai/inlineAiTextEditLabels.d.ts +1 -1
  109. package/dist/editor/ai/inlineAiTextEditLabels.js +1 -1
  110. package/dist/editor/ai/terminal/components/ActivitySummaryCell.js +4 -4
  111. package/dist/editor/ai/terminal/components/ActivitySummaryCell.js.map +1 -1
  112. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +7 -7
  113. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -1
  114. package/dist/editor/ai/terminal/components/AgentContextItemPicker.js +1 -1
  115. package/dist/editor/ai/terminal/components/AgentContextItemPicker.js.map +1 -1
  116. package/dist/editor/ai/terminal/components/AgentDocumentList.js +3 -3
  117. package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
  118. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js +1 -1
  119. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js.map +1 -1
  120. package/dist/editor/ai/terminal/components/AgentGreeting.js +2 -2
  121. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  122. package/dist/editor/ai/terminal/components/AgentMemoryPanel.js +2 -2
  123. package/dist/editor/ai/terminal/components/AgentMemoryPanel.js.map +1 -1
  124. package/dist/editor/ai/terminal/components/AgentModeSelector.js +2 -2
  125. package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -1
  126. package/dist/editor/ai/terminal/components/AgentParentLink.js +1 -1
  127. package/dist/editor/ai/terminal/components/AgentParentLink.js.map +1 -1
  128. package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js +1 -1
  129. package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js.map +1 -1
  130. package/dist/editor/ai/terminal/components/AgentProfileSwitcher.js +1 -1
  131. package/dist/editor/ai/terminal/components/AgentProfileSwitcher.js.map +1 -1
  132. package/dist/editor/ai/terminal/components/AgentProjectProgress.js +1 -1
  133. package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -1
  134. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +1 -1
  135. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
  136. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +1 -1
  137. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
  138. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +5 -5
  139. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
  140. package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.js +1 -1
  141. package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.js.map +1 -1
  142. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +1 -1
  143. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -1
  144. package/dist/editor/ai/terminal/components/AgentSettingsSections.js +4 -2
  145. package/dist/editor/ai/terminal/components/AgentSettingsSections.js.map +1 -1
  146. package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.js +2 -2
  147. package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.js.map +1 -1
  148. package/dist/editor/ai/terminal/components/AgentSuggestionBanner.js +1 -1
  149. package/dist/editor/ai/terminal/components/AgentSuggestionBanner.js.map +1 -1
  150. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +1 -1
  151. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  152. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +3 -3
  153. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
  154. package/dist/editor/ai/terminal/components/AiResponseMessage.js +11 -14
  155. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  156. package/dist/editor/ai/terminal/components/ApprovalCard.js +3 -4
  157. package/dist/editor/ai/terminal/components/ApprovalCard.js.map +1 -1
  158. package/dist/editor/ai/terminal/components/ContextInfoBar.js +1 -1
  159. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
  160. package/dist/editor/ai/terminal/components/EditOperationsPanel.js +2 -2
  161. package/dist/editor/ai/terminal/components/EditOperationsPanel.js.map +1 -1
  162. package/dist/editor/ai/terminal/components/HeartbeatMessage.js +1 -1
  163. package/dist/editor/ai/terminal/components/HeartbeatMessage.js.map +1 -1
  164. package/dist/editor/ai/terminal/components/QuestionnaireRecap.js +2 -2
  165. package/dist/editor/ai/terminal/components/QuestionnaireRecap.js.map +1 -1
  166. package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js +4 -4
  167. package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js.map +1 -1
  168. package/dist/editor/ai/terminal/components/TodoListPanel.js +4 -4
  169. package/dist/editor/ai/terminal/components/TodoListPanel.js.map +1 -1
  170. package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +9 -0
  171. package/dist/editor/ai/terminal/components/ToolCallDisplay.js +63 -22
  172. package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
  173. package/dist/editor/ai/terminal/components/UserMessage.js +10 -6
  174. package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
  175. package/dist/editor/ai/terminal/useAgentTextareaDropHandlers.js +35 -7
  176. package/dist/editor/ai/terminal/useAgentTextareaDropHandlers.js.map +1 -1
  177. package/dist/editor/ai-image-editor/AiImageEditorDialog.js +5 -5
  178. package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
  179. package/dist/editor/ai-image-editor/AiImageResultOverlay.js +1 -1
  180. package/dist/editor/bridge/protocol.d.ts +6 -0
  181. package/dist/editor/bridge/protocol.js +1 -1
  182. package/dist/editor/bridge/protocol.js.map +1 -1
  183. package/dist/editor/client/AboutDialog.js +1 -1
  184. package/dist/editor/client/AboutDialog.js.map +1 -1
  185. package/dist/editor/client/EditorShell.js +69 -44
  186. package/dist/editor/client/EditorShell.js.map +1 -1
  187. package/dist/editor/client/agentTerminalFocus.d.ts +1 -1
  188. package/dist/editor/client/agentTerminalFocus.js +1 -1
  189. package/dist/editor/client/agentTerminalFocus.js.map +1 -1
  190. package/dist/editor/client/editHistoryReconciliation.d.ts +10 -0
  191. package/dist/editor/client/editHistoryReconciliation.js +25 -0
  192. package/dist/editor/client/editHistoryReconciliation.js.map +1 -0
  193. package/dist/editor/client/errorToast.js +1 -1
  194. package/dist/editor/client/errorToast.js.map +1 -1
  195. package/dist/editor/client/hooks/useEditorWebSocket.d.ts +4 -3
  196. package/dist/editor/client/hooks/useEditorWebSocket.js +265 -64
  197. package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
  198. package/dist/editor/client/hooks/useSocketMessageHandler.js +29 -6
  199. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  200. package/dist/editor/client/operations.js +62 -23
  201. package/dist/editor/client/operations.js.map +1 -1
  202. package/dist/editor/client/pageModelBuilder.js +11 -6
  203. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  204. package/dist/editor/client/sessionIdClaim.d.ts +22 -0
  205. package/dist/editor/client/sessionIdClaim.js +77 -0
  206. package/dist/editor/client/sessionIdClaim.js.map +1 -0
  207. package/dist/editor/client/sidebarAvailability.d.ts +9 -0
  208. package/dist/editor/client/sidebarAvailability.js +29 -0
  209. package/dist/editor/client/sidebarAvailability.js.map +1 -0
  210. package/dist/editor/client/ui/FullscreenControls.js +1 -1
  211. package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
  212. package/dist/editor/client/waitForEditOperationTerminal.d.ts +2 -0
  213. package/dist/editor/client/waitForEditOperationTerminal.js +73 -9
  214. package/dist/editor/client/waitForEditOperationTerminal.js.map +1 -1
  215. package/dist/editor/commands/componentCommands.js +17 -15
  216. package/dist/editor/commands/componentCommands.js.map +1 -1
  217. package/dist/editor/commands/itemCommands.js +64 -9
  218. package/dist/editor/commands/itemCommands.js.map +1 -1
  219. package/dist/editor/commands/placeholderCommands.js +1 -1
  220. package/dist/editor/commands/placeholderCommands.js.map +1 -1
  221. package/dist/editor/content-tree/IndicatorSettings.js +2 -2
  222. package/dist/editor/content-tree/TreeSettingsMenu.js +1 -1
  223. package/dist/editor/content-tree/TreeSettingsMenu.js.map +1 -1
  224. package/dist/editor/context-menu/InsertMenu.js +1 -1
  225. package/dist/editor/context-menu/InsertMenu.js.map +1 -1
  226. package/dist/editor/editor-warnings/FinalWorkflowStateReadOnly.js +1 -1
  227. package/dist/editor/editor-warnings/FinalWorkflowStateReadOnly.js.map +1 -1
  228. package/dist/editor/editor-warnings/NoWorkflowWriteAccess.js +1 -1
  229. package/dist/editor/editor-warnings/NoWorkflowWriteAccess.js.map +1 -1
  230. package/dist/editor/editor-warnings/NoWriteAccess.js +3 -1
  231. package/dist/editor/editor-warnings/NoWriteAccess.js.map +1 -1
  232. package/dist/editor/field-types/AttachmentEditor.js +1 -1
  233. package/dist/editor/field-types/AttachmentEditor.js.map +1 -1
  234. package/dist/editor/field-types/CheckboxEditor.js +1 -1
  235. package/dist/editor/field-types/CheckboxEditor.js.map +1 -1
  236. package/dist/editor/field-types/DateFieldEditor.js +2 -2
  237. package/dist/editor/field-types/DateFieldEditor.js.map +1 -1
  238. package/dist/editor/field-types/DateTimeFieldEditor.js +1 -1
  239. package/dist/editor/field-types/DateTimeFieldEditor.js.map +1 -1
  240. package/dist/editor/field-types/TreeListEditor.d.ts +3 -1
  241. package/dist/editor/field-types/TreeListEditor.js +5 -5
  242. package/dist/editor/field-types/TreeListEditor.js.map +1 -1
  243. package/dist/editor/field-types/richtext/components/ReactSlate.js +1 -1
  244. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  245. package/dist/editor/field-types/richtext/richTextToolbarIcons.js +14 -14
  246. package/dist/editor/field-types/richtext/richTextToolbarIcons.js.map +1 -1
  247. package/dist/editor/field-types/textContextMenuFactory.js +1 -1
  248. package/dist/editor/field-types/textContextMenuFactory.js.map +1 -1
  249. package/dist/editor/itemContextMenu.js +1 -1
  250. package/dist/editor/itemContextMenu.js.map +1 -1
  251. package/dist/editor/media-selector/AiImageSearchPrompt.js +1 -1
  252. package/dist/editor/media-selector/AiImageSearchPrompt.js.map +1 -1
  253. package/dist/editor/media-selector/MediaFolderBrowser.js +5 -5
  254. package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
  255. package/dist/editor/media-selector/MediaSelector.js +1 -1
  256. package/dist/editor/media-selector/MediaSelector.js.map +1 -1
  257. package/dist/editor/media-selector/Preview.js +1 -1
  258. package/dist/editor/media-selector/Preview.js.map +1 -1
  259. package/dist/editor/media-selector/Thumbnails.js +4 -4
  260. package/dist/editor/media-selector/Thumbnails.js.map +1 -1
  261. package/dist/editor/media-selector/TreeSelector.js +3 -3
  262. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  263. package/dist/editor/media-selector/UploadZone.js +1 -1
  264. package/dist/editor/media-selector/UploadZone.js.map +1 -1
  265. package/dist/editor/menubar/ActiveUsers.js +17 -15
  266. package/dist/editor/menubar/ActiveUsers.js.map +1 -1
  267. package/dist/editor/menubar/FavoritesControls.js +3 -3
  268. package/dist/editor/menubar/FavoritesControls.js.map +1 -1
  269. package/dist/editor/menubar/ItemLanguageVersion.js +7 -3
  270. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  271. package/dist/editor/menubar/OpenInNewTabButton.d.ts +1 -1
  272. package/dist/editor/menubar/OpenInNewTabButton.js +2 -2
  273. package/dist/editor/menubar/OpenInNewTabButton.js.map +1 -1
  274. package/dist/editor/menubar/OperationsIndicator.js +3 -3
  275. package/dist/editor/menubar/OperationsIndicator.js.map +1 -1
  276. package/dist/editor/menubar/ToolbarFactory.js +2 -7
  277. package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
  278. package/dist/editor/menubar/VersionSelector.js +15 -13
  279. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  280. package/dist/editor/menubar/WorkflowButton.js +5 -5
  281. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  282. package/dist/editor/menubar/activeUserSessions.d.ts +9 -0
  283. package/dist/editor/menubar/activeUserSessions.js +30 -0
  284. package/dist/editor/menubar/activeUserSessions.js.map +1 -0
  285. package/dist/editor/menubar/toolbar-sections/CompareControls.js +1 -1
  286. package/dist/editor/menubar/toolbar-sections/CompareControls.js.map +1 -1
  287. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js +1 -1
  288. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js.map +1 -1
  289. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +12 -12
  290. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  291. package/dist/editor/menubar/toolbar-sections/UndoRedoControls.js +1 -1
  292. package/dist/editor/menubar/toolbar-sections/UndoRedoControls.js.map +1 -1
  293. package/dist/editor/menubar/toolbar-sections/UtilityControls.d.ts +1 -3
  294. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +3 -4
  295. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  296. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +3 -2
  297. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  298. package/dist/editor/notifications/NotificationCenter.js +23 -5
  299. package/dist/editor/notifications/NotificationCenter.js.map +1 -1
  300. package/dist/editor/notifications/NotificationItem.js +3 -3
  301. package/dist/editor/notifications/NotificationItem.js.map +1 -1
  302. package/dist/editor/notifications/WatchButton.js +8 -8
  303. package/dist/editor/notifications/WatchButton.js.map +1 -1
  304. package/dist/editor/notifications/watchEventOptions.js +2 -2
  305. package/dist/editor/notifications/watchEventOptions.js.map +1 -1
  306. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +2 -2
  307. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  308. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +5 -5
  309. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -1
  310. package/dist/editor/page-editor-chrome/EmptyImageFieldIndicators.js +2 -2
  311. package/dist/editor/page-editor-chrome/EmptyImageFieldIndicators.js.map +1 -1
  312. package/dist/editor/page-editor-chrome/FieldActionIndicator.js +1 -1
  313. package/dist/editor/page-editor-chrome/FieldActionIndicator.js.map +1 -1
  314. package/dist/editor/page-editor-chrome/FrameMenu.js +2 -2
  315. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  316. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +1 -1
  317. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  318. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +16 -13
  319. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +75 -35
  320. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
  321. package/dist/editor/page-viewer/EditorForm.js +1 -1
  322. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  323. package/dist/editor/page-viewer/MiniMap.d.ts +2 -1
  324. package/dist/editor/page-viewer/MiniMap.js +98 -12
  325. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  326. package/dist/editor/page-viewer/PageViewer.js +2 -2
  327. package/dist/editor/page-viewer/PageViewerFrame.js +184 -90
  328. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  329. package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +34 -1
  330. package/dist/editor/page-viewer/bridgeFieldPatch.js +69 -1
  331. package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
  332. package/dist/editor/page-viewer/bridgeInlineEditSession.d.ts +49 -0
  333. package/dist/editor/page-viewer/bridgeInlineEditSession.js +189 -0
  334. package/dist/editor/page-viewer/bridgeInlineEditSession.js.map +1 -0
  335. package/dist/editor/personalization/ActionList.js +1 -1
  336. package/dist/editor/personalization/ActionList.js.map +1 -1
  337. package/dist/editor/personalization/ConditionTreeEditor.js +1 -1
  338. package/dist/editor/personalization/ConditionTreeEditor.js.map +1 -1
  339. package/dist/editor/personalization/PersonalizationPanel.js +7 -7
  340. package/dist/editor/personalization/PersonalizationPanel.js.map +1 -1
  341. package/dist/editor/personalization/RuleElementPicker.js +1 -1
  342. package/dist/editor/personalization/RuleElementPicker.js.map +1 -1
  343. package/dist/editor/personalization/RuleList.js +3 -3
  344. package/dist/editor/personalization/RuleList.js.map +1 -1
  345. package/dist/editor/personalization/TreeItemPicker.js +3 -3
  346. package/dist/editor/personalization/TreeItemPicker.js.map +1 -1
  347. package/dist/editor/reviews/CommentDisplayPopover.js +2 -2
  348. package/dist/editor/reviews/CommentEditor.js +3 -2
  349. package/dist/editor/reviews/CommentEditor.js.map +1 -1
  350. package/dist/editor/reviews/CommentPopover.js +5 -3
  351. package/dist/editor/reviews/CommentPopover.js.map +1 -1
  352. package/dist/editor/reviews/CommentView.js +8 -8
  353. package/dist/editor/reviews/CommentView.js.map +1 -1
  354. package/dist/editor/reviews/Comments.js +4 -4
  355. package/dist/editor/reviews/Comments.js.map +1 -1
  356. package/dist/editor/reviews/CreateReviewConfirmStep.js +1 -1
  357. package/dist/editor/reviews/CreateReviewConfirmStep.js.map +1 -1
  358. package/dist/editor/reviews/CreateReviewDialog.js +4 -5
  359. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  360. package/dist/editor/reviews/CreateReviewReviewersStep.js +1 -1
  361. package/dist/editor/reviews/CreateReviewReviewersStep.js.map +1 -1
  362. package/dist/editor/reviews/CreateReviewSettingsStep.js +2 -1
  363. package/dist/editor/reviews/CreateReviewSettingsStep.js.map +1 -1
  364. package/dist/editor/reviews/CreateReviewSuccessStep.js +1 -1
  365. package/dist/editor/reviews/CreateReviewSuccessStep.js.map +1 -1
  366. package/dist/editor/reviews/DecisionsMatrix.js +13 -13
  367. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  368. package/dist/editor/reviews/EditReviewSettingsDialog.d.ts +1 -1
  369. package/dist/editor/reviews/EditReviewSettingsDialog.js +28 -63
  370. package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
  371. package/dist/editor/reviews/FeedbackModeIntro.js +3 -3
  372. package/dist/editor/reviews/FeedbackModeIntro.js.map +1 -1
  373. package/dist/editor/reviews/LatestFeedback.js +3 -3
  374. package/dist/editor/reviews/LatestFeedback.js.map +1 -1
  375. package/dist/editor/reviews/MultiReviewManager.js +0 -1
  376. package/dist/editor/reviews/MultiReviewManager.js.map +1 -1
  377. package/dist/editor/reviews/PreconfiguredReviewerSelector.js +1 -1
  378. package/dist/editor/reviews/PreconfiguredReviewerSelector.js.map +1 -1
  379. package/dist/editor/reviews/ReviewCard.d.ts +1 -4
  380. package/dist/editor/reviews/ReviewCard.js +28 -7
  381. package/dist/editor/reviews/ReviewCard.js.map +1 -1
  382. package/dist/editor/reviews/ReviewDetail.js +39 -35
  383. package/dist/editor/reviews/ReviewDetail.js.map +1 -1
  384. package/dist/editor/reviews/ReviewItemsPanel.d.ts +1 -3
  385. package/dist/editor/reviews/ReviewItemsPanel.js +20 -56
  386. package/dist/editor/reviews/ReviewItemsPanel.js.map +1 -1
  387. package/dist/editor/reviews/ReviewersPanel.js +3 -3
  388. package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
  389. package/dist/editor/reviews/ReviewsList.js +9 -74
  390. package/dist/editor/reviews/ReviewsList.js.map +1 -1
  391. package/dist/editor/reviews/SecretPhraseInput.d.ts +8 -0
  392. package/dist/editor/reviews/SecretPhraseInput.js +9 -0
  393. package/dist/editor/reviews/SecretPhraseInput.js.map +1 -0
  394. package/dist/editor/reviews/SuggestedEdit.js +6 -6
  395. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  396. package/dist/editor/reviews/SuggestionDisplayPopover.js +1 -1
  397. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  398. package/dist/editor/reviews/reviewListPresentation.d.ts +2 -0
  399. package/dist/editor/reviews/reviewListPresentation.js +11 -0
  400. package/dist/editor/reviews/reviewListPresentation.js.map +1 -1
  401. package/dist/editor/reviews/useMultiReview.d.ts +1 -2
  402. package/dist/editor/reviews/useMultiReview.js +74 -65
  403. package/dist/editor/reviews/useMultiReview.js.map +1 -1
  404. package/dist/editor/services/contentService.d.ts +1 -9
  405. package/dist/editor/services/contentService.js +4 -1
  406. package/dist/editor/services/contentService.js.map +1 -1
  407. package/dist/editor/services/editService.d.ts +1 -0
  408. package/dist/editor/services/editService.js +12 -19
  409. package/dist/editor/services/editService.js.map +1 -1
  410. package/dist/editor/services/reviewsService.d.ts +1 -9
  411. package/dist/editor/services/reviewsService.js +1 -9
  412. package/dist/editor/services/reviewsService.js.map +1 -1
  413. package/dist/editor/services/systemService.d.ts +1 -2
  414. package/dist/editor/services/systemService.js +0 -3
  415. package/dist/editor/services/systemService.js.map +1 -1
  416. package/dist/editor/settings/About.js +6 -6
  417. package/dist/editor/settings/About.js.map +1 -1
  418. package/dist/editor/settings/IndexOverview.js +1 -1
  419. package/dist/editor/settings/IndexOverview.js.map +1 -1
  420. package/dist/editor/settings/QuotaInfo.js +5 -5
  421. package/dist/editor/settings/QuotaInfo.js.map +1 -1
  422. package/dist/editor/settings/SettingsBreadcrumb.js +1 -1
  423. package/dist/editor/settings/SettingsBreadcrumb.js.map +1 -1
  424. package/dist/editor/settings/SettingsView.js +3 -2
  425. package/dist/editor/settings/SettingsView.js.map +1 -1
  426. package/dist/editor/settings/StatusSummary.js +6 -6
  427. package/dist/editor/settings/StatusSummary.js.map +1 -1
  428. package/dist/editor/settings/index/EmbeddingProviderInfo.js +2 -2
  429. package/dist/editor/settings/index/EmbeddingProviderInfo.js.map +1 -1
  430. package/dist/editor/settings/index/QueueErrorsDisplay.d.ts +1 -1
  431. package/dist/editor/settings/index/QueueErrorsDisplay.js +7 -3
  432. package/dist/editor/settings/index/QueueErrorsDisplay.js.map +1 -1
  433. package/dist/editor/settings/index/embeddingErrors.d.ts +7 -0
  434. package/dist/editor/settings/index/embeddingErrors.js +105 -0
  435. package/dist/editor/settings/index/embeddingErrors.js.map +1 -0
  436. package/dist/editor/settings/index/types.d.ts +1 -0
  437. package/dist/editor/settings/index/useIndexStatus.js +2 -2
  438. package/dist/editor/settings/index/useIndexStatus.js.map +1 -1
  439. package/dist/editor/settings/panels/AgentProfileConfigPanel.js +6 -6
  440. package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
  441. package/dist/editor/settings/panels/AgentToolsPanel.js +3 -3
  442. package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
  443. package/dist/editor/settings/panels/AgentsPanel.js +2 -2
  444. package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
  445. package/dist/editor/settings/panels/ClusterInstancesPanel.js +3 -3
  446. package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
  447. package/dist/editor/settings/panels/CreateAgentProfileDialog.js +1 -1
  448. package/dist/editor/settings/panels/CreateAgentProfileDialog.js.map +1 -1
  449. package/dist/editor/settings/panels/CreateJavaScriptToolDialog.js +1 -1
  450. package/dist/editor/settings/panels/CreateJavaScriptToolDialog.js.map +1 -1
  451. package/dist/editor/settings/panels/CreateMcpServerDialog.js +1 -1
  452. package/dist/editor/settings/panels/CreateMcpServerDialog.js.map +1 -1
  453. package/dist/editor/settings/panels/FieldTypeSerializersPanel.js +2 -2
  454. package/dist/editor/settings/panels/FieldTypeSerializersPanel.js.map +1 -1
  455. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js +1 -1
  456. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js.map +1 -1
  457. package/dist/editor/settings/panels/ItemConfigPanel.js +1 -1
  458. package/dist/editor/settings/panels/ItemConfigPanel.js.map +1 -1
  459. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +1 -1
  460. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
  461. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js +5 -5
  462. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js.map +1 -1
  463. package/dist/editor/settings/panels/JavaScriptToolsPanel.js +5 -5
  464. package/dist/editor/settings/panels/JavaScriptToolsPanel.js.map +1 -1
  465. package/dist/editor/settings/panels/McpToolsPanel.js +3 -3
  466. package/dist/editor/settings/panels/McpToolsPanel.js.map +1 -1
  467. package/dist/editor/settings/panels/ModelConfigPanel.js +6 -6
  468. package/dist/editor/settings/panels/ModelConfigPanel.js.map +1 -1
  469. package/dist/editor/settings/panels/ModelsPanel.js +4 -4
  470. package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
  471. package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js +16 -13
  472. package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js.map +1 -1
  473. package/dist/editor/settings/panels/PersistentLogsPanel.js +1 -1
  474. package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -1
  475. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +2 -3
  476. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
  477. package/dist/editor/settings/panels/ProjectTemplateSelector.js +1 -1
  478. package/dist/editor/settings/panels/ProjectTemplateSelector.js.map +1 -1
  479. package/dist/editor/settings/panels/ProjectTemplateSelectorList.js +1 -1
  480. package/dist/editor/settings/panels/ProjectTemplateSelectorList.js.map +1 -1
  481. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +13 -13
  482. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  483. package/dist/editor/settings/panels/ProviderConfigPanel.js +3 -3
  484. package/dist/editor/settings/panels/ProviderConfigPanel.js.map +1 -1
  485. package/dist/editor/settings/panels/ProvidersPanel.js +1 -1
  486. package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
  487. package/dist/editor/settings/panels/SearchConfigPanel.js +3 -3
  488. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
  489. package/dist/editor/settings/panels/StatusPanel.js +5 -5
  490. package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
  491. package/dist/editor/settings/panels/SystemSettingsPanel.js +1 -1
  492. package/dist/editor/settings/panels/SystemSettingsPanel.js.map +1 -1
  493. package/dist/editor/settings/panels/UserPreferencesPanel.js +1 -1
  494. package/dist/editor/settings/panels/UserPreferencesPanel.js.map +1 -1
  495. package/dist/editor/setup-wizard/SetupStepError.js +1 -1
  496. package/dist/editor/setup-wizard/SetupStepError.js.map +1 -1
  497. package/dist/editor/setup-wizard/SetupStepLayout.js +1 -1
  498. package/dist/editor/setup-wizard/SetupStepLayout.js.map +1 -1
  499. package/dist/editor/setup-wizard/steps/CompleteStep.js +2 -2
  500. package/dist/editor/setup-wizard/steps/CompleteStep.js.map +1 -1
  501. package/dist/editor/setup-wizard/steps/CreateSettingsStep.js +1 -1
  502. package/dist/editor/setup-wizard/steps/CreateSettingsStep.js.map +1 -1
  503. package/dist/editor/setup-wizard/steps/LicenseActivationStep.js +1 -1
  504. package/dist/editor/setup-wizard/steps/LicenseActivationStep.js.map +1 -1
  505. package/dist/editor/setup-wizard/steps/LicenseEmailStep.js +1 -1
  506. package/dist/editor/setup-wizard/steps/LicenseEmailStep.js.map +1 -1
  507. package/dist/editor/setup-wizard/steps/ModelSelectionStep.js +6 -12
  508. package/dist/editor/setup-wizard/steps/ModelSelectionStep.js.map +1 -1
  509. package/dist/editor/setup-wizard/steps/ProviderStep.js +6 -6
  510. package/dist/editor/setup-wizard/steps/ProviderStep.js.map +1 -1
  511. package/dist/editor/setup-wizard/steps/WelcomeStep.js +1 -1
  512. package/dist/editor/sidebar/Completions.js +1 -1
  513. package/dist/editor/sidebar/Completions.js.map +1 -1
  514. package/dist/editor/sidebar/ComponentPalette.js +1 -1
  515. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  516. package/dist/editor/sidebar/ComponentTree.js +11 -11
  517. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  518. package/dist/editor/sidebar/DictionaryEditor.js +40 -15
  519. package/dist/editor/sidebar/DictionaryEditor.js.map +1 -1
  520. package/dist/editor/sidebar/Favorites.js +5 -5
  521. package/dist/editor/sidebar/Favorites.js.map +1 -1
  522. package/dist/editor/sidebar/NavigationPanelItem.js +1 -1
  523. package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
  524. package/dist/editor/sidebar/OperationItem.js +4 -4
  525. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  526. package/dist/editor/sidebar/Sessions.js +14 -7
  527. package/dist/editor/sidebar/Sessions.js.map +1 -1
  528. package/dist/editor/sidebar/SidebarPanel.js +7 -5
  529. package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
  530. package/dist/editor/sidebar/TimelineView.js +1 -1
  531. package/dist/editor/sidebar/TimelineView.js.map +1 -1
  532. package/dist/editor/sidebar/Validation.js +1 -1
  533. package/dist/editor/sidebar/Validation.js.map +1 -1
  534. package/dist/editor/sidebar/Workbox.js +1 -1
  535. package/dist/editor/sidebar/Workbox.js.map +1 -1
  536. package/dist/editor/template-wizard/TemplateBuilderDialog.js +1 -1
  537. package/dist/editor/template-wizard/TemplateBuilderDialog.js.map +1 -1
  538. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +10 -10
  539. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js.map +1 -1
  540. package/dist/editor/tree-indicators/GutterColumns.js +2 -2
  541. package/dist/editor/ui/ComponentThumbnailDialog.js +1 -1
  542. package/dist/editor/ui/ComponentThumbnailDialog.js.map +1 -1
  543. package/dist/editor/ui/IconSelectorDialog.js +1 -1
  544. package/dist/editor/ui/IconSelectorDialog.js.map +1 -1
  545. package/dist/editor/ui/Icons.d.ts +1 -1
  546. package/dist/editor/ui/Icons.js +7 -7
  547. package/dist/editor/ui/Icons.js.map +1 -1
  548. package/dist/editor/ui/ItemList.js +1 -1
  549. package/dist/editor/ui/ItemList.js.map +1 -1
  550. package/dist/editor/ui/PerfectTree.js +2 -2
  551. package/dist/editor/ui/PerfectTree.js.map +1 -1
  552. package/dist/editor/ui/PublishDialog.js +1 -1
  553. package/dist/editor/ui/PublishDialog.js.map +1 -1
  554. package/dist/editor/ui/PublishItemDialog.js +2 -2
  555. package/dist/editor/ui/PublishItemDialog.js.map +1 -1
  556. package/dist/editor/ui/PublishRestrictionsDialog.js +20 -11
  557. package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
  558. package/dist/editor/ui/Section.js +2 -2
  559. package/dist/editor/ui/Section.js.map +1 -1
  560. package/dist/editor/ui/SimpleTable.d.ts +3 -1
  561. package/dist/editor/ui/SimpleTable.js +3 -3
  562. package/dist/editor/ui/SimpleTable.js.map +1 -1
  563. package/dist/editor/ui/Spinner.js +1 -1
  564. package/dist/editor/ui/Spinner.js.map +1 -1
  565. package/dist/editor/ui/Splitter.js +3 -7
  566. package/dist/editor/ui/Splitter.js.map +1 -1
  567. package/dist/editor/ui/TemplateSelectorDialog.js +2 -2
  568. package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
  569. package/dist/editor/ui/WorkboxItemsTable.js +2 -2
  570. package/dist/editor/ui/WorkboxItemsTable.js.map +1 -1
  571. package/dist/editor/utils.js +6 -0
  572. package/dist/editor/utils.js.map +1 -1
  573. package/dist/editor/version-diff/versionDiffTargets.js +2 -1
  574. package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
  575. package/dist/editor/views/EditorSlot.js +1 -1
  576. package/dist/editor/views/EditorSlot.js.map +1 -1
  577. package/dist/editor/views/ItemEditor.js +2 -2
  578. package/dist/editor/views/ItemEditor.js.map +1 -1
  579. package/dist/editor/views/SingleEditView.js +2 -2
  580. package/dist/index.d.ts +0 -1
  581. package/dist/index.js +0 -1
  582. package/dist/index.js.map +1 -1
  583. package/dist/licensing/EmailEntry.js +1 -1
  584. package/dist/licensing/EmailEntry.js.map +1 -1
  585. package/dist/licensing/FeatureGate.js +1 -1
  586. package/dist/licensing/LicenseActivationForm.js +1 -1
  587. package/dist/licensing/LicenseActivationForm.js.map +1 -1
  588. package/dist/licensing/LicenseCodeEntry.js +1 -1
  589. package/dist/licensing/LicenseCodeEntry.js.map +1 -1
  590. package/dist/licensing/LicenseOverlay.js +2 -2
  591. package/dist/licensing/LicenseOverlay.js.map +1 -1
  592. package/dist/revision.d.ts +2 -2
  593. package/dist/revision.js +2 -2
  594. package/dist/setup/services/setupWizardService.js +4 -1
  595. package/dist/setup/services/setupWizardService.js.map +1 -1
  596. package/dist/setup/wizard/steps/AddModelDialog.js +1 -1
  597. package/dist/setup/wizard/steps/AddModelDialog.js.map +1 -1
  598. package/dist/setup/wizard/steps/ImportModelDialog.js +3 -3
  599. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  600. package/dist/splash-screen/ModernSplashScreen.d.ts +1 -1
  601. package/dist/splash-screen/ModernSplashScreen.js +11 -11
  602. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  603. package/dist/splash-screen/NewPage.js +3 -3
  604. package/dist/splash-screen/NewPage.js.map +1 -1
  605. package/dist/splash-screen/OpenPage.js +1 -1
  606. package/dist/splash-screen/OpenPage.js.map +1 -1
  607. package/dist/splash-screen/ParheliaAssistantChat.js +7 -7
  608. package/dist/splash-screen/ParheliaAssistantChat.js.map +1 -1
  609. package/dist/splash-screen/RecentPages.js +1 -1
  610. package/dist/splash-screen/RecentPages.js.map +1 -1
  611. package/dist/task-board/TaskBoardWorkspace.js +1 -1
  612. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  613. package/dist/task-board/components/CommentsList.js +4 -4
  614. package/dist/task-board/components/CommentsList.js.map +1 -1
  615. package/dist/task-board/components/FinishedProjectCard.js +1 -1
  616. package/dist/task-board/components/FinishedProjectCard.js.map +1 -1
  617. package/dist/task-board/components/ItemCollectionEditorDialog.js +1 -1
  618. package/dist/task-board/components/ItemCollectionEditorDialog.js.map +1 -1
  619. package/dist/task-board/components/ItemCollectionPicker.js +1 -1
  620. package/dist/task-board/components/ItemCollectionPicker.js.map +1 -1
  621. package/dist/task-board/components/ProjectBudgetBanner.js +1 -1
  622. package/dist/task-board/components/ProjectBudgetBanner.js.map +1 -1
  623. package/dist/task-board/components/ProjectDashboard.js +4 -4
  624. package/dist/task-board/components/ProjectDashboard.js.map +1 -1
  625. package/dist/task-board/components/ProjectGoalsPanel.js +17 -13
  626. package/dist/task-board/components/ProjectGoalsPanel.js.map +1 -1
  627. package/dist/task-board/components/ProjectListContent.js +5 -5
  628. package/dist/task-board/components/ProjectListContent.js.map +1 -1
  629. package/dist/task-board/components/ProjectOverviewContent.js +4 -4
  630. package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
  631. package/dist/task-board/components/ProjectPropertiesPanel.js +5 -5
  632. package/dist/task-board/components/ProjectPropertiesPanel.js.map +1 -1
  633. package/dist/task-board/components/ProjectSettingsDialog.js +3 -3
  634. package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
  635. package/dist/task-board/components/TaskAgentPanel.js +4 -4
  636. package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
  637. package/dist/task-board/components/TaskAssigneePicker.js +4 -4
  638. package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
  639. package/dist/task-board/components/TaskAttachmentDropZone.js +3 -3
  640. package/dist/task-board/components/TaskAttachmentDropZone.js.map +1 -1
  641. package/dist/task-board/components/TaskAttachmentsSection.js +1 -1
  642. package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
  643. package/dist/task-board/components/TaskBoardMyTasksSidebar.js +1 -1
  644. package/dist/task-board/components/TaskBoardMyTasksSidebar.js.map +1 -1
  645. package/dist/task-board/components/TaskBoardProjectListSidebar.js +4 -4
  646. package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
  647. package/dist/task-board/components/TaskBoardProjectSelector.js +1 -1
  648. package/dist/task-board/components/TaskBoardProjectSelector.js.map +1 -1
  649. package/dist/task-board/components/TaskBoardTitlebar.js +1 -1
  650. package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
  651. package/dist/task-board/components/TaskCard.js +1 -1
  652. package/dist/task-board/components/TaskCard.js.map +1 -1
  653. package/dist/task-board/components/TaskDetailPanel.js +6 -6
  654. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  655. package/dist/task-board/components/TaskReviewActions.js +6 -6
  656. package/dist/task-board/components/TaskReviewActions.js.map +1 -1
  657. package/dist/task-board/components/TaskRow.js +1 -1
  658. package/dist/task-board/components/TaskRow.js.map +1 -1
  659. package/dist/task-board/components/TaskboardPersistentLogPanel.js +3 -3
  660. package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -1
  661. package/dist/task-board/components/WizardCommunicationCards.js +3 -3
  662. package/dist/task-board/components/WizardCommunicationCards.js.map +1 -1
  663. package/dist/task-board/components/WizardCommunicationCenter.js +1 -1
  664. package/dist/task-board/components/WizardCommunicationCenter.js.map +1 -1
  665. package/dist/task-board/components/WizardTaskDetailsPanel.js +3 -3
  666. package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
  667. package/dist/task-board/views/DependencyGraphView.js +8 -8
  668. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  669. package/dist/task-board/views/WizardView.js +4 -4
  670. package/dist/task-board/views/WizardView.js.map +1 -1
  671. package/dist/tour/default-tour.js +17 -17
  672. package/dist/tour/default-tour.js.map +1 -1
  673. package/dist/tour/preview-tour.js +6 -6
  674. package/dist/tour/preview-tour.js.map +1 -1
  675. package/dist/types.d.ts +11 -5
  676. package/package.json +1 -1
  677. package/styles.css +25 -2
@@ -7,6 +7,7 @@ import { useSlotContext } from "../views/editorSlotContext";
7
7
  import { useDebouncedCallback, useThrottledCallback } from "use-debounce";
8
8
  import { PageEditorChrome } from "../page-editor-chrome/PageEditorChrome";
9
9
  import { useBridgeInlineEditing, } from "../page-editor-chrome/useBridgeInlineEditing";
10
+ import { createBridgeInlineEditSessionCoordinator, } from "./bridgeInlineEditSession";
10
11
  import { getInlineAiAnchorFromBridgeToolbar, getVisibleBridgeToolbarRect, waitForVisibleBridgeToolbarRect, } from "../page-editor-chrome/bridgeInlineFormatToolbarLayout";
11
12
  import { IFRAME_OVERLAY_BRIDGE_DRAG_GESTURE_EVENT, IFRAME_OVERLAY_BRIDGE_GEOMETRY_EVENT, IFRAME_OVERLAY_BRIDGE_SCROLL_EVENT, IframeOverlayProvider, } from "../page-editor-chrome/overlay/IframeOverlayProvider";
12
13
  import { CANVAS_REFRESH_COMPLETED_EVENT, DEVICE_CHANGE_EVENT, useViewportChangeSignal, } from "./pageViewContext";
@@ -29,8 +30,8 @@ import { toSitecoreDate } from "../utils/sitecoreDate";
29
30
  import { pickVersionAtDate } from "../utils/versionAtDate";
30
31
  import { BridgeClient } from "../bridge/BridgeClient";
31
32
  import { beginPerfTrace, isPerfTraceActive, isPerfTraceEnabled, perfTraceStep, } from "../perfTrace";
32
- import { getSuggestionDisplayValue } from "../reviews/suggestionDisplayValue";
33
- import { buildBridgeFieldPatchPayload, getBridgeFieldPatchValue, isBridgePatchableTextField, reduceActiveBridgeInlineEditForRefreshEvent, } from "./bridgeFieldPatch";
33
+ import { getPendingFieldSuggestions, getSuggestionDisplayValue, } from "../reviews/suggestionDisplayValue";
34
+ import { buildBridgeFieldPatchPayload, buildBridgeFieldPatchSignature, buildRemoteCaretFieldPatches, getBridgeFieldPatchValue, hasRemoteCaretDraftForField, isBridgePatchableTextField, isSuggestionPreviewPatchSignature, } from "./bridgeFieldPatch";
34
35
  import { bridgeSelectionMatchesInteraction, resolveBridgeTextCompletionInput, } from "./bridgeTextCompletion";
35
36
  import { logFieldValueDiagnostic, summarizeField, summarizeFieldDescriptor, summarizeFieldValue, } from "../fieldValueDiagnostics";
36
37
  import { createKeyboardEventFromBridgeInteraction } from "./bridgeKeyboardShortcuts";
@@ -618,18 +619,21 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
618
619
  const bridgeTextRangeSourcesRef = useRef(new Map());
619
620
  const activeBridgeInlineEditRef = useRef(null);
620
621
  const [isBridgeInlineEditing, setIsBridgeInlineEditing] = useState(false);
622
+ const bridgeInlineEditSessionRef = useRef(null);
623
+ if (!bridgeInlineEditSessionRef.current) {
624
+ bridgeInlineEditSessionRef.current =
625
+ createBridgeInlineEditSessionCoordinator({
626
+ stateRef: activeBridgeInlineEditRef,
627
+ onStateChange: (state) => setIsBridgeInlineEditing(!!state),
628
+ });
629
+ }
630
+ const bridgeInlineEditSession = bridgeInlineEditSessionRef.current;
621
631
  const clearActiveBridgeInlineEdit = useCallback(() => {
622
- activeBridgeInlineEditRef.current = null;
623
- setIsBridgeInlineEditing(false);
624
- }, []);
632
+ bridgeInlineEditSession.clear();
633
+ }, [bridgeInlineEditSession]);
625
634
  const reconcileActiveBridgeInlineEdit = useCallback((event) => {
626
- const current = activeBridgeInlineEditRef.current;
627
- const reconciled = reduceActiveBridgeInlineEditForRefreshEvent(current, event);
628
- if (reconciled === current)
629
- return;
630
- activeBridgeInlineEditRef.current = reconciled;
631
- setIsBridgeInlineEditing(!!reconciled);
632
- }, []);
635
+ bridgeInlineEditSession.reconcileForRefreshEvent(event);
636
+ }, [bridgeInlineEditSession]);
633
637
  const bridgeTextCompletionRef = useRef(null);
634
638
  const bridgeTextCompletionAbortRef = useRef(null);
635
639
  const bridgeTextCompletionRequestIdRef = useRef(0);
@@ -897,7 +901,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
897
901
  }, []);
898
902
  const { beginInlineEdit: beginBridgeInlineEdit, clearInlineDedupe: clearBridgeInlineDedupe, endFieldFocus: endBridgeFieldFocus, handleFieldValueChanged: handleBridgeFieldValueChanged, handleInlineEditEnded: handleBridgeInlineEditEnded, } = useBridgeInlineEditing({
899
903
  pageViewContextRef,
900
- activeBridgeInlineEditRef,
904
+ inlineEditSession: bridgeInlineEditSession,
901
905
  blockIframeBlurUntil,
902
906
  sendBeginInlineEdit,
903
907
  sendCancelInlineEdit,
@@ -916,30 +920,27 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
916
920
  selectionEndOffset: interaction.selectionEndOffset,
917
921
  },
918
922
  });
919
- clearActiveBridgeInlineEdit();
920
- const started = await beginBridgeInlineEdit(interaction);
921
- if (started && interaction.elementKey && interaction.fieldId) {
922
- const interactionItem = interaction.item?.id &&
923
- interaction.item.language &&
924
- typeof interaction.item.version === "number"
925
- ? {
926
- id: interaction.item.id,
927
- language: interaction.item.language,
928
- version: interaction.item.version,
929
- name: interaction.item.name,
930
- displayName: interaction.item.displayName,
931
- path: interaction.item.path,
932
- database: interaction.item.database,
933
- }
934
- : undefined;
935
- activeBridgeInlineEditRef.current = {
936
- elementKey: interaction.elementKey,
937
- fieldId: interaction.fieldId,
938
- item: interactionItem,
939
- modeAtStart: editContextRef.current?.mode ?? editContext.mode,
940
- };
941
- setIsBridgeInlineEditing(true);
942
- }
923
+ if (!interaction.elementKey || !interaction.fieldId)
924
+ return false;
925
+ const interactionItem = interaction.item?.id &&
926
+ interaction.item.language &&
927
+ typeof interaction.item.version === "number"
928
+ ? {
929
+ id: interaction.item.id,
930
+ language: interaction.item.language,
931
+ version: interaction.item.version,
932
+ name: interaction.item.name,
933
+ displayName: interaction.item.displayName,
934
+ path: interaction.item.path,
935
+ database: interaction.item.database,
936
+ }
937
+ : undefined;
938
+ const started = await bridgeInlineEditSession.beginSession({
939
+ elementKey: interaction.elementKey,
940
+ fieldId: interaction.fieldId,
941
+ item: interactionItem,
942
+ modeAtStart: editContextRef.current?.mode ?? editContext.mode,
943
+ }, ({ isCurrent, sessionId }) => beginBridgeInlineEdit(interaction, { isCurrent, sessionId }));
943
944
  logFieldValueDiagnostic("bridge-frame", "tracked inline edit result", {
944
945
  started,
945
946
  nextActiveInlineEdit: activeBridgeInlineEditRef.current,
@@ -947,7 +948,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
947
948
  return started;
948
949
  }, [
949
950
  beginBridgeInlineEdit,
950
- clearActiveBridgeInlineEdit,
951
+ bridgeInlineEditSession,
951
952
  editContext.mode,
952
953
  editContextRef,
953
954
  ]);
@@ -1086,12 +1087,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1086
1087
  }, []);
1087
1088
  const sendBridgeFieldPatch = useCallback((bridge, patch, observedTextContent) => {
1088
1089
  const cacheKey = `${patch.elementKey}:${patch.fieldId}`;
1089
- const signature = JSON.stringify({
1090
- value: patch.value,
1091
- isRichText: !!patch.isRichText,
1092
- source: patch.source ?? "",
1093
- observedTextContent: observedTextContent ?? "",
1094
- });
1090
+ const signature = buildBridgeFieldPatchSignature(patch, observedTextContent);
1095
1091
  const previousSignature = bridgePatchSignatureRef.current.get(cacheKey);
1096
1092
  if (previousSignature === signature) {
1097
1093
  logFieldValueDiagnostic("bridge-patch", "skipped duplicate send", {
@@ -1133,6 +1129,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1133
1129
  const offset = selection.startOffset ?? selection.endOffset;
1134
1130
  if (!editor ||
1135
1131
  !activeField?.fieldId ||
1132
+ activeField.inlineEditing !== true ||
1136
1133
  !selection.collapsed ||
1137
1134
  offset == null) {
1138
1135
  clearBridgeRemoteCaretPosition();
@@ -1153,19 +1150,50 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1153
1150
  ...sourceItem,
1154
1151
  version,
1155
1152
  };
1156
- const nextKey = `${activeField.fieldId}:${item.id}:${item.language}:${item.version}:${offset}`;
1153
+ const nextKey = JSON.stringify({
1154
+ fieldId: activeField.fieldId,
1155
+ item,
1156
+ offset,
1157
+ value: activeField.value,
1158
+ });
1157
1159
  if (lastSentBridgeCaretRef.current === nextKey)
1158
1160
  return;
1161
+ logFieldValueDiagnostic("bridge-caret", "sending position", {
1162
+ fieldId: activeField.fieldId,
1163
+ item,
1164
+ offset,
1165
+ value: summarizeFieldValue(activeField.value),
1166
+ });
1159
1167
  editor.sendSocketMessage({
1160
1168
  type: "caret-position",
1161
1169
  payload: {
1162
1170
  fieldId: activeField.fieldId,
1163
1171
  item,
1164
1172
  offset,
1173
+ value: activeField.value,
1165
1174
  },
1166
1175
  });
1167
1176
  lastSentBridgeCaretRef.current = nextKey;
1168
1177
  }, [clearBridgeRemoteCaretPosition, editContextRef, pageViewContextRef]);
1178
+ useEffect(() => {
1179
+ const bridge = bridgeClientRef.current;
1180
+ const structureFields = pageViewContext.bridgeStructure?.fields ?? [];
1181
+ if (!bridge || structureFields.length === 0)
1182
+ return;
1183
+ const patches = buildRemoteCaretFieldPatches({
1184
+ remoteCarets: editContext.remoteCarets,
1185
+ structureFields,
1186
+ activeInlineEdit: activeBridgeInlineEditRef.current,
1187
+ });
1188
+ for (const patch of patches) {
1189
+ const structureField = structureFields.find((field) => field.elementKey === patch.elementKey);
1190
+ sendBridgeFieldPatch(bridge, patch, structureField?.textContent);
1191
+ }
1192
+ }, [
1193
+ editContext.remoteCarets,
1194
+ pageViewContext.bridgeStructure,
1195
+ sendBridgeFieldPatch,
1196
+ ]);
1169
1197
  const handleBridgeSelection = useCallback((selection, iframe) => {
1170
1198
  const editor = editContextRef.current;
1171
1199
  if (!editor)
@@ -1305,8 +1333,27 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1305
1333
  addCandidateItem(component?.datasourceItem);
1306
1334
  component?.items.forEach(addCandidateItem);
1307
1335
  addCandidateItem(fallbackItem);
1336
+ const fallbackDescriptorItem = candidateItems[0];
1337
+ if (!fallbackDescriptorItem)
1338
+ return undefined;
1339
+ // Limited-preview users only need read-only actions such as comments.
1340
+ // The bridge already provides the reviewed item's field descriptor, while
1341
+ // repository hydration may be intentionally denied by preview access.
1342
+ if (editContextRef.current?.user?.isLimitedPreviewUser) {
1343
+ return { fieldId, item: fallbackDescriptorItem };
1344
+ }
1308
1345
  for (const item of candidateItems) {
1309
- const repositoryItem = await editContextRef.current?.itemsRepository.getItem(item);
1346
+ let repositoryItem;
1347
+ try {
1348
+ repositoryItem =
1349
+ await editContextRef.current?.itemsRepository.getItem(item);
1350
+ }
1351
+ catch {
1352
+ // Review-preview access may allow the rendered page while denying a
1353
+ // repository candidate. Keep trying and fall back to the bridge
1354
+ // descriptor so read-only context-menu actions can still load.
1355
+ continue;
1356
+ }
1310
1357
  const repositoryField = repositoryItem?.fields.find((field) => fieldIdentifierMatches(field, fieldId));
1311
1358
  if (repositoryField) {
1312
1359
  return {
@@ -1315,9 +1362,6 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1315
1362
  };
1316
1363
  }
1317
1364
  }
1318
- const fallbackDescriptorItem = candidateItems[0];
1319
- if (!fallbackDescriptorItem)
1320
- return undefined;
1321
1365
  return {
1322
1366
  fieldId,
1323
1367
  item: fallbackDescriptorItem,
@@ -1774,41 +1818,61 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1774
1818
  },
1775
1819
  ]);
1776
1820
  }, 100);
1777
- const field = await resolveBridgeFieldDescriptor(effectiveInteraction);
1778
- const fieldButtons = field ? await loadFieldButtons(field) : [];
1779
- const handleParameterizedActionWithPosition = (field, action) => {
1780
- setContextMenuField(field);
1781
- setContextMenuFieldButtons([action]);
1782
- setPreSelectedAction(action);
1783
- window.setTimeout(() => {
1784
- const tempElement = document.createElement("div");
1785
- tempElement.style.position = "fixed";
1786
- tempElement.style.left = menuPosition.x + "px";
1787
- tempElement.style.top = menuPosition.y + "px";
1788
- tempElement.style.width = "1px";
1789
- tempElement.style.height = "1px";
1790
- tempElement.style.visibility = "hidden";
1791
- tempElement.style.pointerEvents = "none";
1792
- document.body.appendChild(tempElement);
1793
- const positionedEvent = new MouseEvent("click", {
1794
- bubbles: true,
1795
- cancelable: true,
1796
- view: window,
1797
- clientX: menuPosition.x,
1798
- clientY: menuPosition.y,
1799
- });
1800
- Object.defineProperty(positionedEvent, "target", {
1801
- value: tempElement,
1802
- enumerable: true,
1803
- });
1804
- fieldActionsOverlay.current?.show(positionedEvent, action);
1821
+ let items = [];
1822
+ try {
1823
+ const field = await resolveBridgeFieldDescriptor(effectiveInteraction);
1824
+ const canLoadFieldButtons = !!field &&
1825
+ !editor.readonly &&
1826
+ !editor.user?.isLimitedPreviewUser;
1827
+ const fieldButtons = canLoadFieldButtons
1828
+ ? await loadFieldButtons(field)
1829
+ : [];
1830
+ const handleParameterizedActionWithPosition = (field, action) => {
1831
+ setContextMenuField(field);
1832
+ setContextMenuFieldButtons([action]);
1833
+ setPreSelectedAction(action);
1805
1834
  window.setTimeout(() => {
1806
- tempElement.remove();
1807
- }, 1000);
1808
- }, 100);
1809
- };
1810
- const items = await buildComponentContextMenuItems(selectedComponents, editor, field, fieldButtons, handleParameterizedActionWithPosition);
1811
- window.clearTimeout(loadingTimer);
1835
+ const tempElement = document.createElement("div");
1836
+ tempElement.style.position = "fixed";
1837
+ tempElement.style.left = menuPosition.x + "px";
1838
+ tempElement.style.top = menuPosition.y + "px";
1839
+ tempElement.style.width = "1px";
1840
+ tempElement.style.height = "1px";
1841
+ tempElement.style.visibility = "hidden";
1842
+ tempElement.style.pointerEvents = "none";
1843
+ document.body.appendChild(tempElement);
1844
+ const positionedEvent = new MouseEvent("click", {
1845
+ bubbles: true,
1846
+ cancelable: true,
1847
+ view: window,
1848
+ clientX: menuPosition.x,
1849
+ clientY: menuPosition.y,
1850
+ });
1851
+ Object.defineProperty(positionedEvent, "target", {
1852
+ value: tempElement,
1853
+ enumerable: true,
1854
+ });
1855
+ fieldActionsOverlay.current?.show(positionedEvent, action);
1856
+ window.setTimeout(() => {
1857
+ tempElement.remove();
1858
+ }, 1000);
1859
+ }, 100);
1860
+ };
1861
+ items = await buildComponentContextMenuItems(selectedComponents, editor, field, fieldButtons, handleParameterizedActionWithPosition);
1862
+ }
1863
+ catch (error) {
1864
+ console.error("Failed to build component context menu:", error);
1865
+ items = [
1866
+ {
1867
+ id: "context-menu-error",
1868
+ label: "Unable to load menu",
1869
+ disabled: true,
1870
+ },
1871
+ ];
1872
+ }
1873
+ finally {
1874
+ window.clearTimeout(loadingTimer);
1875
+ }
1812
1876
  if (loadingShown) {
1813
1877
  editor.updateContextMenu(items);
1814
1878
  }
@@ -2148,9 +2212,6 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2148
2212
  handleBridgeSelection(event.payload.selection, iframe);
2149
2213
  break;
2150
2214
  case "fieldValueChanged":
2151
- if (event.payload.elementKey && event.payload.fieldId) {
2152
- setIsBridgeInlineEditing(true);
2153
- }
2154
2215
  logFieldValueDiagnostic("bridge-frame", "fieldValueChanged event", {
2155
2216
  elementKey: event.payload.elementKey,
2156
2217
  fieldId: event.payload.fieldId,
@@ -2171,9 +2232,15 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2171
2232
  value: summarizeFieldValue(event.payload.value),
2172
2233
  activeInlineEdit: activeBridgeInlineEditRef.current,
2173
2234
  });
2174
- handleBridgeInlineEditEnded(event.payload);
2175
- clearActiveBridgeInlineEdit();
2176
- logFieldValueDiagnostic("bridge-frame", "active inline edit cleared after end", {
2235
+ const inlineEditEnd = bridgeInlineEditSession.end(event.payload);
2236
+ handleBridgeInlineEditEnded(event.payload, {
2237
+ recordSession: false,
2238
+ releaseFocus: inlineEditEnd.matched,
2239
+ endedModeAtStart: inlineEditEnd.endedState?.modeAtStart,
2240
+ });
2241
+ logFieldValueDiagnostic("bridge-frame", inlineEditEnd.matched
2242
+ ? "active inline edit cleared after end"
2243
+ : "non-current inline edit end persisted", {
2177
2244
  fieldId: event.payload.fieldId,
2178
2245
  reason: event.payload.reason,
2179
2246
  });
@@ -2273,6 +2340,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2273
2340
  clearBridgeTextCompletion,
2274
2341
  clearBridgePatchSignatures,
2275
2342
  clearActiveBridgeInlineEdit,
2343
+ bridgeInlineEditSession,
2276
2344
  reconcileActiveBridgeInlineEdit,
2277
2345
  pageViewContext.editUrl,
2278
2346
  pageViewContext.previewUrl,
@@ -2310,6 +2378,17 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2310
2378
  if (!bridgeFieldMatchesChangedField(structureField.fieldId, changedFieldId, field)) {
2311
2379
  continue;
2312
2380
  }
2381
+ // A remote session is live-syncing this field: its draft is
2382
+ // authoritative, and the saved-value echo behind this change is
2383
+ // stale mid-typing — applying it would roll the canvas text back
2384
+ // and make the remote caret jump against the shorter text.
2385
+ if (hasRemoteCaretDraftForField({
2386
+ remoteCarets: editContextRef.current?.remoteCarets,
2387
+ fieldId: structureField.fieldId,
2388
+ item: structureField.item,
2389
+ })) {
2390
+ continue;
2391
+ }
2313
2392
  const patch = buildBridgeFieldPatch({
2314
2393
  field,
2315
2394
  structureField,
@@ -2431,7 +2510,22 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2431
2510
  itemDescriptor: itemDescriptor,
2432
2511
  dirtyOnly: true,
2433
2512
  });
2434
- if (!showSuggestions && !dirtyModifiedField) {
2513
+ // When suggestion display turns off, a field can still show suggestion
2514
+ // text even though nothing is dirty: either its last patch was a
2515
+ // suggestion preview, or an inline edit typed the suggestion into the
2516
+ // DOM and the recorded suggestion only lands after the toggle. Both
2517
+ // need an explicit restore patch back to the baseline value.
2518
+ const needsSuggestionRestore = !showSuggestions &&
2519
+ (isSuggestionPreviewPatchSignature(bridgePatchSignatureRef.current.get(`${structureField.elementKey}:${structureField.fieldId}`)) ||
2520
+ getPendingFieldSuggestions(editContext.suggestedEdits, {
2521
+ fieldId: field.id || structureField.fieldId,
2522
+ itemId: itemDescriptor.id,
2523
+ language: itemDescriptor.language,
2524
+ version: itemDescriptor.version,
2525
+ pageItemId: pageViewContextRef.current?.pageItemDescriptor?.id,
2526
+ pageItemVersion: pageViewContextRef.current?.pageItemDescriptor?.version,
2527
+ }).length > 0);
2528
+ if (!showSuggestions && !dirtyModifiedField && !needsSuggestionRestore) {
2435
2529
  continue;
2436
2530
  }
2437
2531
  const patch = buildBridgeFieldPatch({