@parhelia/core 0.1.12749 → 0.1.12755

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 (200) hide show
  1. package/dist/agents-view/AgentsView.js +3 -3
  2. package/dist/agents-view/AgentsView.js.map +1 -1
  3. package/dist/agents-view/AgentsWorkspaceView.js +28 -23
  4. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  5. package/dist/components/ui/PlaceholderInput.js +3 -3
  6. package/dist/components/ui/PlaceholderInput.js.map +1 -1
  7. package/dist/components/ui/PlaceholderInputTypes.js +2 -2
  8. package/dist/components/ui/PlaceholderInputTypes.js.map +1 -1
  9. package/dist/components/ui/PlaceholderItemSelector.js +2 -2
  10. package/dist/components/ui/PlaceholderItemSelector.js.map +1 -1
  11. package/dist/config/config.js +4 -1
  12. package/dist/config/config.js.map +1 -1
  13. package/dist/editor/LinkEditorDialog.js +2 -2
  14. package/dist/editor/LinkEditorDialog.js.map +1 -1
  15. package/dist/editor/MainLayout.d.ts +1 -0
  16. package/dist/editor/MainLayout.js +64 -1
  17. package/dist/editor/MainLayout.js.map +1 -1
  18. package/dist/editor/ai/AgentBanners.d.ts +11 -0
  19. package/dist/editor/ai/AgentBanners.js +16 -0
  20. package/dist/editor/ai/AgentBanners.js.map +1 -0
  21. package/dist/editor/ai/AgentCostDisplay.d.ts +12 -0
  22. package/dist/editor/ai/AgentCostDisplay.js +24 -1
  23. package/dist/editor/ai/AgentCostDisplay.js.map +1 -1
  24. package/dist/editor/ai/AgentDocumentList.js +5 -4
  25. package/dist/editor/ai/AgentDocumentList.js.map +1 -1
  26. package/dist/editor/ai/AgentInlineDialogContent.d.ts +17 -0
  27. package/dist/editor/ai/AgentInlineDialogContent.js +32 -0
  28. package/dist/editor/ai/AgentInlineDialogContent.js.map +1 -0
  29. package/dist/editor/ai/AgentSharingSection.d.ts +6 -0
  30. package/dist/editor/ai/AgentSharingSection.js +149 -0
  31. package/dist/editor/ai/AgentSharingSection.js.map +1 -0
  32. package/dist/editor/ai/AgentTerminal.d.ts +2 -1
  33. package/dist/editor/ai/AgentTerminal.js +288 -984
  34. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  35. package/dist/editor/ai/AgentTerminalStatusBar.d.ts +18 -0
  36. package/dist/editor/ai/AgentTerminalStatusBar.js +388 -125
  37. package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
  38. package/dist/editor/ai/Agents.js +10 -5
  39. package/dist/editor/ai/Agents.js.map +1 -1
  40. package/dist/editor/ai/HeartbeatMessage.d.ts +4 -0
  41. package/dist/editor/ai/HeartbeatMessage.js +7 -0
  42. package/dist/editor/ai/HeartbeatMessage.js.map +1 -0
  43. package/dist/editor/ai/InitialThinkingSplash.d.ts +3 -0
  44. package/dist/editor/ai/InitialThinkingSplash.js +9 -0
  45. package/dist/editor/ai/InitialThinkingSplash.js.map +1 -0
  46. package/dist/editor/ai/InlineAiDialog.js +49 -1
  47. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  48. package/dist/editor/ai/QueuedPromptsPanel.d.ts +4 -0
  49. package/dist/editor/ai/QueuedPromptsPanel.js +36 -0
  50. package/dist/editor/ai/QueuedPromptsPanel.js.map +1 -0
  51. package/dist/editor/ai/TodoListPanel.d.ts +5 -0
  52. package/dist/editor/ai/TodoListPanel.js +113 -0
  53. package/dist/editor/ai/TodoListPanel.js.map +1 -0
  54. package/dist/editor/ai/ToolCallDisplay.js +54 -10
  55. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  56. package/dist/editor/ai/UserMessage.d.ts +4 -0
  57. package/dist/editor/ai/UserMessage.js +42 -0
  58. package/dist/editor/ai/UserMessage.js.map +1 -0
  59. package/dist/editor/ai/agentMessageConversion.d.ts +11 -0
  60. package/dist/editor/ai/agentMessageConversion.js +134 -0
  61. package/dist/editor/ai/agentMessageConversion.js.map +1 -0
  62. package/dist/editor/ai/agentMessageGrouping.d.ts +22 -0
  63. package/dist/editor/ai/agentMessageGrouping.js +103 -0
  64. package/dist/editor/ai/agentMessageGrouping.js.map +1 -0
  65. package/dist/editor/ai/agentMessageHelpers.d.ts +23 -0
  66. package/dist/editor/ai/agentMessageHelpers.js +124 -0
  67. package/dist/editor/ai/agentMessageHelpers.js.map +1 -0
  68. package/dist/editor/ai/agentMessageMarkdown.d.ts +2 -0
  69. package/dist/editor/ai/agentMessageMarkdown.js +14 -0
  70. package/dist/editor/ai/agentMessageMarkdown.js.map +1 -0
  71. package/dist/editor/ai/agentTodoExtraction.d.ts +12 -0
  72. package/dist/editor/ai/agentTodoExtraction.js +205 -0
  73. package/dist/editor/ai/agentTodoExtraction.js.map +1 -0
  74. package/dist/editor/ai/useAgentStatus.js +2 -2
  75. package/dist/editor/ai/useAgentStatus.js.map +1 -1
  76. package/dist/editor/client/EditorShell.js +19 -1
  77. package/dist/editor/client/EditorShell.js.map +1 -1
  78. package/dist/editor/client/editContext.d.ts +5 -0
  79. package/dist/editor/client/editContext.js.map +1 -1
  80. package/dist/editor/client/operations.d.ts +4 -1
  81. package/dist/editor/client/operations.js +57 -5
  82. package/dist/editor/client/operations.js.map +1 -1
  83. package/dist/editor/client/ui/EditorChrome.js +3 -4
  84. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  85. package/dist/editor/commands/componentCommands.js +35 -2
  86. package/dist/editor/commands/componentCommands.js.map +1 -1
  87. package/dist/editor/menubar/ItemLanguageVersion.js +22 -3
  88. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  89. package/dist/editor/menubar/PreviewDatePicker.d.ts +1 -0
  90. package/dist/editor/menubar/PreviewDatePicker.js +55 -0
  91. package/dist/editor/menubar/PreviewDatePicker.js.map +1 -0
  92. package/dist/editor/menubar/VersionPreviewCard.js +34 -3
  93. package/dist/editor/menubar/VersionPreviewCard.js.map +1 -1
  94. package/dist/editor/menubar/VersionSelector.d.ts +2 -1
  95. package/dist/editor/menubar/VersionSelector.js +14 -15
  96. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  97. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +2 -2
  98. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  99. package/dist/editor/page-editor-chrome/FrameMenu.js +2 -2
  100. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  101. package/dist/editor/page-viewer/EditorForm.js +81 -1
  102. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  103. package/dist/editor/page-viewer/PageViewer.js +22 -90
  104. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  105. package/dist/editor/page-viewer/PageViewerFrame.js +12 -2
  106. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  107. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +4 -0
  108. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +1 -1
  109. package/dist/editor/page-viewer/pageViewContext.d.ts +2 -0
  110. package/dist/editor/page-viewer/pageViewContext.js +8 -1
  111. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  112. package/dist/editor/pageModel.d.ts +2 -0
  113. package/dist/editor/personalization/ActionList.d.ts +7 -0
  114. package/dist/editor/personalization/ActionList.js +16 -0
  115. package/dist/editor/personalization/ActionList.js.map +1 -0
  116. package/dist/editor/personalization/ConditionTreeEditor.d.ts +7 -0
  117. package/dist/editor/personalization/ConditionTreeEditor.js +117 -0
  118. package/dist/editor/personalization/ConditionTreeEditor.js.map +1 -0
  119. package/dist/editor/personalization/PersonalizationPanel.d.ts +12 -0
  120. package/dist/editor/personalization/PersonalizationPanel.js +308 -0
  121. package/dist/editor/personalization/PersonalizationPanel.js.map +1 -0
  122. package/dist/editor/personalization/RuleElementPicker.d.ts +11 -0
  123. package/dist/editor/personalization/RuleElementPicker.js +68 -0
  124. package/dist/editor/personalization/RuleElementPicker.js.map +1 -0
  125. package/dist/editor/personalization/RuleList.d.ts +19 -0
  126. package/dist/editor/personalization/RuleList.js +132 -0
  127. package/dist/editor/personalization/RuleList.js.map +1 -0
  128. package/dist/editor/personalization/RuleParameterInput.d.ts +10 -0
  129. package/dist/editor/personalization/RuleParameterInput.js +115 -0
  130. package/dist/editor/personalization/RuleParameterInput.js.map +1 -0
  131. package/dist/editor/personalization/TreeItemPicker.d.ts +9 -0
  132. package/dist/editor/personalization/TreeItemPicker.js +115 -0
  133. package/dist/editor/personalization/TreeItemPicker.js.map +1 -0
  134. package/dist/editor/personalization/utils.d.ts +6 -0
  135. package/dist/editor/personalization/utils.js +37 -0
  136. package/dist/editor/personalization/utils.js.map +1 -0
  137. package/dist/editor/reviews/SuggestedEdit.js +65 -48
  138. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  139. package/dist/editor/reviews/SuggestionDisplayPopover.js +5 -1
  140. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  141. package/dist/editor/services/agentService.d.ts +24 -0
  142. package/dist/editor/services/agentService.js +40 -0
  143. package/dist/editor/services/agentService.js.map +1 -1
  144. package/dist/editor/services/agentStatus.d.ts +1 -0
  145. package/dist/editor/services/agentStatus.js +55 -1
  146. package/dist/editor/services/agentStatus.js.map +1 -1
  147. package/dist/editor/services/aiService.d.ts +10 -0
  148. package/dist/editor/services/aiService.js.map +1 -1
  149. package/dist/editor/services/contentService.d.ts +5 -0
  150. package/dist/editor/services/contentService.js.map +1 -1
  151. package/dist/editor/services/personalizationService.d.ts +5 -0
  152. package/dist/editor/services/personalizationService.js +32 -0
  153. package/dist/editor/services/personalizationService.js.map +1 -0
  154. package/dist/editor/services/serviceHelper.d.ts +1 -1
  155. package/dist/editor/services/serviceHelper.js +2 -1
  156. package/dist/editor/services/serviceHelper.js.map +1 -1
  157. package/dist/editor/settings/panels/AgentProfileConfigPanel.js +1 -1
  158. package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
  159. package/dist/editor/sidebar/OperationItem.js +1 -0
  160. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  161. package/dist/editor/sidebar/SidebarPanel.js +3 -3
  162. package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
  163. package/dist/editor/ui/PublishRestrictionsDialog.js +1 -0
  164. package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
  165. package/dist/editor/ui/SimpleTabs.d.ts +1 -0
  166. package/dist/editor/ui/SimpleTabs.js +2 -2
  167. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  168. package/dist/editor/ui/Splitter.d.ts +4 -0
  169. package/dist/editor/ui/Splitter.js +42 -17
  170. package/dist/editor/ui/Splitter.js.map +1 -1
  171. package/dist/editor/utils/sitecoreDate.d.ts +2 -0
  172. package/dist/editor/utils/sitecoreDate.js +27 -0
  173. package/dist/editor/utils/sitecoreDate.js.map +1 -0
  174. package/dist/editor/utils/versionAtDate.d.ts +2 -0
  175. package/dist/editor/utils/versionAtDate.js +23 -0
  176. package/dist/editor/utils/versionAtDate.js.map +1 -0
  177. package/dist/lib/viewTransition.d.ts +1 -0
  178. package/dist/lib/viewTransition.js +17 -0
  179. package/dist/lib/viewTransition.js.map +1 -0
  180. package/dist/revision.d.ts +2 -2
  181. package/dist/revision.js +2 -2
  182. package/dist/task-board/TaskBoardWorkspace.js +126 -87
  183. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  184. package/dist/task-board/components/ProjectAgentsPanel.js +2 -2
  185. package/dist/task-board/components/ProjectAgentsPanel.js.map +1 -1
  186. package/dist/task-board/components/ProjectDashboard.js +2 -3
  187. package/dist/task-board/components/ProjectDashboard.js.map +1 -1
  188. package/dist/task-board/components/ProjectPropertiesPanel.js +76 -24
  189. package/dist/task-board/components/ProjectPropertiesPanel.js.map +1 -1
  190. package/dist/task-board/components/TaskBoardTitlebar.js +2 -1
  191. package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
  192. package/dist/task-board/components/TaskDetailPanel.d.ts +10 -0
  193. package/dist/task-board/components/TaskDetailPanel.js +10 -5
  194. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  195. package/dist/types.d.ts +55 -1
  196. package/package.json +1 -1
  197. package/styles.css +11 -10
  198. package/dist/task-board/components/AssignAgentDialog.d.ts +0 -7
  199. package/dist/task-board/components/AssignAgentDialog.js +0 -104
  200. package/dist/task-board/components/AssignAgentDialog.js.map +0 -1
@@ -12,11 +12,10 @@ import { ListView } from "./views/ListView";
12
12
  import { DependencyGraphView } from "./views/DependencyGraphView";
13
13
  import { WizardView } from "./views/WizardView";
14
14
  import { SimpleTabs } from "../editor/ui/SimpleTabs";
15
- import { TaskDetailPanel } from "./components/TaskDetailPanel";
15
+ import { TaskDetailPanel, } from "./components/TaskDetailPanel";
16
16
  import { TaskAgentPanel } from "./components/TaskAgentPanel";
17
17
  import { ProjectDashboard, } from "./components/ProjectDashboard";
18
18
  import { CreateTaskDialog } from "./components/CreateTaskDialog";
19
- import { AssignAgentDialog } from "./components/AssignAgentDialog";
20
19
  import { CreateProjectDialog } from "./components/CreateProjectDialog";
21
20
  import { ProjectSettingsDialog } from "./components/ProjectSettingsDialog";
22
21
  import { ProjectOverviewContent } from "./components/ProjectOverviewContent";
@@ -158,7 +157,6 @@ export function TaskBoardWorkspace() {
158
157
  const [createProjectOpen, setCreateProjectOpen] = useState(false);
159
158
  const [settingsProjectId, setSettingsProjectId] = useState(null);
160
159
  const [savingProjectStatus, setSavingProjectStatus] = useState(false);
161
- const [assignAgentDialogOpen, setAssignAgentDialogOpen] = useState(false);
162
160
  const [runningOrchestrator, setRunningOrchestrator] = useState(false);
163
161
  const [showAllProjects, setShowAllProjects] = useState(false);
164
162
  const [isProjectsLoading, setIsProjectsLoading] = useState(false);
@@ -171,6 +169,10 @@ export function TaskBoardWorkspace() {
171
169
  const [wizardPinnedTaskId, setWizardPinnedTaskId] = useState(null);
172
170
  const [, setWizardPinnedTaskSource] = useState(null);
173
171
  const [wizardForceOverview, setWizardForceOverview] = useState(false);
172
+ const [isTaskDetailsExpanded, setIsTaskDetailsExpanded] = useState(false);
173
+ useEffect(() => {
174
+ setIsTaskDetailsExpanded(false);
175
+ }, [selectedTaskId]);
174
176
  const setWizardPinnedTask = useCallback((taskId, source = null) => {
175
177
  setWizardPinnedTaskId(taskId);
176
178
  setWizardPinnedTaskSource(taskId ? source : null);
@@ -426,7 +428,7 @@ export function TaskBoardWorkspace() {
426
428
  return selectedProject;
427
429
  return (projects.find((project) => project.project.projectId === selectedTask.projectId) ?? selectedProject);
428
430
  }, [projects, selectedProject, selectedTask]);
429
- const { agentPanelMode, canRunAssignedAgent, contextItemOptions, displayAgentId, handleSelectContextItem, hasMultipleContextItems, previewItemName, previewItemPath, previewItemVersion, runAssignedAgentDisabledReason, selectedContextItemValue, selectedTaskHasAssignedAgentProfile, selectedTaskIsBlocked, selectedTaskIsPlan, shouldHideAgentPanelForSelectedTask, } = useTaskBoardAgentPanelState({
431
+ const { agentPanelMode, canRunAssignedAgent, contextItemOptions, displayAgentId, handleSelectContextItem, hasMultipleContextItems, previewItemName, previewItemPath, previewItemVersion, runAssignedAgentDisabledReason, selectedContextItemValue, selectedTaskHasAssignedAgentProfile, selectedTaskIsPlan, shouldHideAgentPanelForSelectedTask, } = useTaskBoardAgentPanelState({
430
432
  currentItemDescriptor,
431
433
  editContext,
432
434
  isMobile,
@@ -1770,48 +1772,134 @@ export function TaskBoardWorkspace() {
1770
1772
  setTaskSelection,
1771
1773
  refreshVisibleTaskData,
1772
1774
  ]);
1775
+ const taskDetailAgentLaunch = useMemo(() => {
1776
+ if (!selectedTask)
1777
+ return undefined;
1778
+ if (agentPanelMode !== "no-agent")
1779
+ return undefined;
1780
+ if (selectedTaskIsPlan) {
1781
+ if (isPlanning) {
1782
+ return {
1783
+ onClick: handleStartPlanning,
1784
+ label: "Start Planning",
1785
+ variant: "play",
1786
+ };
1787
+ }
1788
+ return undefined;
1789
+ }
1790
+ if (selectedTaskHasAssignedAgentProfile) {
1791
+ return {
1792
+ onClick: () => void handleRunSelectedTaskAgent(),
1793
+ label: "Launch",
1794
+ variant: "play",
1795
+ disabled: !canRunAssignedAgent,
1796
+ disabledReason: runAssignedAgentDisabledReason,
1797
+ };
1798
+ }
1799
+ return undefined;
1800
+ }, [
1801
+ selectedTask,
1802
+ agentPanelMode,
1803
+ selectedTaskIsPlan,
1804
+ isPlanning,
1805
+ handleStartPlanning,
1806
+ selectedTaskHasAssignedAgentProfile,
1807
+ handleRunSelectedTaskAgent,
1808
+ canRunAssignedAgent,
1809
+ runAssignedAgentDisabledReason,
1810
+ ]);
1773
1811
  const taskDetailPanel = useMemo(() => (_jsx(TaskDetailPanel, { project: selectedTaskProject, projects: projects, task: selectedTask, allTasks: taskSelectionUniverse, dependencies: dependencies, onTaskChanged: () => {
1774
1812
  void refreshVisibleTaskData();
1775
- }, onSelectTask: (taskId) => setTaskSelection(taskId, { source: "user" }), onClose: () => setTaskSelection(null), variant: "panel" })), [
1813
+ }, onSelectTask: (taskId) => setTaskSelection(taskId, { source: "user" }), onClose: () => setTaskSelection(null), variant: "panel", agentLaunch: taskDetailAgentLaunch })), [
1776
1814
  selectedTaskProject,
1777
1815
  selectedTask,
1778
1816
  taskSelectionUniverse,
1779
1817
  dependencies,
1780
1818
  refreshVisibleTaskData,
1781
1819
  setTaskSelection,
1820
+ taskDetailAgentLaunch,
1782
1821
  ]);
1783
- const agentTerminalPanel = useMemo(() => (_jsx(TaskAgentPanel, { agentId: displayAgentId, mode: agentPanelMode, label: selectedTaskIsPlan ? "Planner" : "Task Agent", hasAssignedAgentProfile: !selectedTaskIsPlan && selectedTaskHasAssignedAgentProfile, assignedAgentProfileName: !selectedTaskIsPlan && selectedTaskHasAssignedAgentProfile
1784
- ? selectedTask?.assigneeDisplayName ||
1785
- selectedTask?.assigneeId ||
1786
- null
1787
- : null, canRunAssignedAgent: canRunAssignedAgent, runAssignedAgentDisabledReason: runAssignedAgentDisabledReason, onRunAssignedAgent: !selectedTaskIsPlan &&
1788
- selectedTaskHasAssignedAgentProfile &&
1789
- canRunAssignedAgent
1790
- ? () => void handleRunSelectedTaskAgent()
1791
- : undefined, onStartPlanning: selectedTaskIsPlan && isPlanning ? handleStartPlanning : undefined, canAssignAgent: !selectedTaskIsBlocked, assignAgentDisabledReason: selectedTaskIsBlocked
1792
- ? "This task is blocked by unfinished dependencies."
1793
- : undefined, onAssignAgent: !selectedTaskIsPlan &&
1794
- canEditTasks &&
1795
- agentPanelMode === "no-agent" &&
1796
- !selectedTaskHasAssignedAgentProfile
1797
- ? () => setAssignAgentDialogOpen(true)
1798
- : undefined, assignedAgentStatus: undefined, onReopenTask: selectedTask && canEditTasks
1822
+ const agentTerminalPanel = useMemo(() => (_jsx(TaskAgentPanel, { agentId: displayAgentId, mode: agentPanelMode, label: selectedTaskIsPlan ? "Planner" : "Task Agent", assignedAgentStatus: undefined, onReopenTask: selectedTask && canEditTasks
1799
1823
  ? () => void handleReopenSelectedTask()
1800
1824
  : undefined })), [
1801
1825
  displayAgentId,
1802
1826
  agentPanelMode,
1803
1827
  selectedTaskIsPlan,
1804
- selectedTaskHasAssignedAgentProfile,
1805
- canRunAssignedAgent,
1806
- runAssignedAgentDisabledReason,
1807
- handleRunSelectedTaskAgent,
1808
- isPlanning,
1809
- handleStartPlanning,
1810
- selectedTaskIsBlocked,
1811
1828
  canEditTasks,
1812
1829
  selectedTask,
1813
1830
  handleReopenSelectedTask,
1814
1831
  ]);
1832
+ const buildRightHandPanels = useCallback((showAgentColumn) => {
1833
+ const renderDetailPanel = (collapsedFlag) => (_jsx(TaskDetailPanel, { project: selectedTaskProject, projects: projects, task: selectedTask, allTasks: taskSelectionUniverse, dependencies: dependencies, onTaskChanged: () => {
1834
+ void refreshVisibleTaskData();
1835
+ }, onSelectTask: (taskId) => setTaskSelection(taskId, { source: "user" }), onClose: () => {
1836
+ if (collapsedFlag === false) {
1837
+ setIsTaskDetailsExpanded(false);
1838
+ }
1839
+ else {
1840
+ setTaskSelection(null);
1841
+ }
1842
+ }, variant: "panel", agentLaunch: taskDetailAgentLaunch, collapsed: collapsedFlag, onToggleCollapsed: showAgentColumn
1843
+ ? () => setIsTaskDetailsExpanded((v) => !v)
1844
+ : undefined }));
1845
+ if (!showAgentColumn) {
1846
+ return [
1847
+ {
1848
+ name: "task-details",
1849
+ defaultSize: 420,
1850
+ content: renderDetailPanel(undefined),
1851
+ hidden: !selectedProjectId || !selectedTask,
1852
+ },
1853
+ ];
1854
+ }
1855
+ if (isTaskDetailsExpanded) {
1856
+ return [
1857
+ {
1858
+ name: "task-details",
1859
+ defaultSize: 420,
1860
+ content: renderDetailPanel(false),
1861
+ hidden: !selectedProjectId || !selectedTask,
1862
+ },
1863
+ {
1864
+ name: "agent-terminal",
1865
+ defaultSize: 560,
1866
+ content: agentTerminalPanel,
1867
+ },
1868
+ ];
1869
+ }
1870
+ return [
1871
+ {
1872
+ name: "task-details-with-terminal",
1873
+ defaultSize: 600,
1874
+ content: (_jsx(Splitter, { localStorageKey: "taskboard-task-summary-stack-splitter", panels: [
1875
+ {
1876
+ name: "summary",
1877
+ defaultSize: 180,
1878
+ minSize: 120,
1879
+ content: renderDetailPanel(true),
1880
+ },
1881
+ {
1882
+ name: "terminal",
1883
+ defaultSize: "auto",
1884
+ content: agentTerminalPanel,
1885
+ },
1886
+ ], direction: "vertical" })),
1887
+ hidden: !selectedProjectId || !selectedTask,
1888
+ },
1889
+ ];
1890
+ }, [
1891
+ selectedTaskProject,
1892
+ projects,
1893
+ selectedTask,
1894
+ taskSelectionUniverse,
1895
+ dependencies,
1896
+ refreshVisibleTaskData,
1897
+ setTaskSelection,
1898
+ taskDetailAgentLaunch,
1899
+ selectedProjectId,
1900
+ isTaskDetailsExpanded,
1901
+ agentTerminalPanel,
1902
+ ]);
1815
1903
  const itemPreviewPanel = useMemo(() => {
1816
1904
  const hasCurrentItem = !!currentItemDescriptor;
1817
1905
  const previewSidebar = (_jsx("div", { className: "relative z-10 flex h-full min-h-0 flex-col bg-white", children: _jsx("div", { className: "min-h-0 flex-1", children: _jsx(MainContentTree, { mode: "normal" }) }) }));
@@ -1842,20 +1930,6 @@ export function TaskBoardWorkspace() {
1842
1930
  previewItemVersion,
1843
1931
  isMobile,
1844
1932
  ]);
1845
- useEffect(() => {
1846
- if (!assignAgentDialogOpen)
1847
- return;
1848
- if (!selectedTask ||
1849
- agentPanelMode !== "no-agent" ||
1850
- selectedTaskIsBlocked) {
1851
- setAssignAgentDialogOpen(false);
1852
- }
1853
- }, [
1854
- assignAgentDialogOpen,
1855
- selectedTask,
1856
- agentPanelMode,
1857
- selectedTaskIsBlocked,
1858
- ]);
1859
1933
  const panels = useMemo(() => {
1860
1934
  if (isWizardMode) {
1861
1935
  const wizardPanels = [
@@ -1875,24 +1949,14 @@ export function TaskBoardWorkspace() {
1875
1949
  return wizardPanels;
1876
1950
  }
1877
1951
  if (isListView) {
1952
+ const showAgentColumn = !!selectedProjectId && !shouldHideAgentPanelForSelectedTask;
1878
1953
  const listPanels = [
1879
1954
  {
1880
1955
  name: "task-list",
1881
1956
  defaultSize: "auto",
1882
1957
  content: (_jsx("div", { className: "h-full overflow-x-auto overflow-y-auto bg-slate-50/50 p-2 pt-2 md:p-4 md:pt-3", children: taskBoardContent })),
1883
1958
  },
1884
- {
1885
- name: "task-details",
1886
- defaultSize: 420,
1887
- content: taskDetailPanel,
1888
- hidden: !selectedProjectId || !selectedTask,
1889
- },
1890
- {
1891
- name: "agent-terminal",
1892
- defaultSize: 560,
1893
- content: agentTerminalPanel,
1894
- hidden: !selectedProjectId || shouldHideAgentPanelForSelectedTask,
1895
- },
1959
+ ...buildRightHandPanels(showAgentColumn),
1896
1960
  ];
1897
1961
  if (showEditorPanel) {
1898
1962
  listPanels.push({
@@ -1904,24 +1968,14 @@ export function TaskBoardWorkspace() {
1904
1968
  return listPanels;
1905
1969
  }
1906
1970
  if (isGraphView) {
1971
+ const showAgentColumn = !!selectedProjectId && !shouldHideAgentPanelForSelectedTask;
1907
1972
  const graphPanels = [
1908
1973
  {
1909
1974
  name: "task-list",
1910
1975
  defaultSize: "auto",
1911
1976
  content: (_jsx("div", { className: cn("flex h-full min-h-0 flex-col overflow-x-hidden overflow-y-auto bg-slate-50/50", selectedProjectId && "p-4 pt-3"), children: taskBoardContent })),
1912
1977
  },
1913
- {
1914
- name: "task-details",
1915
- defaultSize: 420,
1916
- content: taskDetailPanel,
1917
- hidden: !selectedProjectId || !selectedTask,
1918
- },
1919
- {
1920
- name: "agent-terminal",
1921
- defaultSize: 560,
1922
- content: agentTerminalPanel,
1923
- hidden: !selectedProjectId || shouldHideAgentPanelForSelectedTask,
1924
- },
1978
+ ...buildRightHandPanels(showAgentColumn),
1925
1979
  ];
1926
1980
  if (showEditorPanel) {
1927
1981
  graphPanels.push({
@@ -1932,24 +1986,16 @@ export function TaskBoardWorkspace() {
1932
1986
  }
1933
1987
  return graphPanels;
1934
1988
  }
1989
+ const showAgentColumnKanban = !!selectedProjectId &&
1990
+ !shouldHideAgentPanelForSelectedTask &&
1991
+ agentPanelMode === "agent";
1935
1992
  const kanbanPanels = [
1936
1993
  {
1937
1994
  name: "task-list",
1938
1995
  defaultSize: "auto",
1939
1996
  content: (_jsx("div", { className: cn("flex h-full min-h-0 flex-col overflow-x-hidden overflow-y-auto bg-slate-50/50", selectedProjectId && "p-4 pt-3"), children: taskBoardContent })),
1940
1997
  },
1941
- {
1942
- name: "task-details",
1943
- defaultSize: 420,
1944
- content: taskDetailPanel,
1945
- hidden: !selectedProjectId || !selectedTask,
1946
- },
1947
- {
1948
- name: "agent-terminal",
1949
- defaultSize: 560,
1950
- content: agentTerminalPanel,
1951
- hidden: !selectedProjectId || shouldHideAgentPanelForSelectedTask,
1952
- },
1998
+ ...buildRightHandPanels(showAgentColumnKanban),
1953
1999
  ];
1954
2000
  if (showEditorPanel) {
1955
2001
  kanbanPanels.push({
@@ -1965,10 +2011,9 @@ export function TaskBoardWorkspace() {
1965
2011
  isGraphView,
1966
2012
  selectedProjectId,
1967
2013
  taskBoardContent,
1968
- taskDetailPanel,
1969
- selectedTask,
1970
- agentTerminalPanel,
2014
+ buildRightHandPanels,
1971
2015
  shouldHideAgentPanelForSelectedTask,
2016
+ agentPanelMode,
1972
2017
  showEditorPanel,
1973
2018
  itemPreviewPanel,
1974
2019
  ]);
@@ -2013,12 +2058,6 @@ export function TaskBoardWorkspace() {
2013
2058
  }, projectId: settingsProjectId, selectedProject: settingsProject, projects: projects, onChanged: async () => {
2014
2059
  await refreshProjects();
2015
2060
  await refreshVisibleTaskData();
2016
- } }), _jsx(AssignAgentDialog, { open: assignAgentDialogOpen, task: selectedTask, onOpenChange: setAssignAgentDialogOpen, onAssigned: async () => {
2017
- if (!selectedProjectId)
2018
- return;
2019
- await refreshTasks(selectedProjectId);
2020
- await refreshExecutionState(selectedProjectId);
2021
- await refreshDependencies(selectedProjectId);
2022
2061
  } })] }));
2023
2062
  }
2024
2063
  //# sourceMappingURL=TaskBoardWorkspace.js.map