@parhelia/core 0.1.12895 → 0.1.12901

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 (552) hide show
  1. package/dist/agents-view/AgentCard.js +1 -1
  2. package/dist/agents-view/AgentCard.js.map +1 -1
  3. package/dist/agents-view/AgentProfileIcon.d.ts +1 -1
  4. package/dist/agents-view/AgentProfileIcon.js +4 -0
  5. package/dist/agents-view/AgentProfileIcon.js.map +1 -1
  6. package/dist/agents-view/AgentsWorkspaceView.js +10 -24
  7. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  8. package/dist/agents-view/ProfileAgentsGroup.js +2 -3
  9. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  10. package/dist/components/MarkdownDisplay.js +1 -1
  11. package/dist/components/MarkdownDisplay.js.map +1 -1
  12. package/dist/components/SearchInput.d.ts +1 -0
  13. package/dist/components/SearchInput.js +2 -2
  14. package/dist/components/SearchInput.js.map +1 -1
  15. package/dist/components/ui/LanguageSelectionGrid.js +2 -1
  16. package/dist/components/ui/LanguageSelectionGrid.js.map +1 -1
  17. package/dist/components/ui/LanguageSelector.d.ts +2 -1
  18. package/dist/components/ui/LanguageSelector.js +3 -3
  19. package/dist/components/ui/LanguageSelector.js.map +1 -1
  20. package/dist/components/ui/badge.d.ts +5 -1
  21. package/dist/components/ui/badge.js +8 -3
  22. package/dist/components/ui/badge.js.map +1 -1
  23. package/dist/components/ui/button.js +4 -5
  24. package/dist/components/ui/button.js.map +1 -1
  25. package/dist/components/ui/checkbox.js +1 -1
  26. package/dist/components/ui/checkbox.js.map +1 -1
  27. package/dist/components/ui/command.js +1 -1
  28. package/dist/components/ui/command.js.map +1 -1
  29. package/dist/components/ui/context-menu.d.ts +13 -0
  30. package/dist/components/ui/context-menu.js +61 -57
  31. package/dist/components/ui/context-menu.js.map +1 -1
  32. package/dist/components/ui/dropdown-menu.js +4 -4
  33. package/dist/components/ui/dropdown-menu.js.map +1 -1
  34. package/dist/components/ui/input.js +2 -2
  35. package/dist/components/ui/input.js.map +1 -1
  36. package/dist/components/ui/switch.js +1 -1
  37. package/dist/components/ui/switch.js.map +1 -1
  38. package/dist/components/ui/textarea.js +1 -1
  39. package/dist/components/ui/textarea.js.map +1 -1
  40. package/dist/config/config.js +40 -15
  41. package/dist/config/config.js.map +1 -1
  42. package/dist/config/notificationRoutes.js +2 -2
  43. package/dist/config/notificationRoutes.js.map +1 -1
  44. package/dist/editor/ContentTree.js +13 -5
  45. package/dist/editor/ContentTree.js.map +1 -1
  46. package/dist/editor/ContextMenu.js +4 -6
  47. package/dist/editor/ContextMenu.js.map +1 -1
  48. package/dist/editor/FieldListField.js +14 -7
  49. package/dist/editor/FieldListField.js.map +1 -1
  50. package/dist/editor/GlobalMenuBar.js +1 -2
  51. package/dist/editor/GlobalMenuBar.js.map +1 -1
  52. package/dist/editor/ImageEditor.js +1 -1
  53. package/dist/editor/ImageEditor.js.map +1 -1
  54. package/dist/editor/LinkEditorDialog.js +13 -0
  55. package/dist/editor/LinkEditorDialog.js.map +1 -1
  56. package/dist/editor/MainLayout.js +66 -9
  57. package/dist/editor/MainLayout.js.map +1 -1
  58. package/dist/editor/Titlebar.js +1 -1
  59. package/dist/editor/Titlebar.js.map +1 -1
  60. package/dist/editor/WorkspaceTitleSwitcher.js +12 -31
  61. package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -1
  62. package/dist/editor/ai/AgentProfileSelector.js +2 -2
  63. package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
  64. package/dist/editor/ai/AgentStatusBadge.js +3 -11
  65. package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
  66. package/dist/editor/ai/Agents.js +46 -41
  67. package/dist/editor/ai/Agents.js.map +1 -1
  68. package/dist/editor/ai/InlineAiDialog.js +24 -26
  69. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  70. package/dist/editor/ai/InlineAiTrigger.js +30 -1
  71. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  72. package/dist/editor/ai/agentActivitySummary.d.ts +108 -0
  73. package/dist/editor/ai/agentActivitySummary.js +390 -0
  74. package/dist/editor/ai/agentActivitySummary.js.map +1 -0
  75. package/dist/editor/ai/terminal/agentContextMerge.d.ts +19 -0
  76. package/dist/editor/ai/terminal/agentContextMerge.js +88 -0
  77. package/dist/editor/ai/terminal/agentContextMerge.js.map +1 -0
  78. package/dist/editor/ai/terminal/components/ActivitySummaryCell.d.ts +21 -0
  79. package/dist/editor/ai/terminal/components/ActivitySummaryCell.js +133 -0
  80. package/dist/editor/ai/terminal/components/ActivitySummaryCell.js.map +1 -0
  81. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +7 -0
  82. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +145 -0
  83. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -0
  84. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js +1 -1
  85. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js.map +1 -1
  86. package/dist/editor/ai/terminal/components/AgentFullPromptControls.d.ts +2 -1
  87. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +13 -13
  88. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
  89. package/dist/editor/ai/terminal/components/AgentGreeting.js +2 -2
  90. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  91. package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js +1 -1
  92. package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js.map +1 -1
  93. package/dist/editor/ai/terminal/components/AgentModeSelector.d.ts +1 -1
  94. package/dist/editor/ai/terminal/components/AgentModeSelector.js +86 -9
  95. package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -1
  96. package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js +1 -1
  97. package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js.map +1 -1
  98. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +2 -2
  99. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
  100. package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -2
  101. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +4 -27
  102. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
  103. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +2 -2
  104. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +15 -12
  105. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
  106. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +1 -1
  107. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -1
  108. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -0
  109. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
  110. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +1 -3
  111. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -1
  112. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +10 -10
  113. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +17 -3
  114. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
  115. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +2 -1
  116. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +59 -5
  117. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  118. package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
  119. package/dist/editor/ai/terminal/components/AgentTerminalView.js +5 -4
  120. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  121. package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -0
  122. package/dist/editor/ai/terminal/components/AiResponseMessage.js +84 -28
  123. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  124. package/dist/editor/ai/terminal/components/ContextInfoBar.d.ts +2 -4
  125. package/dist/editor/ai/terminal/components/ContextInfoBar.js +93 -223
  126. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
  127. package/dist/editor/ai/terminal/useAgentDraftInitializer.js +7 -45
  128. package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
  129. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.d.ts +0 -4
  130. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js +1 -7
  131. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js.map +1 -1
  132. package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +2 -2
  133. package/dist/editor/ai/terminal/useAgentQuickActions.d.ts +2 -2
  134. package/dist/editor/ai/terminal/useAgentQuickActions.js +61 -3
  135. package/dist/editor/ai/terminal/useAgentQuickActions.js.map +1 -1
  136. package/dist/editor/ai/terminal/useAgentSettingsPanel.js +0 -2
  137. package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
  138. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +3 -3
  139. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -1
  140. package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +0 -3
  141. package/dist/editor/ai/terminal/useAgentSkillActions.js +8 -26
  142. package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -1
  143. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +1 -5
  144. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +6 -19
  145. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
  146. package/dist/editor/ai/terminal/useAgentTerminalChrome.d.ts +1 -3
  147. package/dist/editor/ai/terminal/useAgentTerminalChrome.js +2 -2
  148. package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -1
  149. package/dist/editor/ai/terminal/useAgentTerminalController.js +18 -22
  150. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  151. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
  152. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -2
  153. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  154. package/dist/editor/ai/terminal/useAgentTerminalViewState.d.ts +0 -6
  155. package/dist/editor/ai/terminal/useAgentTerminalViewState.js +2 -16
  156. package/dist/editor/ai/terminal/useAgentTerminalViewState.js.map +1 -1
  157. package/dist/editor/ai/useActiveAgentConversation.d.ts +2 -0
  158. package/dist/editor/ai/useActiveAgentConversation.js +20 -0
  159. package/dist/editor/ai/useActiveAgentConversation.js.map +1 -1
  160. package/dist/editor/bridge/protocol.d.ts +48 -0
  161. package/dist/editor/bridge/protocol.js +13 -1
  162. package/dist/editor/bridge/protocol.js.map +1 -1
  163. package/dist/editor/client/EditorShell.d.ts +2 -0
  164. package/dist/editor/client/EditorShell.js +129 -29
  165. package/dist/editor/client/EditorShell.js.map +1 -1
  166. package/dist/editor/client/editContext.d.ts +30 -4
  167. package/dist/editor/client/editContext.js.map +1 -1
  168. package/dist/editor/client/hooks/useReducedMotion.d.ts +8 -0
  169. package/dist/editor/client/hooks/useReducedMotion.js +12 -0
  170. package/dist/editor/client/hooks/useReducedMotion.js.map +1 -0
  171. package/dist/editor/client/manualShowMeFocus.d.ts +17 -0
  172. package/dist/editor/client/manualShowMeFocus.js +32 -0
  173. package/dist/editor/client/manualShowMeFocus.js.map +1 -0
  174. package/dist/editor/client/ui/FullscreenControls.js +5 -5
  175. package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
  176. package/dist/editor/commands/componentCommands.js +30 -1
  177. package/dist/editor/commands/componentCommands.js.map +1 -1
  178. package/dist/editor/commands/keyboardCommands.d.ts +6 -0
  179. package/dist/editor/commands/keyboardCommands.js +74 -0
  180. package/dist/editor/commands/keyboardCommands.js.map +1 -1
  181. package/dist/editor/commands/reorderComponent.d.ts +20 -0
  182. package/dist/editor/commands/reorderComponent.js +40 -0
  183. package/dist/editor/commands/reorderComponent.js.map +1 -0
  184. package/dist/editor/commands/undo.js +3 -3
  185. package/dist/editor/commands/undo.js.map +1 -1
  186. package/dist/editor/componentFrameColors.d.ts +11 -0
  187. package/dist/editor/componentFrameColors.js +47 -0
  188. package/dist/editor/componentFrameColors.js.map +1 -0
  189. package/dist/editor/field-types/RichTextEditor.js +25 -6
  190. package/dist/editor/field-types/RichTextEditor.js.map +1 -1
  191. package/dist/editor/field-types/RichTextEditorComponent.js +14 -1
  192. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  193. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.d.ts +4 -1
  194. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js +33 -5
  195. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js.map +1 -1
  196. package/dist/editor/insertMenuItems.d.ts +11 -0
  197. package/dist/editor/insertMenuItems.js +9 -0
  198. package/dist/editor/insertMenuItems.js.map +1 -1
  199. package/dist/editor/menubar/ActiveUsers.js +3 -3
  200. package/dist/editor/menubar/ActiveUsers.js.map +1 -1
  201. package/dist/editor/menubar/FavoritesControls.js +46 -27
  202. package/dist/editor/menubar/FavoritesControls.js.map +1 -1
  203. package/dist/editor/menubar/GenericToolbar.js +2 -1
  204. package/dist/editor/menubar/GenericToolbar.js.map +1 -1
  205. package/dist/editor/menubar/ItemLanguageVersion.js +7 -5
  206. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  207. package/dist/editor/menubar/PageSelector.js +1 -1
  208. package/dist/editor/menubar/PageSelector.js.map +1 -1
  209. package/dist/editor/menubar/PreviewDatePicker.js +40 -21
  210. package/dist/editor/menubar/PreviewDatePicker.js.map +1 -1
  211. package/dist/editor/menubar/Separator.d.ts +2 -1
  212. package/dist/editor/menubar/Separator.js +2 -2
  213. package/dist/editor/menubar/Separator.js.map +1 -1
  214. package/dist/editor/menubar/ToolbarFactory.js +24 -17
  215. package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
  216. package/dist/editor/menubar/VersionSelector.d.ts +2 -1
  217. package/dist/editor/menubar/VersionSelector.js +3 -3
  218. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  219. package/dist/editor/menubar/WorkflowButton.js +17 -25
  220. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  221. package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.d.ts +1 -0
  222. package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js +13 -0
  223. package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js.map +1 -0
  224. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js +1 -1
  225. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js.map +1 -1
  226. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +104 -9
  227. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
  228. package/dist/editor/menubar/toolbar-sections/EditControls.d.ts +4 -2
  229. package/dist/editor/menubar/toolbar-sections/EditControls.js +78 -11
  230. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  231. package/dist/editor/menubar/toolbar-sections/FullscreenControl.d.ts +1 -0
  232. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js +15 -0
  233. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js.map +1 -0
  234. package/dist/editor/menubar/toolbar-sections/InsertControls.js +1 -1
  235. package/dist/editor/menubar/toolbar-sections/InsertControls.js.map +1 -1
  236. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +12 -0
  237. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +169 -26
  238. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  239. package/dist/editor/menubar/toolbar-sections/ReviewCommands.js +2 -1
  240. package/dist/editor/menubar/toolbar-sections/ReviewCommands.js.map +1 -1
  241. package/dist/editor/menubar/toolbar-sections/UtilityControls.d.ts +3 -1
  242. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +11 -3
  243. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  244. package/dist/editor/menubar/toolbar-sections/ViewportControls.d.ts +1 -0
  245. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +48 -29
  246. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  247. package/dist/editor/menubar/toolbar-sections/index.d.ts +2 -1
  248. package/dist/editor/menubar/toolbar-sections/index.js +2 -1
  249. package/dist/editor/menubar/toolbar-sections/index.js.map +1 -1
  250. package/dist/editor/notifications/NotificationCenter.d.ts +4 -1
  251. package/dist/editor/notifications/NotificationCenter.js +13 -4
  252. package/dist/editor/notifications/NotificationCenter.js.map +1 -1
  253. package/dist/editor/notifications/WatchButton.d.ts +4 -2
  254. package/dist/editor/notifications/WatchButton.js +78 -20
  255. package/dist/editor/notifications/WatchButton.js.map +1 -1
  256. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +71 -6
  257. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  258. package/dist/editor/page-editor-chrome/CommentHighlightings.js +36 -40
  259. package/dist/editor/page-editor-chrome/CommentHighlightings.js.map +1 -1
  260. package/dist/editor/page-editor-chrome/DragInsertionOverlay.d.ts +36 -0
  261. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +879 -0
  262. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -0
  263. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.d.ts +1 -0
  264. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js +3 -3
  265. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js.map +1 -1
  266. package/dist/editor/page-editor-chrome/FrameMenu.d.ts +3 -2
  267. package/dist/editor/page-editor-chrome/FrameMenu.js +49 -119
  268. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  269. package/dist/editor/page-editor-chrome/FrameMenus.d.ts +1 -1
  270. package/dist/editor/page-editor-chrome/FrameMenus.js +65 -15
  271. package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
  272. package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +25 -0
  273. package/dist/editor/page-editor-chrome/InsertComponentMenu.js +30 -0
  274. package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -0
  275. package/dist/editor/page-editor-chrome/PageEditorChrome.js +14 -2
  276. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  277. package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +33 -2
  278. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +94 -71
  279. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  280. package/dist/editor/page-editor-chrome/PlaceholderDropZones.d.ts +13 -2
  281. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +105 -203
  282. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  283. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +51 -88
  284. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
  285. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js +2 -1
  286. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js.map +1 -1
  287. package/dist/editor/page-editor-chrome/componentDragObject.d.ts +10 -0
  288. package/dist/editor/page-editor-chrome/componentDragObject.js +22 -0
  289. package/dist/editor/page-editor-chrome/componentDragObject.js.map +1 -0
  290. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +32 -0
  291. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +8 -0
  292. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  293. package/dist/editor/page-editor-chrome/overlay/InsertionLine.d.ts +44 -0
  294. package/dist/editor/page-editor-chrome/overlay/InsertionLine.js +160 -0
  295. package/dist/editor/page-editor-chrome/overlay/InsertionLine.js.map +1 -0
  296. package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +39 -0
  297. package/dist/editor/page-editor-chrome/overlay/geometry.js +67 -10
  298. package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
  299. package/dist/editor/page-editor-chrome/overlay/placeholderZones.d.ts +66 -0
  300. package/dist/editor/page-editor-chrome/overlay/placeholderZones.js +274 -0
  301. package/dist/editor/page-editor-chrome/overlay/placeholderZones.js.map +1 -0
  302. package/dist/editor/page-editor-chrome/useComponentDragHandle.d.ts +23 -0
  303. package/dist/editor/page-editor-chrome/useComponentDragHandle.js +41 -0
  304. package/dist/editor/page-editor-chrome/useComponentDragHandle.js.map +1 -0
  305. package/dist/editor/page-editor-chrome/useDragInsertionGesture.d.ts +23 -0
  306. package/dist/editor/page-editor-chrome/useDragInsertionGesture.js +207 -0
  307. package/dist/editor/page-editor-chrome/useDragInsertionGesture.js.map +1 -0
  308. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.d.ts +2 -0
  309. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js +18 -0
  310. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js.map +1 -0
  311. package/dist/editor/page-viewer/EditorForm.js +14 -12
  312. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  313. package/dist/editor/page-viewer/EditorFormHintPopover.d.ts +2 -2
  314. package/dist/editor/page-viewer/EditorFormHintPopover.js +4 -4
  315. package/dist/editor/page-viewer/EditorFormHintPopover.js.map +1 -1
  316. package/dist/editor/page-viewer/MiniMap.d.ts +6 -0
  317. package/dist/editor/page-viewer/MiniMap.js +97 -12
  318. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  319. package/dist/editor/page-viewer/MinimapDropTargets.d.ts +13 -0
  320. package/dist/editor/page-viewer/MinimapDropTargets.js +140 -0
  321. package/dist/editor/page-viewer/MinimapDropTargets.js.map +1 -0
  322. package/dist/editor/page-viewer/PageViewer.js +96 -10
  323. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  324. package/dist/editor/page-viewer/PageViewerFrame.js +263 -6
  325. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  326. package/dist/editor/page-viewer/pageViewContext.d.ts +4 -1
  327. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  328. package/dist/editor/reviews/Comment.js +2 -0
  329. package/dist/editor/reviews/Comment.js.map +1 -1
  330. package/dist/editor/reviews/CommentDisplayPopover.js +5 -2
  331. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  332. package/dist/editor/reviews/CommentPopover.d.ts +4 -0
  333. package/dist/editor/reviews/CommentPopover.js +15 -1
  334. package/dist/editor/reviews/CommentPopover.js.map +1 -1
  335. package/dist/editor/reviews/Comments.js +61 -44
  336. package/dist/editor/reviews/Comments.js.map +1 -1
  337. package/dist/editor/reviews/DecisionsMatrix.js +3 -3
  338. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  339. package/dist/editor/reviews/FeedbackModeIntro.d.ts +15 -0
  340. package/dist/editor/reviews/FeedbackModeIntro.js +22 -0
  341. package/dist/editor/reviews/FeedbackModeIntro.js.map +1 -0
  342. package/dist/editor/reviews/LatestFeedback.js +8 -2
  343. package/dist/editor/reviews/LatestFeedback.js.map +1 -1
  344. package/dist/editor/reviews/ReviewersPanel.js +2 -1
  345. package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
  346. package/dist/editor/reviews/SuggestedEdit.js +9 -7
  347. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  348. package/dist/editor/reviews/SuggestionDisplayPopover.js +3 -3
  349. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  350. package/dist/editor/reviews/feedbackScrollTarget.d.ts +19 -0
  351. package/dist/editor/reviews/feedbackScrollTarget.js +171 -0
  352. package/dist/editor/reviews/feedbackScrollTarget.js.map +1 -0
  353. package/dist/editor/reviews/feedbackSelection.js +4 -4
  354. package/dist/editor/reviews/feedbackSelection.js.map +1 -1
  355. package/dist/editor/reviews/latestFeedbackData.js +1 -1
  356. package/dist/editor/reviews/openCommentsFeedback.d.ts +35 -0
  357. package/dist/editor/reviews/openCommentsFeedback.js +89 -0
  358. package/dist/editor/reviews/openCommentsFeedback.js.map +1 -0
  359. package/dist/editor/services/agentService.d.ts +5 -0
  360. package/dist/editor/services/agentService.js.map +1 -1
  361. package/dist/editor/services/aiService.d.ts +0 -2
  362. package/dist/editor/services/aiService.js.map +1 -1
  363. package/dist/editor/services/editService.d.ts +1 -0
  364. package/dist/editor/services/editService.js +4 -0
  365. package/dist/editor/services/editService.js.map +1 -1
  366. package/dist/editor/settings/IndexOverview.js +2 -2
  367. package/dist/editor/settings/IndexOverview.js.map +1 -1
  368. package/dist/editor/settings/QuotaInfo.js +2 -2
  369. package/dist/editor/settings/QuotaInfo.js.map +1 -1
  370. package/dist/editor/settings/SettingsBreadcrumb.js +8 -2
  371. package/dist/editor/settings/SettingsBreadcrumb.js.map +1 -1
  372. package/dist/editor/settings/SettingsPanelLayout.js +1 -1
  373. package/dist/editor/settings/SettingsPanelLayout.js.map +1 -1
  374. package/dist/editor/settings/SettingsView.js +7 -9
  375. package/dist/editor/settings/SettingsView.js.map +1 -1
  376. package/dist/editor/settings/StatusSummary.js +7 -17
  377. package/dist/editor/settings/StatusSummary.js.map +1 -1
  378. package/dist/editor/settings/panels/AgentToolsPanel.js +2 -1
  379. package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
  380. package/dist/editor/settings/panels/ClusterInstancesPanel.js +2 -1
  381. package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
  382. package/dist/editor/settings/panels/FieldTypeSerializersPanel.js +2 -1
  383. package/dist/editor/settings/panels/FieldTypeSerializersPanel.js.map +1 -1
  384. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js +3 -2
  385. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js.map +1 -1
  386. package/dist/editor/settings/panels/ItemConfigPanel.js +3 -2
  387. package/dist/editor/settings/panels/ItemConfigPanel.js.map +1 -1
  388. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +2 -1
  389. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
  390. package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js +2 -1
  391. package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js.map +1 -1
  392. package/dist/editor/settings/panels/PersistentLogsPanel.js +3 -2
  393. package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -1
  394. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +2 -1
  395. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
  396. package/dist/editor/settings/panels/ProjectTemplateSelectorList.js +3 -2
  397. package/dist/editor/settings/panels/ProjectTemplateSelectorList.js.map +1 -1
  398. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +3 -3
  399. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  400. package/dist/editor/settings/panels/SearchConfigPanel.js +3 -2
  401. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
  402. package/dist/editor/settings/panels/StatusPanel.js +3 -2
  403. package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
  404. package/dist/editor/sidebar/ComponentPalette.d.ts +1 -1
  405. package/dist/editor/sidebar/ComponentPalette.js +58 -25
  406. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  407. package/dist/editor/sidebar/ComponentTree.js +91 -7
  408. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  409. package/dist/editor/sidebar/ContentTreePanel.d.ts +3 -0
  410. package/dist/editor/sidebar/ContentTreePanel.js +14 -0
  411. package/dist/editor/sidebar/ContentTreePanel.js.map +1 -0
  412. package/dist/editor/sidebar/Favorites.js +2 -2
  413. package/dist/editor/sidebar/Favorites.js.map +1 -1
  414. package/dist/editor/sidebar/NavigationPanelItem.js +2 -1
  415. package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
  416. package/dist/editor/sidebar/OperationItem.js +98 -17
  417. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  418. package/dist/editor/sidebar/Workbox.js +14 -133
  419. package/dist/editor/sidebar/Workbox.js.map +1 -1
  420. package/dist/editor/sidebar/WorkspaceButton.js +1 -1
  421. package/dist/editor/sidebar/WorkspaceButton.js.map +1 -1
  422. package/dist/editor/sidebar/WorkspaceRail.js +12 -9
  423. package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
  424. package/dist/editor/sidebar/contentTreeConstants.d.ts +2 -0
  425. package/dist/editor/sidebar/contentTreeConstants.js +3 -0
  426. package/dist/editor/sidebar/contentTreeConstants.js.map +1 -0
  427. package/dist/editor/tree-indicators/GutterColumns.js +4 -14
  428. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  429. package/dist/editor/ui/ItemCollectionEditor.js +3 -2
  430. package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
  431. package/dist/editor/ui/LoadingState.d.ts +11 -0
  432. package/dist/editor/ui/LoadingState.js +27 -0
  433. package/dist/editor/ui/LoadingState.js.map +1 -0
  434. package/dist/editor/ui/PerfectTree.d.ts +22 -1
  435. package/dist/editor/ui/PerfectTree.js +17 -11
  436. package/dist/editor/ui/PerfectTree.js.map +1 -1
  437. package/dist/editor/ui/PublishDialog.d.ts +11 -0
  438. package/dist/editor/ui/PublishDialog.js +101 -0
  439. package/dist/editor/ui/PublishDialog.js.map +1 -0
  440. package/dist/editor/ui/PublishItemDialog.js +2 -1
  441. package/dist/editor/ui/PublishItemDialog.js.map +1 -1
  442. package/dist/editor/ui/PublishRestrictionsDialog.js +3 -2
  443. package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
  444. package/dist/editor/ui/SimpleIconButton.d.ts +6 -0
  445. package/dist/editor/ui/SimpleIconButton.js +13 -4
  446. package/dist/editor/ui/SimpleIconButton.js.map +1 -1
  447. package/dist/editor/ui/SimpleMenu.js +4 -4
  448. package/dist/editor/ui/SimpleMenu.js.map +1 -1
  449. package/dist/editor/ui/SimpleTabs.js +1 -1
  450. package/dist/editor/ui/Spinner.d.ts +14 -1
  451. package/dist/editor/ui/Spinner.js.map +1 -1
  452. package/dist/editor/ui/WorkboxItemsTable.d.ts +15 -0
  453. package/dist/editor/ui/WorkboxItemsTable.js +142 -0
  454. package/dist/editor/ui/WorkboxItemsTable.js.map +1 -0
  455. package/dist/index.d.ts +4 -0
  456. package/dist/index.js +2 -0
  457. package/dist/index.js.map +1 -1
  458. package/dist/lib/pointerDrag.d.ts +20 -0
  459. package/dist/lib/pointerDrag.js +57 -0
  460. package/dist/lib/pointerDrag.js.map +1 -0
  461. package/dist/logging/consolePrefix.d.ts +2 -0
  462. package/dist/logging/consolePrefix.js +49 -0
  463. package/dist/logging/consolePrefix.js.map +1 -0
  464. package/dist/logging/index.d.ts +1 -0
  465. package/dist/logging/index.js +2 -0
  466. package/dist/logging/index.js.map +1 -0
  467. package/dist/logging/install-browser-console.d.ts +1 -0
  468. package/dist/logging/install-browser-console.js +3 -0
  469. package/dist/logging/install-browser-console.js.map +1 -0
  470. package/dist/revision.d.ts +2 -2
  471. package/dist/revision.js +2 -2
  472. package/dist/splash-screen/ModernSplashScreen.js +2 -1
  473. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  474. package/dist/task-board/TaskBoardWorkspace.js +181 -35
  475. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  476. package/dist/task-board/components/CommentsList.js +20 -9
  477. package/dist/task-board/components/CommentsList.js.map +1 -1
  478. package/dist/task-board/components/FinishedProjectCard.d.ts +5 -0
  479. package/dist/task-board/components/FinishedProjectCard.js +8 -0
  480. package/dist/task-board/components/FinishedProjectCard.js.map +1 -0
  481. package/dist/task-board/components/ProjectDashboard.d.ts +10 -1
  482. package/dist/task-board/components/ProjectDashboard.js +90 -6
  483. package/dist/task-board/components/ProjectDashboard.js.map +1 -1
  484. package/dist/task-board/components/ProjectListContent.js +2 -1
  485. package/dist/task-board/components/ProjectListContent.js.map +1 -1
  486. package/dist/task-board/components/ProjectOverviewContent.js +2 -1
  487. package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
  488. package/dist/task-board/components/TaskAgentPanel.d.ts +4 -0
  489. package/dist/task-board/components/TaskAgentPanel.js +12 -6
  490. package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
  491. package/dist/task-board/components/TaskAssigneeBadge.d.ts +16 -0
  492. package/dist/task-board/components/TaskAssigneeBadge.js +21 -0
  493. package/dist/task-board/components/TaskAssigneeBadge.js.map +1 -0
  494. package/dist/task-board/components/TaskAssigneePicker.js +12 -10
  495. package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
  496. package/dist/task-board/components/TaskAttachmentDropZone.d.ts +11 -0
  497. package/dist/task-board/components/TaskAttachmentDropZone.js +100 -0
  498. package/dist/task-board/components/TaskAttachmentDropZone.js.map +1 -0
  499. package/dist/task-board/components/TaskAttachmentsSection.d.ts +1 -0
  500. package/dist/task-board/components/TaskAttachmentsSection.js +15 -41
  501. package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
  502. package/dist/task-board/components/TaskBoardFilterBox.d.ts +4 -0
  503. package/dist/task-board/components/TaskBoardFilterBox.js +7 -0
  504. package/dist/task-board/components/TaskBoardFilterBox.js.map +1 -0
  505. package/dist/task-board/components/TaskBoardProjectListSidebar.js +4 -5
  506. package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
  507. package/dist/task-board/components/TaskCard.js +26 -15
  508. package/dist/task-board/components/TaskCard.js.map +1 -1
  509. package/dist/task-board/components/TaskDetailPanel.d.ts +1 -0
  510. package/dist/task-board/components/TaskDetailPanel.js +15 -12
  511. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  512. package/dist/task-board/components/TaskReviewActions.d.ts +1 -0
  513. package/dist/task-board/components/TaskReviewActions.js +4 -2
  514. package/dist/task-board/components/TaskReviewActions.js.map +1 -1
  515. package/dist/task-board/components/TaskRow.js +6 -12
  516. package/dist/task-board/components/TaskRow.js.map +1 -1
  517. package/dist/task-board/components/TaskboardPersistentLogPanel.js +3 -3
  518. package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -1
  519. package/dist/task-board/components/WizardCommunicationCards.js +1 -1
  520. package/dist/task-board/components/WizardCommunicationCards.js.map +1 -1
  521. package/dist/task-board/components/WizardCommunicationCenter.d.ts +7 -1
  522. package/dist/task-board/components/WizardCommunicationCenter.js +10 -6
  523. package/dist/task-board/components/WizardCommunicationCenter.js.map +1 -1
  524. package/dist/task-board/components/WizardCommunicationShared.js +5 -5
  525. package/dist/task-board/components/WizardCommunicationShared.js.map +1 -1
  526. package/dist/task-board/components/WizardTask.d.ts +5 -1
  527. package/dist/task-board/components/WizardTask.js +14 -30
  528. package/dist/task-board/components/WizardTask.js.map +1 -1
  529. package/dist/task-board/components/WizardTaskDetailsPanel.d.ts +10 -2
  530. package/dist/task-board/components/WizardTaskDetailsPanel.js +56 -11
  531. package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
  532. package/dist/task-board/taskBoardNavStore.d.ts +3 -0
  533. package/dist/task-board/taskBoardNavStore.js +44 -0
  534. package/dist/task-board/taskBoardNavStore.js.map +1 -1
  535. package/dist/task-board/taskPriority.d.ts +4 -0
  536. package/dist/task-board/taskPriority.js +19 -0
  537. package/dist/task-board/taskPriority.js.map +1 -0
  538. package/dist/task-board/views/DependencyGraphView.js +48 -36
  539. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  540. package/dist/task-board/views/KanbanView.js +130 -96
  541. package/dist/task-board/views/KanbanView.js.map +1 -1
  542. package/dist/task-board/views/ListView.js +3 -3
  543. package/dist/task-board/views/ListView.js.map +1 -1
  544. package/dist/task-board/views/WizardView.js +7 -6
  545. package/dist/task-board/views/WizardView.js.map +1 -1
  546. package/dist/tour/default-tour.js +5 -5
  547. package/dist/tour/default-tour.js.map +1 -1
  548. package/package.json +11 -1
  549. package/styles.css +144 -0
  550. package/dist/editor/ai/terminal/useAgentEditorContextSync.d.ts +0 -19
  551. package/dist/editor/ai/terminal/useAgentEditorContextSync.js +0 -142
  552. package/dist/editor/ai/terminal/useAgentEditorContextSync.js.map +0 -1
@@ -9,6 +9,7 @@ import { useRouter, useSearchParams, usePathname } from "./navigation";
9
9
  import { findComponent, getComponentById } from "../componentTreeHelper";
10
10
  import { getOperationsContext } from "./operations";
11
11
  import { handleErrorResult } from "./helpers";
12
+ import { isManualShowMeFocusTransfer, isManualShowMeTarget, } from "./manualShowMeFocus";
12
13
  import { executeFieldAction as executeFieldServerAction, connectSocket, getEditHistory, getRunningOperations, reconnectSession, releaseFieldLocks, validateItems, } from "../services/editService";
13
14
  import { emitAgentDocumentsChanged } from "../services/agentService";
14
15
  import { onSocketReconnect as onAgentSocketReconnect } from "../services/agentSubscriptionRegistry";
@@ -31,6 +32,7 @@ import { FieldEditorPopup } from "../FieldEditorPopup";
31
32
  import { ConcurrentUserLimitDialog } from "../ConcurrentUserLimitDialog";
32
33
  import { SessionExpiredOverlay } from "./SessionExpiredOverlay";
33
34
  import { post } from "../services/serviceHelper";
35
+ import { CONTENT_TREE_SIDEBAR_ID } from "../sidebar/contentTreeConstants";
34
36
  import { PageViewerFrame } from "../page-viewer/PageViewerFrame";
35
37
  import { useItemsRepository } from "./itemsRepository";
36
38
  import { Spinner } from "../ui/Spinner";
@@ -42,6 +44,7 @@ import { Toaster } from "../../components/ui/sonner";
42
44
  import { Tour } from "../../tour/Tour";
43
45
  import { GuidanceOverlay } from "../ai/GuidanceOverlay";
44
46
  import { AgentDialogHandler } from "../ai/dialogs";
47
+ import { setActiveAgentConversation } from "../ai/useActiveAgentConversation";
45
48
  import { usePageViewContext, } from "../page-viewer/pageViewContext";
46
49
  import { QuickItemSwitcher } from "../QuickItemSwitcher";
47
50
  import { useEditorSlotContext, } from "../views/editorSlotContext";
@@ -56,7 +59,6 @@ import { requestQuota } from "../services/aiService";
56
59
  import { useQuota } from "./hooks/useQuota";
57
60
  import { useEditorUrlSync } from "./hooks/useEditorUrlSync";
58
61
  import { useMediaQuery } from "./hooks/useMediaQuery";
59
- import { FullscreenControls } from "./ui/FullscreenControls";
60
62
  import { EditorChrome } from "./ui/EditorChrome";
61
63
  import { DevModeIndicator } from "./ui/DevModeIndicator";
62
64
  import { useWorkbox } from "./hooks/useWorkbox";
@@ -158,6 +160,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
158
160
  const contextMenuRef = useRef(null);
159
161
  const editContextRef = useRef(undefined);
160
162
  const [currentOverlay, setCurrentOverlay] = useState();
163
+ const [contextMenuSource, setContextMenuSource] = useState();
161
164
  const [item, setItem] = useState();
162
165
  const [focusedField, setFocusedField] = useState();
163
166
  const focusedFieldRef = useRef(undefined);
@@ -384,6 +387,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
384
387
  const [componentDesignerRendering, setComponentDesignerRendering] = useState();
385
388
  const [insertMode, setInsertMode] = useState(false);
386
389
  const [ignoreBlur, setIgnoreBlur] = useState(false);
390
+ // Timestamp of the most recent pointer-down on a User Manual "Show me" control.
391
+ // Used by the field-blur guard so clicking a field-gated Show me button keeps
392
+ // the focused field (and thus the `.focused-field` anchor + field actions).
393
+ const manualShowMePointerDownAtRef = useRef(0);
387
394
  const [currentItemDescriptor, setCurrentItemDescriptor] = useState();
388
395
  const currentItemDescriptorRef = useRef(undefined);
389
396
  const latestGlobalLoadKeyRef = useRef(null);
@@ -538,6 +545,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
538
545
  localStorageService.setItem("editor.showResolvedComments", showResolvedComments);
539
546
  }, [showResolvedComments]);
540
547
  const [selectedComment, setSelectedComment] = useState();
548
+ const [selectedSuggestedEdit, setSelectedSuggestedEdit] = useState();
541
549
  const [browseHistory, setBrowseHistory] = useState(() => {
542
550
  // Convert UserBrowseHistoryEntry[] to HistoryEntry[]
543
551
  if (!userInfo.browseHistory)
@@ -623,16 +631,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
623
631
  if (nextMode === "suggestions") {
624
632
  setShowSuggestedEdits(true);
625
633
  setWorkspaceId("editor");
626
- setOpenSidebars((prev) => {
627
- if (prev.includes("feedback"))
628
- return prev;
629
- const next = [...prev, "feedback"];
630
- openSidebarsRef.current = next;
631
- return next;
632
- });
633
- }
634
- else {
635
- setShowSuggestedEdits(false);
634
+ setShowComments(true);
636
635
  }
637
636
  });
638
637
  if (nextMode === "suggestions") {
@@ -643,6 +642,22 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
643
642
  const resolvedMode = typeof nextMode === "function" ? nextMode(modeRef.current) : nextMode;
644
643
  void changeMode(resolvedMode);
645
644
  }, [changeMode]);
645
+ const closeFeedbackSuggestionsMode = useCallback(() => {
646
+ setShowComments(false);
647
+ setShowSuggestedEdits(false);
648
+ setShowSuggestedEditsDiff(false);
649
+ if (modeRef.current === "suggestions") {
650
+ void changeMode("edit", { reason: "feedback-sidebar-close" });
651
+ }
652
+ }, [changeMode]);
653
+ const activateCommentsModeForWriting = useCallback(async (reason) => {
654
+ setShowComments(true);
655
+ setShowSuggestedEdits(false);
656
+ setShowSuggestedEditsDiff(false);
657
+ if (modeRef.current === "suggestions") {
658
+ await changeMode("edit", { reason });
659
+ }
660
+ }, [changeMode]);
646
661
  const workspaceShowsModeControls = !!configuration.editor.workspaces?.find((workspace) => workspace.id === workspaceId)?.toolbarFactory;
647
662
  useEffect(() => {
648
663
  if (workspaceShowsModeControls || mode !== "suggestions")
@@ -687,6 +702,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
687
702
  const [selectedHelpSectionId, setSelectedHelpSectionId] = useState(null);
688
703
  const [showAgentsWorkspaceEditor, setShowAgentsWorkspaceEditor] = useState(false);
689
704
  const [selectedAgentsWorkspaceAgentId, setSelectedAgentsWorkspaceAgentId] = useState(null);
705
+ const selectedAgentsWorkspaceAgentIdRef = useRef(selectedAgentsWorkspaceAgentId);
706
+ useEffect(() => {
707
+ selectedAgentsWorkspaceAgentIdRef.current = selectedAgentsWorkspaceAgentId;
708
+ }, [selectedAgentsWorkspaceAgentId]);
690
709
  const [activeEditorTab, setActiveEditorTab] = useState(null);
691
710
  const showLayoutParam = useMemo(() => searchParams.get("showLayout") ??
692
711
  searchParams.get("showLayoutComponents"), [searchParams]);
@@ -1282,6 +1301,14 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
1282
1301
  showComponentNavigatorDefault,
1283
1302
  setUserPreferences,
1284
1303
  ]);
1304
+ useEffect(() => {
1305
+ if (workspaceId !== "editor")
1306
+ return;
1307
+ if (mode !== "edit") {
1308
+ setEditorFormHintVisible(false);
1309
+ setMobileEditorPanelOpenRaw(false);
1310
+ }
1311
+ }, [mode, workspaceId]);
1285
1312
  const markEditorFormHintSeen = useCallback(() => {
1286
1313
  setEditorFormHintSeenState(true);
1287
1314
  setUserPreferences({ editorFormHintSeen: true });
@@ -1352,6 +1379,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
1352
1379
  setSidebarStacks((prev) => normalizeSidebarStacks(newOrder, prev));
1353
1380
  }, []);
1354
1381
  const ensureSidebarPinned = useCallback((sidebarId) => {
1382
+ if (sidebarId === CONTENT_TREE_SIDEBAR_ID) {
1383
+ return;
1384
+ }
1355
1385
  const currentPinnedSidebars = pinnedSidebarsRef.current;
1356
1386
  if (currentPinnedSidebars.includes(sidebarId)) {
1357
1387
  return;
@@ -1494,9 +1524,11 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
1494
1524
  }
1495
1525
  // Handle sidebar changes — clear when absent so state matches the URL
1496
1526
  const sidebarParam = urlParams.get("sidebar");
1497
- const newSidebars = sidebarParam
1498
- ? sidebarParam.split(",").filter(Boolean)
1499
- : [];
1527
+ const newSidebars = sidebarParam === SIDEBAR_NONE_SENTINEL
1528
+ ? []
1529
+ : sidebarParam
1530
+ ? sidebarParam.split(",").filter(Boolean)
1531
+ : [];
1500
1532
  setOpenSidebars(newSidebars);
1501
1533
  // Handle wizard ID changes
1502
1534
  const wizardId = urlParams.get("wizardid");
@@ -2872,6 +2904,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
2872
2904
  const handleContextMenuOpenChange = useCallback((open) => {
2873
2905
  if (open)
2874
2906
  return;
2907
+ setContextMenuSource(undefined);
2875
2908
  setCurrentOverlay((overlay) => overlay === "context-menu" ? undefined : overlay);
2876
2909
  }, []);
2877
2910
  useEffect(() => {
@@ -3195,6 +3228,13 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3195
3228
  return;
3196
3229
  }
3197
3230
  const targetWorkspace = configuration.editor.workspaces?.find((workspace) => workspace.id === targetWorkspaceId);
3231
+ const agentToCarryIntoEditor = workspaceIdRef.current === "agents" && targetWorkspaceId === "editor"
3232
+ ? selectedAgentsWorkspaceAgentIdRef.current
3233
+ : null;
3234
+ if (agentToCarryIntoEditor) {
3235
+ setActiveAgentConversation(agentToCarryIntoEditor);
3236
+ handleSetShowAgentsPanel(true);
3237
+ }
3198
3238
  if (targetWorkspace?.closeAgentsPanelOnEnter) {
3199
3239
  handleSetShowAgentsPanel(false);
3200
3240
  }
@@ -3275,7 +3315,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3275
3315
  // Check if this sidebar is part of a multi-member stack
3276
3316
  const currentStacks = sidebarStacksRef.current;
3277
3317
  const stackContainingSidebar = currentStacks.find((stack) => stack.includes(sidebarId));
3278
- const isInMultiMemberStack = stackContainingSidebar && stackContainingSidebar.length > 1;
3318
+ const isInMultiMemberStack = stackContainingSidebar &&
3319
+ stackContainingSidebar.filter((id) => id !== CONTENT_TREE_SIDEBAR_ID)
3320
+ .length > 1;
3279
3321
  // Don't close via icon click if in multi-member stack (unless forceClose is true)
3280
3322
  if (isInMultiMemberStack && !options?.forceClose) {
3281
3323
  return;
@@ -3289,6 +3331,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3289
3331
  if (sidebarId === "agents-panel") {
3290
3332
  setUserPreferences({ showAgentsPanel: false });
3291
3333
  }
3334
+ if (sidebarId === "feedback") {
3335
+ closeFeedbackSuggestionsMode();
3336
+ }
3292
3337
  startTransition(() => {
3293
3338
  updateUrl({ sidebar: sidebarUrlValue(newSidebars) });
3294
3339
  });
@@ -3297,10 +3342,12 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3297
3342
  // Opening a new sidebar
3298
3343
  // Keep sidebars that are locked OR in a stack with a locked sidebar
3299
3344
  const preservedSet = getPreservedSidebarIds();
3300
- const newSidebars = [
3301
- ...currentOpenSidebars.filter((id) => preservedSet.has(id)), // Keep locked stacks
3302
- sidebarId, // Add the new one
3303
- ];
3345
+ const newSidebars = sidebarId === CONTENT_TREE_SIDEBAR_ID
3346
+ ? [...currentOpenSidebars, sidebarId]
3347
+ : [
3348
+ ...currentOpenSidebars.filter((id) => preservedSet.has(id) || id === CONTENT_TREE_SIDEBAR_ID), // Keep locked stacks and the dedicated tree panel
3349
+ sidebarId, // Add the new one
3350
+ ];
3304
3351
  openSidebarsRef.current = newSidebars;
3305
3352
  setOpenSidebars(newSidebars);
3306
3353
  ensureSidebarPinned(sidebarId);
@@ -3322,6 +3369,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3322
3369
  ensureSidebarPinned,
3323
3370
  setUserPreferences,
3324
3371
  isMobile,
3372
+ closeFeedbackSuggestionsMode,
3325
3373
  ]);
3326
3374
  // Ensure a sidebar is open (without toggling it closed if already open)
3327
3375
  const openSidebar = useCallback((sidebarId, options) => {
@@ -3333,10 +3381,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3333
3381
  const preservedSet = options?.preserveOpenSidebars
3334
3382
  ? undefined
3335
3383
  : getPreservedSidebarIds();
3336
- const newSidebars = options?.preserveOpenSidebars
3384
+ const newSidebars = options?.preserveOpenSidebars || sidebarId === CONTENT_TREE_SIDEBAR_ID
3337
3385
  ? [...currentOpenSidebars, sidebarId]
3338
3386
  : [
3339
- ...currentOpenSidebars.filter((id) => preservedSet?.has(id)),
3387
+ ...currentOpenSidebars.filter((id) => preservedSet?.has(id) || id === CONTENT_TREE_SIDEBAR_ID),
3340
3388
  sidebarId,
3341
3389
  ];
3342
3390
  openSidebarsRef.current = newSidebars;
@@ -3816,7 +3864,20 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3816
3864
  }
3817
3865
  }
3818
3866
  else {
3819
- if (!ignoreBlur) {
3867
+ // Keep the field selected when the blur was caused by clicking a User
3868
+ // Manual "Show me" control. Those reveals (e.g. the Reset field action)
3869
+ // gate availability on the `.focused-field` anchor, so dropping the
3870
+ // focused field here would disable the button and hide the very element
3871
+ // being highlighted. A mouse blur fires before the button becomes the
3872
+ // active element, so the guard also accepts a recent pointer-down on the
3873
+ // control (keyboard activation still leaves it as the active element).
3874
+ const focusMovedToShowMe = typeof document !== "undefined" &&
3875
+ isManualShowMeFocusTransfer({
3876
+ activeElement: document.activeElement,
3877
+ lastPointerDownAt: manualShowMePointerDownAtRef.current,
3878
+ now: Date.now(),
3879
+ });
3880
+ if (!ignoreBlur && !focusMovedToShowMe) {
3820
3881
  setFocusedField(undefined);
3821
3882
  setLockedField(undefined); // Clear client-side lock state
3822
3883
  releaseFieldLocks(sessionId);
@@ -4195,6 +4256,24 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4195
4256
  };
4196
4257
  }
4197
4258
  }, [operations.onFieldBlur]);
4259
+ // Record pointer-downs on User Manual "Show me" controls before the field
4260
+ // blur fires, so the blur guard above can keep the focused field for
4261
+ // field-gated reveals regardless of focus/activeElement timing.
4262
+ useEffect(() => {
4263
+ if (typeof document === "undefined")
4264
+ return;
4265
+ const handlePointerDown = (event) => {
4266
+ if (isManualShowMeTarget(event.target)) {
4267
+ manualShowMePointerDownAtRef.current = Date.now();
4268
+ }
4269
+ };
4270
+ document.addEventListener("pointerdown", handlePointerDown, true);
4271
+ document.addEventListener("mousedown", handlePointerDown, true);
4272
+ return () => {
4273
+ document.removeEventListener("pointerdown", handlePointerDown, true);
4274
+ document.removeEventListener("mousedown", handlePointerDown, true);
4275
+ };
4276
+ }, []);
4198
4277
  const isReadOnly = !item ||
4199
4278
  !item.canWriteItem ||
4200
4279
  !item.canWriteLanguage ||
@@ -4341,7 +4420,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4341
4420
  dragEnd: () => {
4342
4421
  setDragObject(undefined);
4343
4422
  },
4344
- droppedInPlaceholder: async (placeholderKey, index, spotPositionElement, spotPositionAnchor, insertOption, spotPosition) => {
4423
+ droppedInPlaceholder: async (placeholderKey, index, spotPositionElement, spotPositionAnchor, insertOption, spotPosition, color) => {
4345
4424
  const droppedDragObject = dragObject;
4346
4425
  if ((!droppedDragObject && !insertOption) || !page)
4347
4426
  return;
@@ -4362,6 +4441,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4362
4441
  position: spotPosition,
4363
4442
  positionElement: spotPositionElement,
4364
4443
  positionAnchor: spotPositionAnchor,
4444
+ color,
4365
4445
  });
4366
4446
  }
4367
4447
  let operationPromise;
@@ -4574,8 +4654,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4574
4654
  : x));
4575
4655
  },
4576
4656
  activeFieldActions,
4577
- showContextMenu: (event, items) => {
4657
+ showContextMenu: (event, items, options) => {
4578
4658
  contextMenuRef.current?.show(event, items);
4659
+ setContextMenuSource(options?.source);
4579
4660
  setCurrentOverlay("context-menu");
4580
4661
  },
4581
4662
  updateContextMenu: (items) => {
@@ -4664,6 +4745,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4664
4745
  insertMode,
4665
4746
  setInsertMode,
4666
4747
  currentOverlay,
4748
+ contextMenuSource,
4667
4749
  setCurrentOverlay,
4668
4750
  lockedField,
4669
4751
  timings,
@@ -4709,7 +4791,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4709
4791
  pageModelReadyToken,
4710
4792
  selectedComment,
4711
4793
  setSelectedComment,
4794
+ selectedSuggestedEdit,
4795
+ setSelectedSuggestedEdit,
4712
4796
  comments,
4797
+ commentsLoaded,
4713
4798
  availableCommentTags,
4714
4799
  loadComments,
4715
4800
  setComments,
@@ -4721,6 +4806,16 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4721
4806
  const descriptor = item?.descriptor;
4722
4807
  if (!descriptor)
4723
4808
  return;
4809
+ // Only keep a single empty draft comment at a time. Clicking
4810
+ // "add comment" again while an unsaved draft already exists should
4811
+ // focus that draft instead of stacking up more empty inputs.
4812
+ const existingDraft = comments.find((c) => c.isNew);
4813
+ if (existingDraft) {
4814
+ await activateCommentsModeForWriting("comment-add");
4815
+ setSelectedComment(existingDraft);
4816
+ setSelectedSuggestedEdit(undefined);
4817
+ return;
4818
+ }
4724
4819
  // Snapshot selection context up-front so switching views doesn't change what we comment on.
4725
4820
  const hintedFieldSnapshot = options?.field;
4726
4821
  const focusedFieldSnapshot = focusedFieldRef.current;
@@ -4751,8 +4846,8 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4751
4846
  descriptor.id;
4752
4847
  if (!itemId)
4753
4848
  return;
4754
- // Ensure the feedback sidebar is open when adding a comment (e.g. command palette / toolbar button).
4755
- openSidebar("feedback");
4849
+ // Ensure the promoted comments surface is active when adding a comment.
4850
+ await activateCommentsModeForWriting("comment-add");
4756
4851
  const language = commentFieldSnapshot?.item.language || descriptor.language;
4757
4852
  const version = typeof commentFieldSnapshot?.item.version === "number"
4758
4853
  ? commentFieldSnapshot.item.version
@@ -4802,7 +4897,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4802
4897
  }
4803
4898
  setComments([newComment, ...comments]);
4804
4899
  setSelectedComment(newComment);
4805
- setShowComments(true);
4900
+ setSelectedSuggestedEdit(undefined);
4806
4901
  lastTextSelectionRangeRef.current = undefined;
4807
4902
  },
4808
4903
  mode,
@@ -4960,6 +5055,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4960
5055
  componentDesignerRendering,
4961
5056
  insertMode,
4962
5057
  currentOverlay,
5058
+ contextMenuSource,
4963
5059
  lockedField,
4964
5060
  timings,
4965
5061
  selectedRange,
@@ -4977,7 +5073,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4977
5073
  notifyPageModelReady,
4978
5074
  pageModelReadyToken,
4979
5075
  selectedComment,
5076
+ selectedSuggestedEdit,
4980
5077
  comments,
5078
+ commentsLoaded,
4981
5079
  availableCommentTags,
4982
5080
  loadComments,
4983
5081
  showComments,
@@ -5000,6 +5098,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
5000
5098
  factoriesRef,
5001
5099
  user,
5002
5100
  statusMessage,
5101
+ activateCommentsModeForWriting,
5003
5102
  changeMode,
5004
5103
  setMode,
5005
5104
  registerModeChangeParticipant,
@@ -5283,7 +5382,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
5283
5382
  // Auto-open the mobile editor panel for new selection/intent changes, but
5284
5383
  // keep a manual close sticky for the exact same context.
5285
5384
  useEffect(() => {
5286
- if (!isMobile || workspaceId !== "editor")
5385
+ if (!isMobile || workspaceId !== "editor" || mode !== "edit")
5287
5386
  return;
5288
5387
  if (activeEditorTab) {
5289
5388
  handleSetMobileEditorPanelOpen(true);
@@ -5301,12 +5400,13 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
5301
5400
  insertMode,
5302
5401
  isMobile,
5303
5402
  mobilePanelDismissToken,
5403
+ mode,
5304
5404
  selection,
5305
5405
  workspaceId,
5306
5406
  ]);
5307
5407
  if (!currentWorkspace)
5308
5408
  return null;
5309
- const editorUi = fullscreen ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "fixed inset-0 flex", children: [_jsx(PageViewerFrame, { compareView: compareMode, pageViewContext: activePageViewContext }), _jsx(FullscreenControls, { device: activePageViewContext.device, setDevice: (d) => activePageViewContext.setDevice(d), canExit: !configuration.forceFullscreen, onExit: () => setFullscreen(false), firstMobileDeviceName: configuration.devices[0]?.name })] }), showFullscreenHint && !configuration.forceFullscreen && !isMobile && (_jsx("div", { className: "fixed inset-0 z-10000", onMouseMoveCapture: () => {
5409
+ const editorUi = fullscreen ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 flex", children: _jsx(PageViewerFrame, { compareView: compareMode, pageViewContext: activePageViewContext }) }), showFullscreenHint && !configuration.forceFullscreen && !isMobile && (_jsx("div", { className: "fixed inset-0 z-10000", onMouseMoveCapture: () => {
5310
5410
  setTimeout(() => {
5311
5411
  setShowFullscreenHint(false);
5312
5412
  }, 600);