@parhelia/core 0.1.12602 → 0.1.12614

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 (605) hide show
  1. package/dist/agents-view/AgentCard.d.ts +6 -4
  2. package/dist/agents-view/AgentCard.js +143 -24
  3. package/dist/agents-view/AgentCard.js.map +1 -1
  4. package/dist/agents-view/AgentsInbox.d.ts +1 -1
  5. package/dist/agents-view/AgentsInbox.js +7 -92
  6. package/dist/agents-view/AgentsInbox.js.map +1 -1
  7. package/dist/agents-view/AgentsTitlebar.js +3 -2
  8. package/dist/agents-view/AgentsTitlebar.js.map +1 -1
  9. package/dist/agents-view/AgentsView.d.ts +6 -7
  10. package/dist/agents-view/AgentsView.js +191 -99
  11. package/dist/agents-view/AgentsView.js.map +1 -1
  12. package/dist/agents-view/AgentsWorkspaceView.d.ts +2 -6
  13. package/dist/agents-view/AgentsWorkspaceView.js +266 -113
  14. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  15. package/dist/agents-view/ProfileAgentsGroup.d.ts +2 -1
  16. package/dist/agents-view/ProfileAgentsGroup.js +4 -3
  17. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  18. package/dist/components/ActionButton.d.ts +1 -1
  19. package/dist/components/ActionButton.js.map +1 -1
  20. package/dist/components/FilterInput.d.ts +1 -1
  21. package/dist/components/FilterInput.js +1 -1
  22. package/dist/components/FilterInput.js.map +1 -1
  23. package/dist/components/ui/LanguageSelector.js +2 -4
  24. package/dist/components/ui/LanguageSelector.js.map +1 -1
  25. package/dist/components/ui/PlaceholderInput.js +3 -3
  26. package/dist/components/ui/PlaceholderInput.js.map +1 -1
  27. package/dist/components/ui/PlaceholderInputTypes.js +1 -1
  28. package/dist/components/ui/PlaceholderInputTypes.js.map +1 -1
  29. package/dist/components/ui/alert-dialog.d.ts +1 -1
  30. package/dist/components/ui/alert-dialog.js +6 -10
  31. package/dist/components/ui/alert-dialog.js.map +1 -1
  32. package/dist/components/ui/button.d.ts +4 -4
  33. package/dist/components/ui/button.js +4 -1
  34. package/dist/components/ui/button.js.map +1 -1
  35. package/dist/components/ui/context-menu.d.ts +1 -1
  36. package/dist/components/ui/context-menu.js +12 -4
  37. package/dist/components/ui/context-menu.js.map +1 -1
  38. package/dist/components/ui/copy-button.d.ts +2 -1
  39. package/dist/components/ui/copy-button.js +2 -2
  40. package/dist/components/ui/copy-button.js.map +1 -1
  41. package/dist/components/ui/dialog.d.ts +1 -1
  42. package/dist/components/ui/dialog.js +21 -126
  43. package/dist/components/ui/dialog.js.map +1 -1
  44. package/dist/components/ui/input.d.ts +1 -1
  45. package/dist/components/ui/input.js +5 -3
  46. package/dist/components/ui/input.js.map +1 -1
  47. package/dist/components/ui/paste-button.d.ts +2 -1
  48. package/dist/components/ui/paste-button.js +2 -2
  49. package/dist/components/ui/paste-button.js.map +1 -1
  50. package/dist/components/ui/popover.js +1 -9
  51. package/dist/components/ui/popover.js.map +1 -1
  52. package/dist/components/ui/select.js +1 -1
  53. package/dist/components/ui/select.js.map +1 -1
  54. package/dist/components/ui/styled-dialog-title.js +1 -1
  55. package/dist/components/ui/styled-dialog-title.js.map +1 -1
  56. package/dist/components/ui/tabs.d.ts +1 -1
  57. package/dist/components/ui/tabs.js +4 -11
  58. package/dist/components/ui/tabs.js.map +1 -1
  59. package/dist/config/config.d.ts +4 -2
  60. package/dist/config/config.js +250 -70
  61. package/dist/config/config.js.map +1 -1
  62. package/dist/config/types/workspace.d.ts +6 -0
  63. package/dist/config/types.d.ts +63 -12
  64. package/dist/config/types.js.map +1 -1
  65. package/dist/editor/ConfirmationDialog.js +20 -4
  66. package/dist/editor/ConfirmationDialog.js.map +1 -1
  67. package/dist/editor/ContentTree.d.ts +2 -1
  68. package/dist/editor/ContentTree.js +93 -32
  69. package/dist/editor/ContentTree.js.map +1 -1
  70. package/dist/editor/Editor.js +87 -22
  71. package/dist/editor/Editor.js.map +1 -1
  72. package/dist/editor/FieldHistory.js +84 -36
  73. package/dist/editor/FieldHistory.js.map +1 -1
  74. package/dist/editor/FieldListField.js +21 -9
  75. package/dist/editor/FieldListField.js.map +1 -1
  76. package/dist/editor/FieldListFieldWithFallbacks.js +23 -2
  77. package/dist/editor/FieldListFieldWithFallbacks.js.map +1 -1
  78. package/dist/editor/GlobalMenuBar.js +29 -2
  79. package/dist/editor/GlobalMenuBar.js.map +1 -1
  80. package/dist/editor/ImageEditor.js +5 -2
  81. package/dist/editor/ImageEditor.js.map +1 -1
  82. package/dist/editor/ItemInfo.js +36 -1
  83. package/dist/editor/ItemInfo.js.map +1 -1
  84. package/dist/editor/LinkEditorDialog.js +3 -0
  85. package/dist/editor/LinkEditorDialog.js.map +1 -1
  86. package/dist/editor/MainLayout.d.ts +0 -2
  87. package/dist/editor/MainLayout.js +65 -8
  88. package/dist/editor/MainLayout.js.map +1 -1
  89. package/dist/editor/MigrationsView.js +29 -5
  90. package/dist/editor/MigrationsView.js.map +1 -1
  91. package/dist/editor/MobileLayout.js +37 -12
  92. package/dist/editor/MobileLayout.js.map +1 -1
  93. package/dist/editor/PictureCropper.js +54 -45
  94. package/dist/editor/PictureCropper.js.map +1 -1
  95. package/dist/editor/PictureEditor.js +17 -15
  96. package/dist/editor/PictureEditor.js.map +1 -1
  97. package/dist/editor/QuickItemSwitcher.js +37 -63
  98. package/dist/editor/QuickItemSwitcher.js.map +1 -1
  99. package/dist/editor/SetupWizard.js +52 -12
  100. package/dist/editor/SetupWizard.js.map +1 -1
  101. package/dist/editor/Titlebar.js +7 -2
  102. package/dist/editor/Titlebar.js.map +1 -1
  103. package/dist/editor/ai/AgentCostDisplay.d.ts +1 -0
  104. package/dist/editor/ai/AgentCostDisplay.js +1 -1
  105. package/dist/editor/ai/AgentCostDisplay.js.map +1 -1
  106. package/dist/editor/ai/AgentDocumentList.js +32 -14
  107. package/dist/editor/ai/AgentDocumentList.js.map +1 -1
  108. package/dist/editor/ai/AgentGreeting.js +6 -5
  109. package/dist/editor/ai/AgentGreeting.js.map +1 -1
  110. package/dist/editor/ai/AgentProfileSelector.js +2 -1
  111. package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
  112. package/dist/editor/ai/AgentStatusBadge.d.ts +0 -5
  113. package/dist/editor/ai/AgentStatusBadge.js +67 -65
  114. package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
  115. package/dist/editor/ai/AgentTerminal.d.ts +14 -2
  116. package/dist/editor/ai/AgentTerminal.js +2515 -579
  117. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  118. package/dist/editor/ai/AgentTerminalStatusBar.d.ts +9 -4
  119. package/dist/editor/ai/AgentTerminalStatusBar.js +481 -56
  120. package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
  121. package/dist/editor/ai/Agents.js +161 -113
  122. package/dist/editor/ai/Agents.js.map +1 -1
  123. package/dist/editor/ai/AiResponseMessage.d.ts +10 -1
  124. package/dist/editor/ai/AiResponseMessage.js +267 -26
  125. package/dist/editor/ai/AiResponseMessage.js.map +1 -1
  126. package/dist/editor/ai/ContextInfoBar.d.ts +2 -3
  127. package/dist/editor/ai/ContextInfoBar.js +64 -7
  128. package/dist/editor/ai/ContextInfoBar.js.map +1 -1
  129. package/dist/editor/ai/EditOperationsPanel.d.ts +3 -2
  130. package/dist/editor/ai/EditOperationsPanel.js +21 -78
  131. package/dist/editor/ai/EditOperationsPanel.js.map +1 -1
  132. package/dist/editor/ai/GuidanceOverlay.js +17 -11
  133. package/dist/editor/ai/GuidanceOverlay.js.map +1 -1
  134. package/dist/editor/ai/InlineAiDialog.d.ts +1 -1
  135. package/dist/editor/ai/InlineAiDialog.js +514 -192
  136. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  137. package/dist/editor/ai/InlineAiTrigger.js +115 -12
  138. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  139. package/dist/editor/ai/MediaImage.js +40 -8
  140. package/dist/editor/ai/MediaImage.js.map +1 -1
  141. package/dist/editor/ai/SpawnedAgentsPanel.js +10 -12
  142. package/dist/editor/ai/SpawnedAgentsPanel.js.map +1 -1
  143. package/dist/editor/ai/ToolCallDisplay.d.ts +22 -2
  144. package/dist/editor/ai/ToolCallDisplay.js +614 -202
  145. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  146. package/dist/editor/ai/dialogs/AgentDialogHandler.d.ts +1 -8
  147. package/dist/editor/ai/dialogs/AgentDialogHandler.js +379 -42
  148. package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
  149. package/dist/editor/ai/dialogs/QuestionnaireInline.d.ts +5 -1
  150. package/dist/editor/ai/dialogs/QuestionnaireInline.js +628 -60
  151. package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
  152. package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +117 -0
  153. package/dist/editor/ai/dialogs/agentDialogTypes.js +2 -0
  154. package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
  155. package/dist/editor/ai/types.d.ts +3 -1
  156. package/dist/editor/ai/useAgentStatus.d.ts +2 -1
  157. package/dist/editor/ai/useAgentStatus.js +90 -100
  158. package/dist/editor/ai/useAgentStatus.js.map +1 -1
  159. package/dist/editor/ai/useInlineAiPosition.js +45 -5
  160. package/dist/editor/ai/useInlineAiPosition.js.map +1 -1
  161. package/dist/editor/client/AboutDialog.js +4 -2
  162. package/dist/editor/client/AboutDialog.js.map +1 -1
  163. package/dist/editor/client/EditorShell.d.ts +4 -1
  164. package/dist/editor/client/EditorShell.js +966 -280
  165. package/dist/editor/client/EditorShell.js.map +1 -1
  166. package/dist/editor/client/editContext.d.ts +45 -19
  167. package/dist/editor/client/editContext.js.map +1 -1
  168. package/dist/editor/client/helpers.js +12 -11
  169. package/dist/editor/client/helpers.js.map +1 -1
  170. package/dist/editor/client/hooks/useEditorUrlSync.js +1 -2
  171. package/dist/editor/client/hooks/useEditorUrlSync.js.map +1 -1
  172. package/dist/editor/client/hooks/useEditorWebSocket.d.ts +10 -0
  173. package/dist/editor/client/hooks/useEditorWebSocket.js +209 -14
  174. package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
  175. package/dist/editor/client/hooks/useQuota.d.ts +8 -0
  176. package/dist/editor/client/hooks/useQuota.js.map +1 -1
  177. package/dist/editor/client/hooks/useSocketMessageHandler.js +73 -15
  178. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  179. package/dist/editor/client/itemsRepository.js +10 -6
  180. package/dist/editor/client/itemsRepository.js.map +1 -1
  181. package/dist/editor/client/operations.d.ts +6 -3
  182. package/dist/editor/client/operations.js +208 -30
  183. package/dist/editor/client/operations.js.map +1 -1
  184. package/dist/editor/client/pageModelBuilder.js +4 -31
  185. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  186. package/dist/editor/client/ui/DevModeIndicator.js +2 -2
  187. package/dist/editor/client/ui/DevModeIndicator.js.map +1 -1
  188. package/dist/editor/client/ui/EditorChrome.d.ts +0 -6
  189. package/dist/editor/client/ui/EditorChrome.js +55 -72
  190. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  191. package/dist/editor/client/ui/FullscreenControls.js +5 -3
  192. package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
  193. package/dist/editor/commands/commands.d.ts +11 -1
  194. package/dist/editor/commands/commands.js +12 -1
  195. package/dist/editor/commands/commands.js.map +1 -1
  196. package/dist/editor/commands/componentCommands.js +109 -55
  197. package/dist/editor/commands/componentCommands.js.map +1 -1
  198. package/dist/editor/commands/customCommandConverter.d.ts +8 -1
  199. package/dist/editor/commands/customCommandConverter.js +35 -5
  200. package/dist/editor/commands/customCommandConverter.js.map +1 -1
  201. package/dist/editor/commands/handlers/agentHandler.js +2 -1
  202. package/dist/editor/commands/handlers/agentHandler.js.map +1 -1
  203. package/dist/editor/commands/itemCommands.d.ts +3 -0
  204. package/dist/editor/commands/itemCommands.js +93 -10
  205. package/dist/editor/commands/itemCommands.js.map +1 -1
  206. package/dist/editor/commands/undo.d.ts +9 -15
  207. package/dist/editor/commands/undo.js +24 -0
  208. package/dist/editor/commands/undo.js.map +1 -1
  209. package/dist/editor/context-menu/InsertMenu.js +83 -39
  210. package/dist/editor/context-menu/InsertMenu.js.map +1 -1
  211. package/dist/editor/field-types/MultiLineText.js +1 -1
  212. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  213. package/dist/editor/field-types/RawEditor.js +1 -1
  214. package/dist/editor/field-types/RichTextEditor.js +13 -5
  215. package/dist/editor/field-types/RichTextEditor.js.map +1 -1
  216. package/dist/editor/field-types/RichTextEditorComponent.js +37 -3
  217. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  218. package/dist/editor/field-types/SingleLineText.js +1 -1
  219. package/dist/editor/field-types/TreeListEditor.js +3 -2
  220. package/dist/editor/field-types/TreeListEditor.js.map +1 -1
  221. package/dist/editor/field-types/richtext/components/ReactSlate.css +23 -5
  222. package/dist/editor/field-types/richtext/components/ReactSlate.d.ts +2 -0
  223. package/dist/editor/field-types/richtext/components/ReactSlate.js +28 -4
  224. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  225. package/dist/editor/field-types/richtext/components/ToolbarButton.js +4 -2
  226. package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
  227. package/dist/editor/field-types/richtext/contextMenuFactory.d.ts +13 -0
  228. package/dist/editor/field-types/richtext/contextMenuFactory.js +181 -24
  229. package/dist/editor/field-types/richtext/contextMenuFactory.js.map +1 -1
  230. package/dist/editor/field-types/richtext/types.d.ts +2 -0
  231. package/dist/editor/field-types/richtext/types.js.map +1 -1
  232. package/dist/editor/field-types/richtext/utils/plugins.js +4 -0
  233. package/dist/editor/field-types/richtext/utils/plugins.js.map +1 -1
  234. package/dist/editor/field-types/textContextMenuFactory.js +3 -2
  235. package/dist/editor/field-types/textContextMenuFactory.js.map +1 -1
  236. package/dist/editor/media-selector/AiImageSearchPrompt.js +4 -2
  237. package/dist/editor/media-selector/AiImageSearchPrompt.js.map +1 -1
  238. package/dist/editor/media-selector/MediaFolderBrowser.js +1 -1
  239. package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
  240. package/dist/editor/media-selector/MediaSelector.js +7 -1
  241. package/dist/editor/media-selector/MediaSelector.js.map +1 -1
  242. package/dist/editor/media-selector/TreeSelector.js +40 -35
  243. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  244. package/dist/editor/menubar/ActiveUsers.js +1 -1
  245. package/dist/editor/menubar/ActiveUsers.js.map +1 -1
  246. package/dist/editor/menubar/GenericToolbar.js +4 -2
  247. package/dist/editor/menubar/GenericToolbar.js.map +1 -1
  248. package/dist/editor/menubar/ItemLanguageVersion.js +2 -2
  249. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  250. package/dist/editor/menubar/PageSelector.js +26 -147
  251. package/dist/editor/menubar/PageSelector.js.map +1 -1
  252. package/dist/editor/menubar/Separator.js +1 -1
  253. package/dist/editor/menubar/VersionSelector.js +2 -4
  254. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  255. package/dist/editor/menubar/WorkflowButton.js +39 -12
  256. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  257. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js +16 -38
  258. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js.map +1 -1
  259. package/dist/editor/menubar/toolbar-sections/EditControls.js +3 -3
  260. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  261. package/dist/editor/menubar/toolbar-sections/HelpButton.js +1 -0
  262. package/dist/editor/menubar/toolbar-sections/HelpButton.js.map +1 -1
  263. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +6 -10
  264. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +597 -220
  265. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  266. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +13 -2
  267. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  268. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +12 -2
  269. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  270. package/dist/editor/page-editor-chrome/CommentHighlighting.js +42 -1
  271. package/dist/editor/page-editor-chrome/CommentHighlighting.js.map +1 -1
  272. package/dist/editor/page-editor-chrome/FrameMenu.js +1 -1
  273. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  274. package/dist/editor/page-editor-chrome/InlineEditor.js +97 -48
  275. package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
  276. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +38 -17
  277. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  278. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +17 -11
  279. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  280. package/dist/editor/page-editor-chrome/useInlineAICompletion.js +301 -301
  281. package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +1 -1
  282. package/dist/editor/page-viewer/DeviceToolbar.js +1 -1
  283. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  284. package/dist/editor/page-viewer/EditorForm.js +69 -11
  285. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  286. package/dist/editor/page-viewer/EditorFormHintPopover.d.ts +7 -0
  287. package/dist/editor/page-viewer/EditorFormHintPopover.js +55 -0
  288. package/dist/editor/page-viewer/EditorFormHintPopover.js.map +1 -0
  289. package/dist/editor/page-viewer/MiniMap.d.ts +2 -4
  290. package/dist/editor/page-viewer/MiniMap.js +183 -33
  291. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  292. package/dist/editor/page-viewer/PageViewer.d.ts +3 -1
  293. package/dist/editor/page-viewer/PageViewer.js +67 -52
  294. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  295. package/dist/editor/page-viewer/PageViewerFrame.d.ts +2 -1
  296. package/dist/editor/page-viewer/PageViewerFrame.js +348 -115
  297. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  298. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +114 -49
  299. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +1 -1
  300. package/dist/editor/page-viewer/pageViewContext.d.ts +1 -0
  301. package/dist/editor/page-viewer/pageViewContext.js +51 -14
  302. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  303. package/dist/editor/pageModel.d.ts +14 -1
  304. package/dist/editor/reviews/Comment.d.ts +2 -1
  305. package/dist/editor/reviews/Comment.js +92 -15
  306. package/dist/editor/reviews/Comment.js.map +1 -1
  307. package/dist/editor/reviews/CommentDisplayPopover.js +70 -5
  308. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  309. package/dist/editor/reviews/CommentView.d.ts +3 -1
  310. package/dist/editor/reviews/CommentView.js +26 -6
  311. package/dist/editor/reviews/CommentView.js.map +1 -1
  312. package/dist/editor/reviews/Comments.js +140 -75
  313. package/dist/editor/reviews/Comments.js.map +1 -1
  314. package/dist/editor/reviews/CreateReviewDialog.js +281 -177
  315. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  316. package/dist/editor/reviews/DecisionsMatrix.js +96 -25
  317. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  318. package/dist/editor/reviews/DiffView.js +7 -14
  319. package/dist/editor/reviews/DiffView.js.map +1 -1
  320. package/dist/editor/reviews/EditReviewSettingsDialog.js +6 -4
  321. package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
  322. package/dist/editor/reviews/MultiReviewManager.js +25 -3
  323. package/dist/editor/reviews/MultiReviewManager.js.map +1 -1
  324. package/dist/editor/reviews/PagesPanel.js +31 -15
  325. package/dist/editor/reviews/PagesPanel.js.map +1 -1
  326. package/dist/editor/reviews/PreviewInfo.js +1 -4
  327. package/dist/editor/reviews/PreviewInfo.js.map +1 -1
  328. package/dist/editor/reviews/ReviewCard.js +13 -7
  329. package/dist/editor/reviews/ReviewCard.js.map +1 -1
  330. package/dist/editor/reviews/ReviewDetail.js +3 -2
  331. package/dist/editor/reviews/ReviewDetail.js.map +1 -1
  332. package/dist/editor/reviews/ReviewsList.js +7 -3
  333. package/dist/editor/reviews/ReviewsList.js.map +1 -1
  334. package/dist/editor/reviews/SuggestedEdit.js +34 -3
  335. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  336. package/dist/editor/reviews/SuggestionDisplayPopover.js +31 -5
  337. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  338. package/dist/editor/reviews/commentAi.js +25 -6
  339. package/dist/editor/reviews/commentAi.js.map +1 -1
  340. package/dist/editor/reviews/reviewCommands.js +4 -1
  341. package/dist/editor/reviews/reviewCommands.js.map +1 -1
  342. package/dist/editor/reviews/useMultiReview.js +2 -2
  343. package/dist/editor/reviews/useMultiReview.js.map +1 -1
  344. package/dist/editor/reviews/useReviews.d.ts +4 -3
  345. package/dist/editor/reviews/useReviews.js +21 -32
  346. package/dist/editor/reviews/useReviews.js.map +1 -1
  347. package/dist/editor/services/agentService.d.ts +240 -5
  348. package/dist/editor/services/agentService.js +299 -39
  349. package/dist/editor/services/agentService.js.map +1 -1
  350. package/dist/editor/services/aiService.d.ts +57 -1
  351. package/dist/editor/services/aiService.js +79 -6
  352. package/dist/editor/services/aiService.js.map +1 -1
  353. package/dist/editor/services/contentService.d.ts +6 -3
  354. package/dist/editor/services/contentService.js +13 -12
  355. package/dist/editor/services/contentService.js.map +1 -1
  356. package/dist/editor/services/editService.d.ts +52 -1
  357. package/dist/editor/services/editService.js +121 -13
  358. package/dist/editor/services/editService.js.map +1 -1
  359. package/dist/editor/services/indexService.js +1 -1
  360. package/dist/editor/services/indexService.js.map +1 -1
  361. package/dist/editor/services/reviewsService.d.ts +3 -6
  362. package/dist/editor/services/reviewsService.js +2 -11
  363. package/dist/editor/services/reviewsService.js.map +1 -1
  364. package/dist/editor/services/serviceHelper.d.ts +2 -1
  365. package/dist/editor/services/serviceHelper.js +174 -22
  366. package/dist/editor/services/serviceHelper.js.map +1 -1
  367. package/dist/editor/services/systemService.d.ts +2 -1
  368. package/dist/editor/services/systemService.js +3 -0
  369. package/dist/editor/services/systemService.js.map +1 -1
  370. package/dist/editor/services-server/api.d.ts +1 -2
  371. package/dist/editor/services-server/api.js +11 -6
  372. package/dist/editor/services-server/api.js.map +1 -1
  373. package/dist/editor/settings/About.js +344 -3
  374. package/dist/editor/settings/About.js.map +1 -1
  375. package/dist/editor/settings/IndexOverview.js +3 -1
  376. package/dist/editor/settings/IndexOverview.js.map +1 -1
  377. package/dist/editor/settings/QuotaInfo.js +210 -4
  378. package/dist/editor/settings/QuotaInfo.js.map +1 -1
  379. package/dist/editor/settings/SettingsView.js +25 -23
  380. package/dist/editor/settings/SettingsView.js.map +1 -1
  381. package/dist/editor/settings/Status.js +7 -6
  382. package/dist/editor/settings/Status.js.map +1 -1
  383. package/dist/editor/settings/index/useIndexStatus.js +23 -22
  384. package/dist/editor/settings/index/useIndexStatus.js.map +1 -1
  385. package/dist/editor/settings/panels/AgentsPanel.d.ts +0 -4
  386. package/dist/editor/settings/panels/AgentsPanel.js +95 -121
  387. package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
  388. package/dist/editor/settings/panels/ModelsPanel.js +324 -108
  389. package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
  390. package/dist/editor/settings/panels/ProvidersPanel.d.ts +1 -1
  391. package/dist/editor/settings/panels/ProvidersPanel.js +86 -59
  392. package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
  393. package/dist/editor/settings/panels/SearchConfigPanel.js +67 -6
  394. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
  395. package/dist/editor/settings/panels/StatusPanel.js +7 -2
  396. package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
  397. package/dist/editor/settings/panels/index.d.ts +3 -2
  398. package/dist/editor/settings/panels/index.js +3 -2
  399. package/dist/editor/settings/panels/index.js.map +1 -1
  400. package/dist/editor/settings/status/coreStatusChecks.js +124 -19
  401. package/dist/editor/settings/status/coreStatusChecks.js.map +1 -1
  402. package/dist/editor/settings/status/useStartupChecks.d.ts +3 -1
  403. package/dist/editor/settings/status/useStartupChecks.js +9 -5
  404. package/dist/editor/settings/status/useStartupChecks.js.map +1 -1
  405. package/dist/editor/setup-wizard/steps/CompleteStep.d.ts +2 -1
  406. package/dist/editor/setup-wizard/steps/CompleteStep.js +2 -1
  407. package/dist/editor/setup-wizard/steps/CompleteStep.js.map +1 -1
  408. package/dist/editor/setup-wizard/steps/LicenseActivationStep.js +39 -2
  409. package/dist/editor/setup-wizard/steps/LicenseActivationStep.js.map +1 -1
  410. package/dist/editor/sidebar/ComponentPalette.js +2 -1
  411. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  412. package/dist/editor/sidebar/ComponentTree.d.ts +8 -1
  413. package/dist/editor/sidebar/ComponentTree.js +216 -69
  414. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  415. package/dist/editor/sidebar/EditHistory.js +22 -46
  416. package/dist/editor/sidebar/EditHistory.js.map +1 -1
  417. package/dist/editor/sidebar/Favorites.js +4 -8
  418. package/dist/editor/sidebar/Favorites.js.map +1 -1
  419. package/dist/editor/sidebar/MainContentTree.js +4 -3
  420. package/dist/editor/sidebar/MainContentTree.js.map +1 -1
  421. package/dist/editor/sidebar/OperationItem.js +21 -7
  422. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  423. package/dist/editor/sidebar/SidebarPanel.d.ts +3 -1
  424. package/dist/editor/sidebar/SidebarPanel.js +44 -12
  425. package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
  426. package/dist/editor/sidebar/SidebarStack.d.ts +2 -1
  427. package/dist/editor/sidebar/SidebarStack.js +4 -3
  428. package/dist/editor/sidebar/SidebarStack.js.map +1 -1
  429. package/dist/editor/sidebar/Validation.js +24 -12
  430. package/dist/editor/sidebar/Validation.js.map +1 -1
  431. package/dist/editor/sidebar/Workbox.js +53 -3
  432. package/dist/editor/sidebar/Workbox.js.map +1 -1
  433. package/dist/editor/sidebar/WorkspaceRail.d.ts +0 -1
  434. package/dist/editor/sidebar/WorkspaceRail.js +56 -167
  435. package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
  436. package/dist/editor/tree-indicators/GutterColumns.d.ts +3 -1
  437. package/dist/editor/tree-indicators/GutterColumns.js +26 -5
  438. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  439. package/dist/editor/tree-indicators/GutterContext.d.ts +4 -0
  440. package/dist/editor/tree-indicators/GutterContext.js +23 -0
  441. package/dist/editor/tree-indicators/GutterContext.js.map +1 -1
  442. package/dist/editor/tree-indicators/index.d.ts +0 -1
  443. package/dist/editor/tree-indicators/index.js +0 -1
  444. package/dist/editor/tree-indicators/index.js.map +1 -1
  445. package/dist/editor/tree-indicators/types.d.ts +12 -1
  446. package/dist/editor/ui/CopyMoveTargetSelectorDialog.js +1 -1
  447. package/dist/editor/ui/CopyMoveTargetSelectorDialog.js.map +1 -1
  448. package/dist/editor/ui/Icons.js +1 -1
  449. package/dist/editor/ui/Icons.js.map +1 -1
  450. package/dist/editor/ui/ItemNameDialogNew.d.ts +2 -0
  451. package/dist/editor/ui/ItemNameDialogNew.js +33 -17
  452. package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
  453. package/dist/editor/ui/ItemSearch.js +7 -11
  454. package/dist/editor/ui/ItemSearch.js.map +1 -1
  455. package/dist/editor/ui/SimpleIconButton.js +1 -1
  456. package/dist/editor/ui/SimpleIconButton.js.map +1 -1
  457. package/dist/editor/ui/SimpleTabs.d.ts +1 -0
  458. package/dist/editor/ui/SimpleTabs.js +45 -25
  459. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  460. package/dist/editor/ui/Splitter.d.ts +1 -0
  461. package/dist/editor/ui/Splitter.js +102 -86
  462. package/dist/editor/ui/Splitter.js.map +1 -1
  463. package/dist/editor/ui/TemplateSelectorDialog.js +4 -4
  464. package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
  465. package/dist/editor/ui/TreeListSelector.d.ts +6 -1
  466. package/dist/editor/ui/TreeListSelector.js +2 -2
  467. package/dist/editor/ui/TreeListSelector.js.map +1 -1
  468. package/dist/editor/utils/keyboardNavigation.d.ts +6 -20
  469. package/dist/editor/utils/keyboardNavigation.js +48 -140
  470. package/dist/editor/utils/keyboardNavigation.js.map +1 -1
  471. package/dist/editor/utils.js +19 -9
  472. package/dist/editor/utils.js.map +1 -1
  473. package/dist/editor/views/CompareView.d.ts +3 -1
  474. package/dist/editor/views/CompareView.js +7 -5
  475. package/dist/editor/views/CompareView.js.map +1 -1
  476. package/dist/editor/views/EditView.js +1 -1
  477. package/dist/editor/views/EditView.js.map +1 -1
  478. package/dist/editor/views/EditorSlot.js +27 -34
  479. package/dist/editor/views/EditorSlot.js.map +1 -1
  480. package/dist/editor/views/ItemEditor.js +7 -3
  481. package/dist/editor/views/ItemEditor.js.map +1 -1
  482. package/dist/editor/views/MediaFolderEditView.js +1 -1
  483. package/dist/editor/views/MediaFolderEditView.js.map +1 -1
  484. package/dist/editor/views/ParheliaView.js +5 -6
  485. package/dist/editor/views/ParheliaView.js.map +1 -1
  486. package/dist/editor/views/SingleEditView.d.ts +2 -1
  487. package/dist/editor/views/SingleEditView.js +10 -8
  488. package/dist/editor/views/SingleEditView.js.map +1 -1
  489. package/dist/editor/views/editorSlotContext.js +35 -6
  490. package/dist/editor/views/editorSlotContext.js.map +1 -1
  491. package/dist/index.d.ts +16 -2
  492. package/dist/index.js +11 -0
  493. package/dist/index.js.map +1 -1
  494. package/dist/licensing/LicenseCodeEntry.d.ts +2 -1
  495. package/dist/licensing/LicenseCodeEntry.js +31 -2
  496. package/dist/licensing/LicenseCodeEntry.js.map +1 -1
  497. package/dist/licensing/LicenseContext.d.ts +2 -0
  498. package/dist/licensing/LicenseContext.js +29 -0
  499. package/dist/licensing/LicenseContext.js.map +1 -1
  500. package/dist/licensing/LicenseOverlay.js +2 -2
  501. package/dist/licensing/LicenseOverlay.js.map +1 -1
  502. package/dist/licensing/licenseService.js +8 -0
  503. package/dist/licensing/licenseService.js.map +1 -1
  504. package/dist/licensing/types.d.ts +2 -1
  505. package/dist/licensing/types.js.map +1 -1
  506. package/dist/revision.d.ts +2 -2
  507. package/dist/revision.js +2 -2
  508. package/dist/setup/services/setupWizardService.d.ts +48 -14
  509. package/dist/setup/services/setupWizardService.js +52 -17
  510. package/dist/setup/services/setupWizardService.js.map +1 -1
  511. package/dist/setup/wizard/steps/AddModelDialog.js +12 -3
  512. package/dist/setup/wizard/steps/AddModelDialog.js.map +1 -1
  513. package/dist/setup/wizard/steps/ImportModelDialog.js +46 -22
  514. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  515. package/dist/splash-screen/ModernSplashScreen.js +112 -32
  516. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  517. package/dist/splash-screen/NewPage.js +33 -50
  518. package/dist/splash-screen/NewPage.js.map +1 -1
  519. package/dist/splash-screen/OpenPage.js +2 -6
  520. package/dist/splash-screen/OpenPage.js.map +1 -1
  521. package/dist/splash-screen/ParheliaAssistantChat.js +12 -29
  522. package/dist/splash-screen/ParheliaAssistantChat.js.map +1 -1
  523. package/dist/splash-screen/ParheliaLogo.js +87 -37
  524. package/dist/splash-screen/ParheliaLogo.js.map +1 -1
  525. package/dist/splash-screen/RecentPages.js +3 -3
  526. package/dist/splash-screen/RecentPages.js.map +1 -1
  527. package/dist/task-board/services/taskService.js +10 -3
  528. package/dist/task-board/services/taskService.js.map +1 -1
  529. package/dist/tour/Tour.d.ts +2 -1
  530. package/dist/tour/Tour.js +256 -75
  531. package/dist/tour/Tour.js.map +1 -1
  532. package/dist/tour/default-tour.js +222 -96
  533. package/dist/tour/default-tour.js.map +1 -1
  534. package/dist/types.d.ts +74 -29
  535. package/package.json +19 -15
  536. package/styles.css +39 -10
  537. package/dist/editor/ComponentInfo.d.ts +0 -4
  538. package/dist/editor/ComponentInfo.js +0 -41
  539. package/dist/editor/ComponentInfo.js.map +0 -1
  540. package/dist/editor/ai/HelpTerminal.d.ts +0 -5
  541. package/dist/editor/ai/HelpTerminal.js +0 -166
  542. package/dist/editor/ai/HelpTerminal.js.map +0 -1
  543. package/dist/editor/field-types/ReactQuill.d.ts +0 -125
  544. package/dist/editor/field-types/ReactQuill.js +0 -385
  545. package/dist/editor/field-types/ReactQuill.js.map +0 -1
  546. package/dist/editor/services-server/graphQL.d.ts +0 -29
  547. package/dist/editor/services-server/graphQL.js +0 -53
  548. package/dist/editor/services-server/graphQL.js.map +0 -1
  549. package/dist/editor/settings/AllAgentsPanel.d.ts +0 -5
  550. package/dist/editor/settings/AllAgentsPanel.js +0 -139
  551. package/dist/editor/settings/AllAgentsPanel.js.map +0 -1
  552. package/dist/editor/settings/LatestFeedback.d.ts +0 -1
  553. package/dist/editor/settings/LatestFeedback.js +0 -136
  554. package/dist/editor/settings/LatestFeedback.js.map +0 -1
  555. package/dist/editor/settings/Setup.d.ts +0 -1
  556. package/dist/editor/settings/Setup.js +0 -211
  557. package/dist/editor/settings/Setup.js.map +0 -1
  558. package/dist/editor/settings/panels/DatabasePanel.d.ts +0 -6
  559. package/dist/editor/settings/panels/DatabasePanel.js +0 -50
  560. package/dist/editor/settings/panels/DatabasePanel.js.map +0 -1
  561. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.d.ts +0 -2
  562. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.js +0 -195
  563. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.js.map +0 -1
  564. package/dist/editor/settings/setup-steps/AiSetupStep/index.d.ts +0 -2
  565. package/dist/editor/settings/setup-steps/AiSetupStep/index.js +0 -21
  566. package/dist/editor/settings/setup-steps/AiSetupStep/index.js.map +0 -1
  567. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.d.ts +0 -1
  568. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.js +0 -233
  569. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.js.map +0 -1
  570. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.d.ts +0 -15
  571. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.js +0 -14
  572. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.js.map +0 -1
  573. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.d.ts +0 -1
  574. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js +0 -94
  575. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js.map +0 -1
  576. package/dist/editor/settings/setup-steps/AiSetupStep/types.d.ts +0 -1
  577. package/dist/editor/settings/setup-steps/AiSetupStep/types.js +0 -2
  578. package/dist/editor/settings/setup-steps/AiSetupStep/types.js.map +0 -1
  579. package/dist/editor/settings/setup-steps/AiSetupStep/utils.d.ts +0 -5
  580. package/dist/editor/settings/setup-steps/AiSetupStep/utils.js +0 -44
  581. package/dist/editor/settings/setup-steps/AiSetupStep/utils.js.map +0 -1
  582. package/dist/editor/settings/setup-steps/IndexSetupStep.d.ts +0 -2
  583. package/dist/editor/settings/setup-steps/IndexSetupStep.js +0 -36
  584. package/dist/editor/settings/setup-steps/IndexSetupStep.js.map +0 -1
  585. package/dist/editor/settings/setup-steps/SettingsSetupStep.d.ts +0 -2
  586. package/dist/editor/settings/setup-steps/SettingsSetupStep.js +0 -111
  587. package/dist/editor/settings/setup-steps/SettingsSetupStep.js.map +0 -1
  588. package/dist/editor/settings/setup-steps/SetupOverview.d.ts +0 -14
  589. package/dist/editor/settings/setup-steps/SetupOverview.js +0 -38
  590. package/dist/editor/settings/setup-steps/SetupOverview.js.map +0 -1
  591. package/dist/editor/sidebar/Debug.d.ts +0 -1
  592. package/dist/editor/sidebar/Debug.js +0 -70
  593. package/dist/editor/sidebar/Debug.js.map +0 -1
  594. package/dist/editor/sidebar/GraphQL.d.ts +0 -2
  595. package/dist/editor/sidebar/GraphQL.js +0 -234
  596. package/dist/editor/sidebar/GraphQL.js.map +0 -1
  597. package/dist/editor/sidebar/LeftToolbar.d.ts +0 -1
  598. package/dist/editor/sidebar/LeftToolbar.js +0 -12
  599. package/dist/editor/sidebar/LeftToolbar.js.map +0 -1
  600. package/dist/editor/sidebar/NavigationSidebar.d.ts +0 -4
  601. package/dist/editor/sidebar/NavigationSidebar.js +0 -254
  602. package/dist/editor/sidebar/NavigationSidebar.js.map +0 -1
  603. package/dist/editor/tree-indicators/GutterSelector.d.ts +0 -5
  604. package/dist/editor/tree-indicators/GutterSelector.js +0 -91
  605. package/dist/editor/tree-indicators/GutterSelector.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -56,7 +56,7 @@ export type EditSession = {
56
56
  color: string;
57
57
  };
58
58
  export type EditOperation = {
59
- type: "edit-field" | "remove-component" | "move-component" | "add-component" | "synchronize-components" | "link-component" | "duplicate-components" | "rename-item" | "change-template" | "create-item" | "delete-items" | "add-version" | "remove-version" | "move-items" | "copy-items" | "import-items" | "convert-to-shared";
59
+ type: "edit-field" | "remove-component" | "move-component" | "add-component" | "synchronize-components" | "link-component" | "duplicate-components" | "rename-item" | "change-template" | "create-item" | "delete-items" | "add-version" | "remove-version" | "move-items" | "copy-items" | "import-items" | "publish-item" | "convert-to-shared" | "update-rendering-parameters";
60
60
  date: string;
61
61
  id: string;
62
62
  user?: User;
@@ -76,6 +76,12 @@ export type EditOperation = {
76
76
  focus?: string;
77
77
  mainItem: ItemDescriptor;
78
78
  mainItemPath?: string;
79
+ /** Populated when the server completes copy/create flows (e.g. for selection / terminal waiters). */
80
+ createdItemIds?: string[];
81
+ /** Source items for copy-items / move-items style operations. */
82
+ sourceItemIds?: string[];
83
+ /** Destination parent for copy-items / move-items. */
84
+ targetParentId?: string;
79
85
  agentId?: string;
80
86
  toolCallId?: string;
81
87
  /** Execution status for long-running operations: pending, executing, completed, or failed */
@@ -156,6 +162,7 @@ export type CreateItemOperation = EditOperation & {
156
162
  export type DeleteItemsOperation = EditOperation & {
157
163
  type: "delete-items";
158
164
  items: ItemDescriptor[];
165
+ hardDelete?: boolean;
159
166
  };
160
167
  export type MoveItemsOperation = EditOperation & {
161
168
  type: "move-items";
@@ -183,6 +190,18 @@ export type ImportItemsOperation = EditOperation & {
183
190
  failureCount?: number;
184
191
  summary?: string;
185
192
  };
193
+ export type PublishMode = "smart" | "republish";
194
+ export type PublishItemOperation = EditOperation & {
195
+ type: "publish-item";
196
+ item: ItemDescriptor;
197
+ targetDatabases: string[];
198
+ languages: string[];
199
+ publishMode: PublishMode;
200
+ includeSubitems: boolean;
201
+ publishRelatedItems: boolean;
202
+ publishedTargets?: string[];
203
+ publishedLanguages?: string[];
204
+ };
186
205
  export type AddVersionOperation = EditOperation & {
187
206
  type: "add-version";
188
207
  item: ItemDescriptor;
@@ -198,14 +217,16 @@ export type ConvertToSharedOperation = EditOperation & {
198
217
  componentId: string;
199
218
  targetFolderId?: string;
200
219
  };
220
+ export type UpdateRenderingParametersOperation = EditOperation & {
221
+ type: "update-rendering-parameters";
222
+ componentId: string;
223
+ parameters: Record<string, string | null>;
224
+ previousParameters?: Record<string, string | null>;
225
+ };
201
226
  export type PlaceholderToSynchronize = {
202
227
  name?: string;
203
228
  item?: ItemDescriptor | null;
204
229
  };
205
- /** @deprecated Use WorkspaceSettings instead */
206
- export type View = {
207
- name: string;
208
- };
209
230
  /**
210
231
  * Workspace settings from Sitecore, containing available sidebars for this workspace.
211
232
  */
@@ -219,8 +240,6 @@ export type UserInfo = {
219
240
  user: User;
220
241
  /** Workspace settings with nested sidebars - use this for new code */
221
242
  workspaces?: WorkspaceSettings[];
222
- /** @deprecated Use workspaces instead */
223
- views: View[];
224
243
  browseHistory?: UserBrowseHistoryEntry[];
225
244
  preferences: UserPreferences;
226
245
  };
@@ -234,11 +253,9 @@ export type User = {
234
253
  isAdministrator?: boolean;
235
254
  };
236
255
  export type UserPreferences = {
237
- pinnedViews?: string[];
238
256
  pinnedSidebars?: string[];
239
257
  showLabels?: boolean;
240
- /** @deprecated Use showLabels instead */
241
- showViewNames?: boolean;
258
+ showDisplayNames?: boolean;
242
259
  showComponentNavigator?: boolean;
243
260
  showAgentsPanel?: boolean;
244
261
  showMinimap?: boolean;
@@ -246,6 +263,10 @@ export type UserPreferences = {
246
263
  gutterVisibility?: string[];
247
264
  gutterShowBadges?: boolean;
248
265
  lockedSidebars?: string[];
266
+ /** When true, the editor form (right panel) is kept hidden across selections/slots. Toggled from the main toolbar. */
267
+ editorFormHidden?: boolean;
268
+ /** Set to true once the user has seen the first-time hint explaining how to re-open the editor form. */
269
+ editorFormHintSeen?: boolean;
249
270
  /** Last selected target folder for AI image jobs (Sitecore media folder item ID) */
250
271
  aiImageTargetFolderId?: string;
251
272
  };
@@ -272,8 +293,6 @@ export type NavigationHistoryEntry = {
272
293
  itemName?: string;
273
294
  itemPath?: string;
274
295
  itemIcon?: string;
275
- /** @deprecated Use workspaceId instead */
276
- viewName?: string;
277
296
  };
278
297
  export type UserBrowseHistoryEntry = {
279
298
  id: number;
@@ -292,6 +311,8 @@ export type FieldHistoryItem = {
292
311
  date: string;
293
312
  ai: boolean;
294
313
  agentId?: string;
314
+ isBaseline?: boolean;
315
+ itemHistoryIndex?: number;
295
316
  value: unknown;
296
317
  rawValue: string;
297
318
  version: number;
@@ -340,11 +361,26 @@ export type InsertOption = {
340
361
  message?: string;
341
362
  isHidden: any;
342
363
  compatibleTypeIds?: string[];
364
+ isCommandTemplate?: boolean;
343
365
  action?: InsertAction;
344
366
  };
345
367
  export type LanguagesAndVersions = {
346
368
  languages: LanguageVersions[];
347
369
  versions: Version[];
370
+ itemPublishingRestrictions?: {
371
+ neverPublish: boolean;
372
+ neverPublishFieldId?: string | null;
373
+ publish?: string | null;
374
+ publishFieldId?: string | null;
375
+ unpublish?: string | null;
376
+ unpublishFieldId?: string | null;
377
+ };
378
+ publishingTargets?: {
379
+ name: string;
380
+ targetDatabase: string;
381
+ status: string;
382
+ message: string;
383
+ }[];
348
384
  };
349
385
  export type IndexStatus = {
350
386
  numberOfIndexedItems: number;
@@ -412,6 +448,12 @@ export type CollectionStatus = {
412
448
  subPhase?: string;
413
449
  currentItem?: string;
414
450
  currentBatch?: number;
451
+ /**
452
+ * Non-fatal warnings from staging / real-time indexing, e.g. text truncated
453
+ * to fit the embedding model's max input tokens. Shown on the index status
454
+ * page instead of the Sitecore log.
455
+ */
456
+ recentWarnings?: string[];
415
457
  };
416
458
  export type CombinedIndexStatus = {
417
459
  indexStatus: IndexStatus | null;
@@ -454,6 +496,7 @@ export type CommentRelatedItem = {
454
496
  export type Comment = {
455
497
  id: string;
456
498
  isNew: boolean;
499
+ parentCommentId?: string;
457
500
  itemId: string;
458
501
  itemName?: string;
459
502
  mainItemName?: string;
@@ -469,32 +512,17 @@ export type Comment = {
469
512
  author?: string;
470
513
  authorDisplayName?: string;
471
514
  created?: string;
515
+ tags?: string;
472
516
  isResolved?: boolean;
473
517
  resolvedBy?: string;
474
518
  resolvedDate?: string;
475
519
  position: number;
476
- tags?: string;
477
520
  relatedItems?: CommentRelatedItem[];
478
521
  };
479
522
  export type CommentTag = {
480
523
  label: string;
481
524
  color: string;
482
525
  };
483
- export type Reviewer = {
484
- name: string;
485
- email: string;
486
- };
487
- export type Review = {
488
- id: string;
489
- reviewerName: string;
490
- reviewerEmail: string;
491
- itemId: string;
492
- language: string;
493
- version: number;
494
- invitationSentDate?: string;
495
- approvalDate?: string;
496
- rejectedDate?: string;
497
- };
498
526
  export type ReviewWithPages = {
499
527
  reviewId: string;
500
528
  collectionId: string;
@@ -509,6 +537,7 @@ export type ReviewWithPages = {
509
537
  requiresSecret?: boolean;
510
538
  requiredApprovals?: number;
511
539
  updateWorkflowOnCompletion?: boolean;
540
+ shareCommentsAndSuggestions?: boolean;
512
541
  };
513
542
  export type ReviewAssignment = {
514
543
  assignmentId: string;
@@ -522,6 +551,11 @@ export type ReviewAssignment = {
522
551
  decisions?: ItemDecision[];
523
552
  secretValidated?: boolean;
524
553
  };
554
+ /** Review header plus assignments (e.g. from GET /parhelia/reviews/index). */
555
+ export type ReviewWithAssignments = {
556
+ review: ReviewWithPages;
557
+ assignments: ReviewAssignment[];
558
+ };
525
559
  export type ItemDecision = {
526
560
  decisionId: string;
527
561
  assignmentId: string;
@@ -564,7 +598,6 @@ export type ReviewListItem = {
564
598
  };
565
599
  export type CreateReviewRequest = {
566
600
  title?: string;
567
- language?: string;
568
601
  languages?: string[];
569
602
  reviewers: ReviewerInfo[];
570
603
  items: ItemWithSubtree[];
@@ -572,6 +605,7 @@ export type CreateReviewRequest = {
572
605
  secret?: string;
573
606
  requiredApprovals?: number;
574
607
  updateWorkflowOnCompletion?: boolean;
608
+ shareCommentsAndSuggestions?: boolean;
575
609
  };
576
610
  export type ReviewerInfo = {
577
611
  name: string;
@@ -590,6 +624,8 @@ export type SystemStatus = {
590
624
  messages: SystemStatusMessage[];
591
625
  settingsExist: boolean;
592
626
  setupComplete: boolean;
627
+ currentSiteName?: string;
628
+ shellSiteResolved?: boolean;
593
629
  };
594
630
  export type ParheliaSettings = {
595
631
  itemNameValidation?: string;
@@ -609,6 +645,15 @@ export type SamplePrompt = {
609
645
  description: string;
610
646
  prompt: string;
611
647
  };
648
+ export type HomeQuickAction = {
649
+ id: string;
650
+ title: string;
651
+ description: string;
652
+ svgIcon?: string;
653
+ commandType: string;
654
+ sortOrder: number;
655
+ settings: Record<string, unknown>;
656
+ };
612
657
  export type AiTextEditPrompt = {
613
658
  id: string;
614
659
  label: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parhelia/core",
3
- "version": "0.1.12602",
3
+ "version": "0.1.12614",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -27,22 +27,27 @@
27
27
  "type": "module",
28
28
  "scripts": {
29
29
  "build": "tsc -p tsconfig.build.json && copyfiles -u 1 \"src/**/*.css\" dist",
30
+ "build:native": "tsgo -p tsconfig.build.json && copyfiles -u 1 \"src/**/*.css\" dist",
30
31
  "lint": "eslint . ",
31
- "check-types": "tsc --noEmit -p tsconfig.build.json"
32
+ "check-types": "tsc --noEmit -p tsconfig.build.json",
33
+ "check-types:native": "tsgo --noEmit -p tsconfig.build.json"
32
34
  },
33
35
  "devDependencies": {
34
36
  "@repo/eslint-config": "*",
35
37
  "@repo/typescript-config": "*",
36
38
  "@tailwindcss/postcss": "^4.1.18",
39
+ "@types/d3-hierarchy": "^3.1.7",
40
+ "@types/dompurify": "^3.0.5",
37
41
  "@types/node": "^22.13.9",
38
- "@types/react": "19.2.2",
39
- "@types/react-dom": "19.2.2",
42
+ "@types/react": "19.2.14",
43
+ "@types/react-dom": "19.2.3",
40
44
  "copyfiles": "^2.4.1",
41
45
  "eslint": "^9.22.0",
42
46
  "tailwindcss": "^4.1.18",
43
47
  "typescript": "5.8.2"
44
48
  },
45
49
  "dependencies": {
50
+ "@dagrejs/dagre": "^2.0.4",
46
51
  "@radix-ui/react-alert-dialog": "^1.1.15",
47
52
  "@radix-ui/react-checkbox": "^1.3.2",
48
53
  "@radix-ui/react-context-menu": "^2.2.7",
@@ -55,29 +60,28 @@
55
60
  "@radix-ui/react-slot": "^1.1.2",
56
61
  "@radix-ui/react-switch": "^1.2.5",
57
62
  "@radix-ui/react-tooltip": "^1.2.7",
63
+ "@radix-ui/react-visually-hidden": "^1.1.2",
58
64
  "@types/diff": "^7.0.2",
59
65
  "@types/lodash": "^4.17.16",
60
- "@uiw/react-md-editor": "^4.0.5",
61
66
  "@uiw/react-textarea-code-editor": "^3.1.1",
62
- "axios": "^1.6.7",
67
+ "@xyflow/react": "^12.10.1",
68
+ "axios": "^1.13.6",
63
69
  "class-variance-authority": "^0.7.1",
64
70
  "clsx": "^2.1.1",
65
71
  "cmdk": "^1.1.1",
66
72
  "date-fns": "^4.1.0",
67
- "diff": "^7.0.0",
73
+ "diff": "^8.0.4",
74
+ "dompurify": "^3.3.3",
68
75
  "html-entities": "^2.6.0",
76
+ "html2canvas-pro": "^2.0.2",
69
77
  "lucide-react": "^0.486.0",
70
78
  "morphdom": "^2.7.5",
71
- "next": "16.0.10",
72
- "next-themes": "^0.4.6",
73
79
  "postcss": "^8.5.3",
74
- "quill": "^2.0.3",
75
- "react": "19.2.3",
80
+ "react": "19.2.4",
76
81
  "react-day-picker": "^9.8.0",
77
- "react-dom": "19.2.3",
82
+ "react-dom": "19.2.4",
78
83
  "react-inspector": "^6.0.2",
79
84
  "react-json-view-lite": "^2.4.1",
80
- "react-quill-new": "^3.4.1",
81
85
  "react-uuid": "^2.0.0",
82
86
  "slate": "^0.117.2",
83
87
  "slate-dom": "^0.117.4",
@@ -90,7 +94,7 @@
90
94
  "use-debounce": "^10.0.4"
91
95
  },
92
96
  "overrides": {
93
- "@types/react": "19.2.2",
94
- "@types/react-dom": "19.2.2"
97
+ "@types/react": "19.2.14",
98
+ "@types/react-dom": "19.2.3"
95
99
  }
96
100
  }
package/styles.css CHANGED
@@ -28,6 +28,9 @@
28
28
 
29
29
  html,
30
30
  body {
31
+ height: 100%;
32
+ overflow: hidden;
33
+ overscroll-behavior: none;
31
34
  font-family:
32
35
  var(--font-inter),
33
36
  Inter,
@@ -658,6 +661,31 @@ body {
658
661
  }
659
662
  }
660
663
 
664
+ @keyframes text-shimmer {
665
+ 0% {
666
+ background-position: 200% center;
667
+ }
668
+ 100% {
669
+ background-position: -200% center;
670
+ }
671
+ }
672
+
673
+ .animate-text-shimmer {
674
+ background: linear-gradient(
675
+ 90deg,
676
+ currentColor 0%,
677
+ currentColor 40%,
678
+ rgba(147, 157, 184, 0.5) 50%,
679
+ currentColor 60%,
680
+ currentColor 100%
681
+ );
682
+ background-size: 200% 100%;
683
+ background-clip: text;
684
+ -webkit-background-clip: text;
685
+ -webkit-text-fill-color: transparent;
686
+ animation: text-shimmer 2s ease-in-out infinite;
687
+ }
688
+
661
689
  .p-tooltip-text {
662
690
  padding: 5px;
663
691
  font-size: 12px;
@@ -966,23 +994,19 @@ body {
966
994
  animation-name: slide-in-from-left;
967
995
  }
968
996
 
969
- /* ViewTransition animations for Parhelia Assistant Chat */
970
- ::view-transition-old(.slide-fade-in) {
971
- animation: 200ms cubic-bezier(0.4, 0, 0.2, 1) both fade-out;
972
- }
973
-
974
- ::view-transition-new(.slide-fade-in) {
975
- animation: 400ms cubic-bezier(0.4, 0, 0.2, 1) both slide-fade-in-animation;
997
+ /* View slide-in animation */
998
+ .animate-view-slide-in {
999
+ animation: 400ms cubic-bezier(0.16, 1, 0.3, 1) both view-slide-in;
976
1000
  }
977
1001
 
978
- @keyframes slide-fade-in-animation {
1002
+ @keyframes view-slide-in {
979
1003
  from {
980
1004
  opacity: 0;
981
- transform: translateY(20px);
1005
+ transform: translateX(20px);
982
1006
  }
983
1007
  to {
984
1008
  opacity: 1;
985
- transform: translateY(0);
1009
+ transform: translateX(0);
986
1010
  }
987
1011
  }
988
1012
 
@@ -1044,3 +1068,8 @@ body {
1044
1068
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1), ease-in-out;
1045
1069
  transition-delay: 0.8s, 0s;
1046
1070
  }
1071
+
1072
+
1073
+ .licensing-background-pattern {
1074
+ background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fillRule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
1075
+ }
@@ -1,4 +0,0 @@
1
- import { Component } from "./pageModel";
2
- export declare function ComponentInfo({ component }: {
3
- component: Component | null;
4
- }): import("react/jsx-runtime").JSX.Element | null;
@@ -1,41 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { useEffect, useState } from "react";
4
- import { CopyButton } from "../components/ui/copy-button";
5
- import { Section } from "./ui/Section";
6
- import { useEditContext } from "./client/editContext";
7
- export function ComponentInfo({ component }) {
8
- if (!component)
9
- return null;
10
- const editContext = useEditContext();
11
- const [layoutItem, setLayoutItem] = useState();
12
- const [dataSourceItem, setDataSourceItem] = useState();
13
- useEffect(() => {
14
- if (!component.layoutId) {
15
- setLayoutItem(undefined);
16
- return;
17
- }
18
- editContext.itemsRepository
19
- .getItem({
20
- id: component.layoutId,
21
- language: editContext.currentItemDescriptor.language,
22
- version: 0,
23
- })
24
- .then(setLayoutItem);
25
- }, [component.layoutId]);
26
- useEffect(() => {
27
- async function loadDataSourceItem() {
28
- if (!component?.datasourceItem) {
29
- setDataSourceItem(undefined);
30
- return;
31
- }
32
- const item = await editContext.itemsRepository.getItem(component.datasourceItem);
33
- setDataSourceItem(item);
34
- }
35
- loadDataSourceItem();
36
- }, [component.datasourceItem]);
37
- const hostingPageItem = layoutItem ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "font-bold", children: "Source:" }), _jsxs("div", { children: [layoutItem.path, " ID: ", layoutItem.id] })] })) : null;
38
- const linkedComponent = component.datasourceItem ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "font-bold", children: "Source:" }), _jsxs("div", { children: [dataSourceItem?.path, " (", dataSourceItem?.id, ")"] })] })) : null;
39
- return (_jsxs("div", { children: [_jsx("h2", { className: "text-l my-2 px-3 py-3 font-bold", children: component.name }), _jsx(Section, { title: "Info", children: _jsxs("div", { className: "grid grid-cols-[min-content_1fr] gap-3 bg-gray-100 text-xs", children: [_jsx("div", { className: "font-bold", children: "ID:" }), _jsxs("div", { className: "flex items-center gap-1", children: [component.id, " ", _jsx(CopyButton, { textToCopy: component.id, iconOnly: true })] }), _jsx("div", { className: "font-bold", children: "Template" }), _jsxs("div", { children: ["(", component.datasourceItem?.templateId, component.datasourceItem && (_jsx(CopyButton, { textToCopy: component.datasourceItem.templateId, iconOnly: true })), ")"] }), _jsx("div", { className: "font-bold", children: "Languages" }), _jsx("div", { children: dataSourceItem?.translations?.join(", ") }), hostingPageItem, linkedComponent] }) })] }));
40
- }
41
- //# sourceMappingURL=ComponentInfo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComponentInfo.js","sourceRoot":"","sources":["../../src/editor/ComponentInfo.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAAmC;IAC1E,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAY,CAAC;IACzD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAAY,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACxB,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,WAAY,CAAC,eAAe;aACzB,OAAO,CAAC;YACP,EAAE,EAAE,SAAS,CAAC,QAAQ;YACtB,QAAQ,EAAE,WAAY,CAAC,qBAAsB,CAAC,QAAQ;YACtD,OAAO,EAAE,CAAC;SACX,CAAC;aACD,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,UAAU,kBAAkB;YAC/B,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC;gBAC/B,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,WAAY,CAAC,eAAe,CAAC,OAAO,CACrD,SAAS,CAAC,cAAc,CACzB,CAAC;YACF,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,kBAAkB,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IAE/B,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CACnC,8BACE,cAAK,SAAS,EAAC,WAAW,wBAAc,EACxC,0BACG,UAAU,CAAC,IAAI,WAAO,UAAU,CAAC,EAAE,IAChC,IACL,CACJ,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CACjD,8BACE,cAAK,SAAS,EAAC,WAAW,wBAAc,EACxC,0BACG,cAAc,EAAE,IAAI,QAAI,cAAc,EAAE,EAAE,SACvC,IACL,CACJ,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,OAAO,CACL,0BACE,aAAI,SAAS,EAAC,iCAAiC,YAAE,SAAS,CAAC,IAAI,GAAM,EACrE,KAAC,OAAO,IAAC,KAAK,EAAC,MAAM,YACnB,eAAK,SAAS,EAAC,4DAA4D,aACzE,cAAK,SAAS,EAAC,WAAW,oBAAU,EACpC,eAAK,SAAS,EAAC,yBAAyB,aACrC,SAAS,CAAC,EAAE,OAAE,KAAC,UAAU,IAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,SAAG,IAC5D,EACN,cAAK,SAAS,EAAC,WAAW,yBAAe,EACzC,+BACI,SAAS,CAAC,cAAc,EAAE,UAAU,EACrC,SAAS,CAAC,cAAc,IAAI,CAC3B,KAAC,UAAU,IACT,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC,UAAU,EAC/C,QAAQ,SACR,CACH,SAEG,EACN,cAAK,SAAS,EAAC,WAAW,0BAAgB,EAC1C,wBAAM,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAO,EACpD,eAAe,EACf,eAAe,IACZ,GACE,IACN,CACP,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * HelpTerminalPanel - renders as a panel integrated into MainLayout's Splitter.
3
- * This component is shown when editContext.showHelpTerminal is true.
4
- */
5
- export declare function HelpTerminalPanel(): import("react/jsx-runtime").JSX.Element;
@@ -1,166 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useEffect, useCallback, useMemo } from "react";
3
- import { X, Loader2, MessageCircleQuestion, ArrowLeft } from "lucide-react";
4
- import { useEditContext } from "../client/editContext";
5
- import { AgentTerminal } from "./AgentTerminal";
6
- import { loadAiProfiles, loadHelpTopics } from "../services/aiService";
7
- import { ManualBrowser } from "../menubar/toolbar-sections/ManualBrowser";
8
- import { SimpleTabs } from "../ui/SimpleTabs";
9
- import { FilterInput, highlightMatch } from "../../components/FilterInput";
10
- import { cn } from "../../lib/utils";
11
- const HELP_AGENT_PROFILE = "Help";
12
- const TAB_IDS = ["ask", "manual"];
13
- /**
14
- * HelpTerminalPanel - renders as a panel integrated into MainLayout's Splitter.
15
- * This component is shown when editContext.showHelpTerminal is true.
16
- */
17
- export function HelpTerminalPanel() {
18
- const editContext = useEditContext();
19
- const [availableProfiles, setAvailableProfiles] = useState([]);
20
- const [loadingProfiles, setLoadingProfiles] = useState(false);
21
- const [agent, setAgent] = useState(null);
22
- const [initialMetadata, setInitialMetadata] = useState(undefined);
23
- // Topics browser state
24
- const [topics, setTopics] = useState([]);
25
- const [loadingTopics, setLoadingTopics] = useState(false);
26
- const [topicsError, setTopicsError] = useState(null);
27
- const [searchQuery, setSearchQuery] = useState("");
28
- const [selectedTopic, setSelectedTopic] = useState(null);
29
- const [customQuestion, setCustomQuestion] = useState("");
30
- // Get the active tab from context, defaulting to "ask"
31
- const activeTabType = editContext?.helpTerminalActiveTab || "ask";
32
- const activeTabIndex = TAB_IDS.indexOf(activeTabType);
33
- const setActiveTabIndex = useCallback((index) => {
34
- const tabType = TAB_IDS[index];
35
- if (tabType) {
36
- editContext?.setHelpTerminalActiveTab(tabType);
37
- }
38
- }, [editContext]);
39
- // Define tabs for SimpleTabs component
40
- const tabs = useMemo(() => [
41
- { id: "ask", label: "Ask", content: null },
42
- { id: "manual", label: "Manual", content: null },
43
- ], []);
44
- // Load help topics when component mounts
45
- useEffect(() => {
46
- setLoadingTopics(true);
47
- setTopicsError(null);
48
- loadHelpTopics()
49
- .then((data) => {
50
- setTopics(data);
51
- })
52
- .catch((err) => {
53
- console.error("Failed to load help topics:", err);
54
- setTopicsError("Failed to load help topics");
55
- })
56
- .finally(() => {
57
- setLoadingTopics(false);
58
- });
59
- }, []);
60
- // Filter topics based on search query
61
- const filteredTopics = useMemo(() => {
62
- if (!searchQuery.trim()) {
63
- return topics;
64
- }
65
- const query = searchQuery.toLowerCase();
66
- return topics.filter((topic) => {
67
- const titleMatch = topic.title?.toLowerCase().includes(query);
68
- const descriptionMatch = topic.description?.toLowerCase().includes(query);
69
- return titleMatch || descriptionMatch;
70
- });
71
- }, [topics, searchQuery]);
72
- // Load profiles when component mounts
73
- useEffect(() => {
74
- let cancelled = false;
75
- (async () => {
76
- try {
77
- setLoadingProfiles(true);
78
- const profiles = await loadAiProfiles(editContext?.currentItemDescriptor);
79
- if (cancelled)
80
- return;
81
- setAvailableProfiles(profiles || []);
82
- }
83
- catch (e) {
84
- console.error("Failed to load AI profiles", e);
85
- }
86
- finally {
87
- if (!cancelled)
88
- setLoadingProfiles(false);
89
- }
90
- })();
91
- return () => {
92
- cancelled = true;
93
- };
94
- }, [editContext?.currentItemDescriptor?.id]);
95
- // Get initial prompt and profile name from editContext
96
- const initialPrompt = editContext?.helpTerminalInitialPrompt;
97
- const profileName = editContext?.helpTerminalProfileName || HELP_AGENT_PROFILE;
98
- // Determine the effective initial prompt (from context or selected topic)
99
- const effectiveInitialPrompt = initialPrompt || selectedTopic?.prompt;
100
- // Check if we should show the agent (has initial prompt from context or selected topic)
101
- const showAgent = !!initialPrompt || !!selectedTopic;
102
- // Create agent when profiles are loaded and we have a prompt
103
- useEffect(() => {
104
- if (agent || availableProfiles.length === 0 || !showAgent)
105
- return;
106
- const profile = availableProfiles.find((p) => p.name === profileName || p.id === profileName) || availableProfiles.find((p) => p.name === HELP_AGENT_PROFILE);
107
- const finalProfileName = profile?.name || profileName;
108
- const newAgent = {
109
- status: "new",
110
- id: crypto.randomUUID(),
111
- name: profile?.agentName || profile?.displayTitle || finalProfileName,
112
- updatedDate: new Date().toISOString(),
113
- userId: "",
114
- profileId: profile?.id,
115
- profileName: finalProfileName,
116
- profileSvgIcon: profile?.svgIcon,
117
- };
118
- // Build metadata with profile info and initial prompt
119
- const metadata = {
120
- profile: finalProfileName,
121
- additionalData: {
122
- profileId: profile?.id,
123
- profileName: finalProfileName,
124
- ...(effectiveInitialPrompt && { initialPrompt: effectiveInitialPrompt }),
125
- },
126
- };
127
- setAgent(newAgent);
128
- setInitialMetadata(metadata);
129
- }, [agent, availableProfiles, profileName, effectiveInitialPrompt, showAgent]);
130
- const handleClose = useCallback(() => {
131
- editContext?.setShowHelpTerminal(false);
132
- }, [editContext]);
133
- const handleTopicClick = useCallback((topic) => {
134
- setSelectedTopic(topic);
135
- }, []);
136
- const handleCustomQuestionSubmit = useCallback(() => {
137
- if (!customQuestion.trim())
138
- return;
139
- const customTopic = {
140
- id: "custom-" + Date.now(),
141
- title: "Custom Question",
142
- description: customQuestion,
143
- prompt: customQuestion,
144
- };
145
- setSelectedTopic(customTopic);
146
- setCustomQuestion("");
147
- }, [customQuestion]);
148
- const handleBackToTopics = useCallback(() => {
149
- setSelectedTopic(null);
150
- setAgent(null);
151
- setInitialMetadata(undefined);
152
- setSearchQuery("");
153
- }, []);
154
- return (_jsxs("div", { className: "flex h-full flex-col bg-white", children: [_jsxs("div", { className: "flex shrink-0 items-center justify-between border-b border-gray-200 bg-gray-50 pl-2 pr-2 pt-2", children: [_jsx(SimpleTabs, { tabs: tabs, activeTab: activeTabIndex, setActiveTab: setActiveTabIndex, hideContent: true, className: "justify-start" }), _jsx("button", { onClick: handleClose, className: "rounded p-1 text-gray-400 transition-colors hover:bg-gray-200 hover:text-gray-600", "aria-label": "Close", children: _jsx(X, { size: 16, strokeWidth: 1.5 }) })] }), _jsxs("div", { className: "flex-1 overflow-hidden", children: [_jsx("div", { className: cn("h-full", activeTabType !== "ask" && "hidden"), children: showAgent ? (
155
- // Show agent terminal with back button
156
- _jsxs("div", { className: "flex h-full flex-col", children: [selectedTopic && (_jsx("div", { className: "shrink-0 border-b border-gray-100 px-3 py-2", children: _jsxs("button", { onClick: handleBackToTopics, className: "flex items-center gap-1.5 text-xs text-gray-500 hover:text-gray-700 transition-colors", children: [_jsx(ArrowLeft, { className: "h-3.5 w-3.5" }), "Back to topics"] }) })), _jsx("div", { className: "flex-1 overflow-hidden", children: agent ? (_jsx(AgentTerminal, { agentStub: agent, initialMetadata: initialMetadata, profiles: availableProfiles, isActive: activeTabType === "ask", compact: false, simpleMode: true, hideGreeting: false, initialPrompt: effectiveInitialPrompt })) : (_jsx("div", { className: "flex h-full flex-col items-center justify-center", children: _jsx("div", { className: "text-sm text-gray-500", children: "Loading agent..." }) })) })] })) : (
157
- // Show topics browser
158
- _jsxs("div", { className: "flex h-full flex-col", children: [_jsx("div", { className: "shrink-0 border-b border-gray-100 px-4 py-3", children: _jsx("h3", { className: "text-sm font-semibold text-gray-900", children: "How can we help?" }) }), _jsxs("div", { className: "shrink-0 border-b border-gray-100 bg-blue-50/50 px-4 py-3", children: [_jsx("div", { className: "flex items-center justify-between mb-2", children: _jsxs("h4", { className: "text-xs font-semibold text-blue-900 flex items-center gap-1.5", children: [_jsx(MessageCircleQuestion, { className: "h-3.5 w-3.5" }), "Ask a question"] }) }), _jsxs("div", { className: "flex gap-2", children: [_jsx("div", { className: "flex-1", children: _jsx("input", { type: "text", value: customQuestion, onChange: (e) => setCustomQuestion(e.target.value), onKeyDown: (e) => {
159
- if (e.key === "Enter" && customQuestion.trim()) {
160
- handleCustomQuestionSubmit();
161
- }
162
- }, placeholder: "How do I...", className: "h-8 w-full rounded border border-gray-200 bg-white px-2.5 text-xs focus:border-blue-500 focus:outline-none" }) }), _jsx("button", { onClick: handleCustomQuestionSubmit, disabled: !customQuestion.trim(), className: cn("rounded px-3 py-1 text-xs font-medium transition-colors", customQuestion.trim()
163
- ? "bg-blue-600 text-white hover:bg-blue-700"
164
- : "bg-gray-200 text-gray-400 cursor-not-allowed"), children: "Ask" })] })] }), _jsx("div", { className: "shrink-0 border-b border-gray-100 bg-gray-50 px-4 py-2", children: _jsx("p", { className: "text-xs text-gray-500", children: "Or browse common topics" }) }), _jsx("div", { className: "shrink-0 px-4 py-2", children: _jsx(FilterInput, { value: searchQuery, onChange: setSearchQuery, placeholder: "Filter topics...", size: "sm" }) }), _jsxs("div", { className: "flex-1 overflow-y-auto", children: [loadingTopics && (_jsx("div", { className: "flex items-center justify-center py-8", children: _jsx(Loader2, { className: "h-5 w-5 animate-spin text-gray-400" }) })), topicsError && (_jsx("div", { className: "px-4 py-8 text-center text-sm text-red-500", children: topicsError })), !loadingTopics && !topicsError && topics.length === 0 && (_jsx("div", { className: "px-4 py-8 text-center text-sm text-gray-500", children: "No help topics available" })), !loadingTopics && !topicsError && topics.length > 0 && filteredTopics.length === 0 && searchQuery && (_jsx("div", { className: "px-4 py-8 text-center text-sm text-gray-500", children: "No help topics match your search" })), !loadingTopics && !topicsError && filteredTopics.length > 0 && (_jsx("div", { className: "py-2", children: filteredTopics.map((topic) => (_jsxs("button", { onClick: () => handleTopicClick(topic), className: cn("flex w-full items-start gap-3 px-4 py-2.5 text-left transition-colors", "hover:bg-gray-50 focus:bg-gray-50 focus:outline-none"), children: [_jsx(MessageCircleQuestion, { className: "mt-0.5 h-4 w-4 shrink-0 text-gray-400", strokeWidth: 1.5 }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "text-sm font-medium text-gray-900", children: highlightMatch(topic.title || "", searchQuery) }), topic.description && (_jsx("div", { className: "mt-0.5 text-xs text-gray-500 line-clamp-2", children: highlightMatch(topic.description, searchQuery) }))] })] }, topic.id))) }))] })] })) }), _jsx("div", { className: cn("h-full", activeTabType !== "manual" && "hidden"), children: _jsx(ManualBrowser, {}) })] })] }));
165
- }
166
- //# sourceMappingURL=HelpTerminal.js.map