@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
@@ -3,7 +3,7 @@ import { lazy, Suspense, useCallback, useEffect, useMemo, useRef, useState, } fr
3
3
  import { toast } from "sonner";
4
4
  import { cn } from "../lib/utils";
5
5
  import { Splitter } from "../editor/ui/Splitter";
6
- import { deleteProject, getExecutionState, getGraphLayout, getProject, getProjects, getTasks, getDependencies, restartProject, runOrchestrator, triggerPlanning, updateProject, updateTask, } from "./services/taskService";
6
+ import { deleteProject, getExecutionState, getGraphLayout, getProject, getProjects, getTasks, getMyTasks, getDependencies, restartProject, runOrchestrator, triggerPlanning, updateTask, } from "./services/taskService";
7
7
  import { loadAiProfiles } from "../editor/services/aiService";
8
8
  import { useEditContext } from "../editor/client/editContext";
9
9
  import { LicenseFeatures, useFeature } from "../licensing";
@@ -13,11 +13,12 @@ import { WizardView } from "./views/WizardView";
13
13
  import { SimpleTabs } from "../editor/ui/SimpleTabs";
14
14
  import { TaskDetailPanel, } from "./components/TaskDetailPanel";
15
15
  import { TaskAgentPanel } from "./components/TaskAgentPanel";
16
- import { ProjectDashboard, } from "./components/ProjectDashboard";
16
+ import { ProjectDashboard, ProjectKpisPanel, } from "./components/ProjectDashboard";
17
17
  import { CreateTaskDialog } from "./components/CreateTaskDialog";
18
18
  import { CreateProjectDialog } from "./components/CreateProjectDialog";
19
- import { ProjectSettingsDialog } from "./components/ProjectSettingsDialog";
20
- import { ProjectOverviewContent } from "./components/ProjectOverviewContent";
19
+ import { ProjectSettingsPanel } from "./components/ProjectSettingsDialog";
20
+ import { ProjectPropertiesPanel } from "./components/ProjectPropertiesPanel";
21
+ import { TaskBoardHomeView } from "./components/TaskBoardHomeView";
21
22
  import { EditorSlotContextProvider } from "../editor/views/editorSlotContext";
22
23
  import { SingleEditView } from "../editor/views/SingleEditView";
23
24
  import { Select } from "../components/ui/select";
@@ -30,8 +31,7 @@ import { normalizeTaskStatus } from "./taskStatus";
30
31
  import { getTaskExecutionDisplay, } from "./taskExecutionStatus";
31
32
  import { indexTaskExecutionRecords, overlayTaskExecutionList, } from "./taskExecutionRecords";
32
33
  import { WizardCommunicationCenter } from "./components/WizardCommunicationCenter";
33
- import { Button } from "../components/ui/button";
34
- import { Loader2, Plus } from "lucide-react";
34
+ import { Loader2 } from "lucide-react";
35
35
  import { MainContentTree } from "../editor/sidebar/MainContentTree";
36
36
  import { useTaskBoardAgentPanelState } from "./useTaskBoardAgentPanelState";
37
37
  const DependencyGraphView = lazy(() => import("./views/DependencyGraphView").then((module) => ({
@@ -48,8 +48,19 @@ function TaskboardPreviewEditor() {
48
48
  const TASKBOARD_PROJECT_QUERY_KEY = "tbProjectId";
49
49
  const TASKBOARD_TASK_QUERY_KEY = "tbTaskId";
50
50
  const TASKBOARD_VIEW_QUERY_KEY = "tbView";
51
- const TASKBOARD_WIZARD_QUERY_KEY = "tbWizard";
52
51
  const WS_REFRESH_DELAY_MS = 500;
52
+ const TASKBOARD_VIEW_TAB_IDS = [
53
+ "overview",
54
+ "kanban",
55
+ "list",
56
+ "graph",
57
+ "kpis",
58
+ "settings",
59
+ "properties",
60
+ ];
61
+ function getTaskBoardViewTabIndex(view) {
62
+ return TASKBOARD_VIEW_TAB_IDS.indexOf(view);
63
+ }
53
64
  function getInitialQueryValue(queryKey) {
54
65
  if (typeof window === "undefined")
55
66
  return null;
@@ -58,15 +69,14 @@ function getInitialQueryValue(queryKey) {
58
69
  }
59
70
  function getInitialViewTabIndex() {
60
71
  const view = getInitialQueryValue(TASKBOARD_VIEW_QUERY_KEY)?.toLowerCase();
61
- if (view === "list")
62
- return 1;
63
- if (view === "graph")
64
- return 2;
65
- return 0;
66
- }
67
- function getInitialWizardMode() {
68
- const value = getInitialQueryValue(TASKBOARD_WIZARD_QUERY_KEY)?.toLowerCase();
69
- return value === "true" || value === "1";
72
+ const index = TASKBOARD_VIEW_TAB_IDS.indexOf(view);
73
+ if (index < 0) {
74
+ const legacyWizardMode = getInitialQueryValue("tbWizard")?.toLowerCase();
75
+ if (legacyWizardMode === "true" || legacyWizardMode === "1") {
76
+ return getTaskBoardViewTabIndex("overview");
77
+ }
78
+ }
79
+ return index >= 0 ? index : getTaskBoardViewTabIndex("kanban");
70
80
  }
71
81
  function getTaskBoardStateFromUrl() {
72
82
  const projectId = getInitialQueryValue(TASKBOARD_PROJECT_QUERY_KEY);
@@ -74,7 +84,6 @@ function getTaskBoardStateFromUrl() {
74
84
  projectId,
75
85
  taskId: projectId ? getInitialQueryValue(TASKBOARD_TASK_QUERY_KEY) : null,
76
86
  activeTab: getInitialViewTabIndex(),
77
- isWizardMode: getInitialWizardMode(),
78
87
  };
79
88
  }
80
89
  function getTaskExecutionRecordById(recordsByTaskId, taskId) {
@@ -154,11 +163,15 @@ export function TaskBoardWorkspace() {
154
163
  const [selectedTaskId, setSelectedTaskId] = useState(() => getInitialQueryValue(TASKBOARD_TASK_QUERY_KEY));
155
164
  const [selectedTaskSource, setSelectedTaskSource] = useState(() => getInitialQueryValue(TASKBOARD_TASK_QUERY_KEY) ? "system" : null);
156
165
  const [activeTab, setActiveTab] = useState(() => getInitialViewTabIndex());
157
- const [isWizardMode, setIsWizardMode] = useState(() => getInitialWizardMode());
166
+ const activeViewTabId = TASKBOARD_VIEW_TAB_IDS[activeTab] ?? "kanban";
167
+ const isOverviewView = activeViewTabId === "overview";
168
+ const isListView = activeViewTabId === "list";
169
+ const isGraphView = activeViewTabId === "graph";
170
+ const isKpisView = activeViewTabId === "kpis";
171
+ const isSettingsView = activeViewTabId === "settings";
172
+ const isPropertiesView = activeViewTabId === "properties";
158
173
  const [createDialogOpen, setCreateDialogOpen] = useState(false);
159
174
  const [createProjectOpen, setCreateProjectOpen] = useState(false);
160
- const [settingsProjectId, setSettingsProjectId] = useState(null);
161
- const [savingProjectStatus, setSavingProjectStatus] = useState(false);
162
175
  const [runningOrchestrator, setRunningOrchestrator] = useState(false);
163
176
  const [showAllProjects, setShowAllProjects] = useState(false);
164
177
  const [isProjectsLoading, setIsProjectsLoading] = useState(false);
@@ -223,7 +236,6 @@ export function TaskBoardWorkspace() {
223
236
  setSelectedProjectId(nextState.projectId);
224
237
  setTaskSelection(nextState.taskId, { source: "system" });
225
238
  setActiveTab(nextState.activeTab);
226
- setIsWizardMode(nextState.isWizardMode);
227
239
  setWizardForceOverview(false);
228
240
  }, [setTaskSelection]);
229
241
  const isProjectWithinSelectedTree = useCallback((projectId, currentProjectId) => {
@@ -269,9 +281,48 @@ export function TaskBoardWorkspace() {
269
281
  cancelled = true;
270
282
  };
271
283
  }, [canUseAi]);
284
+ useEffect(() => {
285
+ if (!editContext?.user?.name) {
286
+ setTaskBoardNavState({ myTasks: [], myTasksLoading: false });
287
+ return;
288
+ }
289
+ let cancelled = false;
290
+ setTaskBoardNavState({ myTasksLoading: true });
291
+ getMyTasks({ excludeDone: true })
292
+ .then((result) => {
293
+ if (cancelled)
294
+ return;
295
+ if (result.type !== "success") {
296
+ setTaskBoardNavState({ myTasks: [], myTasksLoading: false });
297
+ return;
298
+ }
299
+ const list = (result.data ?? [])
300
+ .map((item) => ({
301
+ taskId: item.task.taskId,
302
+ projectId: item.task.projectId,
303
+ title: item.task.title,
304
+ projectTitle: item.projectTitle ?? "",
305
+ status: normalizeTaskStatus(item.task.status, item.task.executionState),
306
+ updatedAt: item.task.updatedAt,
307
+ }))
308
+ .sort((a, b) => {
309
+ const aTime = a.updatedAt ? new Date(a.updatedAt).getTime() : 0;
310
+ const bTime = b.updatedAt ? new Date(b.updatedAt).getTime() : 0;
311
+ return bTime - aTime;
312
+ });
313
+ setTaskBoardNavState({ myTasks: list, myTasksLoading: false });
314
+ })
315
+ .catch(() => {
316
+ if (!cancelled) {
317
+ setTaskBoardNavState({ myTasks: [], myTasksLoading: false });
318
+ }
319
+ });
320
+ return () => {
321
+ cancelled = true;
322
+ };
323
+ }, [editContext?.user?.name]);
272
324
  const tasksWithDisplayAssignees = useMemo(() => addAgentDisplayNames(overlayTaskExecutionList(tasks, executionRecordsByTaskId), agentProfileTitlesById), [tasks, executionRecordsByTaskId, agentProfileTitlesById]);
273
325
  const selectedProject = useMemo(() => projects.find((p) => p.project.projectId === selectedProjectId) ?? null, [projects, selectedProjectId]);
274
- const settingsProject = useMemo(() => projects.find((p) => p.project.projectId === settingsProjectId) ?? null, [projects, settingsProjectId]);
275
326
  const selectedProjectTaskCounts = useMemo(() => buildTaskCounts(tasksWithDisplayAssignees), [tasksWithDisplayAssignees]);
276
327
  const directSubprojects = useMemo(() => selectedProjectId
277
328
  ? projects
@@ -309,9 +360,13 @@ export function TaskBoardWorkspace() {
309
360
  }
310
361
  return merged;
311
362
  }, [executionRecordsByTaskId, subprojectExecutionRecordsByProjectId]);
312
- const taskSelectionUniverse = useMemo(() => isWizardMode
363
+ const taskSelectionUniverse = useMemo(() => isOverviewView
313
364
  ? wizardTasksWithDisplayAssignees
314
- : tasksWithDisplayAssignees, [isWizardMode, wizardTasksWithDisplayAssignees, tasksWithDisplayAssignees]);
365
+ : tasksWithDisplayAssignees, [
366
+ isOverviewView,
367
+ wizardTasksWithDisplayAssignees,
368
+ tasksWithDisplayAssignees,
369
+ ]);
315
370
  const selectedProjectCumulativeCostUsed = useMemo(() => {
316
371
  if (!selectedProjectId)
317
372
  return 0;
@@ -394,14 +449,15 @@ export function TaskBoardWorkspace() {
394
449
  selectedProject?.permission === "Editor";
395
450
  const canEditTasks = canCreate;
396
451
  const viewTabs = useMemo(() => [
452
+ { id: "overview", label: "Task overview", content: null },
397
453
  { id: "kanban", label: "Kanban", content: null },
398
454
  { id: "list", label: "List", content: null },
399
455
  { id: "graph", label: "Graph", content: null },
456
+ { id: "kpis", label: "KPIs", content: null },
457
+ { id: "settings", label: "Settings", content: null },
458
+ { id: "properties", label: "Properties", content: null },
400
459
  ], []);
401
- const viewTabIds = useMemo(() => ["kanban", "list", "graph"], []);
402
- const isListView = viewTabIds[activeTab] === "list";
403
- const isGraphView = viewTabIds[activeTab] === "graph";
404
- const sharedViewSwitcher = useMemo(() => (_jsxs("div", { className: "flex items-center justify-end gap-2", children: [_jsx(SimpleTabs, { tabs: viewTabs, activeTab: activeTab, setActiveTab: setActiveTab, hideContent: true, className: "bg-neutral-grey-5/50 rounded-lg border-0 p-1", testId: "taskboard-view-switcher" }), _jsxs(Button, { size: "sm", onClick: () => setCreateDialogOpen(true), disabled: !canEditTasks, className: "h-8 px-3", "data-testid": "taskboard-create-task-button", children: [_jsx(Plus, { className: "h-4 w-4 sm:mr-1.5" }), _jsx("span", { className: "hidden sm:inline", children: "New Task" })] })] })), [activeTab, canEditTasks, viewTabs]);
460
+ const sharedViewSwitcher = useMemo(() => (_jsx("div", { className: "border-border-default mt-[18px] border-b", children: _jsx(SimpleTabs, { tabs: viewTabs, activeTab: activeTab, setActiveTab: setActiveTab, hideContent: true, variant: "large", className: "gap-8", tabClassName: "px-2 pt-3 pb-[9px] text-sm", testId: "taskboard-view-switcher" }) })), [activeTab, viewTabs]);
405
461
  const handleSelectProject = useCallback((projectId) => {
406
462
  setSelectedProjectId((previousProjectId) => {
407
463
  if (previousProjectId !== projectId) {
@@ -544,10 +600,10 @@ export function TaskBoardWorkspace() {
544
600
  }
545
601
  }, []);
546
602
  useEffect(() => {
547
- if (!isWizardMode) {
603
+ if (!isOverviewView) {
548
604
  clearWizardCloseTransitionTimeout();
549
605
  }
550
- }, [isWizardMode, clearWizardCloseTransitionTimeout]);
606
+ }, [isOverviewView, clearWizardCloseTransitionTimeout]);
551
607
  useEffect(() => {
552
608
  clearWizardCloseTransitionTimeout();
553
609
  }, [selectedProjectId, clearWizardCloseTransitionTimeout]);
@@ -623,7 +679,7 @@ export function TaskBoardWorkspace() {
623
679
  if (typeof window === "undefined")
624
680
  return;
625
681
  const current = new URLSearchParams(window.location.search);
626
- const view = viewTabIds[activeTab] ?? "kanban";
682
+ const view = TASKBOARD_VIEW_TAB_IDS[activeTab] ?? "kanban";
627
683
  if (selectedProjectId) {
628
684
  current.set(TASKBOARD_PROJECT_QUERY_KEY, selectedProjectId);
629
685
  }
@@ -637,12 +693,7 @@ export function TaskBoardWorkspace() {
637
693
  current.delete(TASKBOARD_TASK_QUERY_KEY);
638
694
  }
639
695
  current.set(TASKBOARD_VIEW_QUERY_KEY, view);
640
- if (isWizardMode) {
641
- current.set(TASKBOARD_WIZARD_QUERY_KEY, "true");
642
- }
643
- else {
644
- current.delete(TASKBOARD_WIZARD_QUERY_KEY);
645
- }
696
+ current.delete("tbWizard");
646
697
  const browserPathname = window.location.pathname;
647
698
  const queryString = current.toString();
648
699
  const newUrl = queryString
@@ -652,7 +703,7 @@ export function TaskBoardWorkspace() {
652
703
  if (newUrl !== oldUrl) {
653
704
  window.history.replaceState(null, "", newUrl);
654
705
  }
655
- }, [selectedProjectId, selectedTaskId, activeTab, isWizardMode, viewTabIds]);
706
+ }, [selectedProjectId, selectedTaskId, activeTab]);
656
707
  useEffect(() => {
657
708
  const handlePopState = () => {
658
709
  syncTaskBoardStateFromUrl();
@@ -756,13 +807,13 @@ export function TaskBoardWorkspace() {
756
807
  nextExecutionByProjectId[projectId] = executionByTaskId;
757
808
  }
758
809
  setSubprojectTaskCounts(nextCounts);
759
- setSubprojectTasksByProjectId(isWizardMode ? nextTasksByProjectId : {});
760
- setSubprojectExecutionRecordsByProjectId(isWizardMode ? nextExecutionByProjectId : {});
810
+ setSubprojectTasksByProjectId(isOverviewView ? nextTasksByProjectId : {});
811
+ setSubprojectExecutionRecordsByProjectId(isOverviewView ? nextExecutionByProjectId : {});
761
812
  }
762
813
  finally {
763
814
  setSubprojectCountsLoading(false);
764
815
  }
765
- }, [directSubprojects, isWizardMode, selectedProjectId]);
816
+ }, [directSubprojects, isOverviewView, selectedProjectId]);
766
817
  // If a project only has a single task, auto-select it once when loading.
767
818
  // Do not auto-reselect after the user explicitly closes task details.
768
819
  useEffect(() => {
@@ -792,7 +843,7 @@ export function TaskBoardWorkspace() {
792
843
  // switch away when another subproject also gets Questions (wizardAttentionState
793
844
  // would pick a different task and we'd lose the questionnaire to agent mismatch).
794
845
  useEffect(() => {
795
- if (!isWizardMode)
846
+ if (!isOverviewView)
796
847
  return;
797
848
  if (wizardForceOverview)
798
849
  return;
@@ -809,7 +860,7 @@ export function TaskBoardWorkspace() {
809
860
  return;
810
861
  setWizardPinnedTask(wizardDisplayedTask.taskId, "system");
811
862
  }, [
812
- isWizardMode,
863
+ isOverviewView,
813
864
  wizardForceOverview,
814
865
  selectedTaskId,
815
866
  wizardPinnedTaskId,
@@ -818,7 +869,7 @@ export function TaskBoardWorkspace() {
818
869
  setWizardPinnedTask,
819
870
  ]);
820
871
  useEffect(() => {
821
- if (!isWizardMode)
872
+ if (!isOverviewView)
822
873
  return;
823
874
  if (selectedTaskId)
824
875
  return;
@@ -839,7 +890,7 @@ export function TaskBoardWorkspace() {
839
890
  }
840
891
  setWizardPinnedTaskId(attentionTaskId);
841
892
  }, [
842
- isWizardMode,
893
+ isOverviewView,
843
894
  selectedTaskId,
844
895
  selectedTaskSource,
845
896
  wizardDisplayedExecutionDisplay?.label,
@@ -850,7 +901,7 @@ export function TaskBoardWorkspace() {
850
901
  wizardAttentionState.task?.taskId,
851
902
  ]);
852
903
  useEffect(() => {
853
- if (!isWizardMode)
904
+ if (!isOverviewView)
854
905
  return;
855
906
  if (selectedTaskSource === "user")
856
907
  return;
@@ -872,23 +923,23 @@ export function TaskBoardWorkspace() {
872
923
  setTaskSelection(null, { pinInWizard: false });
873
924
  }, [
874
925
  findNextAttentionTaskId,
875
- isWizardMode,
926
+ isOverviewView,
876
927
  selectedTask,
877
928
  selectedTaskSource,
878
929
  setTaskSelection,
879
930
  ]);
880
931
  useEffect(() => {
881
- if (isWizardMode)
932
+ if (isOverviewView)
882
933
  return;
883
934
  if (!wizardPinnedTaskId)
884
935
  return;
885
936
  setWizardPinnedTask(null);
886
- }, [isWizardMode, setWizardPinnedTask, wizardPinnedTaskId]);
937
+ }, [isOverviewView, setWizardPinnedTask, wizardPinnedTaskId]);
887
938
  useEffect(() => {
888
- if (!isWizardMode && wizardForceOverview) {
939
+ if (!isOverviewView && wizardForceOverview) {
889
940
  setWizardForceOverview(false);
890
941
  }
891
- }, [isWizardMode, wizardForceOverview]);
942
+ }, [isOverviewView, wizardForceOverview]);
892
943
  useEffect(() => {
893
944
  setWizardPinnedTask(null);
894
945
  setWizardForceOverview(false);
@@ -1246,32 +1297,6 @@ export function TaskBoardWorkspace() {
1246
1297
  setTaskSelection,
1247
1298
  tasks,
1248
1299
  ]);
1249
- const handleProjectStatusChange = useCallback(async (status) => {
1250
- if (!selectedProject)
1251
- return;
1252
- if (selectedProject.permission !== "Owner")
1253
- return;
1254
- if (selectedProject.project.status === status)
1255
- return;
1256
- setSavingProjectStatus(true);
1257
- try {
1258
- const result = await updateProject({
1259
- projectId: selectedProject.project.projectId,
1260
- title: selectedProject.project.title,
1261
- description: selectedProject.project.description ?? "",
1262
- costLimit: selectedProject.project.costLimit ?? null,
1263
- status,
1264
- });
1265
- if (result.type !== "success") {
1266
- toast.error(result.summary || "Failed to update project status");
1267
- return;
1268
- }
1269
- await refreshProjects();
1270
- }
1271
- finally {
1272
- setSavingProjectStatus(false);
1273
- }
1274
- }, [selectedProject, refreshProjects]);
1275
1300
  const handleSelectMyTask = useCallback((task) => {
1276
1301
  handleSelectProject(task.projectId);
1277
1302
  setTaskSelection(task.taskId, { source: "user" });
@@ -1301,7 +1326,6 @@ export function TaskBoardWorkspace() {
1301
1326
  : "Select a project to get started",
1302
1327
  permissionLabel: selectedProject?.permission ?? "No project selected",
1303
1328
  activeTab,
1304
- isWizardMode,
1305
1329
  isAdministrator,
1306
1330
  showAllProjects: isAdministrator && showAllProjects,
1307
1331
  isProjectsLoading,
@@ -1328,7 +1352,11 @@ export function TaskBoardWorkspace() {
1328
1352
  onSetActiveTab: setActiveTab,
1329
1353
  onCreateProject: () => setCreateProjectOpen(true),
1330
1354
  onOpenProjectTemplates: handleOpenProjectTemplates,
1331
- onOpenProjectSettings: (projectId) => setSettingsProjectId(projectId),
1355
+ onOpenProjectSettings: (projectId) => {
1356
+ handleSelectProject(projectId);
1357
+ setWizardForceOverview(false);
1358
+ setActiveTab(getTaskBoardViewTabIndex("settings"));
1359
+ },
1332
1360
  onDeleteProject: (projectId, title) => {
1333
1361
  const runDelete = async () => {
1334
1362
  const result = await deleteProject(projectId);
@@ -1392,7 +1420,6 @@ export function TaskBoardWorkspace() {
1392
1420
  setShowAllProjects(enabled);
1393
1421
  void refreshProjects({ includeAll: isAdministrator && enabled });
1394
1422
  },
1395
- onToggleWizardMode: (enabled) => setIsWizardMode(enabled),
1396
1423
  onCreateTask: () => setCreateDialogOpen(true),
1397
1424
  onRunOrchestrator: handleRunOrchestrator,
1398
1425
  });
@@ -1401,7 +1428,6 @@ export function TaskBoardWorkspace() {
1401
1428
  selectedProject?.project.description,
1402
1429
  selectedProject?.permission,
1403
1430
  activeTab,
1404
- isWizardMode,
1405
1431
  isAdministrator,
1406
1432
  showAllProjects,
1407
1433
  isProjectsLoading,
@@ -1684,7 +1710,6 @@ export function TaskBoardWorkspace() {
1684
1710
  setTaskSelection(null);
1685
1711
  }
1686
1712
  }, [
1687
- isWizardMode,
1688
1713
  selectedTaskId,
1689
1714
  selectedTaskSource,
1690
1715
  setTaskSelection,
@@ -1763,28 +1788,40 @@ export function TaskBoardWorkspace() {
1763
1788
  return (_jsx("div", { className: "border-border-default bg-neutral-grey-5/70 flex h-full min-h-[240px] items-center justify-center rounded-lg border border-dashed", "data-testid": "taskboard-project-loading-state", children: _jsxs("div", { className: "text-muted-foreground flex flex-col items-center gap-3 text-sm", children: [_jsx(Loader2, { className: "h-6 w-6 animate-spin" }), _jsx("div", { children: "Loading project..." })] }) }));
1764
1789
  }
1765
1790
  if (!selectedProjectId || (!selectedProject && !isProjectsLoading)) {
1766
- return (_jsx("div", { className: "flex min-h-full w-full flex-col p-4 md:p-8", children: _jsx("div", { className: "mx-auto flex h-full min-h-0 w-full max-w-7xl flex-1", children: _jsx(ProjectOverviewContent, { nav: nav }) }) }));
1791
+ return _jsx(TaskBoardHomeView, { nav: nav });
1792
+ }
1793
+ if (isOverviewView) {
1794
+ return (_jsxs("div", { className: "flex h-full min-h-0 min-w-0 flex-col gap-3", children: [_jsx(ProjectDashboard, { projectId: selectedProjectId, selectedProjectTitle: selectedProject?.project.title ?? "No project selected", selectedProjectDescription: selectedProject?.project.description, selectedProjectCostUsed: selectedProjectCumulativeCostUsed, selectedProjectCostLimit: selectedProject?.project.costLimit ?? null, selectedProjectTaskCounts: selectedProjectTaskCounts, subprojects: directSubprojects, taskCountsByProjectId: subprojectTaskCounts, parentProjectId: parentProject?.project.projectId ?? null, parentProjectTitle: parentProject?.project.title ?? null, onSelectProject: handleSelectProject, canCreateTask: canEditTasks, onCreateTask: () => setCreateDialogOpen(true) }), sharedViewSwitcher, _jsx("div", { className: "min-h-0 flex-1", children: _jsx(WizardView, { projectId: selectedProjectId, tasks: tasksWithDisplayAssignees, projectTasksLoading: isTasksLoading, dependencies: dependencies, subprojectTaskLists: wizardSubprojectTaskLists, subprojectTasksLoading: subprojectCountsLoading, selectedTaskId: wizardDisplayedTask?.taskId ?? null, onSelectTask: (id) => {
1795
+ setWizardForceOverview(false);
1796
+ setTaskSelection(id, { source: "user", pinInWizard: true });
1797
+ }, projectTitle: selectedProject?.project.title ?? "No project selected", projectDescription: selectedProject?.project.description, projectCostUsed: selectedProjectCumulativeCostUsed, projectCostLimit: selectedProject?.project.costLimit ?? null, canEditProperties: selectedProject?.permission === "Owner", showProperties: false, showCost: false, communicationPanel: wizardCommunicationPanel }) })] }));
1798
+ }
1799
+ if (isSettingsView) {
1800
+ return (_jsxs("div", { className: "flex h-full min-h-0 min-w-0 flex-col gap-3", children: [_jsx(ProjectDashboard, { projectId: selectedProjectId, selectedProjectTitle: selectedProject?.project.title ?? "No project selected", selectedProjectDescription: selectedProject?.project.description, selectedProjectCostUsed: selectedProjectCumulativeCostUsed, selectedProjectCostLimit: selectedProject?.project.costLimit ?? null, selectedProjectTaskCounts: selectedProjectTaskCounts, subprojects: directSubprojects, taskCountsByProjectId: subprojectTaskCounts, parentProjectId: parentProject?.project.projectId ?? null, parentProjectTitle: parentProject?.project.title ?? null, onSelectProject: handleSelectProject, canCreateTask: canEditTasks, onCreateTask: () => setCreateDialogOpen(true), showCreateTaskButton: false }), sharedViewSwitcher, _jsx(ProjectSettingsPanel, { projectId: selectedProjectId, selectedProject: selectedProject, projects: projects, canOpenSourceTemplate: isAdministrator, onOpenSourceTemplate: handleOpenSourceTemplate, onChanged: async () => {
1801
+ await refreshProjects();
1802
+ await refreshVisibleTaskData();
1803
+ } })] }));
1804
+ }
1805
+ if (isKpisView) {
1806
+ return (_jsxs("div", { className: "flex h-full min-h-0 min-w-0 flex-col gap-3", children: [_jsx(ProjectDashboard, { projectId: selectedProjectId, selectedProjectTitle: selectedProject?.project.title ?? "No project selected", selectedProjectDescription: selectedProject?.project.description, selectedProjectCostUsed: selectedProjectCumulativeCostUsed, selectedProjectCostLimit: selectedProject?.project.costLimit ?? null, selectedProjectTaskCounts: selectedProjectTaskCounts, subprojects: directSubprojects, taskCountsByProjectId: subprojectTaskCounts, parentProjectId: parentProject?.project.projectId ?? null, parentProjectTitle: parentProject?.project.title ?? null, onSelectProject: handleSelectProject, canCreateTask: canEditTasks, onCreateTask: () => setCreateDialogOpen(true), showCreateTaskButton: false }), sharedViewSwitcher, _jsx(ProjectKpisPanel, { selectedProjectCostUsed: selectedProjectCumulativeCostUsed, selectedProjectCostLimit: selectedProject?.project.costLimit ?? null, selectedProjectTaskCounts: selectedProjectTaskCounts, selectedProjectAttention: selectedProject?.overview?.attention, subprojects: directSubprojects, taskCountsByProjectId: subprojectTaskCounts })] }));
1767
1807
  }
1768
- if (isWizardMode) {
1769
- return (_jsx(WizardView, { projectId: selectedProjectId, tasks: tasksWithDisplayAssignees, projectTasksLoading: isTasksLoading, dependencies: dependencies, subprojectTaskLists: wizardSubprojectTaskLists, subprojectTasksLoading: subprojectCountsLoading, selectedTaskId: wizardDisplayedTask?.taskId ?? null, onSelectTask: (id) => {
1770
- setWizardForceOverview(false);
1771
- setTaskSelection(id, { source: "user", pinInWizard: true });
1772
- }, projectTitle: selectedProject?.project.title ?? "No project selected", projectDescription: selectedProject?.project.description, projectCostUsed: selectedProjectCumulativeCostUsed, projectCostLimit: selectedProject?.project.costLimit ?? null, canEditProperties: selectedProject?.permission === "Owner", communicationPanel: wizardCommunicationPanel }));
1808
+ if (isPropertiesView) {
1809
+ return (_jsxs("div", { className: "flex h-full min-h-0 min-w-0 flex-col gap-3", children: [_jsx(ProjectDashboard, { projectId: selectedProjectId, selectedProjectTitle: selectedProject?.project.title ?? "No project selected", selectedProjectDescription: selectedProject?.project.description, selectedProjectCostUsed: selectedProjectCumulativeCostUsed, selectedProjectCostLimit: selectedProject?.project.costLimit ?? null, selectedProjectTaskCounts: selectedProjectTaskCounts, subprojects: directSubprojects, taskCountsByProjectId: subprojectTaskCounts, parentProjectId: parentProject?.project.projectId ?? null, parentProjectTitle: parentProject?.project.title ?? null, onSelectProject: handleSelectProject, canCreateTask: canEditTasks, onCreateTask: () => setCreateDialogOpen(true), showCreateTaskButton: false }), sharedViewSwitcher, _jsx(ProjectPropertiesPanel, { projectId: selectedProjectId, canEdit: selectedProject?.permission === "Owner", defaultExpanded: true, showHeader: false, className: "border-border-default rounded-md border bg-white p-4" })] }));
1773
1810
  }
1774
1811
  if (isListView) {
1775
- return (_jsxs("div", { className: "grid gap-3", children: [_jsx(ProjectDashboard, { projectId: selectedProjectId, selectedProjectTitle: selectedProject?.project.title ?? "No project selected", selectedProjectDescription: selectedProject?.project.description, selectedProjectStatus: selectedProject?.project.status, selectedProjectCostUsed: selectedProjectCumulativeCostUsed, selectedProjectCostLimit: selectedProject?.project.costLimit ?? null, canEditProjectStatus: selectedProject?.permission === "Owner", savingProjectStatus: savingProjectStatus, onStatusChange: handleProjectStatusChange, selectedProjectTaskCounts: selectedProjectTaskCounts, subprojects: directSubprojects, taskCountsByProjectId: subprojectTaskCounts, loading: subprojectCountsLoading, parentProjectId: parentProject?.project.projectId ?? null, parentProjectTitle: parentProject?.project.title ?? null, onSelectProject: handleSelectProject, canEditProperties: selectedProject?.permission === "Owner", selectedProjectSourceTemplateId: selectedProject?.project.sourceProjectTemplateId ?? null, selectedProjectSourceTemplateName: selectedProject?.project.sourceProjectTemplateName ?? null, canOpenSourceTemplate: isAdministrator, onOpenSourceTemplate: handleOpenSourceTemplate }), sharedViewSwitcher, _jsx(ListView, { tasks: tasksWithDisplayAssignees, onSelectTask: (id) => setTaskSelection(id, { source: "user" }), selectedTaskId: selectedTaskId, onTasksChanged: () => {
1812
+ return (_jsxs("div", { className: "grid gap-3", children: [_jsx(ProjectDashboard, { projectId: selectedProjectId, selectedProjectTitle: selectedProject?.project.title ?? "No project selected", selectedProjectDescription: selectedProject?.project.description, selectedProjectCostUsed: selectedProjectCumulativeCostUsed, selectedProjectCostLimit: selectedProject?.project.costLimit ?? null, selectedProjectTaskCounts: selectedProjectTaskCounts, subprojects: directSubprojects, taskCountsByProjectId: subprojectTaskCounts, parentProjectId: parentProject?.project.projectId ?? null, parentProjectTitle: parentProject?.project.title ?? null, onSelectProject: handleSelectProject, canCreateTask: canEditTasks, onCreateTask: () => setCreateDialogOpen(true) }), sharedViewSwitcher, _jsx(ListView, { tasks: tasksWithDisplayAssignees, onSelectTask: (id) => setTaskSelection(id, { source: "user" }), selectedTaskId: selectedTaskId, onTasksChanged: () => {
1776
1813
  void refreshVisibleTaskData();
1777
1814
  }, projectId: selectedProjectId, permission: selectedProject?.permission })] }));
1778
1815
  }
1779
1816
  if (isGraphView) {
1780
- return (_jsxs("div", { className: "flex h-full min-h-0 min-w-0 flex-col gap-3", children: [_jsx(ProjectDashboard, { projectId: selectedProjectId, selectedProjectTitle: selectedProject?.project.title ?? "No project selected", selectedProjectDescription: selectedProject?.project.description, selectedProjectStatus: selectedProject?.project.status, selectedProjectCostUsed: selectedProjectCumulativeCostUsed, selectedProjectCostLimit: selectedProject?.project.costLimit ?? null, canEditProjectStatus: selectedProject?.permission === "Owner", savingProjectStatus: savingProjectStatus, onStatusChange: handleProjectStatusChange, selectedProjectTaskCounts: selectedProjectTaskCounts, subprojects: directSubprojects, taskCountsByProjectId: subprojectTaskCounts, loading: subprojectCountsLoading, parentProjectId: parentProject?.project.projectId ?? null, parentProjectTitle: parentProject?.project.title ?? null, onSelectProject: handleSelectProject, canEditProperties: selectedProject?.permission === "Owner", selectedProjectSourceTemplateId: selectedProject?.project.sourceProjectTemplateId ?? null, selectedProjectSourceTemplateName: selectedProject?.project.sourceProjectTemplateName ?? null, canOpenSourceTemplate: isAdministrator, onOpenSourceTemplate: handleOpenSourceTemplate }), sharedViewSwitcher, _jsx("div", { className: "min-h-0 flex-1", children: _jsx(Suspense, { fallback: _jsx("div", { className: "text-muted-foreground flex h-full items-center justify-center text-sm", children: "Loading dependency graph..." }), children: _jsx(DependencyGraphView, { projectId: selectedProjectId, tasks: tasksWithDisplayAssignees, dependencies: dependencies, miniMapWidth: 160, miniMapHeight: 120, orientation: "horizontal", autoLayoutStrategy: "hierarchy", showOrientationToggle: true, savedLayout: graphLayout, selectedTaskId: selectedTaskId, onSelectTask: (id) => setTaskSelection(id, { source: "user" }), permission: selectedProject?.permission, onLayoutSaved: (layout) => setGraphLayout(layout && selectedProjectId
1817
+ return (_jsxs("div", { className: "flex h-full min-h-0 min-w-0 flex-col gap-3", children: [_jsx(ProjectDashboard, { projectId: selectedProjectId, selectedProjectTitle: selectedProject?.project.title ?? "No project selected", selectedProjectDescription: selectedProject?.project.description, selectedProjectCostUsed: selectedProjectCumulativeCostUsed, selectedProjectCostLimit: selectedProject?.project.costLimit ?? null, selectedProjectTaskCounts: selectedProjectTaskCounts, subprojects: directSubprojects, taskCountsByProjectId: subprojectTaskCounts, parentProjectId: parentProject?.project.projectId ?? null, parentProjectTitle: parentProject?.project.title ?? null, onSelectProject: handleSelectProject, canCreateTask: canEditTasks, onCreateTask: () => setCreateDialogOpen(true) }), sharedViewSwitcher, _jsx("div", { className: "min-h-0 flex-1", children: _jsx(Suspense, { fallback: _jsx("div", { className: "text-muted-foreground flex h-full items-center justify-center text-sm", children: "Loading dependency graph..." }), children: _jsx(DependencyGraphView, { projectId: selectedProjectId, tasks: tasksWithDisplayAssignees, dependencies: dependencies, miniMapWidth: 160, miniMapHeight: 120, orientation: "horizontal", autoLayoutStrategy: "hierarchy", showOrientationToggle: true, savedLayout: graphLayout, selectedTaskId: selectedTaskId, onSelectTask: (id) => setTaskSelection(id, { source: "user" }), permission: selectedProject?.permission, onLayoutSaved: (layout) => setGraphLayout(layout && selectedProjectId
1781
1818
  ? {
1782
1819
  projectId: selectedProjectId,
1783
1820
  ...layout,
1784
1821
  }
1785
1822
  : null) }) }) })] }));
1786
1823
  }
1787
- return (_jsxs("div", { className: "flex h-full min-h-0 min-w-0 flex-col gap-3", children: [_jsx(ProjectDashboard, { projectId: selectedProjectId, selectedProjectTitle: selectedProject?.project.title ?? "No project selected", selectedProjectDescription: selectedProject?.project.description, selectedProjectStatus: selectedProject?.project.status, selectedProjectCostUsed: selectedProjectCumulativeCostUsed, selectedProjectCostLimit: selectedProject?.project.costLimit ?? null, canEditProjectStatus: selectedProject?.permission === "Owner", savingProjectStatus: savingProjectStatus, onStatusChange: handleProjectStatusChange, selectedProjectTaskCounts: selectedProjectTaskCounts, subprojects: directSubprojects, taskCountsByProjectId: subprojectTaskCounts, loading: subprojectCountsLoading, parentProjectId: parentProject?.project.projectId ?? null, parentProjectTitle: parentProject?.project.title ?? null, onSelectProject: handleSelectProject, canEditProperties: selectedProject?.permission === "Owner", selectedProjectSourceTemplateId: selectedProject?.project.sourceProjectTemplateId ?? null, selectedProjectSourceTemplateName: selectedProject?.project.sourceProjectTemplateName ?? null, canOpenSourceTemplate: isAdministrator, onOpenSourceTemplate: handleOpenSourceTemplate }), sharedViewSwitcher, _jsx(KanbanView, { tasks: tasksWithDisplayAssignees, dependencies: dependencies, onSelectTask: (id) => setTaskSelection(id, { source: "user" }), selectedTaskId: selectedTaskId, onTasksChanged: () => {
1824
+ return (_jsxs("div", { className: "flex h-full min-h-0 min-w-0 flex-col gap-3", children: [_jsx(ProjectDashboard, { projectId: selectedProjectId, selectedProjectTitle: selectedProject?.project.title ?? "No project selected", selectedProjectDescription: selectedProject?.project.description, selectedProjectCostUsed: selectedProjectCumulativeCostUsed, selectedProjectCostLimit: selectedProject?.project.costLimit ?? null, selectedProjectTaskCounts: selectedProjectTaskCounts, subprojects: directSubprojects, taskCountsByProjectId: subprojectTaskCounts, parentProjectId: parentProject?.project.projectId ?? null, parentProjectTitle: parentProject?.project.title ?? null, onSelectProject: handleSelectProject, canCreateTask: canEditTasks, onCreateTask: () => setCreateDialogOpen(true) }), sharedViewSwitcher, _jsx(KanbanView, { tasks: tasksWithDisplayAssignees, dependencies: dependencies, onSelectTask: (id) => setTaskSelection(id, { source: "user" }), selectedTaskId: selectedTaskId, onTasksChanged: () => {
1788
1825
  void refreshVisibleTaskData();
1789
1826
  }, projectId: selectedProjectId, permission: selectedProject?.permission })] }));
1790
1827
  }, [
@@ -1792,12 +1829,15 @@ export function TaskBoardWorkspace() {
1792
1829
  selectedProjectId,
1793
1830
  selectedProject,
1794
1831
  isProjectsLoading,
1795
- isWizardMode,
1832
+ isOverviewView,
1796
1833
  isListView,
1797
1834
  isGraphView,
1835
+ isKpisView,
1836
+ isSettingsView,
1837
+ isPropertiesView,
1838
+ graphLayout,
1839
+ isAdministrator,
1798
1840
  selectedProjectCumulativeCostUsed,
1799
- savingProjectStatus,
1800
- handleProjectStatusChange,
1801
1841
  handleOpenSourceTemplate,
1802
1842
  selectedProjectTaskCounts,
1803
1843
  directSubprojects,
@@ -1807,10 +1847,10 @@ export function TaskBoardWorkspace() {
1807
1847
  parentProject?.project.title,
1808
1848
  handleSelectProject,
1809
1849
  sharedViewSwitcher,
1850
+ projects,
1810
1851
  tasksWithDisplayAssignees,
1811
1852
  dependencies,
1812
1853
  selectedTaskId,
1813
- activeTab,
1814
1854
  canEditTasks,
1815
1855
  nav,
1816
1856
  isTasksLoading,
@@ -1818,6 +1858,7 @@ export function TaskBoardWorkspace() {
1818
1858
  wizardDisplayedTask?.taskId,
1819
1859
  wizardCommunicationPanel,
1820
1860
  setTaskSelection,
1861
+ refreshProjects,
1821
1862
  refreshVisibleTaskData,
1822
1863
  ]);
1823
1864
  const taskDetailAgentLaunch = useMemo(() => {
@@ -1860,6 +1901,7 @@ export function TaskBoardWorkspace() {
1860
1901
  void refreshVisibleTaskData();
1861
1902
  }, onSelectTask: (taskId) => setTaskSelection(taskId, { source: "user" }), onClose: () => setTaskSelection(null), variant: "panel", agentLaunch: taskDetailAgentLaunch })), [
1862
1903
  selectedTaskProject,
1904
+ projects,
1863
1905
  selectedTask,
1864
1906
  taskSelectionUniverse,
1865
1907
  dependencies,
@@ -1982,29 +2024,29 @@ export function TaskBoardWorkspace() {
1982
2024
  const showAgentColumnForSelectedTask = !!selectedProjectId &&
1983
2025
  !shouldHideAgentPanelForSelectedTask &&
1984
2026
  agentPanelMode === "agent";
1985
- if (isWizardMode) {
1986
- const wizardPanels = [
2027
+ if (isOverviewView || isKpisView) {
2028
+ const overviewPanels = [
1987
2029
  {
1988
- name: "wizard-view",
1989
- defaultSize: 70,
1990
- content: (_jsx("div", { className: "bg-neutral-grey-5/50 h-full overflow-x-hidden overflow-y-auto", children: taskBoardContent })),
2030
+ name: "task-list",
2031
+ defaultSize: "auto",
2032
+ content: (_jsx("div", { className: cn("bg-neutral-grey-5/60 flex h-full min-h-0 flex-col overflow-x-hidden overflow-y-auto", selectedProjectId && "p-3 pt-3 md:p-8 md:pt-8 md:pl-10"), children: taskBoardContent })),
1991
2033
  },
1992
2034
  ];
1993
2035
  if (showEditorPanel) {
1994
- wizardPanels.push({
2036
+ overviewPanels.push({
1995
2037
  name: "editor-preview",
1996
- defaultSize: 30,
2038
+ defaultSize: 500,
1997
2039
  content: (_jsx("div", { className: "border-border-default bg-neutral-grey-5 h-full overflow-hidden border-l", children: itemPreviewPanel })),
1998
2040
  });
1999
2041
  }
2000
- return wizardPanels;
2042
+ return overviewPanels;
2001
2043
  }
2002
2044
  if (isListView) {
2003
2045
  const listPanels = [
2004
2046
  {
2005
2047
  name: "task-list",
2006
2048
  defaultSize: "auto",
2007
- content: (_jsx("div", { className: "bg-neutral-grey-5/50 h-full overflow-x-auto overflow-y-auto p-2 pt-2 md:p-4 md:pt-3", children: taskBoardContent })),
2049
+ content: (_jsx("div", { className: "bg-neutral-grey-5/60 h-full overflow-x-auto overflow-y-auto p-3 pt-3 md:p-8 md:pt-8 md:pl-10", children: taskBoardContent })),
2008
2050
  },
2009
2051
  ...buildRightHandPanels(showAgentColumnForSelectedTask),
2010
2052
  ];
@@ -2022,7 +2064,7 @@ export function TaskBoardWorkspace() {
2022
2064
  {
2023
2065
  name: "task-list",
2024
2066
  defaultSize: "auto",
2025
- content: (_jsx("div", { className: cn("bg-neutral-grey-5/50 flex h-full min-h-0 flex-col overflow-x-hidden overflow-y-auto", selectedProjectId && "p-4 pt-3"), children: taskBoardContent })),
2067
+ content: (_jsx("div", { className: cn("bg-neutral-grey-5/60 flex h-full min-h-0 flex-col overflow-x-hidden overflow-y-auto", selectedProjectId && "p-3 pt-3 md:p-8 md:pt-8 md:pl-10"), children: taskBoardContent })),
2026
2068
  },
2027
2069
  ...buildRightHandPanels(showAgentColumnForSelectedTask),
2028
2070
  ];
@@ -2039,7 +2081,7 @@ export function TaskBoardWorkspace() {
2039
2081
  {
2040
2082
  name: "task-list",
2041
2083
  defaultSize: "auto",
2042
- content: (_jsx("div", { className: cn("bg-neutral-grey-5/50 flex h-full min-h-0 flex-col overflow-x-hidden overflow-y-auto", selectedProjectId && "p-4 pt-3"), children: taskBoardContent })),
2084
+ content: (_jsx("div", { className: cn("bg-neutral-grey-5/60 flex h-full min-h-0 flex-col overflow-x-hidden overflow-y-auto", selectedProjectId && "p-3 pt-3 md:p-8 md:pt-8 md:pl-10"), children: taskBoardContent })),
2043
2085
  },
2044
2086
  ...buildRightHandPanels(showAgentColumnForSelectedTask),
2045
2087
  ];
@@ -2052,7 +2094,8 @@ export function TaskBoardWorkspace() {
2052
2094
  }
2053
2095
  return kanbanPanels;
2054
2096
  }, [
2055
- isWizardMode,
2097
+ isOverviewView,
2098
+ isKpisView,
2056
2099
  isListView,
2057
2100
  isGraphView,
2058
2101
  selectedProjectId,
@@ -2063,7 +2106,7 @@ export function TaskBoardWorkspace() {
2063
2106
  showEditorPanel,
2064
2107
  itemPreviewPanel,
2065
2108
  ]);
2066
- return (_jsxs("div", { className: "text-foreground flex h-full w-full flex-col bg-white select-text", children: [_jsx("div", { className: "min-h-0 flex-1", children: isMobile ? (_jsxs("div", { className: "flex h-full flex-col overflow-hidden", children: [selectedProjectId && (_jsx("div", { className: "border-border-default shrink-0 border-b bg-white px-4 shadow-[0_1px_2px_color-mix(in_srgb,var(--color-neutral-grey-100)_3%,transparent)]", children: _jsx(SimpleTabs, { tabs: [
2109
+ return (_jsxs("div", { className: "text-foreground bg-neutral-grey-5 flex h-full w-full flex-col select-text", children: [_jsx("div", { className: "min-h-0 flex-1", children: isMobile ? (_jsxs("div", { className: "flex h-full flex-col overflow-hidden", children: [selectedProjectId && (_jsx("div", { className: "border-border-default shrink-0 border-b bg-white px-4 shadow-[0_1px_2px_color-mix(in_srgb,var(--color-neutral-grey-100)_3%,transparent)]", children: _jsx(SimpleTabs, { tabs: [
2067
2110
  { id: "project", label: "Project", content: null },
2068
2111
  {
2069
2112
  id: "task",
@@ -2080,30 +2123,20 @@ export function TaskBoardWorkspace() {
2080
2123
  ...(showEditorPanel
2081
2124
  ? [{ id: "editor", label: "Editor", content: null }]
2082
2125
  : []),
2083
- ], activeTab: mobileActiveTab, setActiveTab: setMobileActiveTab, hideContent: true, className: "gap-6" }) })), _jsxs("div", { className: "min-h-0 flex-1 overflow-hidden", children: [mobileActiveTab === 0 && (_jsx("div", { className: cn("bg-neutral-grey-5/50 flex h-full overflow-y-auto", selectedProjectId &&
2084
- !isWizardMode &&
2085
- "p-2 pt-2 md:p-4 md:pt-3"), children: taskBoardContent })), mobileActiveTab === 1 && (_jsx("div", { className: "h-full overflow-y-auto bg-white", children: taskDetailPanel })), mobileActiveTab === 2 && (_jsx("div", { className: "h-full overflow-hidden bg-white", children: shouldHideAgentPanelForSelectedTask
2126
+ ], activeTab: mobileActiveTab, setActiveTab: setMobileActiveTab, hideContent: true, className: "gap-6" }) })), _jsxs("div", { className: "min-h-0 flex-1 overflow-hidden", children: [mobileActiveTab === 0 && (_jsx("div", { className: cn("bg-neutral-grey-5/50 flex h-full overflow-y-auto", selectedProjectId && "p-2 pt-2 md:p-4 md:pt-3"), children: taskBoardContent })), mobileActiveTab === 1 && (_jsx("div", { className: "h-full overflow-y-auto bg-white", children: taskDetailPanel })), mobileActiveTab === 2 && (_jsx("div", { className: "h-full overflow-hidden bg-white", children: shouldHideAgentPanelForSelectedTask
2086
2127
  ? taskDetailPanel
2087
- : agentTerminalPanel })), mobileActiveTab === 3 && showEditorPanel && (_jsx("div", { className: "bg-neutral-grey-5 h-full overflow-hidden", children: itemPreviewPanel }))] })] })) : (_jsx(Splitter, { panels: panels, direction: "horizontal", localStorageKey: isWizardMode
2088
- ? "task-board-wizard-splitter-v2"
2089
- : "task-board-main-splitter" })) }), selectedProjectId && (_jsx(CreateTaskDialog, { open: createDialogOpen, onOpenChange: setCreateDialogOpen, projectId: selectedProjectId, availableParentTasks: tasks, onCreated: () => {
2128
+ : agentTerminalPanel })), mobileActiveTab === 3 && showEditorPanel && (_jsx("div", { className: "bg-neutral-grey-5 h-full overflow-hidden", children: itemPreviewPanel }))] })] })) : (_jsx(Splitter, { panels: panels, direction: "horizontal", localStorageKey: "task-board-main-splitter" })) }), selectedProjectId && (_jsx(CreateTaskDialog, { open: createDialogOpen, onOpenChange: setCreateDialogOpen, projectId: selectedProjectId, availableParentTasks: tasks, onCreated: () => {
2090
2129
  void refreshTasks(selectedProjectId);
2091
2130
  void refreshExecutionState(selectedProjectId);
2092
2131
  void refreshDependencies(selectedProjectId);
2093
2132
  } })), _jsx(CreateProjectDialog, { open: createProjectOpen, onOpenChange: setCreateProjectOpen, projects: projects, onCreated: async ({ projectId: newProjectId, openInWizardMode }) => {
2094
2133
  if (openInWizardMode) {
2095
- setIsWizardMode(true);
2134
+ setActiveTab(getTaskBoardViewTabIndex("overview"));
2096
2135
  setWizardForceOverview(false);
2097
2136
  }
2098
2137
  if (newProjectId)
2099
2138
  handleSelectProject(newProjectId);
2100
2139
  await refreshProjects();
2101
- } }), _jsx(ProjectSettingsDialog, { open: !!settingsProjectId, onOpenChange: (open) => {
2102
- if (!open)
2103
- setSettingsProjectId(null);
2104
- }, projectId: settingsProjectId, selectedProject: settingsProject, projects: projects, onChanged: async () => {
2105
- await refreshProjects();
2106
- await refreshVisibleTaskData();
2107
2140
  } })] }));
2108
2141
  }
2109
2142
  //# sourceMappingURL=TaskBoardWorkspace.js.map