@parhelia/core 0.1.12888 → 0.1.12890

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 (342) hide show
  1. package/dist/agents-view/AgentCard.d.ts +2 -1
  2. package/dist/agents-view/AgentCard.js +14 -38
  3. package/dist/agents-view/AgentCard.js.map +1 -1
  4. package/dist/agents-view/AgentGalleryCard.d.ts +12 -0
  5. package/dist/agents-view/AgentGalleryCard.js +12 -0
  6. package/dist/agents-view/AgentGalleryCard.js.map +1 -0
  7. package/dist/agents-view/AgentGalleryView.d.ts +18 -0
  8. package/dist/agents-view/AgentGalleryView.js +88 -0
  9. package/dist/agents-view/AgentGalleryView.js.map +1 -0
  10. package/dist/agents-view/AgentProfileIcon.d.ts +9 -0
  11. package/dist/agents-view/AgentProfileIcon.js +28 -0
  12. package/dist/agents-view/AgentProfileIcon.js.map +1 -0
  13. package/dist/agents-view/AgentsView.d.ts +6 -1
  14. package/dist/agents-view/AgentsView.js +40 -12
  15. package/dist/agents-view/AgentsView.js.map +1 -1
  16. package/dist/agents-view/AgentsWorkspaceView.js +40 -21
  17. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  18. package/dist/agents-view/DateAgentsGroup.d.ts +2 -1
  19. package/dist/agents-view/DateAgentsGroup.js +2 -2
  20. package/dist/agents-view/DateAgentsGroup.js.map +1 -1
  21. package/dist/agents-view/ProfileAgentsGroup.d.ts +2 -1
  22. package/dist/agents-view/ProfileAgentsGroup.js +5 -8
  23. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  24. package/dist/agents-view/RenameAgentDialog.d.ts +12 -0
  25. package/dist/agents-view/RenameAgentDialog.js +40 -0
  26. package/dist/agents-view/RenameAgentDialog.js.map +1 -0
  27. package/dist/components/FilterInput.d.ts +2 -0
  28. package/dist/components/FilterInput.js +4 -2
  29. package/dist/components/FilterInput.js.map +1 -1
  30. package/dist/components/ui/alert-dialog.d.ts +1 -1
  31. package/dist/components/ui/alert-dialog.js +5 -5
  32. package/dist/components/ui/alert-dialog.js.map +1 -1
  33. package/dist/components/ui/alert.d.ts +3 -2
  34. package/dist/components/ui/alert.js +9 -4
  35. package/dist/components/ui/alert.js.map +1 -1
  36. package/dist/components/ui/badge.d.ts +1 -1
  37. package/dist/components/ui/button.d.ts +9 -4
  38. package/dist/components/ui/button.js +16 -9
  39. package/dist/components/ui/button.js.map +1 -1
  40. package/dist/components/ui/dialog.d.ts +1 -1
  41. package/dist/components/ui/dialog.js +4 -3
  42. package/dist/components/ui/dialog.js.map +1 -1
  43. package/dist/components/ui/styled-dialog-title.js +1 -1
  44. package/dist/components/ui/styled-dialog-title.js.map +1 -1
  45. package/dist/config/config.js +4 -3
  46. package/dist/config/config.js.map +1 -1
  47. package/dist/editor/FieldListField.js +6 -2
  48. package/dist/editor/FieldListField.js.map +1 -1
  49. package/dist/editor/GlobalMenuBar.js +3 -1
  50. package/dist/editor/GlobalMenuBar.js.map +1 -1
  51. package/dist/editor/LinkEditorDialog.js +3 -3
  52. package/dist/editor/LinkEditorDialog.js.map +1 -1
  53. package/dist/editor/MainLayout.js +11 -9
  54. package/dist/editor/MainLayout.js.map +1 -1
  55. package/dist/editor/WorkspaceTitleSwitcher.d.ts +5 -0
  56. package/dist/editor/WorkspaceTitleSwitcher.js +86 -0
  57. package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -0
  58. package/dist/editor/ai/AgentInlineDialogContent.js +1 -1
  59. package/dist/editor/ai/AgentInlineDialogContent.js.map +1 -1
  60. package/dist/editor/ai/Agents.js +155 -43
  61. package/dist/editor/ai/Agents.js.map +1 -1
  62. package/dist/editor/ai/InlineAiDialog.js +1 -1
  63. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  64. package/dist/editor/ai/dialogs/QuestionnaireInline.js +52 -82
  65. package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
  66. package/dist/editor/ai/terminal/agentQuestionnaireRecap.d.ts +82 -0
  67. package/dist/editor/ai/terminal/agentQuestionnaireRecap.js +277 -0
  68. package/dist/editor/ai/terminal/agentQuestionnaireRecap.js.map +1 -0
  69. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.d.ts +3 -0
  70. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js +3 -3
  71. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js.map +1 -1
  72. package/dist/editor/ai/terminal/agentSessionLiveTotals.d.ts +5 -0
  73. package/dist/editor/ai/terminal/agentSessionLiveTotals.js +14 -0
  74. package/dist/editor/ai/terminal/agentSessionLiveTotals.js.map +1 -1
  75. package/dist/editor/ai/terminal/agentSessionSnapshot.js +2 -0
  76. package/dist/editor/ai/terminal/agentSessionSnapshot.js.map +1 -1
  77. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +1 -1
  78. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
  79. package/dist/editor/ai/terminal/components/AgentGreeting.js +5 -2
  80. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  81. package/dist/editor/ai/terminal/components/AgentProjectProgress.d.ts +12 -0
  82. package/dist/editor/ai/terminal/components/AgentProjectProgress.js +207 -0
  83. package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -0
  84. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +3 -3
  85. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
  86. package/dist/editor/ai/terminal/components/AgentPromptComposer.d.ts +2 -1
  87. package/dist/editor/ai/terminal/components/AgentPromptComposer.js +5 -2
  88. package/dist/editor/ai/terminal/components/AgentPromptComposer.js.map +1 -1
  89. package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -1
  90. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +5 -3
  91. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
  92. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +4 -3
  93. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +6 -19
  94. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
  95. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +5 -1
  96. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +33 -2
  97. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  98. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +2 -0
  99. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +20 -1
  100. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
  101. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +2 -1
  102. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
  103. package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
  104. package/dist/editor/ai/terminal/components/AgentTerminalView.js +11 -2
  105. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  106. package/dist/editor/ai/terminal/components/AiResponseMessage.js +59 -7
  107. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  108. package/dist/editor/ai/terminal/components/QuestionnaireRecap.d.ts +9 -0
  109. package/dist/editor/ai/terminal/components/QuestionnaireRecap.js +56 -0
  110. package/dist/editor/ai/terminal/components/QuestionnaireRecap.js.map +1 -0
  111. package/dist/editor/ai/terminal/contextBreakdown.d.ts +17 -0
  112. package/dist/editor/ai/terminal/contextBreakdown.js +58 -0
  113. package/dist/editor/ai/terminal/contextBreakdown.js.map +1 -0
  114. package/dist/editor/ai/terminal/types.d.ts +2 -0
  115. package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.d.ts +29 -0
  116. package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js +68 -0
  117. package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js.map +1 -0
  118. package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js +8 -3
  119. package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js.map +1 -1
  120. package/dist/editor/ai/terminal/useAgentInlineDialogState.d.ts +10 -3
  121. package/dist/editor/ai/terminal/useAgentInlineDialogState.js +33 -4
  122. package/dist/editor/ai/terminal/useAgentInlineDialogState.js.map +1 -1
  123. package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js +16 -2
  124. package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js.map +1 -1
  125. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +3 -1
  126. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
  127. package/dist/editor/ai/terminal/useAgentSession.js +12 -1
  128. package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
  129. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.d.ts +3 -0
  130. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js +6 -1
  131. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js.map +1 -1
  132. package/dist/editor/ai/terminal/useAgentTerminalController.js +48 -4
  133. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  134. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -0
  135. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -1
  136. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  137. package/dist/editor/ai/terminal/useAgentToolCallHandler.js +13 -1
  138. package/dist/editor/ai/terminal/useAgentToolCallHandler.js.map +1 -1
  139. package/dist/editor/ai/terminal/useAgentToolResultHandler.js +31 -7
  140. package/dist/editor/ai/terminal/useAgentToolResultHandler.js.map +1 -1
  141. package/dist/editor/bridge/BridgeClient.d.ts +1 -8
  142. package/dist/editor/bridge/BridgeClient.js +2 -4
  143. package/dist/editor/bridge/BridgeClient.js.map +1 -1
  144. package/dist/editor/bridge/protocol.d.ts +512 -0
  145. package/dist/editor/bridge/protocol.js +188 -0
  146. package/dist/editor/bridge/protocol.js.map +1 -0
  147. package/dist/editor/client/AboutDialog.js +15 -4
  148. package/dist/editor/client/AboutDialog.js.map +1 -1
  149. package/dist/editor/client/EditorShell.js +50 -13
  150. package/dist/editor/client/EditorShell.js.map +1 -1
  151. package/dist/editor/client/editContext.d.ts +6 -0
  152. package/dist/editor/client/editContext.js.map +1 -1
  153. package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +3 -0
  154. package/dist/editor/client/hooks/useSocketMessageHandler.js +57 -25
  155. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  156. package/dist/editor/client/hooks/useWorkbox.d.ts +1 -0
  157. package/dist/editor/client/hooks/useWorkbox.js +14 -1
  158. package/dist/editor/client/hooks/useWorkbox.js.map +1 -1
  159. package/dist/editor/client/operationToasts.d.ts +2 -0
  160. package/dist/editor/client/operationToasts.js +35 -0
  161. package/dist/editor/client/operationToasts.js.map +1 -0
  162. package/dist/editor/client/operations.d.ts +4 -0
  163. package/dist/editor/client/operations.js +134 -74
  164. package/dist/editor/client/operations.js.map +1 -1
  165. package/dist/editor/client/pageModelBuilder.d.ts +1 -0
  166. package/dist/editor/client/pageModelBuilder.js +22 -13
  167. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  168. package/dist/editor/client/waitForEditOperationTerminal.d.ts +1 -0
  169. package/dist/editor/client/waitForEditOperationTerminal.js +1 -1
  170. package/dist/editor/client/waitForEditOperationTerminal.js.map +1 -1
  171. package/dist/editor/commands/itemCommands.js +5 -16
  172. package/dist/editor/commands/itemCommands.js.map +1 -1
  173. package/dist/editor/content-tree/IndicatorSettings.js +3 -2
  174. package/dist/editor/content-tree/IndicatorSettings.js.map +1 -1
  175. package/dist/editor/field-types/CheckboxEditor.js +3 -1
  176. package/dist/editor/field-types/CheckboxEditor.js.map +1 -1
  177. package/dist/editor/field-types/MultiLineText.js +24 -7
  178. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  179. package/dist/editor/field-types/SingleLineText.js +19 -2
  180. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  181. package/dist/editor/field-types/useTextCompletion.d.ts +20 -0
  182. package/dist/editor/field-types/useTextCompletion.js +166 -0
  183. package/dist/editor/field-types/useTextCompletion.js.map +1 -0
  184. package/dist/editor/menubar/ItemLanguageVersion.js +3 -14
  185. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  186. package/dist/editor/menubar/OperationsIndicator.d.ts +7 -0
  187. package/dist/editor/menubar/OperationsIndicator.js +87 -0
  188. package/dist/editor/menubar/OperationsIndicator.js.map +1 -0
  189. package/dist/editor/menubar/ToolbarFactory.js +4 -1
  190. package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
  191. package/dist/editor/menubar/VersionSelector.d.ts +3 -2
  192. package/dist/editor/menubar/VersionSelector.js +28 -12
  193. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  194. package/dist/editor/menubar/WorkflowButton.js +7 -4
  195. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  196. package/dist/editor/menubar/toolbar-sections/EditControls.js +7 -3
  197. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  198. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +4 -1
  199. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  200. package/dist/editor/notifications/NotificationCenter.js +28 -27
  201. package/dist/editor/notifications/NotificationCenter.js.map +1 -1
  202. package/dist/editor/notifications/NotificationItem.js +100 -15
  203. package/dist/editor/notifications/NotificationItem.js.map +1 -1
  204. package/dist/editor/notifications/watchEventOptions.js +3 -2
  205. package/dist/editor/notifications/watchEventOptions.js.map +1 -1
  206. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +1 -1
  207. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +8 -2
  208. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  209. package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +1 -1
  210. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +7 -1
  211. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  212. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +3 -10
  213. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  214. package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +2 -2
  215. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +1 -1
  216. package/dist/editor/page-viewer/MiniMap.d.ts +21 -0
  217. package/dist/editor/page-viewer/MiniMap.js +113 -11
  218. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  219. package/dist/editor/page-viewer/PageViewerFrame.js +155 -22
  220. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  221. package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +1 -2
  222. package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
  223. package/dist/editor/page-viewer/pageViewContext.d.ts +1 -1
  224. package/dist/editor/reviews/DecisionsMatrix.js +5 -1
  225. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  226. package/dist/editor/reviews/SuggestedEdit.js +12 -2
  227. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  228. package/dist/editor/reviews/latestFeedbackData.js +7 -1
  229. package/dist/editor/reviews/latestFeedbackData.js.map +1 -1
  230. package/dist/editor/reviews/suggestedEditState.d.ts +2 -0
  231. package/dist/editor/reviews/suggestedEditState.js +20 -0
  232. package/dist/editor/reviews/suggestedEditState.js.map +1 -1
  233. package/dist/editor/reviews/suggestionContentChange.d.ts +1 -1
  234. package/dist/editor/reviews/suggestionContentChange.js +23 -3
  235. package/dist/editor/reviews/suggestionContentChange.js.map +1 -1
  236. package/dist/editor/services/agentService.d.ts +6 -0
  237. package/dist/editor/services/agentService.js +14 -0
  238. package/dist/editor/services/agentService.js.map +1 -1
  239. package/dist/editor/services/aiService.d.ts +5 -0
  240. package/dist/editor/services/aiService.js.map +1 -1
  241. package/dist/editor/settings/About.js +1 -1
  242. package/dist/editor/settings/About.js.map +1 -1
  243. package/dist/editor/settings/panels/AgentProfileConfigPanel.js +4 -2
  244. package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
  245. package/dist/editor/settings/panels/AgentToolsPanel.js +61 -33
  246. package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
  247. package/dist/editor/settings/panels/ClusterInstancesPanel.js +2 -1
  248. package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
  249. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +3 -2
  250. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
  251. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +3 -2
  252. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
  253. package/dist/editor/settings/panels/StatusPanel.js +10 -7
  254. package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
  255. package/dist/editor/sidebar/Completions.js +1 -1
  256. package/dist/editor/sidebar/Completions.js.map +1 -1
  257. package/dist/editor/sidebar/ComponentTree.js +1 -1
  258. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  259. package/dist/editor/sidebar/OperationItem.js +1 -1
  260. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  261. package/dist/editor/sidebar/Workbox.js +18 -4
  262. package/dist/editor/sidebar/Workbox.js.map +1 -1
  263. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +3 -2
  264. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js.map +1 -1
  265. package/dist/editor/tree-indicators/GutterColumns.js +3 -2
  266. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  267. package/dist/editor/ui/DialogButtons.d.ts +3 -1
  268. package/dist/editor/ui/DialogButtons.js +3 -2
  269. package/dist/editor/ui/DialogButtons.js.map +1 -1
  270. package/dist/editor/ui/Icons.js +1 -1
  271. package/dist/editor/ui/Icons.js.map +1 -1
  272. package/dist/editor/ui/ItemCollectionEditor.js +2 -2
  273. package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
  274. package/dist/editor/ui/PublishItemDialog.js +4 -6
  275. package/dist/editor/ui/PublishItemDialog.js.map +1 -1
  276. package/dist/editor/ui/SimpleTabs.d.ts +2 -1
  277. package/dist/editor/ui/SimpleTabs.js +23 -5
  278. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  279. package/dist/editor/ui/Splitter.js +120 -3
  280. package/dist/editor/ui/Splitter.js.map +1 -1
  281. package/dist/editor/ui/splitterResizeEvent.d.ts +7 -0
  282. package/dist/editor/ui/splitterResizeEvent.js +6 -0
  283. package/dist/editor/ui/splitterResizeEvent.js.map +1 -1
  284. package/dist/editor/version-diff/versionDiffTargets.d.ts +1 -1
  285. package/dist/editor/workflowFields.d.ts +1 -0
  286. package/dist/editor/workflowFields.js +16 -0
  287. package/dist/editor/workflowFields.js.map +1 -0
  288. package/dist/index.d.ts +4 -2
  289. package/dist/index.js +3 -2
  290. package/dist/index.js.map +1 -1
  291. package/dist/revision.d.ts +2 -2
  292. package/dist/revision.js +2 -2
  293. package/dist/splash-screen/ModernSplashScreen.js +20 -11
  294. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  295. package/dist/splash-screen/NewPage.js +26 -7
  296. package/dist/splash-screen/NewPage.js.map +1 -1
  297. package/dist/task-board/TaskBoardWorkspace.js +154 -121
  298. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  299. package/dist/task-board/components/CreateTaskDialog.js +1 -1
  300. package/dist/task-board/components/CreateTaskDialog.js.map +1 -1
  301. package/dist/task-board/components/ProjectDashboard.d.ts +12 -22
  302. package/dist/task-board/components/ProjectDashboard.js +120 -108
  303. package/dist/task-board/components/ProjectDashboard.js.map +1 -1
  304. package/dist/task-board/components/ProjectOverviewContent.js +3 -0
  305. package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
  306. package/dist/task-board/components/ProjectPropertiesPanel.d.ts +2 -0
  307. package/dist/task-board/components/ProjectPropertiesPanel.js +7 -4
  308. package/dist/task-board/components/ProjectPropertiesPanel.js.map +1 -1
  309. package/dist/task-board/components/ProjectSettingsDialog.d.ts +16 -0
  310. package/dist/task-board/components/ProjectSettingsDialog.js +55 -47
  311. package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
  312. package/dist/task-board/components/TaskAgentPanel.js +6 -5
  313. package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
  314. package/dist/task-board/components/TaskAssigneePicker.js +3 -2
  315. package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
  316. package/dist/task-board/components/TaskAttachmentsSection.js +1 -1
  317. package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
  318. package/dist/task-board/components/TaskBoardHomeView.d.ts +7 -0
  319. package/dist/task-board/components/TaskBoardHomeView.js +21 -0
  320. package/dist/task-board/components/TaskBoardHomeView.js.map +1 -0
  321. package/dist/task-board/components/TaskBoardProjectListSidebar.js +74 -12
  322. package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
  323. package/dist/task-board/components/TaskBoardTitlebar.js +9 -52
  324. package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
  325. package/dist/task-board/components/TaskCard.js +5 -13
  326. package/dist/task-board/components/TaskCard.js.map +1 -1
  327. package/dist/task-board/components/TaskRow.js +3 -2
  328. package/dist/task-board/components/TaskRow.js.map +1 -1
  329. package/dist/task-board/taskBoardNavStore.d.ts +0 -2
  330. package/dist/task-board/taskBoardNavStore.js +0 -2
  331. package/dist/task-board/taskBoardNavStore.js.map +1 -1
  332. package/dist/task-board/views/DependencyGraphView.js +3 -2
  333. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  334. package/dist/task-board/views/KanbanView.js +161 -38
  335. package/dist/task-board/views/KanbanView.js.map +1 -1
  336. package/dist/task-board/views/ListView.js +1 -2
  337. package/dist/task-board/views/ListView.js.map +1 -1
  338. package/dist/task-board/views/WizardView.d.ts +2 -0
  339. package/dist/task-board/views/WizardView.js +7 -4
  340. package/dist/task-board/views/WizardView.js.map +1 -1
  341. package/package.json +1 -2
  342. package/styles.css +4 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/editor/bridge/protocol.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,24 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Dialog, DialogContent, DialogTitle } from "../../components/ui/dialog";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Dialog, DialogClose, DialogContent, DialogTitle, } from "../../components/ui/dialog";
3
3
  import { useImperativeHandle, useState, forwardRef, useEffect } from "react";
4
4
  import { buildDate, version } from "../../revision";
5
- import { LicenseBadge, useLicense } from "../../licensing";
5
+ import { useLicense } from "../../licensing";
6
6
  import { ParheliaIcon } from "../ui/ParheliaIcon";
7
+ import { X } from "lucide-react";
7
8
  export const AboutDialog = forwardRef(function AboutDialog(props, ref) {
8
9
  const [visible, setVisible] = useState(false);
9
10
  const license = useLicense();
10
11
  const licenseeCompanyName = license.licenseStatus?.companyName?.trim();
12
+ const showLicenseRows = !license.licenseStatus?.licensingDisabled;
13
+ const licenseLabel = license.isLoading
14
+ ? "Checking"
15
+ : license.isLicensed
16
+ ? license.licenseType === "trial"
17
+ ? license.daysRemaining != null
18
+ ? `Trial (${license.daysRemaining}d)`
19
+ : "Trial"
20
+ : "Licensed"
21
+ : "Unlicensed";
11
22
  useImperativeHandle(ref, () => ({
12
23
  onClose: (result) => {
13
24
  setVisible(false);
@@ -22,6 +33,6 @@ export const AboutDialog = forwardRef(function AboutDialog(props, ref) {
22
33
  setVisible(false);
23
34
  props.onClose(null);
24
35
  }
25
- }, children: _jsxs(DialogContent, { className: "border-border-default bg-white text-neutral-grey-100 overflow-hidden p-0 shadow-2xl sm:max-w-105", children: [_jsx(DialogTitle, { className: "sr-only", children: "About Parhelia" }), _jsx("div", { className: "from-white to-neutral-grey-5 border-border-default/80 relative border-b bg-linear-to-b px-8 pt-8 pb-6", children: _jsxs("div", { className: "flex items-start gap-4", children: [_jsx("div", { className: "bg-neutral-grey-5 text-neutral-grey-100 flex h-16 w-16 shrink-0 items-center justify-center rounded-xl border border-border-default/60 shadow-sm", children: _jsx(ParheliaIcon, { size: 34, animated: false }) }), _jsxs("div", { className: "min-w-0 flex-1 pt-1", children: [_jsx("p", { className: "text-neutral-grey-50 text-xs font-medium tracking-[0.24em] uppercase", children: "About" }), _jsx("h2", { className: "text-neutral-grey-100 mt-3 text-[28px] leading-none font-semibold tracking-tight", children: "Parhelia" }), _jsx("p", { className: "text-neutral-grey-50 mt-3 text-sm leading-relaxed", children: "Experience content in a new light" })] })] }) }), _jsxs("div", { className: "flex flex-col gap-6 px-8 py-8", children: [_jsx("div", { className: "w-full overflow-hidden rounded-xl border border-border-default bg-white shadow-sm", children: _jsxs("div", { className: "divide-y divide-border-default", children: [_jsxs("div", { className: "flex items-center justify-between gap-4 px-5 py-4 text-sm", children: [_jsx("span", { className: "text-neutral-grey-50 font-medium tracking-wide", children: "Version" }), _jsx("span", { className: "text-neutral-grey-100 font-semibold tabular-nums", children: version })] }), _jsxs("div", { className: "flex items-center justify-between gap-4 px-5 py-4 text-sm", children: [_jsx("span", { className: "text-neutral-grey-50 font-medium tracking-wide", children: "Build Date" }), _jsx("span", { className: "text-neutral-grey-100 font-medium tabular-nums", children: buildDate })] }), !license?.licenseStatus?.licensingDisabled && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center justify-between gap-4 px-5 py-4 text-sm", children: [_jsx("span", { className: "text-neutral-grey-50 font-medium tracking-wide", children: "License" }), _jsx(LicenseBadge, {})] }), licenseeCompanyName && (_jsxs("div", { className: "flex min-w-0 items-center justify-between gap-4 px-5 py-4 text-sm", children: [_jsx("span", { className: "text-neutral-grey-50 font-medium tracking-wide", children: "Licensee" }), _jsx("span", { className: "text-neutral-grey-100 min-w-0 text-right font-medium wrap-break-word", children: licenseeCompanyName })] }))] }))] }) }), _jsxs("div", { className: "space-y-4", children: [_jsx("p", { className: "text-neutral-grey-50 text-balance text-sm leading-relaxed", children: "Built with passion by the Parhelia team at Canvas Reply. Focusing on the future of AI-driven content management." }), _jsxs("div", { className: "text-neutral-grey-50 text-balance text-2xs font-medium tracking-[0.16em] uppercase", children: ["\u00A9 ", new Date().getFullYear(), " Canvas Reply GmbH. All rights reserved."] })] })] })] }) }));
36
+ }, children: _jsxs(DialogContent, { className: "border-border-default/70 text-neutral-grey-100 overflow-hidden rounded-[18px] bg-white p-0 shadow-2xl sm:max-w-[430px]", overlayClassName: "bg-neutral-grey-100/45 backdrop-blur-md", showCloseButton: false, children: [_jsx(DialogTitle, { className: "sr-only", children: "About Parhelia" }), _jsx(DialogClose, { asChild: true, children: _jsx("button", { type: "button", "aria-label": "Close", "data-testid": "dialog-close", className: "text-neutral-grey-50 hover:text-neutral-grey-100 focus-visible:ring-ring/40 absolute top-7 right-7 z-50 inline-flex h-7 w-7 cursor-pointer items-center justify-center rounded transition-colors outline-none focus-visible:ring-[3px]", children: _jsx(X, { className: "h-5 w-5", strokeWidth: 1.5, "aria-hidden": "true" }) }) }), _jsxs("div", { className: "flex min-h-[525px] flex-col items-center px-12 pt-16 pb-10 text-center", children: [_jsx("div", { className: "mb-11 flex justify-center", children: _jsx(ParheliaIcon, { size: 108, animated: false }) }), _jsxs("div", { className: "mb-10 grid w-full max-w-[245px] grid-cols-[max-content_minmax(0,1fr)] gap-x-3 gap-y-3 text-left text-sm leading-none", children: [_jsx("span", { className: "text-neutral-grey-100 text-right font-semibold", children: "Version" }), _jsx("span", { className: "text-neutral-grey-50 min-w-0 wrap-break-word tabular-nums", children: version }), _jsx("span", { className: "text-neutral-grey-100 text-right font-semibold", children: "Build Date" }), _jsx("span", { className: "text-neutral-grey-50 min-w-0 wrap-break-word tabular-nums", children: buildDate }), showLicenseRows && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-neutral-grey-100 text-right font-semibold", children: "License" }), _jsx("span", { className: "text-neutral-grey-50 min-w-0 wrap-break-word", children: licenseLabel }), licenseeCompanyName && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-neutral-grey-100 text-right font-semibold", children: "Licensee" }), _jsx("span", { className: "text-neutral-grey-50 min-w-0 wrap-break-word", children: licenseeCompanyName })] }))] }))] }), _jsxs("div", { className: "mt-auto space-y-5", children: [_jsx("p", { className: "text-neutral-grey-50 mx-auto max-w-[290px] text-sm leading-[1.28] font-medium", children: "Built with passion by the Parhelia team at Canvas Reply. Focusing on the future of AI-driven content management." }), _jsxs("div", { className: "text-neutral-grey-50 mx-auto max-w-[255px] text-sm leading-[1.28] font-medium", children: ["\u00A9 ", new Date().getFullYear(), " Canvas Reply GmbH. All rights reserved."] })] })] })] }) }));
26
37
  });
27
38
  //# sourceMappingURL=AboutDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AboutDialog.js","sourceRoot":"","sources":["../../../src/editor/client/AboutDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AboutDialog.js","sourceRoot":"","sources":["../../../src/editor/client/AboutDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEjC,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,SAAS,WAAW,CAAC,KAAK,EAAE,GAAG;IAC7B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,mBAAmB,GAAG,OAAO,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACvE,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAClE,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS;QACpC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,OAAO,CAAC,UAAU;YAClB,CAAC,CAAC,OAAO,CAAC,WAAW,KAAK,OAAO;gBAC/B,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI;oBAC7B,CAAC,CAAC,UAAU,OAAO,CAAC,aAAa,IAAI;oBACrC,CAAC,CAAC,OAAO;gBACX,CAAC,CAAC,UAAU;YACd,CAAC,CAAC,YAAY,CAAC;IAEnB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,OAAO,EAAE,CAAC,MAAmB,EAAE,EAAE;YAC/B,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;KACF,CAAC,CAAC,CAAC;IAEJ,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,MAAM,IACL,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,CAAC,IAAa,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,YAED,MAAC,aAAa,IACZ,SAAS,EAAC,wHAAwH,EAClI,gBAAgB,EAAC,yCAAyC,EAC1D,eAAe,EAAE,KAAK,aAEtB,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,+BAA6B,EAC7D,KAAC,WAAW,IAAC,OAAO,kBAClB,iBACE,IAAI,EAAC,QAAQ,gBACF,OAAO,iBACN,cAAc,EAC1B,SAAS,EAAC,wOAAwO,YAElP,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,GAAG,iBAAc,MAAM,GAAG,GACvD,GACG,EAEd,eAAK,SAAS,EAAC,wEAAwE,aACrF,cAAK,SAAS,EAAC,2BAA2B,YACxC,KAAC,YAAY,IAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAI,GACxC,EAEN,eAAK,SAAS,EAAC,sHAAsH,aACnI,eAAM,SAAS,EAAC,gDAAgD,wBAEzD,EACP,eAAM,SAAS,EAAC,2DAA2D,YACxE,OAAO,GACH,EAEP,eAAM,SAAS,EAAC,gDAAgD,2BAEzD,EACP,eAAM,SAAS,EAAC,2DAA2D,YACxE,SAAS,GACL,EAEN,eAAe,IAAI,CAClB,8BACE,eAAM,SAAS,EAAC,gDAAgD,wBAEzD,EACP,eAAM,SAAS,EAAC,8CAA8C,YAC3D,YAAY,GACR,EAEN,mBAAmB,IAAI,CACtB,8BACE,eAAM,SAAS,EAAC,gDAAgD,yBAEzD,EACP,eAAM,SAAS,EAAC,8CAA8C,YAC3D,mBAAmB,GACf,IACN,CACJ,IACA,CACJ,IACG,EAEN,eAAK,SAAS,EAAC,mBAAmB,aAChC,YAAG,SAAS,EAAC,+EAA+E,iIAGxF,EAEJ,eAAK,SAAS,EAAC,+EAA+E,wBACpF,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,gDAE5B,IACF,IACF,IACQ,GACT,CACV,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -47,6 +47,7 @@ import { QuickItemSwitcher } from "../QuickItemSwitcher";
47
47
  import { useEditorSlotContext, } from "../views/editorSlotContext";
48
48
  import { getComments, getAvailableCommentTags, } from "../services/reviewsService";
49
49
  import { useReviews } from "../reviews/useReviews";
50
+ import { isSuggestedEditRemoved } from "../reviews/suggestedEditState";
50
51
  import { COMMENT_TRANSIENT_ELEMENT_KEY, COMMENT_TRANSIENT_SELECTION_RECT, } from "../reviews/commentTransientSelection";
51
52
  import uuid from "react-uuid";
52
53
  import { flushSync } from "react-dom";
@@ -70,6 +71,13 @@ import { FeatureGate, LicenseFeatures, LicenseProvider, LicenseOverlay, } from "
70
71
  const SIDEBAR_NONE_SENTINEL = "none";
71
72
  const sidebarUrlValue = (ids) => ids.length ? ids.join(",") : SIDEBAR_NONE_SENTINEL;
72
73
  // moved to hooks/useQuota
74
+ function getInitialOpenSidebars(configuration, workspaceId) {
75
+ const workspace = configuration.editor.workspaces?.find((candidate) => candidate.id === workspaceId);
76
+ if (workspace?.supportsSidebars && workspace.defaultSidebars?.length) {
77
+ return [...workspace.defaultSidebars];
78
+ }
79
+ return [...(configuration.editor.defaultOpenSidebars ?? [])];
80
+ }
73
81
  function isUsableTextSelectionRange(range) {
74
82
  return !!(range &&
75
83
  range.text?.trim() &&
@@ -214,14 +222,13 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
214
222
  // (Next.js App Router uses startTransition internally for URL changes)
215
223
  const rawWorkspace = useMemo(() => searchParams.get("workspace"), [searchParams]);
216
224
  const isReviewsSidebarRequest = rawWorkspace === "reviews";
217
- const [workspaceId, setWorkspaceId] = useState(
218
- // If workspace=reviews, use "editor" workspace (reviews is a sidebar, not a workspace)
219
- isReviewsSidebarRequest
225
+ const initialWorkspaceId = isReviewsSidebarRequest
220
226
  ? "editor"
221
227
  : (rawWorkspace ??
222
228
  configuration.editor.defaultWorkspace ??
223
229
  configuration.editor.workspaces?.[0]?.id ??
224
- "home"));
230
+ "home");
231
+ const [workspaceId, setWorkspaceId] = useState(initialWorkspaceId);
225
232
  const workspaceIdRef = useRef(workspaceId);
226
233
  useEffect(() => {
227
234
  workspaceIdRef.current = workspaceId;
@@ -239,7 +246,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
239
246
  : sidebarParam.split(",").filter(Boolean);
240
247
  }
241
248
  else {
242
- sidebars = [...(configuration.editor.defaultOpenSidebars ?? [])];
249
+ sidebars = getInitialOpenSidebars(configuration, initialWorkspaceId);
243
250
  }
244
251
  // If workspace=reviews was requested, ensure reviews sidebar is open
245
252
  if (isReviewsSidebarRequest && !sidebars.includes("reviews")) {
@@ -509,6 +516,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
509
516
  getFieldModificationStores,
510
517
  ]);
511
518
  const [comments, setComments] = useState([]);
519
+ // True once loadComments has succeeded for the current item. Destructive
520
+ // decisions that depend on a suggestion's comment thread (e.g. auto-deleting
521
+ // a reverted no-op suggestion) must not run on the initial empty array.
522
+ const [commentsLoaded, setCommentsLoaded] = useState(false);
512
523
  const [suggestedEdits, setSuggestedEdits] = useState([]);
513
524
  const [showSuggestedEdits, setShowSuggestedEdits] = useState(false);
514
525
  const [showSuggestedEditsDiff, setShowSuggestedEditsDiff] = useState(false);
@@ -1772,6 +1783,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
1772
1783
  allComments.sort((a, b) => a.position - b.position);
1773
1784
  return allComments;
1774
1785
  });
1786
+ setCommentsLoaded(true);
1775
1787
  }, [currentItemDescriptor, searchParams]);
1776
1788
  // Assuming currentItemDescriptor, ui, state, handleErrorResult, and setSuggestedEdits
1777
1789
  // are available in your component context.
@@ -1782,7 +1794,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
1782
1794
  const result = await getSuggestedEdits(item.descriptor.id, item.descriptor.language, item.descriptor.version, reviewId ?? undefined);
1783
1795
  if (handleErrorResult(result, ui, state))
1784
1796
  return;
1785
- const edits = result.data || [];
1797
+ // A refetch can race a locally reverted suggestion's server delete; don't
1798
+ // resurrect suggestions the user already removed.
1799
+ const edits = (result.data || []).filter((edit) => !isSuggestedEditRemoved(edit.id));
1786
1800
  setSuggestedEdits(edits);
1787
1801
  }, [item, searchParams]);
1788
1802
  useEffect(() => {
@@ -2217,6 +2231,8 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
2217
2231
  useEffect(() => {
2218
2232
  if (!currentItemDescriptor)
2219
2233
  return;
2234
+ // The previous item's comments don't speak for the new one.
2235
+ setCommentsLoaded(false);
2220
2236
  loadComments();
2221
2237
  loadSuggestedEdits();
2222
2238
  }, [currentItemDescriptor]);
@@ -2836,6 +2852,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
2836
2852
  historyMode,
2837
2853
  refreshHistory,
2838
2854
  comments,
2855
+ commentsLoaded,
2839
2856
  suggestedEdits,
2840
2857
  setSuggestedEdits,
2841
2858
  mode,
@@ -3008,13 +3025,15 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3008
3025
  onOperationExecuted,
3009
3026
  };
3010
3027
  // moved to useMediaSelector
3011
- const { workboxItems, isWorkboxLoading } = useWorkbox({
3028
+ const { workboxItems, isWorkboxLoading, refreshWorkbox } = useWorkbox({
3012
3029
  page,
3013
3030
  currentItemDescriptor,
3014
3031
  validate,
3015
3032
  });
3016
- // Ref for markOperationComplete callback (needed because operationsContext is created later)
3033
+ // Refs for operations-context callbacks (needed because operationsContext is created later)
3017
3034
  const markOperationCompleteRef = useRef(null);
3035
+ const addExecutingOperationRef = useRef(null);
3036
+ const updateExecutingOperationProgressRef = useRef(null);
3018
3037
  // WebSocket message handler and connection
3019
3038
  const messageHandler = useSocketMessageHandler({
3020
3039
  sessionId,
@@ -3039,6 +3058,13 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3039
3058
  markOperationComplete: (operationId) => {
3040
3059
  markOperationCompleteRef.current?.(operationId);
3041
3060
  },
3061
+ addExecutingOperation: (operation) => {
3062
+ addExecutingOperationRef.current?.(operation);
3063
+ },
3064
+ updateExecutingOperationProgress: (operationId, progress, statusMessage) => {
3065
+ updateExecutingOperationProgressRef.current?.(operationId, progress, statusMessage);
3066
+ },
3067
+ refreshWorkbox,
3042
3068
  });
3043
3069
  // Concurrent user limit error state
3044
3070
  const [concurrentUserLimitError, setConcurrentUserLimitError] = useState(null);
@@ -3510,8 +3536,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3510
3536
  };
3511
3537
  }, [getSidebarsForWorkspace, workspaceId]);
3512
3538
  // Track the last workspaceId this effect saw so we only auto-apply
3513
- // `currentWorkspace.defaultSidebars` on an actual workspace change. On initial mount
3514
- // the user's explicit empty state (sidebar=none in URL) must not be overwritten.
3539
+ // `currentWorkspace.defaultSidebars` on actual workspace changes. Initial
3540
+ // workspace defaults are applied by the openSidebars state initializer, while
3541
+ // explicit sidebar URL state such as sidebar=none is still respected.
3515
3542
  const prevWorkspaceIdForDefaultsRef = useRef(null);
3516
3543
  useEffect(() => {
3517
3544
  if (!currentWorkspace.supportsSidebars) {
@@ -3604,13 +3631,21 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3604
3631
  const result = await command.execute(context);
3605
3632
  return result;
3606
3633
  }, [editContextRef, pathname, router, searchParams, openDialog]);
3607
- const operationsContext = getOperationsContext(state, ui);
3634
+ const operationsContext = getOperationsContext({ ...state, refreshWorkbox }, ui);
3608
3635
  const operations = operationsContext.ops;
3609
- // Update the ref for markOperationComplete so the socket handler can access it
3636
+ // Update the refs so the socket handler can access the operations-context callbacks
3610
3637
  useEffect(() => {
3611
3638
  markOperationCompleteRef.current =
3612
3639
  operationsContext.context.markOperationComplete;
3613
- }, [operationsContext.context.markOperationComplete]);
3640
+ addExecutingOperationRef.current =
3641
+ operationsContext.context.addExecutingOperation;
3642
+ updateExecutingOperationProgressRef.current =
3643
+ operationsContext.context.updateExecutingOperationProgress;
3644
+ }, [
3645
+ operationsContext.context.markOperationComplete,
3646
+ operationsContext.context.addExecutingOperation,
3647
+ operationsContext.context.updateExecutingOperationProgress,
3648
+ ]);
3614
3649
  // Replace selected text with new content (for inline AI editing)
3615
3650
  const replaceSelectedText = useCallback(async (newText, selectionOverride) => {
3616
3651
  const rangeToReplace = selectionOverride ?? selectedRange ?? lastTextSelectionRangeRef.current;
@@ -4269,6 +4304,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4269
4304
  setClipboard,
4270
4305
  workboxItems,
4271
4306
  isWorkboxLoading,
4307
+ refreshWorkbox,
4272
4308
  requestRefresh,
4273
4309
  refreshCompletedFlag,
4274
4310
  openCreatePageDialog: () => {
@@ -4889,6 +4925,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4889
4925
  clipboard,
4890
4926
  workboxItems,
4891
4927
  isWorkboxLoading,
4928
+ refreshWorkbox,
4892
4929
  requestRefresh,
4893
4930
  refreshCompletedFlag,
4894
4931
  searchParams,