@parhelia/core 0.1.12901 → 0.1.12903

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 (352) hide show
  1. package/dist/agents-view/AgentsWorkspaceView.js +40 -5
  2. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  3. package/dist/components/ui/button.js +1 -1
  4. package/dist/components/ui/button.js.map +1 -1
  5. package/dist/components/ui/context-menu.d.ts +2 -2
  6. package/dist/components/ui/context-menu.js +64 -7
  7. package/dist/components/ui/context-menu.js.map +1 -1
  8. package/dist/components/ui/dialog.d.ts +2 -2
  9. package/dist/components/ui/dialog.js +27 -5
  10. package/dist/components/ui/dialog.js.map +1 -1
  11. package/dist/config/config.js +83 -3
  12. package/dist/config/config.js.map +1 -1
  13. package/dist/editor/AspectRatioSelector.js +27 -24
  14. package/dist/editor/AspectRatioSelector.js.map +1 -1
  15. package/dist/editor/ConcurrentUserLimitDialog.js +1 -1
  16. package/dist/editor/ConcurrentUserLimitDialog.js.map +1 -1
  17. package/dist/editor/ConfirmationDialog.js +6 -4
  18. package/dist/editor/ConfirmationDialog.js.map +1 -1
  19. package/dist/editor/ContentTree.js +4 -3
  20. package/dist/editor/ContentTree.js.map +1 -1
  21. package/dist/editor/EditorWarning.js +1 -1
  22. package/dist/editor/EditorWarning.js.map +1 -1
  23. package/dist/editor/FieldListField.js +12 -8
  24. package/dist/editor/FieldListField.js.map +1 -1
  25. package/dist/editor/PictureCropper.js +73 -37
  26. package/dist/editor/PictureCropper.js.map +1 -1
  27. package/dist/editor/SetupWizard.js +14 -12
  28. package/dist/editor/SetupWizard.js.map +1 -1
  29. package/dist/editor/WorkspaceTitleSwitcher.js +1 -1
  30. package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -1
  31. package/dist/editor/ai/Agents.js +19 -3
  32. package/dist/editor/ai/Agents.js.map +1 -1
  33. package/dist/editor/ai/dialogs/AgentDialogHandler.js +87 -9
  34. package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
  35. package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +18 -0
  36. package/dist/editor/ai/dialogs/agentDialogTypes.js +5 -0
  37. package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
  38. package/dist/editor/ai/dialogs/browserBoundCapture.d.ts +6 -9
  39. package/dist/editor/ai/dialogs/browserBoundCapture.js +17 -25
  40. package/dist/editor/ai/dialogs/browserBoundCapture.js.map +1 -1
  41. package/dist/editor/ai/dialogs/capturePageDom.js +2 -18
  42. package/dist/editor/ai/dialogs/capturePageDom.js.map +1 -1
  43. package/dist/editor/ai/dialogs/capturePageScreenshot.d.ts +27 -1
  44. package/dist/editor/ai/dialogs/capturePageScreenshot.js +11 -24
  45. package/dist/editor/ai/dialogs/capturePageScreenshot.js.map +1 -1
  46. package/dist/editor/ai/dialogs/captureShared.d.ts +10 -0
  47. package/dist/editor/ai/dialogs/captureShared.js +39 -0
  48. package/dist/editor/ai/dialogs/captureShared.js.map +1 -0
  49. package/dist/editor/ai/dialogs/offscreenPageCapture.d.ts +44 -0
  50. package/dist/editor/ai/dialogs/offscreenPageCapture.js +300 -0
  51. package/dist/editor/ai/dialogs/offscreenPageCapture.js.map +1 -0
  52. package/dist/editor/ai/terminal/agentContextMerge.d.ts +2 -7
  53. package/dist/editor/ai/terminal/agentContextMerge.js +33 -10
  54. package/dist/editor/ai/terminal/agentContextMerge.js.map +1 -1
  55. package/dist/editor/ai/terminal/agentSessionState.d.ts +28 -0
  56. package/dist/editor/ai/terminal/agentSessionState.js +63 -3
  57. package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
  58. package/dist/editor/ai/terminal/components/AgentContextItemPicker.d.ts +11 -0
  59. package/dist/editor/ai/terminal/components/AgentContextItemPicker.js +81 -0
  60. package/dist/editor/ai/terminal/components/AgentContextItemPicker.js.map +1 -0
  61. package/dist/editor/ai/terminal/components/AgentProjectProgress.js +1 -1
  62. package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -1
  63. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +3 -1
  64. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +40 -25
  65. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
  66. package/dist/editor/ai/terminal/components/AgentSuggestionBanner.d.ts +16 -0
  67. package/dist/editor/ai/terminal/components/AgentSuggestionBanner.js +41 -0
  68. package/dist/editor/ai/terminal/components/AgentSuggestionBanner.js.map +1 -0
  69. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +1 -3
  70. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js +2 -2
  71. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
  72. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +3 -0
  73. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -1
  74. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +10 -5
  75. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +3 -3
  76. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  77. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +1 -3
  78. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -2
  79. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
  80. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +2 -5
  81. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +2 -2
  82. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
  83. package/dist/editor/ai/terminal/components/AgentTerminalView.js +3 -2
  84. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  85. package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +1 -11
  86. package/dist/editor/ai/terminal/components/AiResponseMessage.js +42 -5
  87. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  88. package/dist/editor/ai/terminal/components/ContextInfoBar.d.ts +4 -1
  89. package/dist/editor/ai/terminal/components/ContextInfoBar.js +69 -35
  90. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
  91. package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +14 -11
  92. package/dist/editor/ai/terminal/components/ToolCallDisplay.js +13 -71
  93. package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
  94. package/dist/editor/ai/terminal/components/UserMessage.js +104 -58
  95. package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
  96. package/dist/editor/ai/terminal/components/toolCallApprovalGate.d.ts +21 -0
  97. package/dist/editor/ai/terminal/components/toolCallApprovalGate.js +32 -0
  98. package/dist/editor/ai/terminal/components/toolCallApprovalGate.js.map +1 -0
  99. package/dist/editor/ai/terminal/types.d.ts +1 -3
  100. package/dist/editor/ai/terminal/useAgentEditorContext.d.ts +2 -6
  101. package/dist/editor/ai/terminal/useAgentEditorContext.js +41 -10
  102. package/dist/editor/ai/terminal/useAgentEditorContext.js.map +1 -1
  103. package/dist/editor/ai/terminal/useAgentInitialPrompt.js +4 -1
  104. package/dist/editor/ai/terminal/useAgentInitialPrompt.js.map +1 -1
  105. package/dist/editor/ai/terminal/useAgentLoadErrorHandler.d.ts +3 -0
  106. package/dist/editor/ai/terminal/useAgentLoadErrorHandler.js +7 -5
  107. package/dist/editor/ai/terminal/useAgentLoadErrorHandler.js.map +1 -1
  108. package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +1 -0
  109. package/dist/editor/ai/terminal/useAgentLoadPipeline.js +3 -1
  110. package/dist/editor/ai/terminal/useAgentLoadPipeline.js.map +1 -1
  111. package/dist/editor/ai/terminal/useAgentLoader.js +4 -1
  112. package/dist/editor/ai/terminal/useAgentLoader.js.map +1 -1
  113. package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js +3 -3
  114. package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js.map +1 -1
  115. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.d.ts +0 -2
  116. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +4 -9
  117. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
  118. package/dist/editor/ai/terminal/useAgentSession.d.ts +0 -1
  119. package/dist/editor/ai/terminal/useAgentSession.js +0 -5
  120. package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
  121. package/dist/editor/ai/terminal/useAgentSessionCommandBindings.d.ts +0 -2
  122. package/dist/editor/ai/terminal/useAgentSessionCommandBindings.js +1 -5
  123. package/dist/editor/ai/terminal/useAgentSessionCommandBindings.js.map +1 -1
  124. package/dist/editor/ai/terminal/useAgentSessionFacade.d.ts +0 -2
  125. package/dist/editor/ai/terminal/useAgentSessionFacade.js +0 -3
  126. package/dist/editor/ai/terminal/useAgentSessionFacade.js.map +1 -1
  127. package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +1 -6
  128. package/dist/editor/ai/terminal/useAgentSessionSync.js +1 -14
  129. package/dist/editor/ai/terminal/useAgentSessionSync.js.map +1 -1
  130. package/dist/editor/ai/terminal/useAgentSettingsPanel.js +2 -0
  131. package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
  132. package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +2 -0
  133. package/dist/editor/ai/terminal/useAgentSkillActions.js +10 -4
  134. package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -1
  135. package/dist/editor/ai/terminal/useAgentSocketMessageRouter.d.ts +1 -0
  136. package/dist/editor/ai/terminal/useAgentSocketMessageRouter.js +6 -1
  137. package/dist/editor/ai/terminal/useAgentSocketMessageRouter.js.map +1 -1
  138. package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +2 -2
  139. package/dist/editor/ai/terminal/useAgentStreamPipeline.js +7 -3
  140. package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -1
  141. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +4 -0
  142. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +48 -6
  143. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
  144. package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +2 -0
  145. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +7 -1
  146. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
  147. package/dist/editor/ai/terminal/useAgentSuggestionSocketHandler.d.ts +25 -0
  148. package/dist/editor/ai/terminal/useAgentSuggestionSocketHandler.js +35 -0
  149. package/dist/editor/ai/terminal/useAgentSuggestionSocketHandler.js.map +1 -0
  150. package/dist/editor/ai/terminal/useAgentTerminalChrome.d.ts +3 -0
  151. package/dist/editor/ai/terminal/useAgentTerminalChrome.js +2 -2
  152. package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -1
  153. package/dist/editor/ai/terminal/useAgentTerminalController.d.ts +1 -1
  154. package/dist/editor/ai/terminal/useAgentTerminalController.js +65 -26
  155. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  156. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
  157. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  158. package/dist/editor/ai/terminal/useAgentToolResultHandler.d.ts +6 -0
  159. package/dist/editor/ai/terminal/useAgentToolResultHandler.js +18 -1
  160. package/dist/editor/ai/terminal/useAgentToolResultHandler.js.map +1 -1
  161. package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js +3 -1
  162. package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js.map +1 -1
  163. package/dist/editor/ai/useAgentPanes.d.ts +1 -1
  164. package/dist/editor/ai/useAgentPanes.js +25 -3
  165. package/dist/editor/ai/useAgentPanes.js.map +1 -1
  166. package/dist/editor/ai-image-editor/AiImageEditorDialog.js +107 -16
  167. package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
  168. package/dist/editor/bridge/protocol.d.ts +4 -0
  169. package/dist/editor/bridge/protocol.js.map +1 -1
  170. package/dist/editor/client/EditorShell.d.ts +0 -10
  171. package/dist/editor/client/EditorShell.js +17 -5
  172. package/dist/editor/client/EditorShell.js.map +1 -1
  173. package/dist/editor/client/editContext.d.ts +19 -2
  174. package/dist/editor/client/editContext.js.map +1 -1
  175. package/dist/editor/client/hooks/useSocketMessageHandler.js +0 -20
  176. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  177. package/dist/editor/client/operations.d.ts +4 -2
  178. package/dist/editor/client/operations.js +106 -33
  179. package/dist/editor/client/operations.js.map +1 -1
  180. package/dist/editor/field-types/AttachmentEditor.js +42 -4
  181. package/dist/editor/field-types/AttachmentEditor.js.map +1 -1
  182. package/dist/editor/media-selector/MediaFolderBrowser.js +142 -32
  183. package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
  184. package/dist/editor/media-selector/Preview.d.ts +2 -1
  185. package/dist/editor/media-selector/Preview.js +45 -2
  186. package/dist/editor/media-selector/Preview.js.map +1 -1
  187. package/dist/editor/media-selector/Thumbnails.d.ts +5 -1
  188. package/dist/editor/media-selector/Thumbnails.js +72 -11
  189. package/dist/editor/media-selector/Thumbnails.js.map +1 -1
  190. package/dist/editor/media-selector/TreeSelector.js +130 -22
  191. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  192. package/dist/editor/media-selector/UploadZone.d.ts +2 -1
  193. package/dist/editor/media-selector/UploadZone.js +7 -15
  194. package/dist/editor/media-selector/UploadZone.js.map +1 -1
  195. package/dist/editor/media-selector/mediaFileType.d.ts +12 -0
  196. package/dist/editor/media-selector/mediaFileType.js +95 -0
  197. package/dist/editor/media-selector/mediaFileType.js.map +1 -0
  198. package/dist/editor/media-selector/mediaSelectionPath.d.ts +5 -0
  199. package/dist/editor/media-selector/mediaSelectionPath.js +21 -0
  200. package/dist/editor/media-selector/mediaSelectionPath.js.map +1 -0
  201. package/dist/editor/media-selector/mediaUpload.d.ts +30 -0
  202. package/dist/editor/media-selector/mediaUpload.js +155 -0
  203. package/dist/editor/media-selector/mediaUpload.js.map +1 -0
  204. package/dist/editor/menubar/toolbar-sections/UndoRedoControls.js +52 -29
  205. package/dist/editor/menubar/toolbar-sections/UndoRedoControls.js.map +1 -1
  206. package/dist/editor/page-editor-chrome/ComponentOperationBubble.d.ts +8 -0
  207. package/dist/editor/page-editor-chrome/ComponentOperationBubble.js +8 -0
  208. package/dist/editor/page-editor-chrome/ComponentOperationBubble.js.map +1 -0
  209. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +207 -19
  210. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -1
  211. package/dist/editor/page-editor-chrome/FrameMenu.js +101 -12
  212. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  213. package/dist/editor/page-editor-chrome/FrameMenus.js +6 -1
  214. package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
  215. package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +2 -1
  216. package/dist/editor/page-editor-chrome/InsertComponentMenu.js +7 -2
  217. package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -1
  218. package/dist/editor/page-editor-chrome/LockedFieldIndicator.js +3 -2
  219. package/dist/editor/page-editor-chrome/LockedFieldIndicator.js.map +1 -1
  220. package/dist/editor/page-editor-chrome/PageEditorChrome.js +95 -24
  221. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  222. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +85 -7
  223. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  224. package/dist/editor/page-editor-chrome/insertTargetLabel.d.ts +6 -0
  225. package/dist/editor/page-editor-chrome/insertTargetLabel.js +21 -0
  226. package/dist/editor/page-editor-chrome/insertTargetLabel.js.map +1 -0
  227. package/dist/editor/page-editor-chrome/overlay/geometry.js +13 -1
  228. package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
  229. package/dist/editor/page-editor-chrome/overlay/placeholderZones.d.ts +1 -0
  230. package/dist/editor/page-editor-chrome/overlay/placeholderZones.js +14 -9
  231. package/dist/editor/page-editor-chrome/overlay/placeholderZones.js.map +1 -1
  232. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +6 -3
  233. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +112 -6
  234. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
  235. package/dist/editor/page-viewer/PageViewer.js +1 -0
  236. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  237. package/dist/editor/page-viewer/PageViewerFrame.js +119 -100
  238. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  239. package/dist/editor/page-viewer/bridgeKeyboardShortcuts.d.ts +3 -0
  240. package/dist/editor/page-viewer/bridgeKeyboardShortcuts.js +36 -0
  241. package/dist/editor/page-viewer/bridgeKeyboardShortcuts.js.map +1 -0
  242. package/dist/editor/page-viewer/renderUrl.d.ts +14 -0
  243. package/dist/editor/page-viewer/renderUrl.js +83 -0
  244. package/dist/editor/page-viewer/renderUrl.js.map +1 -0
  245. package/dist/editor/reviews/CreateReviewDialog.js +1 -1
  246. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  247. package/dist/editor/reviews/EditReviewSettingsDialog.js +1 -1
  248. package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
  249. package/dist/editor/services/agentService.d.ts +22 -29
  250. package/dist/editor/services/agentService.js +24 -22
  251. package/dist/editor/services/agentService.js.map +1 -1
  252. package/dist/editor/services/aiService.d.ts +3 -0
  253. package/dist/editor/services/aiService.js.map +1 -1
  254. package/dist/editor/services/contentService.d.ts +5 -0
  255. package/dist/editor/services/contentService.js.map +1 -1
  256. package/dist/editor/services/editService.d.ts +12 -0
  257. package/dist/editor/services/editService.js +3 -0
  258. package/dist/editor/services/editService.js.map +1 -1
  259. package/dist/editor/settings/panels/AgentsPanel.js +1 -1
  260. package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
  261. package/dist/editor/settings/panels/ModelsPanel.js +94 -26
  262. package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
  263. package/dist/editor/setup-wizard/SetupStepError.d.ts +8 -0
  264. package/dist/editor/setup-wizard/SetupStepError.js +7 -0
  265. package/dist/editor/setup-wizard/SetupStepError.js.map +1 -0
  266. package/dist/editor/setup-wizard/SetupStepHeader.d.ts +15 -0
  267. package/dist/editor/setup-wizard/SetupStepHeader.js +6 -0
  268. package/dist/editor/setup-wizard/SetupStepHeader.js.map +1 -0
  269. package/dist/editor/setup-wizard/SetupStepLayout.d.ts +33 -0
  270. package/dist/editor/setup-wizard/SetupStepLayout.js +16 -0
  271. package/dist/editor/setup-wizard/SetupStepLayout.js.map +1 -0
  272. package/dist/editor/setup-wizard/steps/CompleteStep.js +12 -10
  273. package/dist/editor/setup-wizard/steps/CompleteStep.js.map +1 -1
  274. package/dist/editor/setup-wizard/steps/CreateSettingsStep.js +4 -2
  275. package/dist/editor/setup-wizard/steps/CreateSettingsStep.js.map +1 -1
  276. package/dist/editor/setup-wizard/steps/LicenseActivationStep.js +95 -28
  277. package/dist/editor/setup-wizard/steps/LicenseActivationStep.js.map +1 -1
  278. package/dist/editor/setup-wizard/steps/LicenseEmailStep.d.ts +2 -1
  279. package/dist/editor/setup-wizard/steps/LicenseEmailStep.js +12 -4
  280. package/dist/editor/setup-wizard/steps/LicenseEmailStep.js.map +1 -1
  281. package/dist/editor/setup-wizard/steps/ModelSelectionStep.d.ts +1 -1
  282. package/dist/editor/setup-wizard/steps/ModelSelectionStep.js +62 -58
  283. package/dist/editor/setup-wizard/steps/ModelSelectionStep.js.map +1 -1
  284. package/dist/editor/setup-wizard/steps/ProviderStep.js +63 -19
  285. package/dist/editor/setup-wizard/steps/ProviderStep.js.map +1 -1
  286. package/dist/editor/setup-wizard/steps/WelcomeStep.js +2 -1
  287. package/dist/editor/setup-wizard/steps/WelcomeStep.js.map +1 -1
  288. package/dist/editor/sidebar/ComponentPalette.js +1 -1
  289. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  290. package/dist/editor/sidebar/ComponentTree.js +24 -30
  291. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  292. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +1 -1
  293. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js.map +1 -1
  294. package/dist/editor/ui/CopyMoveTargetSelectorDialog.js +2 -2
  295. package/dist/editor/ui/CopyMoveTargetSelectorDialog.js.map +1 -1
  296. package/dist/editor/ui/DialogButtons.js +1 -1
  297. package/dist/editor/ui/DialogButtons.js.map +1 -1
  298. package/dist/editor/ui/IconSelectorDialog.js +1 -1
  299. package/dist/editor/ui/IconSelectorDialog.js.map +1 -1
  300. package/dist/editor/ui/ItemNameDialogNew.js +1 -1
  301. package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
  302. package/dist/editor/ui/PerfectTree.js +1 -1
  303. package/dist/editor/ui/PerfectTree.js.map +1 -1
  304. package/dist/editor/ui/PublishDialog.js +1 -1
  305. package/dist/editor/ui/PublishDialog.js.map +1 -1
  306. package/dist/editor/ui/PublishItemDialog.js +1 -1
  307. package/dist/editor/ui/PublishItemDialog.js.map +1 -1
  308. package/dist/editor/ui/SharedFolderSelectorDialog.js +1 -1
  309. package/dist/editor/ui/SharedFolderSelectorDialog.js.map +1 -1
  310. package/dist/editor/ui/TemplateSelectorDialog.js +1 -1
  311. package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
  312. package/dist/editor/views/EditorSlot.js +1 -1
  313. package/dist/editor/views/EditorSlot.js.map +1 -1
  314. package/dist/editor/views/MediaFolderEditView.js +1 -1
  315. package/dist/editor/views/MediaFolderEditView.js.map +1 -1
  316. package/dist/lib/viewTransition.js +7 -1
  317. package/dist/lib/viewTransition.js.map +1 -1
  318. package/dist/logging/consolePrefix.js +13 -0
  319. package/dist/logging/consolePrefix.js.map +1 -1
  320. package/dist/revision.d.ts +2 -2
  321. package/dist/revision.js +2 -2
  322. package/dist/setup/services/setupWizardService.d.ts +2 -0
  323. package/dist/setup/services/setupWizardService.js +12 -0
  324. package/dist/setup/services/setupWizardService.js.map +1 -1
  325. package/dist/setup/wizard/steps/ImportModelDialog.js +35 -86
  326. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  327. package/dist/splash-screen/ModernSplashScreen.js +12 -0
  328. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  329. package/dist/task-board/components/ItemCollectionEditorDialog.js +1 -1
  330. package/dist/task-board/components/ItemCollectionEditorDialog.js.map +1 -1
  331. package/dist/task-board/components/ProjectOverviewContent.js +1 -1
  332. package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
  333. package/dist/task-board/components/ProjectSettingsDialog.js +1 -1
  334. package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
  335. package/images/Parhelia-Onboarding-BG.jpg +0 -0
  336. package/package.json +1 -1
  337. package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.d.ts +0 -10
  338. package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.js +0 -24
  339. package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.js.map +0 -1
  340. package/dist/editor/ai/terminal/useAgentBrowserCapture.d.ts +0 -24
  341. package/dist/editor/ai/terminal/useAgentBrowserCapture.js +0 -147
  342. package/dist/editor/ai/terminal/useAgentBrowserCapture.js.map +0 -1
  343. package/dist/editor/ai/terminal/useAgentBrowserCapturePanel.d.ts +0 -29
  344. package/dist/editor/ai/terminal/useAgentBrowserCapturePanel.js +0 -36
  345. package/dist/editor/ai/terminal/useAgentBrowserCapturePanel.js.map +0 -1
  346. package/dist/editor/ai/terminal/useAgentBrowserCaptureUi.d.ts +0 -18
  347. package/dist/editor/ai/terminal/useAgentBrowserCaptureUi.js +0 -36
  348. package/dist/editor/ai/terminal/useAgentBrowserCaptureUi.js.map +0 -1
  349. package/images/bg-shape-black.webp +0 -0
  350. package/images/parhelia-logo-1.jpg +0 -0
  351. package/images/phlogo.png +0 -0
  352. package/images/wizard-bg.png +0 -0
@@ -19,6 +19,7 @@ import { loadFieldButtons } from "../services/editService";
19
19
  import { usePathname } from "../client/navigation";
20
20
  import { EditorWarnings } from "../EditorWarnings";
21
21
  import { FieldActionsOverlay, } from "../FieldActionsOverlay";
22
+ import { alignLoopbackHostToEditor, alignXmCloudManagedEditingHostToEditor, applyParheliaRenderContext, getEditorQueryParam, } from "./renderUrl";
22
23
  import { NoLayout } from "../page-editor-chrome/NoLayout";
23
24
  import { Spinner } from "../ui/Spinner";
24
25
  import { DeviceToolbar } from "./DeviceToolbar";
@@ -27,6 +28,7 @@ import { toSitecoreDate } from "../utils/sitecoreDate";
27
28
  import { BridgeClient } from "../bridge/BridgeClient";
28
29
  import { getSuggestionDisplayValue } from "../reviews/suggestionDisplayValue";
29
30
  import { buildBridgeFieldPatchPayload, getBridgeFieldPatchValue, } from "./bridgeFieldPatch";
31
+ import { createKeyboardEventFromBridgeInteraction } from "./bridgeKeyboardShortcuts";
30
32
  const ZOOM_MIN = 0.25;
31
33
  const ZOOM_MAX = 2;
32
34
  const ZOOM_STEP = 0.25;
@@ -63,6 +65,27 @@ const SUGGESTIONS_CURSOR_SVG = '<svg xmlns="http://www.w3.org/2000/svg" width="2
63
65
  "</svg>";
64
66
  const SUGGESTIONS_CURSOR_IMAGE = "data:image/svg+xml," + encodeURIComponent(SUGGESTIONS_CURSOR_SVG);
65
67
  const SUGGESTIONS_CURSOR_VALUE = `url("${SUGGESTIONS_CURSOR_IMAGE}") 5 14, default`;
68
+ function getSelectedRangeInlineEditInteraction(range) {
69
+ if (!range?.text?.trim() || !range.elementKey || !range.fieldId) {
70
+ return undefined;
71
+ }
72
+ const item = range.itemId && range.language && typeof range.version === "number"
73
+ ? {
74
+ id: range.itemId,
75
+ language: range.language,
76
+ version: range.version,
77
+ }
78
+ : undefined;
79
+ return {
80
+ kind: "click",
81
+ elementKey: range.elementKey,
82
+ fieldId: range.fieldId,
83
+ item,
84
+ selectedText: range.text,
85
+ selectionStartOffset: range.startOffset,
86
+ selectionEndOffset: range.endOffset,
87
+ };
88
+ }
66
89
  function dispatchBridgeOverlayScroll(iframe, scroll, scrollScale = 1) {
67
90
  iframe?.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_SCROLL_EVENT, {
68
91
  detail: {
@@ -299,7 +322,7 @@ function getIframeWindowScroll(iframe) {
299
322
  return undefined;
300
323
  }
301
324
  }
302
- function restoreIframeWindowScroll(iframe, targetScroll) {
325
+ function restoreIframeWindowScroll(iframe, targetScroll, options = {}) {
303
326
  if (!targetScroll)
304
327
  return false;
305
328
  try {
@@ -307,20 +330,41 @@ function restoreIframeWindowScroll(iframe, targetScroll) {
307
330
  if (!win)
308
331
  return false;
309
332
  let attempts = 0;
333
+ let completed = false;
334
+ const maxAttempts = options.maxAttempts ?? 8;
335
+ const finish = (settled) => {
336
+ if (completed)
337
+ return;
338
+ completed = true;
339
+ if (settled) {
340
+ options.onSettled?.();
341
+ }
342
+ else {
343
+ options.onExpired?.();
344
+ }
345
+ };
310
346
  const apply = () => {
311
347
  try {
312
348
  attempts += 1;
313
349
  win.scrollTo(targetScroll.x, targetScroll.y);
314
350
  const settled = Math.abs((win.scrollX || 0) - targetScroll.x) <= 1 &&
315
351
  Math.abs((win.scrollY || 0) - targetScroll.y) <= 1;
316
- if (!settled && attempts < 8) {
352
+ if (settled) {
353
+ finish(true);
354
+ return;
355
+ }
356
+ if (attempts < maxAttempts) {
317
357
  window.requestAnimationFrame(apply);
318
358
  }
359
+ else {
360
+ finish(false);
361
+ }
319
362
  }
320
363
  catch {
321
364
  // Cross-origin preview frames expose a WindowProxy, but reading named
322
365
  // properties such as scrollTo/scrollX can throw. In that case the
323
366
  // bridge-side scroll restoration is responsible for preserving scroll.
367
+ finish(false);
324
368
  }
325
369
  };
326
370
  window.requestAnimationFrame(apply);
@@ -336,28 +380,6 @@ function applyIframeZoom(_iframe, _zoom, _location) {
336
380
  function clampEditorZoom(value) {
337
381
  return Math.min(ZOOM_MAX, Math.max(ZOOM_MIN, value));
338
382
  }
339
- function isLoopbackHost(hostname) {
340
- return hostname === "localhost" || hostname === "127.0.0.1";
341
- }
342
- function alignLoopbackHostToEditor(url) {
343
- if (isLoopbackHost(window.location.hostname) &&
344
- isLoopbackHost(url.hostname)) {
345
- // Sitecore auth cookies are host-scoped, so localhost and 127.0.0.1 are
346
- // different origins even when they point at the same machine.
347
- url.hostname = window.location.hostname;
348
- }
349
- }
350
- function isXmCloudManagedEditingHost(url) {
351
- return url.hostname.endsWith("-eh.sitecorecloud.io");
352
- }
353
- function alignXmCloudManagedEditingHostToEditor(url) {
354
- if (window.location.hostname.endsWith(".sitecorecloud.io") &&
355
- isXmCloudManagedEditingHost(url)) {
356
- url.protocol = window.location.protocol;
357
- url.hostname = window.location.hostname;
358
- url.port = window.location.port;
359
- }
360
- }
361
383
  function getUrlOrigin(url) {
362
384
  if (!url)
363
385
  return undefined;
@@ -371,61 +393,6 @@ function getUrlOrigin(url) {
371
393
  return undefined;
372
394
  }
373
395
  }
374
- function getEditorQueryParam(name) {
375
- try {
376
- return new URLSearchParams(window.location.search).get(name) || undefined;
377
- }
378
- catch {
379
- return undefined;
380
- }
381
- }
382
- function inferRoutePathFromSitecoreItemPath(itemPath) {
383
- const segments = (itemPath || "")
384
- .split("/")
385
- .map((segment) => segment.trim())
386
- .filter(Boolean);
387
- const homeIndex = segments
388
- .map((segment) => segment.toLowerCase())
389
- .lastIndexOf("home");
390
- if (homeIndex < 0)
391
- return undefined;
392
- const routeSegments = segments.slice(homeIndex + 1);
393
- if (routeSegments.length === 0)
394
- return "/";
395
- return `/${routeSegments.map(encodeURIComponent).join("/")}`;
396
- }
397
- function isRootRenderPath(pathname) {
398
- return !pathname || pathname === "/";
399
- }
400
- function applyParheliaRenderContext(renderUrl, pageItemDescriptor, siteName) {
401
- if (siteName) {
402
- if (!renderUrl.searchParams.has("site")) {
403
- renderUrl.searchParams.set("site", siteName);
404
- }
405
- // Same-origin Sitecore fallback URLs use sc_site for site resolution and can
406
- // canonical-redirect to the public site host before the editor iframe loads.
407
- if (renderUrl.origin !== window.location.origin &&
408
- !renderUrl.searchParams.has("sc_site")) {
409
- renderUrl.searchParams.set("sc_site", siteName);
410
- }
411
- }
412
- if (!renderUrl.searchParams.has("sc_itemid")) {
413
- renderUrl.searchParams.set("sc_itemid", pageItemDescriptor.id);
414
- }
415
- if (!renderUrl.searchParams.has("sc_lang")) {
416
- renderUrl.searchParams.set("sc_lang", pageItemDescriptor.language);
417
- }
418
- if (!renderUrl.searchParams.has("sc_version")) {
419
- renderUrl.searchParams.set("sc_version", String(pageItemDescriptor.version));
420
- }
421
- const routePath = inferRoutePathFromSitecoreItemPath(pageItemDescriptor.path);
422
- if (!routePath || !isRootRenderPath(renderUrl.pathname))
423
- return;
424
- renderUrl.pathname = routePath;
425
- if (!renderUrl.searchParams.has("route")) {
426
- renderUrl.searchParams.set("route", routePath);
427
- }
428
- }
429
396
  function resolveBridgeComponentId(rawId, page) {
430
397
  if (!rawId)
431
398
  return undefined;
@@ -582,9 +549,38 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
582
549
  const bridgePatchSignatureRef = useRef(new Map());
583
550
  const bridgeTextRangeSourcesRef = useRef(new Map());
584
551
  const activeBridgeInlineEditRef = useRef(null);
552
+ const previousBridgeInlineEditModeRef = useRef(editContext.mode);
585
553
  const latestBridgeScrollRef = useRef(undefined);
586
554
  const directOverlayScrollSyncRef = useRef(false);
587
555
  const pendingRefreshScrollRef = useRef(undefined);
556
+ const restorePendingRefreshScroll = useCallback((iframe, targetScroll, observedScroll) => {
557
+ if (!targetScroll)
558
+ return;
559
+ const clearPendingTarget = () => {
560
+ if (pendingRefreshScrollRef.current === targetScroll) {
561
+ pendingRefreshScrollRef.current = undefined;
562
+ }
563
+ };
564
+ const restoreStarted = restoreIframeWindowScroll(iframe, targetScroll, {
565
+ maxAttempts: 150,
566
+ onSettled: clearPendingTarget,
567
+ onExpired: clearPendingTarget,
568
+ });
569
+ if (!restoreStarted) {
570
+ clearPendingTarget();
571
+ }
572
+ const currentScroll = observedScroll ??
573
+ getIframeWindowScroll(iframe) ?? { x: 0, y: 0 };
574
+ const deltaX = targetScroll.x - currentScroll.x;
575
+ const deltaY = targetScroll.y - currentScroll.y;
576
+ if (Math.abs(deltaX) > 1 || Math.abs(deltaY) > 1) {
577
+ bridgeClientRef.current?.sendCommand("scrollBy", {
578
+ x: deltaX,
579
+ y: deltaY,
580
+ behavior: "instant",
581
+ });
582
+ }
583
+ }, []);
588
584
  const suppressNextSelectionScrollRef = useRef(false);
589
585
  // Timestamp (ms) until which selection auto-scroll is suppressed. Held open for
590
586
  // the whole drag and a short window after, so the drop's re-selection doesn't
@@ -694,6 +690,14 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
694
690
  return (bridgeClientRef.current?.sendCommand("beginInlineEdit", payload) ??
695
691
  false);
696
692
  }, []);
693
+ const sendCancelInlineEdit = useCallback((payload) => {
694
+ return (bridgeClientRef.current?.sendCommand("cancelInlineEdit", payload) ??
695
+ false);
696
+ }, []);
697
+ const sendApplyFieldPatchCommand = useCallback((payload) => {
698
+ return (bridgeClientRef.current?.sendCommand("applyFieldPatch", payload) ??
699
+ false);
700
+ }, []);
697
701
  const sendApplyRichTextCommand = useCallback((payload) => {
698
702
  return (bridgeClientRef.current?.sendCommand("applyRichTextCommand", payload) ??
699
703
  false);
@@ -703,6 +707,8 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
703
707
  activeBridgeInlineEditRef,
704
708
  blockIframeBlurUntil,
705
709
  sendBeginInlineEdit,
710
+ sendCancelInlineEdit,
711
+ sendApplyFieldPatch: sendApplyFieldPatchCommand,
706
712
  });
707
713
  const beginTrackedBridgeInlineEdit = useCallback(async (interaction) => {
708
714
  activeBridgeInlineEditRef.current = null;
@@ -757,7 +763,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
757
763
  }, []);
758
764
  useEffect(() => {
759
765
  return editContext.registerModeChangeParticipant({
760
- beforeModeChange: () => {
766
+ beforeModeChange: (nextMode) => {
767
+ if (nextMode === "suggestions" &&
768
+ getSelectedRangeInlineEditInteraction(editContextRef.current?.selectedRange)) {
769
+ return;
770
+ }
761
771
  editContext.operations.onFieldBlur?.();
762
772
  void fieldsContextRef.current?.setFocusedField(undefined, false);
763
773
  endBridgeFieldFocus();
@@ -769,6 +779,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
769
779
  }, [
770
780
  clearBridgeInlineDedupe,
771
781
  editContext,
782
+ editContextRef,
772
783
  endBridgeFieldFocus,
773
784
  fieldsContextRef,
774
785
  ]);
@@ -1163,6 +1174,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1163
1174
  cancelable: true,
1164
1175
  detail: caretAnchor ? { anchor: caretAnchor } : undefined,
1165
1176
  }));
1177
+ return;
1178
+ }
1179
+ const keyboardEvent = createKeyboardEventFromBridgeInteraction(interaction);
1180
+ if (keyboardEvent) {
1181
+ void editContextRef.current?.handleKeyDown(keyboardEvent);
1166
1182
  }
1167
1183
  return;
1168
1184
  }
@@ -1511,6 +1527,9 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1511
1527
  bridge.sendCommand("setZoom", {
1512
1528
  zoom: pageViewContextRef.current?.zoom ?? 1,
1513
1529
  });
1530
+ if (pendingRefreshScrollRef.current) {
1531
+ restorePendingRefreshScroll(iframe, pendingRefreshScrollRef.current);
1532
+ }
1514
1533
  break;
1515
1534
  case "structureUpdated":
1516
1535
  pageViewContext.setBridgeStructure(event.payload.structure);
@@ -1574,17 +1593,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1574
1593
  x: 0,
1575
1594
  y: 0,
1576
1595
  };
1577
- const deltaX = targetScroll.x - observedScroll.x;
1578
- const deltaY = targetScroll.y - observedScroll.y;
1579
- pendingRefreshScrollRef.current = undefined;
1580
- if (Math.abs(deltaX) > 1 || Math.abs(deltaY) > 1) {
1581
- restoreIframeWindowScroll(iframe, targetScroll);
1582
- bridgeClientRef.current?.sendCommand("scrollBy", {
1583
- x: deltaX,
1584
- y: deltaY,
1585
- behavior: "instant",
1586
- });
1587
- }
1596
+ restorePendingRefreshScroll(iframe, targetScroll, observedScroll);
1588
1597
  }
1589
1598
  setShowSpinner(false);
1590
1599
  break;
@@ -1669,6 +1678,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1669
1678
  scheduleBridgeDomRevision,
1670
1679
  scheduleBridgeGeometryRevision,
1671
1680
  shouldTrackMinimapScroll,
1681
+ restorePendingRefreshScroll,
1672
1682
  ]);
1673
1683
  useEffect(() => {
1674
1684
  const repository = editContext.itemsRepository;
@@ -2276,6 +2286,23 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2276
2286
  suggestionsCursorActive: editContext.mode === "suggestions" || editContext.showSuggestedEdits,
2277
2287
  });
2278
2288
  }, [editContext.mode, editContext.showSuggestedEdits]);
2289
+ useEffect(() => {
2290
+ const previousMode = previousBridgeInlineEditModeRef.current;
2291
+ previousBridgeInlineEditModeRef.current = editContext.mode;
2292
+ if (previousMode === editContext.mode ||
2293
+ editContext.mode !== "suggestions") {
2294
+ return;
2295
+ }
2296
+ const interaction = getSelectedRangeInlineEditInteraction(editContextRef.current?.selectedRange);
2297
+ if (!interaction)
2298
+ return;
2299
+ void beginTrackedBridgeInlineEdit(interaction);
2300
+ }, [
2301
+ beginTrackedBridgeInlineEdit,
2302
+ editContext.mode,
2303
+ editContext.modeTransitionRevision,
2304
+ editContextRef,
2305
+ ]);
2279
2306
  useEffect(() => {
2280
2307
  bridgeClientRef.current?.sendCommand("setLayoutKind", {
2281
2308
  layoutKind: editContext.layoutMode,
@@ -2360,15 +2387,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2360
2387
  setShowSpinner(false);
2361
2388
  applyIframeZoom(iframeRef.current, zoom, "PageViewerFrame.tsx:onLoad-zoom");
2362
2389
  if (pendingRefreshScrollRef.current) {
2363
- const targetScroll = pendingRefreshScrollRef.current;
2364
- pendingRefreshScrollRef.current = undefined;
2365
- restoreIframeWindowScroll(iframeRef.current, targetScroll);
2366
- const observedScroll = getIframeWindowScroll(iframeRef.current) ?? { x: 0, y: 0 };
2367
- bridgeClientRef.current?.sendCommand("scrollBy", {
2368
- x: targetScroll.x - observedScroll.x,
2369
- y: targetScroll.y - observedScroll.y,
2370
- behavior: "instant",
2371
- });
2390
+ restorePendingRefreshScroll(iframeRef.current, pendingRefreshScrollRef.current);
2372
2391
  }
2373
2392
  }
2374
2393
  } }), iframeElement && (_jsx(IframeOverlayProvider, { iframe: iframeElement, mode: "scrolling", scrollScale: 1, visualScale: 1, invalidationKey: `${zoom}:${bridgeGeometryRevision}`, deferredInvalidationMs: ZOOM_TRANSITION_MS + 50, children: _jsx(PageEditorChrome, { iframe: iframeElement, compareView: compareView, pageViewContext: pageViewContext, onBridgeRichTextCommand: sendApplyRichTextCommand }) })), pageViewContext.deviceHeight && pageViewContext.device && (_jsx("div", { className: "bg-neutral-grey-5 relative z-40 h-full w-full" }))] }), !pageViewContext.fullscreen &&