@parhelia/core 0.1.12470 → 0.1.12479

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 (162) hide show
  1. package/dist/config/config.js +22 -3
  2. package/dist/config/config.js.map +1 -1
  3. package/dist/config/types.d.ts +2 -0
  4. package/dist/config/types.js.map +1 -1
  5. package/dist/editor/ConfirmationDialog.js +20 -4
  6. package/dist/editor/ConfirmationDialog.js.map +1 -1
  7. package/dist/editor/ContentTree.js +19 -7
  8. package/dist/editor/ContentTree.js.map +1 -1
  9. package/dist/editor/Editor.js.map +1 -1
  10. package/dist/editor/PictureCropper.js +45 -41
  11. package/dist/editor/PictureCropper.js.map +1 -1
  12. package/dist/editor/ai/AgentTerminal.js +97 -8
  13. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  14. package/dist/editor/ai/AgentTerminalStatusBar.js +65 -0
  15. package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
  16. package/dist/editor/ai/Agents.js +19 -0
  17. package/dist/editor/ai/Agents.js.map +1 -1
  18. package/dist/editor/ai/AiResponseMessage.js +5 -0
  19. package/dist/editor/ai/AiResponseMessage.js.map +1 -1
  20. package/dist/editor/ai/ContentInspectorPopover.d.ts +1 -0
  21. package/dist/editor/ai/ContentInspectorPopover.js +22 -8
  22. package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
  23. package/dist/editor/ai/ToolCallDisplay.d.ts +2 -0
  24. package/dist/editor/ai/ToolCallDisplay.js +54 -11
  25. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  26. package/dist/editor/ai/dialogs/AgentDialogHandler.js +32 -3
  27. package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
  28. package/dist/editor/ai/dialogs/QuestionnaireInline.js +55 -20
  29. package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
  30. package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +7 -4
  31. package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
  32. package/dist/editor/ai/types.d.ts +2 -0
  33. package/dist/editor/client/EditorShell.js +55 -10
  34. package/dist/editor/client/EditorShell.js.map +1 -1
  35. package/dist/editor/client/editContext.d.ts +2 -0
  36. package/dist/editor/client/editContext.js.map +1 -1
  37. package/dist/editor/client/ui/EditorChrome.d.ts +0 -2
  38. package/dist/editor/client/ui/EditorChrome.js +2 -13
  39. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  40. package/dist/editor/page-viewer/EditorForm.js +8 -1
  41. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  42. package/dist/editor/page-viewer/PageViewer.d.ts +3 -1
  43. package/dist/editor/page-viewer/PageViewer.js +23 -4
  44. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  45. package/dist/editor/page-viewer/PageViewerFrame.d.ts +2 -1
  46. package/dist/editor/page-viewer/PageViewerFrame.js +3 -4
  47. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  48. package/dist/editor/services/agentService.d.ts +27 -0
  49. package/dist/editor/services/agentService.js +11 -2
  50. package/dist/editor/services/agentService.js.map +1 -1
  51. package/dist/editor/services/aiService.js +54 -3
  52. package/dist/editor/services/aiService.js.map +1 -1
  53. package/dist/editor/services/serviceHelper.js +5 -2
  54. package/dist/editor/services/serviceHelper.js.map +1 -1
  55. package/dist/editor/settings/About.js +40 -4
  56. package/dist/editor/settings/About.js.map +1 -1
  57. package/dist/editor/settings/panels/PersistentLogsPanel.d.ts +2 -0
  58. package/dist/editor/settings/panels/PersistentLogsPanel.js +244 -0
  59. package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -0
  60. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.d.ts +7 -1
  61. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +3 -3
  62. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
  63. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +165 -84
  64. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  65. package/dist/editor/settings/panels/index.d.ts +1 -0
  66. package/dist/editor/settings/panels/index.js +1 -0
  67. package/dist/editor/settings/panels/index.js.map +1 -1
  68. package/dist/editor/sidebar/ComponentTree.d.ts +8 -1
  69. package/dist/editor/sidebar/ComponentTree.js +23 -15
  70. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  71. package/dist/editor/sidebar/NavigationPanelItem.js +1 -1
  72. package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
  73. package/dist/editor/sidebar/WorkspaceButton.js +1 -1
  74. package/dist/editor/sidebar/WorkspaceButton.js.map +1 -1
  75. package/dist/editor/tree-indicators/GutterColumns.js +24 -4
  76. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  77. package/dist/editor/tree-indicators/types.d.ts +10 -0
  78. package/dist/editor/ui/Splitter.d.ts +1 -0
  79. package/dist/editor/ui/Splitter.js +7 -1
  80. package/dist/editor/ui/Splitter.js.map +1 -1
  81. package/dist/editor/utils.js +16 -4
  82. package/dist/editor/utils.js.map +1 -1
  83. package/dist/editor/views/CompareView.d.ts +3 -1
  84. package/dist/editor/views/CompareView.js +3 -3
  85. package/dist/editor/views/CompareView.js.map +1 -1
  86. package/dist/editor/views/EditorSlot.js +7 -6
  87. package/dist/editor/views/EditorSlot.js.map +1 -1
  88. package/dist/editor/views/SingleEditView.d.ts +2 -1
  89. package/dist/editor/views/SingleEditView.js +8 -8
  90. package/dist/editor/views/SingleEditView.js.map +1 -1
  91. package/dist/licensing/LicenseContext.js +40 -4
  92. package/dist/licensing/LicenseContext.js.map +1 -1
  93. package/dist/licensing/LicenseOverlay.js +1 -1
  94. package/dist/licensing/LicenseOverlay.js.map +1 -1
  95. package/dist/licensing/types.d.ts +3 -1
  96. package/dist/licensing/types.js.map +1 -1
  97. package/dist/revision.d.ts +2 -2
  98. package/dist/revision.js +2 -2
  99. package/dist/task-board/TaskBoardWorkspace.js +165 -354
  100. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  101. package/dist/task-board/assigneeDisplay.js +1 -3
  102. package/dist/task-board/assigneeDisplay.js.map +1 -1
  103. package/dist/task-board/components/CreateProjectDialog.js +2 -1
  104. package/dist/task-board/components/CreateProjectDialog.js.map +1 -1
  105. package/dist/task-board/components/ProjectDashboard.js +2 -1
  106. package/dist/task-board/components/ProjectDashboard.js.map +1 -1
  107. package/dist/task-board/components/ProjectExecutionUserPicker.d.ts +14 -0
  108. package/dist/task-board/components/ProjectExecutionUserPicker.js +65 -0
  109. package/dist/task-board/components/ProjectExecutionUserPicker.js.map +1 -0
  110. package/dist/task-board/components/ProjectSettingsDialog.d.ts +1 -0
  111. package/dist/task-board/components/ProjectSettingsDialog.js +146 -12
  112. package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
  113. package/dist/task-board/components/TaskAgentPanel.d.ts +1 -0
  114. package/dist/task-board/components/TaskAgentPanel.js +2 -2
  115. package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
  116. package/dist/task-board/components/TaskAssigneePicker.js +2 -2
  117. package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
  118. package/dist/task-board/components/TaskBoardMyTasksSidebar.js +1 -1
  119. package/dist/task-board/components/TaskBoardMyTasksSidebar.js.map +1 -1
  120. package/dist/task-board/components/TaskDetailDialog.d.ts +1 -0
  121. package/dist/task-board/components/TaskDetailDialog.js +2 -2
  122. package/dist/task-board/components/TaskDetailDialog.js.map +1 -1
  123. package/dist/task-board/components/TaskDetailPanel.d.ts +1 -0
  124. package/dist/task-board/components/TaskDetailPanel.js +23 -8
  125. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  126. package/dist/task-board/components/TaskRow.js +3 -2
  127. package/dist/task-board/components/TaskRow.js.map +1 -1
  128. package/dist/task-board/components/TaskboardPersistentLogPanel.d.ts +11 -0
  129. package/dist/task-board/components/TaskboardPersistentLogPanel.js +141 -0
  130. package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -0
  131. package/dist/task-board/components/WizardTaskDetailsPanel.js +2 -1
  132. package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
  133. package/dist/task-board/persistentLogCopy.d.ts +7 -0
  134. package/dist/task-board/persistentLogCopy.js +80 -0
  135. package/dist/task-board/persistentLogCopy.js.map +1 -0
  136. package/dist/task-board/persistentLogLabels.d.ts +38 -0
  137. package/dist/task-board/persistentLogLabels.js +189 -0
  138. package/dist/task-board/persistentLogLabels.js.map +1 -0
  139. package/dist/task-board/services/taskService.d.ts +17 -1
  140. package/dist/task-board/services/taskService.js +56 -0
  141. package/dist/task-board/services/taskService.js.map +1 -1
  142. package/dist/task-board/taskExecutionRecords.js +2 -0
  143. package/dist/task-board/taskExecutionRecords.js.map +1 -1
  144. package/dist/task-board/types.d.ts +78 -1
  145. package/dist/task-board/useTaskBoardAgentPanelState.d.ts +34 -0
  146. package/dist/task-board/useTaskBoardAgentPanelState.js +283 -0
  147. package/dist/task-board/useTaskBoardAgentPanelState.js.map +1 -0
  148. package/dist/task-board/utils/taskDependencyOrdering.d.ts +6 -0
  149. package/dist/task-board/utils/taskDependencyOrdering.js +138 -1
  150. package/dist/task-board/utils/taskDependencyOrdering.js.map +1 -1
  151. package/dist/task-board/views/DependencyGraphView.d.ts +5 -2
  152. package/dist/task-board/views/DependencyGraphView.js +261 -69
  153. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  154. package/dist/task-board/views/KanbanView.js +8 -1
  155. package/dist/task-board/views/KanbanView.js.map +1 -1
  156. package/dist/task-board/views/ListView.js +1 -1
  157. package/dist/task-board/views/ListView.js.map +1 -1
  158. package/dist/task-board/views/WizardView.js +30 -24
  159. package/dist/task-board/views/WizardView.js.map +1 -1
  160. package/dist/tour/Tour.js +0 -32
  161. package/dist/tour/Tour.js.map +1 -1
  162. package/package.json +1 -1
@@ -481,7 +481,27 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
481
481
  const [statusMessage, setStatusMessage] = useState("");
482
482
  const [focusFieldComponentId, setFocusFieldComponentId] = useState();
483
483
  const [enableCompletions, setEnableCompletions] = useState(false);
484
- const [showComponentNavigator, setShowComponentNavigator] = useState(userPreferences.showComponentNavigator ?? false);
484
+ const [showComponentNavigatorDefault, setShowComponentNavigatorDefault] = useState(userPreferences.showComponentNavigator ?? false);
485
+ const [slotComponentNavigatorVisibility, setSlotComponentNavigatorVisibility] = useState({});
486
+ useEffect(() => {
487
+ setSlotComponentNavigatorVisibility((prev) => {
488
+ const next = {};
489
+ let changed = false;
490
+ for (const slot of editorSlots) {
491
+ if (Object.prototype.hasOwnProperty.call(prev, slot.slotId)) {
492
+ next[slot.slotId] = prev[slot.slotId];
493
+ }
494
+ else {
495
+ next[slot.slotId] = showComponentNavigatorDefault;
496
+ changed = true;
497
+ }
498
+ }
499
+ if (Object.keys(prev).length !== editorSlots.length) {
500
+ changed = true;
501
+ }
502
+ return changed ? next : prev;
503
+ });
504
+ }, [editorSlots, showComponentNavigatorDefault]);
485
505
  const [showAgentsPanel, setShowAgentsPanel] = useState(userPreferences.showAgentsPanel ?? false);
486
506
  const [showMinimap, setShowMinimap] = useState(userPreferences.showMinimap ?? true);
487
507
  const [showHelpTerminal, setShowHelpTerminal] = useState(false);
@@ -622,6 +642,12 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
622
642
  const activeSlotContext = activeSlotId
623
643
  ? slotContexts.get(activeSlotId)
624
644
  : undefined;
645
+ const isComponentNavigatorOpenForSlot = useCallback((slotId) => {
646
+ if (!slotId)
647
+ return showComponentNavigatorDefault;
648
+ return (slotComponentNavigatorVisibility[slotId] ?? showComponentNavigatorDefault);
649
+ }, [slotComponentNavigatorVisibility, showComponentNavigatorDefault]);
650
+ const showComponentNavigator = isComponentNavigatorOpenForSlot(activeSlotId);
625
651
  // Sync global compareMode from the active slot's compareMode for URL syncing
626
652
  useEffect(() => {
627
653
  if (activeSlotContext && activeSlotContext.compareMode !== compareMode) {
@@ -816,29 +842,44 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
816
842
  }
817
843
  }
818
844
  }, [isMobile]);
819
- const handleSetShowComponentNavigator = useCallback((value) => {
820
- const newValue = typeof value === "function" ? value(showComponentNavigator) : value;
821
- setShowComponentNavigator(newValue);
845
+ const setComponentNavigatorOpenForSlot = useCallback((slotId, value) => {
846
+ const previousValue = isComponentNavigatorOpenForSlot(slotId);
847
+ const newValue = typeof value === "function" ? value(previousValue) : value;
848
+ if (slotId) {
849
+ setSlotComponentNavigatorVisibility((prev) => {
850
+ const currentValue = prev[slotId] ?? showComponentNavigatorDefault;
851
+ if (currentValue === newValue && prev[slotId] !== undefined) {
852
+ return prev;
853
+ }
854
+ return {
855
+ ...prev,
856
+ [slotId]: newValue,
857
+ };
858
+ });
859
+ }
860
+ setShowComponentNavigatorDefault(newValue);
822
861
  setUserPreferences({ showComponentNavigator: newValue });
823
- // On mobile, close Agents Panel when opening Component Navigator
824
862
  if (isMobile && newValue) {
825
863
  setShowAgentsPanel(false);
826
864
  setUserPreferences({ showAgentsPanel: false });
827
865
  }
828
866
  }, [
829
- showComponentNavigator,
830
- setShowComponentNavigator,
867
+ isComponentNavigatorOpenForSlot,
868
+ showComponentNavigatorDefault,
831
869
  setUserPreferences,
832
870
  isMobile,
833
871
  setShowAgentsPanel,
834
872
  ]);
873
+ const handleSetShowComponentNavigator = useCallback((value) => {
874
+ setComponentNavigatorOpenForSlot(activeSlotIdRef.current, value);
875
+ }, [setComponentNavigatorOpenForSlot]);
835
876
  const handleSetShowAgentsPanel = useCallback((value) => {
836
877
  const newValue = typeof value === "function" ? value(showAgentsPanel) : value;
837
878
  setShowAgentsPanel(newValue);
838
879
  setUserPreferences({ showAgentsPanel: newValue });
839
880
  // On mobile, close Component Navigator when opening Agents Panel
840
881
  if (isMobile && newValue) {
841
- setShowComponentNavigator(false);
882
+ setComponentNavigatorOpenForSlot(activeSlotIdRef.current, false);
842
883
  setUserPreferences({ showComponentNavigator: false });
843
884
  }
844
885
  }, [
@@ -846,7 +887,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
846
887
  setShowAgentsPanel,
847
888
  setUserPreferences,
848
889
  isMobile,
849
- setShowComponentNavigator,
890
+ setComponentNavigatorOpenForSlot,
850
891
  ]);
851
892
  // Mobile editor panel state (EditorForm shown in bottom panel on mobile)
852
893
  const [mobileEditorPanelOpen, setMobileEditorPanelOpenRaw] = useState(false);
@@ -3986,6 +4027,8 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3986
4027
  setEnableCompletions,
3987
4028
  showComponentNavigator,
3988
4029
  setShowComponentNavigator: handleSetShowComponentNavigator,
4030
+ isComponentNavigatorOpenForSlot,
4031
+ setComponentNavigatorOpenForSlot,
3989
4032
  showAgentsPanel,
3990
4033
  setShowAgentsPanel: handleSetShowAgentsPanel,
3991
4034
  showMinimap,
@@ -4147,6 +4190,8 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4147
4190
  mobileEditorPanelOpen,
4148
4191
  handleSetMobileEditorPanelOpen,
4149
4192
  showComponentNavigator,
4193
+ isComponentNavigatorOpenForSlot,
4194
+ setComponentNavigatorOpenForSlot,
4150
4195
  handleSetShowComponentNavigator,
4151
4196
  showAgentsPanel,
4152
4197
  handleSetShowAgentsPanel,
@@ -4437,7 +4482,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4437
4482
  setTimeout(() => {
4438
4483
  setShowFullscreenHint(false);
4439
4484
  }, 600);
4440
- }, "data-testid": "fullscreen-hint-overlay", children: _jsxs("div", { className: "fixed top-6 left-1/2 -translate-x-1/2 transform rounded-full bg-black/60 px-6 py-2.5 text-sm font-medium text-white shadow-2xl backdrop-blur-md transition-all duration-500", children: ["Press", " ", _jsx("kbd", { className: "mx-1 rounded bg-white/20 px-1.5 py-0.5 text-xs font-semibold", children: "Ctrl + F11" }), " ", "to exit fullscreen"] }) }))] })) : (_jsxs(_Fragment, { children: [_jsx(EditorChrome, { className: className, currentWorkspace: currentWorkspace, centerPanelView: centerPanelView, editContext: editContext, showComponentNavigator: showComponentNavigator, handleSetShowComponentNavigator: handleSetShowComponentNavigator, showAgentsPanel: showAgentsPanel, handleSetShowAgentsPanel: handleSetShowAgentsPanel, workspaceId: workspaceId,
4485
+ }, "data-testid": "fullscreen-hint-overlay", children: _jsxs("div", { className: "fixed top-6 left-1/2 -translate-x-1/2 transform rounded-full bg-black/60 px-6 py-2.5 text-sm font-medium text-white shadow-2xl backdrop-blur-md transition-all duration-500", children: ["Press", " ", _jsx("kbd", { className: "mx-1 rounded bg-white/20 px-1.5 py-0.5 text-xs font-semibold", children: "Ctrl + F11" }), " ", "to exit fullscreen"] }) }))] })) : (_jsxs(_Fragment, { children: [_jsx(EditorChrome, { className: className, currentWorkspace: currentWorkspace, centerPanelView: centerPanelView, editContext: editContext, showAgentsPanel: showAgentsPanel, handleSetShowAgentsPanel: handleSetShowAgentsPanel, workspaceId: workspaceId,
4441
4486
  // Legacy props for backwards compatibility
4442
4487
  currentView: currentView, viewName: viewName }), isTourActive && (_jsx(Tour, { tourStopCallback: () => {
4443
4488
  setIsTourActive(false);