@parhelia/core 0.1.12895 → 0.1.12901

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 (552) hide show
  1. package/dist/agents-view/AgentCard.js +1 -1
  2. package/dist/agents-view/AgentCard.js.map +1 -1
  3. package/dist/agents-view/AgentProfileIcon.d.ts +1 -1
  4. package/dist/agents-view/AgentProfileIcon.js +4 -0
  5. package/dist/agents-view/AgentProfileIcon.js.map +1 -1
  6. package/dist/agents-view/AgentsWorkspaceView.js +10 -24
  7. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  8. package/dist/agents-view/ProfileAgentsGroup.js +2 -3
  9. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  10. package/dist/components/MarkdownDisplay.js +1 -1
  11. package/dist/components/MarkdownDisplay.js.map +1 -1
  12. package/dist/components/SearchInput.d.ts +1 -0
  13. package/dist/components/SearchInput.js +2 -2
  14. package/dist/components/SearchInput.js.map +1 -1
  15. package/dist/components/ui/LanguageSelectionGrid.js +2 -1
  16. package/dist/components/ui/LanguageSelectionGrid.js.map +1 -1
  17. package/dist/components/ui/LanguageSelector.d.ts +2 -1
  18. package/dist/components/ui/LanguageSelector.js +3 -3
  19. package/dist/components/ui/LanguageSelector.js.map +1 -1
  20. package/dist/components/ui/badge.d.ts +5 -1
  21. package/dist/components/ui/badge.js +8 -3
  22. package/dist/components/ui/badge.js.map +1 -1
  23. package/dist/components/ui/button.js +4 -5
  24. package/dist/components/ui/button.js.map +1 -1
  25. package/dist/components/ui/checkbox.js +1 -1
  26. package/dist/components/ui/checkbox.js.map +1 -1
  27. package/dist/components/ui/command.js +1 -1
  28. package/dist/components/ui/command.js.map +1 -1
  29. package/dist/components/ui/context-menu.d.ts +13 -0
  30. package/dist/components/ui/context-menu.js +61 -57
  31. package/dist/components/ui/context-menu.js.map +1 -1
  32. package/dist/components/ui/dropdown-menu.js +4 -4
  33. package/dist/components/ui/dropdown-menu.js.map +1 -1
  34. package/dist/components/ui/input.js +2 -2
  35. package/dist/components/ui/input.js.map +1 -1
  36. package/dist/components/ui/switch.js +1 -1
  37. package/dist/components/ui/switch.js.map +1 -1
  38. package/dist/components/ui/textarea.js +1 -1
  39. package/dist/components/ui/textarea.js.map +1 -1
  40. package/dist/config/config.js +40 -15
  41. package/dist/config/config.js.map +1 -1
  42. package/dist/config/notificationRoutes.js +2 -2
  43. package/dist/config/notificationRoutes.js.map +1 -1
  44. package/dist/editor/ContentTree.js +13 -5
  45. package/dist/editor/ContentTree.js.map +1 -1
  46. package/dist/editor/ContextMenu.js +4 -6
  47. package/dist/editor/ContextMenu.js.map +1 -1
  48. package/dist/editor/FieldListField.js +14 -7
  49. package/dist/editor/FieldListField.js.map +1 -1
  50. package/dist/editor/GlobalMenuBar.js +1 -2
  51. package/dist/editor/GlobalMenuBar.js.map +1 -1
  52. package/dist/editor/ImageEditor.js +1 -1
  53. package/dist/editor/ImageEditor.js.map +1 -1
  54. package/dist/editor/LinkEditorDialog.js +13 -0
  55. package/dist/editor/LinkEditorDialog.js.map +1 -1
  56. package/dist/editor/MainLayout.js +66 -9
  57. package/dist/editor/MainLayout.js.map +1 -1
  58. package/dist/editor/Titlebar.js +1 -1
  59. package/dist/editor/Titlebar.js.map +1 -1
  60. package/dist/editor/WorkspaceTitleSwitcher.js +12 -31
  61. package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -1
  62. package/dist/editor/ai/AgentProfileSelector.js +2 -2
  63. package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
  64. package/dist/editor/ai/AgentStatusBadge.js +3 -11
  65. package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
  66. package/dist/editor/ai/Agents.js +46 -41
  67. package/dist/editor/ai/Agents.js.map +1 -1
  68. package/dist/editor/ai/InlineAiDialog.js +24 -26
  69. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  70. package/dist/editor/ai/InlineAiTrigger.js +30 -1
  71. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  72. package/dist/editor/ai/agentActivitySummary.d.ts +108 -0
  73. package/dist/editor/ai/agentActivitySummary.js +390 -0
  74. package/dist/editor/ai/agentActivitySummary.js.map +1 -0
  75. package/dist/editor/ai/terminal/agentContextMerge.d.ts +19 -0
  76. package/dist/editor/ai/terminal/agentContextMerge.js +88 -0
  77. package/dist/editor/ai/terminal/agentContextMerge.js.map +1 -0
  78. package/dist/editor/ai/terminal/components/ActivitySummaryCell.d.ts +21 -0
  79. package/dist/editor/ai/terminal/components/ActivitySummaryCell.js +133 -0
  80. package/dist/editor/ai/terminal/components/ActivitySummaryCell.js.map +1 -0
  81. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +7 -0
  82. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +145 -0
  83. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -0
  84. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js +1 -1
  85. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js.map +1 -1
  86. package/dist/editor/ai/terminal/components/AgentFullPromptControls.d.ts +2 -1
  87. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +13 -13
  88. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
  89. package/dist/editor/ai/terminal/components/AgentGreeting.js +2 -2
  90. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  91. package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js +1 -1
  92. package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js.map +1 -1
  93. package/dist/editor/ai/terminal/components/AgentModeSelector.d.ts +1 -1
  94. package/dist/editor/ai/terminal/components/AgentModeSelector.js +86 -9
  95. package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -1
  96. package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js +1 -1
  97. package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js.map +1 -1
  98. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +2 -2
  99. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
  100. package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -2
  101. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +4 -27
  102. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
  103. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +2 -2
  104. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +15 -12
  105. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
  106. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +1 -1
  107. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -1
  108. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -0
  109. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
  110. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +1 -3
  111. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -1
  112. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +10 -10
  113. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +17 -3
  114. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
  115. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +2 -1
  116. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +59 -5
  117. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  118. package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
  119. package/dist/editor/ai/terminal/components/AgentTerminalView.js +5 -4
  120. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  121. package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -0
  122. package/dist/editor/ai/terminal/components/AiResponseMessage.js +84 -28
  123. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  124. package/dist/editor/ai/terminal/components/ContextInfoBar.d.ts +2 -4
  125. package/dist/editor/ai/terminal/components/ContextInfoBar.js +93 -223
  126. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
  127. package/dist/editor/ai/terminal/useAgentDraftInitializer.js +7 -45
  128. package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
  129. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.d.ts +0 -4
  130. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js +1 -7
  131. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js.map +1 -1
  132. package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +2 -2
  133. package/dist/editor/ai/terminal/useAgentQuickActions.d.ts +2 -2
  134. package/dist/editor/ai/terminal/useAgentQuickActions.js +61 -3
  135. package/dist/editor/ai/terminal/useAgentQuickActions.js.map +1 -1
  136. package/dist/editor/ai/terminal/useAgentSettingsPanel.js +0 -2
  137. package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
  138. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +3 -3
  139. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -1
  140. package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +0 -3
  141. package/dist/editor/ai/terminal/useAgentSkillActions.js +8 -26
  142. package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -1
  143. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +1 -5
  144. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +6 -19
  145. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
  146. package/dist/editor/ai/terminal/useAgentTerminalChrome.d.ts +1 -3
  147. package/dist/editor/ai/terminal/useAgentTerminalChrome.js +2 -2
  148. package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -1
  149. package/dist/editor/ai/terminal/useAgentTerminalController.js +18 -22
  150. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  151. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
  152. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -2
  153. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  154. package/dist/editor/ai/terminal/useAgentTerminalViewState.d.ts +0 -6
  155. package/dist/editor/ai/terminal/useAgentTerminalViewState.js +2 -16
  156. package/dist/editor/ai/terminal/useAgentTerminalViewState.js.map +1 -1
  157. package/dist/editor/ai/useActiveAgentConversation.d.ts +2 -0
  158. package/dist/editor/ai/useActiveAgentConversation.js +20 -0
  159. package/dist/editor/ai/useActiveAgentConversation.js.map +1 -1
  160. package/dist/editor/bridge/protocol.d.ts +48 -0
  161. package/dist/editor/bridge/protocol.js +13 -1
  162. package/dist/editor/bridge/protocol.js.map +1 -1
  163. package/dist/editor/client/EditorShell.d.ts +2 -0
  164. package/dist/editor/client/EditorShell.js +129 -29
  165. package/dist/editor/client/EditorShell.js.map +1 -1
  166. package/dist/editor/client/editContext.d.ts +30 -4
  167. package/dist/editor/client/editContext.js.map +1 -1
  168. package/dist/editor/client/hooks/useReducedMotion.d.ts +8 -0
  169. package/dist/editor/client/hooks/useReducedMotion.js +12 -0
  170. package/dist/editor/client/hooks/useReducedMotion.js.map +1 -0
  171. package/dist/editor/client/manualShowMeFocus.d.ts +17 -0
  172. package/dist/editor/client/manualShowMeFocus.js +32 -0
  173. package/dist/editor/client/manualShowMeFocus.js.map +1 -0
  174. package/dist/editor/client/ui/FullscreenControls.js +5 -5
  175. package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
  176. package/dist/editor/commands/componentCommands.js +30 -1
  177. package/dist/editor/commands/componentCommands.js.map +1 -1
  178. package/dist/editor/commands/keyboardCommands.d.ts +6 -0
  179. package/dist/editor/commands/keyboardCommands.js +74 -0
  180. package/dist/editor/commands/keyboardCommands.js.map +1 -1
  181. package/dist/editor/commands/reorderComponent.d.ts +20 -0
  182. package/dist/editor/commands/reorderComponent.js +40 -0
  183. package/dist/editor/commands/reorderComponent.js.map +1 -0
  184. package/dist/editor/commands/undo.js +3 -3
  185. package/dist/editor/commands/undo.js.map +1 -1
  186. package/dist/editor/componentFrameColors.d.ts +11 -0
  187. package/dist/editor/componentFrameColors.js +47 -0
  188. package/dist/editor/componentFrameColors.js.map +1 -0
  189. package/dist/editor/field-types/RichTextEditor.js +25 -6
  190. package/dist/editor/field-types/RichTextEditor.js.map +1 -1
  191. package/dist/editor/field-types/RichTextEditorComponent.js +14 -1
  192. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  193. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.d.ts +4 -1
  194. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js +33 -5
  195. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js.map +1 -1
  196. package/dist/editor/insertMenuItems.d.ts +11 -0
  197. package/dist/editor/insertMenuItems.js +9 -0
  198. package/dist/editor/insertMenuItems.js.map +1 -1
  199. package/dist/editor/menubar/ActiveUsers.js +3 -3
  200. package/dist/editor/menubar/ActiveUsers.js.map +1 -1
  201. package/dist/editor/menubar/FavoritesControls.js +46 -27
  202. package/dist/editor/menubar/FavoritesControls.js.map +1 -1
  203. package/dist/editor/menubar/GenericToolbar.js +2 -1
  204. package/dist/editor/menubar/GenericToolbar.js.map +1 -1
  205. package/dist/editor/menubar/ItemLanguageVersion.js +7 -5
  206. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  207. package/dist/editor/menubar/PageSelector.js +1 -1
  208. package/dist/editor/menubar/PageSelector.js.map +1 -1
  209. package/dist/editor/menubar/PreviewDatePicker.js +40 -21
  210. package/dist/editor/menubar/PreviewDatePicker.js.map +1 -1
  211. package/dist/editor/menubar/Separator.d.ts +2 -1
  212. package/dist/editor/menubar/Separator.js +2 -2
  213. package/dist/editor/menubar/Separator.js.map +1 -1
  214. package/dist/editor/menubar/ToolbarFactory.js +24 -17
  215. package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
  216. package/dist/editor/menubar/VersionSelector.d.ts +2 -1
  217. package/dist/editor/menubar/VersionSelector.js +3 -3
  218. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  219. package/dist/editor/menubar/WorkflowButton.js +17 -25
  220. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  221. package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.d.ts +1 -0
  222. package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js +13 -0
  223. package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js.map +1 -0
  224. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js +1 -1
  225. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js.map +1 -1
  226. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +104 -9
  227. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
  228. package/dist/editor/menubar/toolbar-sections/EditControls.d.ts +4 -2
  229. package/dist/editor/menubar/toolbar-sections/EditControls.js +78 -11
  230. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  231. package/dist/editor/menubar/toolbar-sections/FullscreenControl.d.ts +1 -0
  232. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js +15 -0
  233. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js.map +1 -0
  234. package/dist/editor/menubar/toolbar-sections/InsertControls.js +1 -1
  235. package/dist/editor/menubar/toolbar-sections/InsertControls.js.map +1 -1
  236. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +12 -0
  237. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +169 -26
  238. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  239. package/dist/editor/menubar/toolbar-sections/ReviewCommands.js +2 -1
  240. package/dist/editor/menubar/toolbar-sections/ReviewCommands.js.map +1 -1
  241. package/dist/editor/menubar/toolbar-sections/UtilityControls.d.ts +3 -1
  242. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +11 -3
  243. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  244. package/dist/editor/menubar/toolbar-sections/ViewportControls.d.ts +1 -0
  245. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +48 -29
  246. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  247. package/dist/editor/menubar/toolbar-sections/index.d.ts +2 -1
  248. package/dist/editor/menubar/toolbar-sections/index.js +2 -1
  249. package/dist/editor/menubar/toolbar-sections/index.js.map +1 -1
  250. package/dist/editor/notifications/NotificationCenter.d.ts +4 -1
  251. package/dist/editor/notifications/NotificationCenter.js +13 -4
  252. package/dist/editor/notifications/NotificationCenter.js.map +1 -1
  253. package/dist/editor/notifications/WatchButton.d.ts +4 -2
  254. package/dist/editor/notifications/WatchButton.js +78 -20
  255. package/dist/editor/notifications/WatchButton.js.map +1 -1
  256. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +71 -6
  257. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  258. package/dist/editor/page-editor-chrome/CommentHighlightings.js +36 -40
  259. package/dist/editor/page-editor-chrome/CommentHighlightings.js.map +1 -1
  260. package/dist/editor/page-editor-chrome/DragInsertionOverlay.d.ts +36 -0
  261. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +879 -0
  262. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -0
  263. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.d.ts +1 -0
  264. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js +3 -3
  265. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js.map +1 -1
  266. package/dist/editor/page-editor-chrome/FrameMenu.d.ts +3 -2
  267. package/dist/editor/page-editor-chrome/FrameMenu.js +49 -119
  268. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  269. package/dist/editor/page-editor-chrome/FrameMenus.d.ts +1 -1
  270. package/dist/editor/page-editor-chrome/FrameMenus.js +65 -15
  271. package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
  272. package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +25 -0
  273. package/dist/editor/page-editor-chrome/InsertComponentMenu.js +30 -0
  274. package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -0
  275. package/dist/editor/page-editor-chrome/PageEditorChrome.js +14 -2
  276. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  277. package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +33 -2
  278. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +94 -71
  279. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  280. package/dist/editor/page-editor-chrome/PlaceholderDropZones.d.ts +13 -2
  281. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +105 -203
  282. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  283. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +51 -88
  284. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
  285. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js +2 -1
  286. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js.map +1 -1
  287. package/dist/editor/page-editor-chrome/componentDragObject.d.ts +10 -0
  288. package/dist/editor/page-editor-chrome/componentDragObject.js +22 -0
  289. package/dist/editor/page-editor-chrome/componentDragObject.js.map +1 -0
  290. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +32 -0
  291. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +8 -0
  292. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  293. package/dist/editor/page-editor-chrome/overlay/InsertionLine.d.ts +44 -0
  294. package/dist/editor/page-editor-chrome/overlay/InsertionLine.js +160 -0
  295. package/dist/editor/page-editor-chrome/overlay/InsertionLine.js.map +1 -0
  296. package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +39 -0
  297. package/dist/editor/page-editor-chrome/overlay/geometry.js +67 -10
  298. package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
  299. package/dist/editor/page-editor-chrome/overlay/placeholderZones.d.ts +66 -0
  300. package/dist/editor/page-editor-chrome/overlay/placeholderZones.js +274 -0
  301. package/dist/editor/page-editor-chrome/overlay/placeholderZones.js.map +1 -0
  302. package/dist/editor/page-editor-chrome/useComponentDragHandle.d.ts +23 -0
  303. package/dist/editor/page-editor-chrome/useComponentDragHandle.js +41 -0
  304. package/dist/editor/page-editor-chrome/useComponentDragHandle.js.map +1 -0
  305. package/dist/editor/page-editor-chrome/useDragInsertionGesture.d.ts +23 -0
  306. package/dist/editor/page-editor-chrome/useDragInsertionGesture.js +207 -0
  307. package/dist/editor/page-editor-chrome/useDragInsertionGesture.js.map +1 -0
  308. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.d.ts +2 -0
  309. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js +18 -0
  310. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js.map +1 -0
  311. package/dist/editor/page-viewer/EditorForm.js +14 -12
  312. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  313. package/dist/editor/page-viewer/EditorFormHintPopover.d.ts +2 -2
  314. package/dist/editor/page-viewer/EditorFormHintPopover.js +4 -4
  315. package/dist/editor/page-viewer/EditorFormHintPopover.js.map +1 -1
  316. package/dist/editor/page-viewer/MiniMap.d.ts +6 -0
  317. package/dist/editor/page-viewer/MiniMap.js +97 -12
  318. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  319. package/dist/editor/page-viewer/MinimapDropTargets.d.ts +13 -0
  320. package/dist/editor/page-viewer/MinimapDropTargets.js +140 -0
  321. package/dist/editor/page-viewer/MinimapDropTargets.js.map +1 -0
  322. package/dist/editor/page-viewer/PageViewer.js +96 -10
  323. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  324. package/dist/editor/page-viewer/PageViewerFrame.js +263 -6
  325. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  326. package/dist/editor/page-viewer/pageViewContext.d.ts +4 -1
  327. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  328. package/dist/editor/reviews/Comment.js +2 -0
  329. package/dist/editor/reviews/Comment.js.map +1 -1
  330. package/dist/editor/reviews/CommentDisplayPopover.js +5 -2
  331. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  332. package/dist/editor/reviews/CommentPopover.d.ts +4 -0
  333. package/dist/editor/reviews/CommentPopover.js +15 -1
  334. package/dist/editor/reviews/CommentPopover.js.map +1 -1
  335. package/dist/editor/reviews/Comments.js +61 -44
  336. package/dist/editor/reviews/Comments.js.map +1 -1
  337. package/dist/editor/reviews/DecisionsMatrix.js +3 -3
  338. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  339. package/dist/editor/reviews/FeedbackModeIntro.d.ts +15 -0
  340. package/dist/editor/reviews/FeedbackModeIntro.js +22 -0
  341. package/dist/editor/reviews/FeedbackModeIntro.js.map +1 -0
  342. package/dist/editor/reviews/LatestFeedback.js +8 -2
  343. package/dist/editor/reviews/LatestFeedback.js.map +1 -1
  344. package/dist/editor/reviews/ReviewersPanel.js +2 -1
  345. package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
  346. package/dist/editor/reviews/SuggestedEdit.js +9 -7
  347. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  348. package/dist/editor/reviews/SuggestionDisplayPopover.js +3 -3
  349. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  350. package/dist/editor/reviews/feedbackScrollTarget.d.ts +19 -0
  351. package/dist/editor/reviews/feedbackScrollTarget.js +171 -0
  352. package/dist/editor/reviews/feedbackScrollTarget.js.map +1 -0
  353. package/dist/editor/reviews/feedbackSelection.js +4 -4
  354. package/dist/editor/reviews/feedbackSelection.js.map +1 -1
  355. package/dist/editor/reviews/latestFeedbackData.js +1 -1
  356. package/dist/editor/reviews/openCommentsFeedback.d.ts +35 -0
  357. package/dist/editor/reviews/openCommentsFeedback.js +89 -0
  358. package/dist/editor/reviews/openCommentsFeedback.js.map +1 -0
  359. package/dist/editor/services/agentService.d.ts +5 -0
  360. package/dist/editor/services/agentService.js.map +1 -1
  361. package/dist/editor/services/aiService.d.ts +0 -2
  362. package/dist/editor/services/aiService.js.map +1 -1
  363. package/dist/editor/services/editService.d.ts +1 -0
  364. package/dist/editor/services/editService.js +4 -0
  365. package/dist/editor/services/editService.js.map +1 -1
  366. package/dist/editor/settings/IndexOverview.js +2 -2
  367. package/dist/editor/settings/IndexOverview.js.map +1 -1
  368. package/dist/editor/settings/QuotaInfo.js +2 -2
  369. package/dist/editor/settings/QuotaInfo.js.map +1 -1
  370. package/dist/editor/settings/SettingsBreadcrumb.js +8 -2
  371. package/dist/editor/settings/SettingsBreadcrumb.js.map +1 -1
  372. package/dist/editor/settings/SettingsPanelLayout.js +1 -1
  373. package/dist/editor/settings/SettingsPanelLayout.js.map +1 -1
  374. package/dist/editor/settings/SettingsView.js +7 -9
  375. package/dist/editor/settings/SettingsView.js.map +1 -1
  376. package/dist/editor/settings/StatusSummary.js +7 -17
  377. package/dist/editor/settings/StatusSummary.js.map +1 -1
  378. package/dist/editor/settings/panels/AgentToolsPanel.js +2 -1
  379. package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
  380. package/dist/editor/settings/panels/ClusterInstancesPanel.js +2 -1
  381. package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
  382. package/dist/editor/settings/panels/FieldTypeSerializersPanel.js +2 -1
  383. package/dist/editor/settings/panels/FieldTypeSerializersPanel.js.map +1 -1
  384. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js +3 -2
  385. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js.map +1 -1
  386. package/dist/editor/settings/panels/ItemConfigPanel.js +3 -2
  387. package/dist/editor/settings/panels/ItemConfigPanel.js.map +1 -1
  388. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +2 -1
  389. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
  390. package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js +2 -1
  391. package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js.map +1 -1
  392. package/dist/editor/settings/panels/PersistentLogsPanel.js +3 -2
  393. package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -1
  394. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +2 -1
  395. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
  396. package/dist/editor/settings/panels/ProjectTemplateSelectorList.js +3 -2
  397. package/dist/editor/settings/panels/ProjectTemplateSelectorList.js.map +1 -1
  398. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +3 -3
  399. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  400. package/dist/editor/settings/panels/SearchConfigPanel.js +3 -2
  401. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
  402. package/dist/editor/settings/panels/StatusPanel.js +3 -2
  403. package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
  404. package/dist/editor/sidebar/ComponentPalette.d.ts +1 -1
  405. package/dist/editor/sidebar/ComponentPalette.js +58 -25
  406. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  407. package/dist/editor/sidebar/ComponentTree.js +91 -7
  408. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  409. package/dist/editor/sidebar/ContentTreePanel.d.ts +3 -0
  410. package/dist/editor/sidebar/ContentTreePanel.js +14 -0
  411. package/dist/editor/sidebar/ContentTreePanel.js.map +1 -0
  412. package/dist/editor/sidebar/Favorites.js +2 -2
  413. package/dist/editor/sidebar/Favorites.js.map +1 -1
  414. package/dist/editor/sidebar/NavigationPanelItem.js +2 -1
  415. package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
  416. package/dist/editor/sidebar/OperationItem.js +98 -17
  417. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  418. package/dist/editor/sidebar/Workbox.js +14 -133
  419. package/dist/editor/sidebar/Workbox.js.map +1 -1
  420. package/dist/editor/sidebar/WorkspaceButton.js +1 -1
  421. package/dist/editor/sidebar/WorkspaceButton.js.map +1 -1
  422. package/dist/editor/sidebar/WorkspaceRail.js +12 -9
  423. package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
  424. package/dist/editor/sidebar/contentTreeConstants.d.ts +2 -0
  425. package/dist/editor/sidebar/contentTreeConstants.js +3 -0
  426. package/dist/editor/sidebar/contentTreeConstants.js.map +1 -0
  427. package/dist/editor/tree-indicators/GutterColumns.js +4 -14
  428. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  429. package/dist/editor/ui/ItemCollectionEditor.js +3 -2
  430. package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
  431. package/dist/editor/ui/LoadingState.d.ts +11 -0
  432. package/dist/editor/ui/LoadingState.js +27 -0
  433. package/dist/editor/ui/LoadingState.js.map +1 -0
  434. package/dist/editor/ui/PerfectTree.d.ts +22 -1
  435. package/dist/editor/ui/PerfectTree.js +17 -11
  436. package/dist/editor/ui/PerfectTree.js.map +1 -1
  437. package/dist/editor/ui/PublishDialog.d.ts +11 -0
  438. package/dist/editor/ui/PublishDialog.js +101 -0
  439. package/dist/editor/ui/PublishDialog.js.map +1 -0
  440. package/dist/editor/ui/PublishItemDialog.js +2 -1
  441. package/dist/editor/ui/PublishItemDialog.js.map +1 -1
  442. package/dist/editor/ui/PublishRestrictionsDialog.js +3 -2
  443. package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
  444. package/dist/editor/ui/SimpleIconButton.d.ts +6 -0
  445. package/dist/editor/ui/SimpleIconButton.js +13 -4
  446. package/dist/editor/ui/SimpleIconButton.js.map +1 -1
  447. package/dist/editor/ui/SimpleMenu.js +4 -4
  448. package/dist/editor/ui/SimpleMenu.js.map +1 -1
  449. package/dist/editor/ui/SimpleTabs.js +1 -1
  450. package/dist/editor/ui/Spinner.d.ts +14 -1
  451. package/dist/editor/ui/Spinner.js.map +1 -1
  452. package/dist/editor/ui/WorkboxItemsTable.d.ts +15 -0
  453. package/dist/editor/ui/WorkboxItemsTable.js +142 -0
  454. package/dist/editor/ui/WorkboxItemsTable.js.map +1 -0
  455. package/dist/index.d.ts +4 -0
  456. package/dist/index.js +2 -0
  457. package/dist/index.js.map +1 -1
  458. package/dist/lib/pointerDrag.d.ts +20 -0
  459. package/dist/lib/pointerDrag.js +57 -0
  460. package/dist/lib/pointerDrag.js.map +1 -0
  461. package/dist/logging/consolePrefix.d.ts +2 -0
  462. package/dist/logging/consolePrefix.js +49 -0
  463. package/dist/logging/consolePrefix.js.map +1 -0
  464. package/dist/logging/index.d.ts +1 -0
  465. package/dist/logging/index.js +2 -0
  466. package/dist/logging/index.js.map +1 -0
  467. package/dist/logging/install-browser-console.d.ts +1 -0
  468. package/dist/logging/install-browser-console.js +3 -0
  469. package/dist/logging/install-browser-console.js.map +1 -0
  470. package/dist/revision.d.ts +2 -2
  471. package/dist/revision.js +2 -2
  472. package/dist/splash-screen/ModernSplashScreen.js +2 -1
  473. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  474. package/dist/task-board/TaskBoardWorkspace.js +181 -35
  475. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  476. package/dist/task-board/components/CommentsList.js +20 -9
  477. package/dist/task-board/components/CommentsList.js.map +1 -1
  478. package/dist/task-board/components/FinishedProjectCard.d.ts +5 -0
  479. package/dist/task-board/components/FinishedProjectCard.js +8 -0
  480. package/dist/task-board/components/FinishedProjectCard.js.map +1 -0
  481. package/dist/task-board/components/ProjectDashboard.d.ts +10 -1
  482. package/dist/task-board/components/ProjectDashboard.js +90 -6
  483. package/dist/task-board/components/ProjectDashboard.js.map +1 -1
  484. package/dist/task-board/components/ProjectListContent.js +2 -1
  485. package/dist/task-board/components/ProjectListContent.js.map +1 -1
  486. package/dist/task-board/components/ProjectOverviewContent.js +2 -1
  487. package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
  488. package/dist/task-board/components/TaskAgentPanel.d.ts +4 -0
  489. package/dist/task-board/components/TaskAgentPanel.js +12 -6
  490. package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
  491. package/dist/task-board/components/TaskAssigneeBadge.d.ts +16 -0
  492. package/dist/task-board/components/TaskAssigneeBadge.js +21 -0
  493. package/dist/task-board/components/TaskAssigneeBadge.js.map +1 -0
  494. package/dist/task-board/components/TaskAssigneePicker.js +12 -10
  495. package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
  496. package/dist/task-board/components/TaskAttachmentDropZone.d.ts +11 -0
  497. package/dist/task-board/components/TaskAttachmentDropZone.js +100 -0
  498. package/dist/task-board/components/TaskAttachmentDropZone.js.map +1 -0
  499. package/dist/task-board/components/TaskAttachmentsSection.d.ts +1 -0
  500. package/dist/task-board/components/TaskAttachmentsSection.js +15 -41
  501. package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
  502. package/dist/task-board/components/TaskBoardFilterBox.d.ts +4 -0
  503. package/dist/task-board/components/TaskBoardFilterBox.js +7 -0
  504. package/dist/task-board/components/TaskBoardFilterBox.js.map +1 -0
  505. package/dist/task-board/components/TaskBoardProjectListSidebar.js +4 -5
  506. package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
  507. package/dist/task-board/components/TaskCard.js +26 -15
  508. package/dist/task-board/components/TaskCard.js.map +1 -1
  509. package/dist/task-board/components/TaskDetailPanel.d.ts +1 -0
  510. package/dist/task-board/components/TaskDetailPanel.js +15 -12
  511. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  512. package/dist/task-board/components/TaskReviewActions.d.ts +1 -0
  513. package/dist/task-board/components/TaskReviewActions.js +4 -2
  514. package/dist/task-board/components/TaskReviewActions.js.map +1 -1
  515. package/dist/task-board/components/TaskRow.js +6 -12
  516. package/dist/task-board/components/TaskRow.js.map +1 -1
  517. package/dist/task-board/components/TaskboardPersistentLogPanel.js +3 -3
  518. package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -1
  519. package/dist/task-board/components/WizardCommunicationCards.js +1 -1
  520. package/dist/task-board/components/WizardCommunicationCards.js.map +1 -1
  521. package/dist/task-board/components/WizardCommunicationCenter.d.ts +7 -1
  522. package/dist/task-board/components/WizardCommunicationCenter.js +10 -6
  523. package/dist/task-board/components/WizardCommunicationCenter.js.map +1 -1
  524. package/dist/task-board/components/WizardCommunicationShared.js +5 -5
  525. package/dist/task-board/components/WizardCommunicationShared.js.map +1 -1
  526. package/dist/task-board/components/WizardTask.d.ts +5 -1
  527. package/dist/task-board/components/WizardTask.js +14 -30
  528. package/dist/task-board/components/WizardTask.js.map +1 -1
  529. package/dist/task-board/components/WizardTaskDetailsPanel.d.ts +10 -2
  530. package/dist/task-board/components/WizardTaskDetailsPanel.js +56 -11
  531. package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
  532. package/dist/task-board/taskBoardNavStore.d.ts +3 -0
  533. package/dist/task-board/taskBoardNavStore.js +44 -0
  534. package/dist/task-board/taskBoardNavStore.js.map +1 -1
  535. package/dist/task-board/taskPriority.d.ts +4 -0
  536. package/dist/task-board/taskPriority.js +19 -0
  537. package/dist/task-board/taskPriority.js.map +1 -0
  538. package/dist/task-board/views/DependencyGraphView.js +48 -36
  539. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  540. package/dist/task-board/views/KanbanView.js +130 -96
  541. package/dist/task-board/views/KanbanView.js.map +1 -1
  542. package/dist/task-board/views/ListView.js +3 -3
  543. package/dist/task-board/views/ListView.js.map +1 -1
  544. package/dist/task-board/views/WizardView.js +7 -6
  545. package/dist/task-board/views/WizardView.js.map +1 -1
  546. package/dist/tour/default-tour.js +5 -5
  547. package/dist/tour/default-tour.js.map +1 -1
  548. package/package.json +11 -1
  549. package/styles.css +144 -0
  550. package/dist/editor/ai/terminal/useAgentEditorContextSync.d.ts +0 -19
  551. package/dist/editor/ai/terminal/useAgentEditorContextSync.js +0 -142
  552. package/dist/editor/ai/terminal/useAgentEditorContextSync.js.map +0 -1
@@ -1,6 +1,9 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { AlertTriangle, CheckCircle2, ChevronLeft, CircleDollarSign, ClipboardList, FolderTree, Plus, Timer, } from "lucide-react";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { AlertTriangle, CheckCircle2, ChevronLeft, CircleDollarSign, ClipboardList, FolderTree, Info, Plus, Timer, } from "lucide-react";
3
4
  import { Button } from "../../components/ui/button";
5
+ import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
6
+ import { getTaskStatusLabel, normalizeTaskStatus } from "../taskStatus";
4
7
  const EMPTY_COUNTS = {
5
8
  total: 0,
6
9
  todo: 0,
@@ -119,10 +122,87 @@ function formatCurrency(value) {
119
122
  function formatPercent(value) {
120
123
  return `${Math.round(value)}%`;
121
124
  }
125
+ function getAttentionLabel(reason) {
126
+ return (ATTENTION_STOPS.find((stop) => stop.key === reason)?.label ?? "Attention");
127
+ }
128
+ function getTaskReference(task) {
129
+ return task.taskKey?.trim() || task.taskId.slice(0, 8).toUpperCase();
130
+ }
131
+ function getAttentionReasonForTask(task) {
132
+ const normalizedStatus = normalizeTaskStatus(task.status, task.executionState);
133
+ if (normalizedStatus === "Done")
134
+ return null;
135
+ switch (task.executionAttentionReason) {
136
+ case "blocked":
137
+ case "approval":
138
+ case "input":
139
+ case "failed":
140
+ case "budget":
141
+ return task.executionAttentionReason;
142
+ }
143
+ switch (task.executionState) {
144
+ case "WaitingForDependency":
145
+ return "blocked";
146
+ case "WaitingForApproval":
147
+ case "WaitingForToolApproval":
148
+ return "approval";
149
+ case "Questions":
150
+ case "WaitingForInput":
151
+ case "WaitingForUser":
152
+ return "input";
153
+ case "AgentError":
154
+ return "failed";
155
+ case "WaitingForBudget":
156
+ return "budget";
157
+ case "WaitingForCapacity":
158
+ return "capacity";
159
+ }
160
+ if (normalizedStatus === "Review")
161
+ return "approval";
162
+ return null;
163
+ }
164
+ function buildAttentionTickets(groups) {
165
+ return groups.flatMap((group) => group.tasks.flatMap((task) => {
166
+ const reason = getAttentionReasonForTask(task);
167
+ if (!reason)
168
+ return [];
169
+ const normalizedStatus = normalizeTaskStatus(task.status, task.executionState);
170
+ return [
171
+ {
172
+ projectId: group.projectId,
173
+ projectTitle: group.projectTitle,
174
+ taskId: task.taskId,
175
+ taskReference: getTaskReference(task),
176
+ title: task.title,
177
+ reason,
178
+ statusLabel: getTaskStatusLabel(normalizedStatus),
179
+ },
180
+ ];
181
+ }));
182
+ }
122
183
  function KpiTile(props) {
123
184
  const { icon, label, value, detail, testId } = props;
124
185
  return (_jsxs("div", { className: "border-border-default flex min-h-[112px] flex-col justify-between rounded-md border bg-white p-4", "data-testid": testId, children: [_jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsx("div", { className: "text-neutral-grey-50 text-[10px] leading-none font-bold tracking-wider uppercase", children: label }), _jsx("div", { className: "bg-neutral-grey-5 text-neutral-grey-50 flex size-8 items-center justify-center rounded-md", children: icon })] }), _jsxs("div", { children: [_jsx("div", { className: "text-neutral-grey-100 text-2xl leading-tight font-medium", children: value }), _jsx("div", { className: "text-neutral-grey-50 mt-1 text-xs", children: detail })] })] }));
125
186
  }
187
+ function AttentionSummaryHeader(props) {
188
+ const { attentionTotal, attentionTickets, detailsLoading = false, onSelectTicket, } = props;
189
+ const [open, setOpen] = useState(false);
190
+ const content = (_jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "bg-neutral-grey-5 text-neutral-grey-50 flex size-8 items-center justify-center rounded-md", children: _jsx(AlertTriangle, { className: "size-4", strokeWidth: 1.5 }) }), _jsxs("div", { children: [_jsx("h2", { className: "text-neutral-grey-100 text-base font-medium", children: "Attention" }), _jsx("p", { className: "text-neutral-grey-50 text-xs", children: "Work that needs a human or system unblock" })] })] }), _jsx("div", { className: "text-neutral-grey-100 text-xl font-medium", children: attentionTotal })] }));
191
+ if (attentionTotal <= 0) {
192
+ return content;
193
+ }
194
+ return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "hover:bg-neutral-grey-5 focus-visible:ring-component-suggestions -m-2 block w-full rounded-md p-2 text-left transition-colors outline-none focus-visible:ring-2", "aria-label": `Show ${attentionTotal} attention ticket${attentionTotal === 1 ? "" : "s"}`, "data-testid": "taskboard-attention-summary-trigger", children: content }) }), _jsxs(PopoverContent, { align: "end", className: "w-96 p-0", sideOffset: 8, children: [_jsxs("div", { className: "border-border-default border-b px-4 py-3", children: [_jsx("div", { className: "text-neutral-grey-100 text-sm font-medium", children: "Tickets needing attention" }), _jsx("div", { className: "text-neutral-grey-50 mt-0.5 text-xs", children: attentionTickets.length === attentionTotal
195
+ ? `${attentionTotal} ticket${attentionTotal === 1 ? "" : "s"}`
196
+ : `${attentionTickets.length} listed of ${attentionTotal} attention items` })] }), attentionTickets.length > 0 ? (_jsx("ul", { className: "max-h-80 overflow-y-auto p-2", "data-testid": "taskboard-attention-ticket-list", children: attentionTickets.map((ticket) => {
197
+ const ticketContent = (_jsx(_Fragment, { children: _jsxs("div", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-neutral-grey-100 line-clamp-2 text-sm font-medium", children: ticket.title }), _jsxs("div", { className: "text-neutral-grey-50 mt-1 flex flex-wrap items-center gap-x-2 gap-y-1 text-xs", children: [_jsx("span", { children: ticket.taskReference }), _jsx("span", { children: ticket.projectTitle }), _jsx("span", { children: ticket.statusLabel })] })] }), _jsx("span", { className: "bg-feedback-orange-light text-feedback-orange shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold", children: getAttentionLabel(ticket.reason) })] }) }));
198
+ return (_jsx("li", { children: onSelectTicket ? (_jsx("button", { type: "button", className: "hover:bg-neutral-grey-5 focus-visible:ring-component-suggestions block w-full rounded-md px-2.5 py-2 text-left outline-none focus-visible:ring-2", onClick: () => {
199
+ onSelectTicket(ticket);
200
+ setOpen(false);
201
+ }, "data-testid": `taskboard-attention-ticket-${ticket.taskId}`, children: ticketContent })) : (_jsx("div", { className: "rounded-md px-2.5 py-2", children: ticketContent })) }, `${ticket.projectId}:${ticket.taskId}`));
202
+ }) })) : (_jsx("div", { className: "text-neutral-grey-50 px-4 py-5 text-sm", children: detailsLoading
203
+ ? "Ticket details are loading."
204
+ : "No ticket details are available for these attention items yet." }))] })] }));
205
+ }
126
206
  export function TaskStateProgressBar(props) {
127
207
  const { counts, compact = false } = props;
128
208
  const total = counts.total;
@@ -133,11 +213,12 @@ export function TaskStateProgressBar(props) {
133
213
  }) })) : null }));
134
214
  }
135
215
  export function ProjectDashboard(props) {
136
- const { selectedProjectTitle, selectedProjectDescription, parentProjectId, parentProjectTitle, onSelectProject, canCreateTask = false, onCreateTask, showCreateTaskButton = true, } = props;
137
- return (_jsxs("div", { "data-testid": "taskboard-project-dashboard", children: [parentProjectId && parentProjectTitle && onSelectProject && (_jsx("div", { className: "mb-3", children: _jsxs("button", { type: "button", className: "text-neutral-grey-50 hover:text-neutral-grey-100 inline-flex items-center gap-1.5 text-sm", onClick: () => onSelectProject(parentProjectId), "data-testid": "taskboard-parent-project-button", children: [_jsx(ChevronLeft, { className: "h-4 w-4", strokeWidth: 1.5 }), _jsxs("span", { children: ["Back to ", parentProjectTitle] })] }) })), _jsxs("div", { className: "flex flex-col gap-5 lg:flex-row lg:items-start lg:justify-between", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h1", { className: "text-neutral-grey-100 truncate text-3xl leading-tight font-medium tracking-normal", children: selectedProjectTitle }), selectedProjectDescription?.trim() ? (_jsx("p", { className: "text-neutral-grey-50 mt-2 max-w-3xl text-sm leading-6", children: selectedProjectDescription.trim() })) : null] }), showCreateTaskButton ? (_jsx("div", { className: "flex shrink-0 flex-wrap items-center gap-3", children: _jsxs(Button, { onClick: () => onCreateTask?.(), disabled: !canCreateTask || !onCreateTask, "data-testid": "taskboard-create-task-button", children: [_jsx("span", { children: "Create new task" }), _jsx(Plus, { className: "h-4 w-4", strokeWidth: 1.5 })] }) })) : null] })] }));
216
+ const { selectedProjectTitle, selectedProjectDescription, subprojects, parentProjectId, parentProjectTitle, onSelectProject, canCreateTask = false, onCreateTask, showCreateTaskButton = true, showSubprojectTaskVisibilityHint = false, } = props;
217
+ const shouldShowSubprojectTaskVisibilityHint = showSubprojectTaskVisibilityHint && subprojects.length > 0;
218
+ return (_jsxs("div", { "data-testid": "taskboard-project-dashboard", children: [parentProjectId && parentProjectTitle && onSelectProject && (_jsx("div", { className: "mb-3", children: _jsxs("button", { type: "button", className: "text-neutral-grey-50 hover:text-neutral-grey-100 inline-flex items-center gap-1.5 text-sm", onClick: () => onSelectProject(parentProjectId), "data-testid": "taskboard-parent-project-button", children: [_jsx(ChevronLeft, { className: "h-4 w-4", strokeWidth: 1.5 }), _jsxs("span", { children: ["Back to ", parentProjectTitle] })] }) })), _jsxs("div", { className: "flex flex-col gap-5 lg:flex-row lg:items-start lg:justify-between", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h1", { className: "text-neutral-grey-100 truncate text-3xl leading-tight font-medium tracking-normal", children: selectedProjectTitle }), selectedProjectDescription?.trim() ? (_jsx("p", { className: "text-neutral-grey-50 mt-2 max-w-3xl text-sm leading-6", children: selectedProjectDescription.trim() })) : null, shouldShowSubprojectTaskVisibilityHint ? (_jsxs("div", { className: "border-feedback-blue bg-feedback-blue-light/40 text-feedback-blue mt-3 flex max-w-3xl items-start gap-2 rounded-md border px-3 py-2 text-xs leading-5", "data-testid": "taskboard-subproject-task-scope-hint", children: [_jsx(Info, { className: "mt-0.5 h-3.5 w-3.5 shrink-0", strokeWidth: 1.5 }), _jsx("span", { children: "Subproject tasks are not shown in this view. Select a subproject in the projects list to view its tasks." })] })) : null] }), showCreateTaskButton ? (_jsx("div", { className: "flex shrink-0 flex-wrap items-center gap-3", children: _jsxs(Button, { onClick: () => onCreateTask?.(), disabled: !canCreateTask || !onCreateTask, "data-testid": "taskboard-create-task-button", children: [_jsx("span", { children: "Create new task" }), _jsx(Plus, { className: "h-4 w-4", strokeWidth: 1.5 })] }) })) : null] })] }));
138
219
  }
139
220
  export function ProjectKpisPanel(props) {
140
- const { selectedProjectCostUsed = 0, selectedProjectCostLimit = null, selectedProjectTaskCounts, selectedProjectAttention, subprojects, taskCountsByProjectId, } = props;
221
+ const { selectedProjectCostUsed = 0, selectedProjectCostLimit = null, selectedProjectTaskCounts, selectedProjectAttention, subprojects, taskCountsByProjectId, attentionTaskGroups = [], attentionDetailsLoading = false, onSelectAttentionTask, } = props;
141
222
  const normalizedCostUsed = Number.isFinite(selectedProjectCostUsed)
142
223
  ? Math.max(0, selectedProjectCostUsed)
143
224
  : 0;
@@ -161,6 +242,7 @@ export function ProjectKpisPanel(props) {
161
242
  attention.failed +
162
243
  attention.budget +
163
244
  (attention.capacity ?? 0);
245
+ const attentionTickets = buildAttentionTickets(attentionTaskGroups);
164
246
  const budgetDetail = remainingBudget >= 0
165
247
  ? `${formatCurrency(remainingBudget)} remaining of ${formatCurrency(effectiveCostLimit)}`
166
248
  : `${formatCurrency(Math.abs(remainingBudget))} over ${formatCurrency(effectiveCostLimit)}`;
@@ -172,7 +254,9 @@ export function ProjectKpisPanel(props) {
172
254
  ? (value / aggregatedCounts.total) * 100
173
255
  : 0;
174
256
  return (_jsxs("div", { className: "bg-neutral-grey-5/60 flex items-center justify-between gap-3 rounded-md px-3 py-2 text-sm", children: [_jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [_jsx("span", { className: `inline-block size-2 rounded-full ${stop.swatchClassName}` }), _jsx("span", { className: "text-neutral-grey-100 truncate", children: stop.label })] }), _jsxs("span", { className: "text-neutral-grey-50 shrink-0 text-xs tabular-nums", children: [value, " / ", formatPercent(percent)] })] }, stop.key));
175
- }) })] }), _jsxs("section", { className: "border-border-default rounded-md border bg-white p-4", children: [_jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "bg-neutral-grey-5 text-neutral-grey-50 flex size-8 items-center justify-center rounded-md", children: _jsx(AlertTriangle, { className: "size-4", strokeWidth: 1.5 }) }), _jsxs("div", { children: [_jsx("h2", { className: "text-neutral-grey-100 text-base font-medium", children: "Attention" }), _jsx("p", { className: "text-neutral-grey-50 text-xs", children: "Work that needs a human or system unblock" })] })] }), _jsx("div", { className: "text-neutral-grey-100 text-xl font-medium", children: attentionTotal })] }), _jsx("div", { className: "mt-4 space-y-2", children: ATTENTION_STOPS.map((stop) => {
257
+ }) })] }), _jsxs("section", { className: "border-border-default rounded-md border bg-white p-4", children: [_jsx(AttentionSummaryHeader, { attentionTotal: attentionTotal, attentionTickets: attentionTickets, detailsLoading: attentionDetailsLoading, onSelectTicket: onSelectAttentionTask
258
+ ? (ticket) => onSelectAttentionTask(ticket.taskId)
259
+ : undefined }), _jsx("div", { className: "mt-4 space-y-2", children: ATTENTION_STOPS.map((stop) => {
176
260
  const value = attention[stop.key] ?? 0;
177
261
  return (_jsxs("div", { className: "bg-neutral-grey-5/60 flex items-center justify-between gap-3 rounded-md px-3 py-2 text-sm", children: [_jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [_jsx("span", { className: `inline-block size-2 rounded-full ${stop.swatchClassName}` }), _jsx("span", { className: "text-neutral-grey-100 truncate", children: stop.label })] }), _jsx("span", { className: "text-neutral-grey-50 shrink-0 text-xs tabular-nums", children: value })] }, stop.key));
178
262
  }) })] })] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectDashboard.js","sourceRoot":"","sources":["../../../src/task-board/components/ProjectDashboard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectDashboard.js","sourceRoot":"","sources":["../../../src/task-board/components/ProjectDashboard.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { useMemo, useState } from "react";
3
3
  import { LayoutGrid, Shield, Settings, FolderPlus, Clock, Loader2, } from "lucide-react";
4
4
  import { Button } from "../../components/ui/button";
5
5
  import { DeleteIcon } from "../../components/ui/delete-icon";
6
+ import { Switch } from "../../components/ui/switch";
6
7
  import { SearchInput } from "../../components/SearchInput";
7
8
  import { cn } from "../../lib/utils";
8
9
  import { formatDistanceToNow } from "date-fns";
@@ -31,7 +32,7 @@ export function ProjectListContent({ nav, onProjectSelected, className, maxHeigh
31
32
  return (_jsxs("div", { className: cn("flex flex-col", className), children: [_jsxs("div", { className: "flex items-center justify-between border-b px-3 py-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "text-neutral-grey-50 text-xs font-medium tracking-wider", children: "Projects" }), nav.isProjectsLoading ? (_jsx(Loader2, { className: "text-neutral-grey-50 h-3.5 w-3.5 animate-spin", "data-testid": "taskboard-projects-loading-spinner" })) : null] }), _jsxs("div", { className: "flex items-center gap-2", children: [nav.selectedProjectId ? (_jsxs(Button, { variant: "ghost", size: "sm", className: "text-neutral-grey-50 h-8 px-2.5", "data-testid": "taskboard-open-project-overview-button", onClick: () => {
32
33
  nav.onSelectProject?.(null);
33
34
  onProjectSelected?.();
34
- }, children: [_jsx(LayoutGrid, { className: "mr-1.5 h-3.5 w-3.5" }), "Overview"] })) : null, _jsxs(Button, { variant: "default", size: "sm", className: "h-8 px-3", "data-testid": "taskboard-create-project-button", onClick: () => nav.onCreateProject?.(), children: [_jsx(FolderPlus, { className: "mr-1.5 h-3.5 w-3.5" }), "New project"] })] })] }), _jsx("div", { className: "border-b px-3 py-2", children: _jsxs("div", { className: "grid gap-2", children: [_jsx(SearchInput, { value: projectSearch, onChange: setProjectSearch, placeholder: "Search projects...", size: "md", searchIconPosition: "left", testId: "taskboard-project-search-input" }), _jsxs("label", { className: "text-neutral-grey-50 flex items-center gap-2 text-xs", children: [_jsx("input", { type: "checkbox", checked: hideArchivedProjects, onChange: (e) => setHideArchivedProjects(e.target.checked), "data-testid": "taskboard-hide-archived-checkbox" }), "Hide archived projects"] }), nav.isAdministrator ? (_jsxs("div", { className: "grid gap-1", children: [_jsxs("label", { className: "text-neutral-grey-50 flex items-center gap-2 text-xs", children: [_jsx("input", { type: "checkbox", checked: nav.showAllProjects, onChange: (e) => nav.onToggleShowAllProjects?.(e.target.checked), "data-testid": "taskboard-show-all-projects-checkbox" }), "Show all projects"] }), _jsx("p", { className: "text-neutral-grey-50 pl-5 text-[10px]", "data-testid": "taskboard-show-all-projects-hint", children: "Admin feature: includes projects across all users." })] })) : null] }) }), _jsx("div", { className: cn("overflow-y-auto p-2", maxHeight === "none" && "min-h-0 flex-1"), style: maxHeight !== "none" ? { maxHeight } : undefined, children: nav.isProjectsLoading && nav.projectOptions.length === 0 ? (_jsxs("div", { className: "text-neutral-grey-50 flex items-center justify-center gap-2 rounded-md border border-dashed px-3 py-8 text-xs", "data-testid": "taskboard-projects-empty-loading", children: [_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" }), "Loading projects..."] })) : nav.projectOptions.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 rounded-md border border-dashed px-3 py-8 text-center text-xs", children: "No projects yet" })) : filteredProjectOptions.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 rounded-md border border-dashed px-3 py-8 text-center text-xs", children: "No matching projects" })) : (_jsx("div", { className: "flex flex-col gap-1", children: filteredProjectOptions.map((project) => {
35
+ }, children: [_jsx(LayoutGrid, { className: "mr-1.5 h-3.5 w-3.5" }), "Overview"] })) : null, _jsxs(Button, { variant: "default", size: "sm", className: "h-8 px-3", "data-testid": "taskboard-create-project-button", onClick: () => nav.onCreateProject?.(), children: [_jsx(FolderPlus, { className: "mr-1.5 h-3.5 w-3.5" }), "New project"] })] })] }), _jsx("div", { className: "border-b px-3 py-2", children: _jsxs("div", { className: "grid gap-2", children: [_jsx(SearchInput, { value: projectSearch, onChange: setProjectSearch, placeholder: "Search projects...", size: "md", searchIconPosition: "left", testId: "taskboard-project-search-input" }), _jsxs("label", { className: "text-neutral-grey-50 flex items-center gap-2 text-xs", children: [_jsx("input", { type: "checkbox", checked: hideArchivedProjects, onChange: (e) => setHideArchivedProjects(e.target.checked), "data-testid": "taskboard-hide-archived-checkbox" }), "Hide archived projects"] }), nav.isAdministrator ? (_jsxs("div", { className: "grid gap-1", children: [_jsxs("label", { className: "text-neutral-grey-50 hover:text-neutral-grey-100 flex cursor-pointer items-center justify-start gap-2 rounded text-[12px] font-medium transition-colors", children: [_jsx("span", { className: "truncate select-none", children: "Show all projects" }), _jsx(Switch, { checked: nav.showAllProjects, onCheckedChange: (checked) => nav.onToggleShowAllProjects?.(checked === true), "aria-label": "Show all projects", "data-testid": "taskboard-show-all-projects-checkbox", className: "data-[state=checked]:bg-neutral-grey-100 data-[state=unchecked]:bg-neutral-grey-15 h-[20px] w-[38px] p-[2px] shadow-none [&_[data-slot=switch-thumb]]:size-[16px] [&_[data-slot=switch-thumb]]:data-[state=checked]:translate-x-[18px]" })] }), _jsx("p", { className: "text-neutral-grey-50 text-[10px]", "data-testid": "taskboard-show-all-projects-hint", children: "Admin feature: includes projects across all users." })] })) : null] }) }), _jsx("div", { className: cn("overflow-y-auto p-2", maxHeight === "none" && "min-h-0 flex-1"), style: maxHeight !== "none" ? { maxHeight } : undefined, children: nav.isProjectsLoading && nav.projectOptions.length === 0 ? (_jsxs("div", { className: "text-neutral-grey-50 flex items-center justify-center gap-2 rounded-md border border-dashed px-3 py-8 text-xs", "data-testid": "taskboard-projects-empty-loading", children: [_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" }), "Loading projects..."] })) : nav.projectOptions.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 rounded-md border border-dashed px-3 py-8 text-center text-xs", children: "No projects yet" })) : filteredProjectOptions.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 rounded-md border border-dashed px-3 py-8 text-center text-xs", children: "No matching projects" })) : (_jsx("div", { className: "flex flex-col gap-1", children: filteredProjectOptions.map((project) => {
35
36
  const isSelected = project.projectId === nav.selectedProjectId;
36
37
  const canManage = project.permission === "Owner";
37
38
  const isSubproject = (project.depth ?? 0) > 0;
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectListContent.js","sourceRoot":"","sources":["../../../src/task-board/components/ProjectListContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,MAAM,EACN,QAAQ,EACR,UAAU,EACV,KAAK,EACL,OAAO,GACR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAsB/C,MAAM,UAAU,kBAAkB,CAAC,EACjC,GAAG,EACH,iBAAiB,EACjB,SAAS,EACT,SAAS,GAAG,GAAG,GACS;IACxB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvE,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3C,IACE,oBAAoB;gBACpB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,UAAU,EAC5C,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YACjD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YACnD,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACrB,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC3B,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC1B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CACvB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAE9D,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,aAC5C,eAAK,SAAS,EAAC,sDAAsD,aACnE,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,yDAAyD,yBAElE,EACL,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CACvB,KAAC,OAAO,IACN,SAAS,EAAC,+CAA+C,iBAC7C,oCAAoC,GAChD,CACH,CAAC,CAAC,CAAC,IAAI,IACJ,EACN,eAAK,SAAS,EAAC,yBAAyB,aACrC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CACvB,MAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,iCAAiC,iBAC/B,wCAAwC,EACpD,OAAO,EAAE,GAAG,EAAE;oCACZ,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;oCAC5B,iBAAiB,EAAE,EAAE,CAAC;gCACxB,CAAC,aAED,KAAC,UAAU,IAAC,SAAS,EAAC,oBAAoB,GAAG,gBAEtC,CACV,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,UAAU,iBACR,iCAAiC,EAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,aAEtC,KAAC,UAAU,IAAC,SAAS,EAAC,oBAAoB,GAAG,mBAEtC,IACL,IACF,EACN,cAAK,SAAS,EAAC,oBAAoB,YACjC,eAAK,SAAS,EAAC,YAAY,aACzB,KAAC,WAAW,IACV,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAC,oBAAoB,EAChC,IAAI,EAAC,IAAI,EACT,kBAAkB,EAAC,MAAM,EACzB,MAAM,EAAC,gCAAgC,GACvC,EACF,iBAAO,SAAS,EAAC,sDAAsD,aACrE,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,iBAC9C,kCAAkC,GAC9C,8BAEI,EACP,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CACrB,eAAK,SAAS,EAAC,YAAY,aACzB,iBAAO,SAAS,EAAC,sDAAsD,aACrE,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,GAAG,CAAC,eAAe,EAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,iBAErC,sCAAsC,GAClD,yBAEI,EACR,YACE,SAAS,EAAC,uCAAuC,iBACrC,kCAAkC,mEAG5C,IACA,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,GACF,EACN,cACE,SAAS,EAAE,EAAE,CACX,qBAAqB,EACrB,SAAS,KAAK,MAAM,IAAI,gBAAgB,CACzC,EACD,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,YAEtD,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC1D,eACE,SAAS,EAAC,+GAA+G,iBAC7G,kCAAkC,aAE9C,KAAC,OAAO,IAAC,SAAS,EAAC,0BAA0B,GAAG,2BAE5C,CACP,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpC,cAAK,SAAS,EAAC,oFAAoF,gCAE7F,CACP,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACxC,cAAK,SAAS,EAAC,oFAAoF,qCAE7F,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,qBAAqB,YACjC,sBAAsB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBACtC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,KAAK,GAAG,CAAC,iBAAiB,CAAC;wBAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC;wBACjD,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBACjE,OAAO,CACL,8BAEe,4BAA4B,OAAO,CAAC,SAAS,EAAE,EAC5D,SAAS,EAAE,EAAE,CACX,+FAA+F,EAC/F,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAChC,UAAU;gCACR,CAAC,CAAC,yCAAyC;gCAC3C,CAAC,CAAC,2EAA2E,CAChF,aAED,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0BAA0B,EACpC,KAAK,EAAE;wCACL,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,SAAS;qCACpD,EACD,OAAO,EAAE,GAAG,EAAE;wCACZ,GAAG,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wCACzC,iBAAiB,EAAE,EAAE,CAAC;oCACxB,CAAC,aAED,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,UAAU,IACT,SAAS,EAAE,EAAE,CACX,sBAAsB,EACtB,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CACzC,GACD,EACD,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CACpC,eAAM,SAAS,EAAC,kCAAkC,uBAE3C,CACR,CAAC,CAAC,CAAC,IAAI,EACR,eACE,SAAS,EAAE,EAAE,CACX,gCAAgC,EAChC,YAAY;wDACV,CAAC,CAAC,qBAAqB;wDACvB,CAAC,CAAC,qBAAqB,CAC1B,YAEA,OAAO,CAAC,KAAK,GACT,IACH,EACL,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAC9B,cACE,SAAS,EAAE,EAAE,CACX,wCAAwC,EACxC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,cAAc,CACrD,YAEA,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,GACvB,CACP,EACD,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,SAAS,EAAC,2BAA2B,aACxC,KAAC,MAAM,IACL,SAAS,EAAE,EAAE,CACX,sBAAsB,EACtB,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CACzC,GACD,EACF,eACE,SAAS,EAAE,EAAE,CACX,iDAAiD,EACjD,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAC5C,YAEA,OAAO,CAAC,UAAU,GACd,IACH,EACL,OAAO,CAAC,SAAS,IAAI,CACpB,eACE,SAAS,EAAC,2BAA2B,EACrC,KAAK,EAAE,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,aAEtE,KAAC,KAAK,IACJ,SAAS,EAAE,EAAE,CACX,sBAAsB,EACtB,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CACzC,GACD,EACF,eACE,SAAS,EAAE,EAAE,CACX,kCAAkC,EAClC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAC5C,YAEA,mBAAmB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gEAChD,SAAS,EAAE,IAAI;6DAChB,CAAC,GACG,IACH,CACP,IACG,IACC,EACR,SAAS,IAAI,CACZ,eAAK,SAAS,EAAC,oFAAoF,aACjG,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,SAAS,EACnB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gDACb,CAAC,CAAC,eAAe,EAAE,CAAC;gDACpB,GAAG,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gDAC/C,iBAAiB,EAAE,EAAE,CAAC;4CACxB,CAAC,EACD,KAAK,EAAC,kBAAkB,YAExB,KAAC,QAAQ,IAAC,SAAS,EAAC,aAAa,GAAG,GAC7B,EACT,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,iFAAiF,EAC3F,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gDACb,CAAC,CAAC,eAAe,EAAE,CAAC;gDACpB,GAAG,CAAC,eAAe,EAAE,CACnB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,KAAK,CACd,CAAC;4CACJ,CAAC,EACD,KAAK,EAAC,gBAAgB,YAEtB,KAAC,UAAU,IAAC,IAAI,EAAC,IAAI,GAAG,GACjB,IACL,CACP,KA/HI,OAAO,CAAC,SAAS,CAgIlB,CACP,CAAC;oBACJ,CAAC,CAAC,GACE,CACP,GACG,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ProjectListContent.js","sourceRoot":"","sources":["../../../src/task-board/components/ProjectListContent.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { Clock, FileStack, FolderPlus, LayoutGrid, Loader2, Settings, Shield, }
4
4
  import { formatDistanceToNow } from "date-fns";
5
5
  import { DeleteIcon } from "../../components/ui/delete-icon";
6
6
  import { Button } from "../../components/ui/button";
7
+ import { Switch } from "../../components/ui/switch";
7
8
  import { SearchInput } from "../../components/SearchInput";
8
9
  import { cn } from "../../lib/utils";
9
10
  import { TaskStateProgressBar } from "./ProjectDashboard";
@@ -32,7 +33,7 @@ export function ProjectOverviewContent({ nav }) {
32
33
  status.includes(query));
33
34
  });
34
35
  }, [hideArchivedProjects, nav.projectOptions, projectSearch]);
35
- return (_jsxs("div", { className: "flex min-h-full w-full flex-col rounded-2xl border bg-white shadow-sm", "data-testid": "taskboard-project-overview", children: [_jsxs("div", { className: "flex flex-col gap-3 border-b px-4 py-4 md:flex-row md:items-start md:justify-between", children: [_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "text-neutral-grey-50 text-xs font-medium tracking-wider", children: "Taskboard" }), _jsx("h2", { className: "text-neutral-grey-100 text-xl font-medium", children: "Projects Overview" }), _jsx("p", { className: "text-neutral-grey-50 max-w-2xl text-sm", children: "Pick a project to open the board. Progress is shown here so you can see where each project stands." })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs(Button, { variant: "outline", size: "sm", className: "h-9 px-3", "data-testid": "taskboard-project-overview-edit-templates-button", onClick: () => nav.onOpenProjectTemplates?.(), children: [_jsx(FileStack, { className: "mr-1.5 h-3.5 w-3.5" }), "Edit Templates"] }), _jsxs(Button, { variant: "default", size: "sm", className: "h-9 px-3", "data-testid": "taskboard-project-overview-create-button", onClick: () => nav.onCreateProject?.(), children: [_jsx(FolderPlus, { className: "mr-1.5 h-3.5 w-3.5" }), "New project"] })] })] }), _jsx("div", { className: "border-b px-4 py-3", children: _jsxs("div", { className: "grid gap-3 lg:grid-cols-[minmax(0,1fr)_auto_auto] lg:items-center", children: [_jsx(SearchInput, { value: projectSearch, onChange: setProjectSearch, placeholder: "Search projects...", size: "lg", searchIconPosition: "left", inputClassName: "text-sm", testId: "taskboard-project-overview-search-input" }), _jsxs("label", { className: "text-neutral-grey-50 flex items-center gap-2 text-xs", children: [_jsx("input", { type: "checkbox", checked: hideArchivedProjects, onChange: (e) => setHideArchivedProjects(e.target.checked), "data-testid": "taskboard-project-overview-hide-archived" }), "Hide archived projects"] }), nav.isAdministrator ? (_jsxs("label", { className: "text-neutral-grey-50 flex items-center gap-2 text-xs", children: [_jsx("input", { type: "checkbox", checked: nav.showAllProjects, onChange: (e) => nav.onToggleShowAllProjects?.(e.target.checked), "data-testid": "taskboard-project-overview-show-all-projects" }), "Show all projects"] })) : null] }) }), _jsx("div", { className: "min-h-0 flex-1 overflow-y-auto p-4", children: nav.isProjectsLoading && nav.projectOptions.length === 0 ? (_jsxs("div", { className: "text-neutral-grey-50 flex min-h-[240px] items-center justify-center gap-2 rounded-xl border border-dashed text-sm", "data-testid": "taskboard-project-overview-loading", children: [_jsx(Loader2, { className: "h-4 w-4 animate-spin" }), "Loading projects..."] })) : nav.projectOptions.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 rounded-xl border border-dashed px-4 py-12 text-center text-sm", children: "No projects yet" })) : filteredProjectOptions.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 rounded-xl border border-dashed px-4 py-12 text-center text-sm", children: "No matching projects" })) : (_jsx("div", { className: "grid gap-4 md:grid-cols-2 xl:grid-cols-3", children: filteredProjectOptions.map((project) => {
36
+ return (_jsxs("div", { className: "flex min-h-full w-full flex-col rounded-2xl border bg-white shadow-sm", "data-testid": "taskboard-project-overview", children: [_jsxs("div", { className: "flex flex-col gap-3 border-b px-4 py-4 md:flex-row md:items-start md:justify-between", children: [_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "text-neutral-grey-50 text-xs font-medium tracking-wider", children: "Taskboard" }), _jsx("h2", { className: "text-neutral-grey-100 text-xl font-medium", children: "Projects Overview" }), _jsx("p", { className: "text-neutral-grey-50 max-w-2xl text-sm", children: "Pick a project to open the board. Progress is shown here so you can see where each project stands." })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs(Button, { variant: "outline", size: "sm", className: "h-9 px-3", "data-testid": "taskboard-project-overview-edit-templates-button", onClick: () => nav.onOpenProjectTemplates?.(), children: [_jsx(FileStack, { className: "mr-1.5 h-3.5 w-3.5" }), "Edit Templates"] }), _jsxs(Button, { variant: "default", size: "sm", className: "h-9 px-3", "data-testid": "taskboard-project-overview-create-button", onClick: () => nav.onCreateProject?.(), children: [_jsx(FolderPlus, { className: "mr-1.5 h-3.5 w-3.5" }), "New project"] })] })] }), _jsx("div", { className: "border-b px-4 py-3", children: _jsxs("div", { className: "grid gap-3 lg:grid-cols-[minmax(0,1fr)_auto_auto] lg:items-center", children: [_jsx(SearchInput, { value: projectSearch, onChange: setProjectSearch, placeholder: "Search projects...", size: "lg", searchIconPosition: "left", inputClassName: "text-sm", testId: "taskboard-project-overview-search-input" }), _jsxs("label", { className: "text-neutral-grey-50 flex items-center gap-2 text-xs", children: [_jsx("input", { type: "checkbox", checked: hideArchivedProjects, onChange: (e) => setHideArchivedProjects(e.target.checked), "data-testid": "taskboard-project-overview-hide-archived" }), "Hide archived projects"] }), nav.isAdministrator ? (_jsxs("label", { className: "text-neutral-grey-50 hover:text-neutral-grey-100 flex cursor-pointer items-center justify-end gap-2 rounded text-right text-[12px] font-medium transition-colors", children: [_jsx("span", { className: "truncate select-none", children: "Show all projects" }), _jsx(Switch, { checked: nav.showAllProjects, onCheckedChange: (checked) => nav.onToggleShowAllProjects?.(checked === true), "aria-label": "Show all projects", "data-testid": "taskboard-project-overview-show-all-projects", className: "data-[state=checked]:bg-neutral-grey-100 data-[state=unchecked]:bg-neutral-grey-15 h-[20px] w-[38px] p-[2px] shadow-none [&_[data-slot=switch-thumb]]:size-[16px] [&_[data-slot=switch-thumb]]:data-[state=checked]:translate-x-[18px]" })] })) : null] }) }), _jsx("div", { className: "min-h-0 flex-1 overflow-y-auto p-4", children: nav.isProjectsLoading && nav.projectOptions.length === 0 ? (_jsxs("div", { className: "text-neutral-grey-50 flex min-h-[240px] items-center justify-center gap-2 rounded-xl border border-dashed text-sm", "data-testid": "taskboard-project-overview-loading", children: [_jsx(Loader2, { className: "h-4 w-4 animate-spin" }), "Loading projects..."] })) : nav.projectOptions.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 rounded-xl border border-dashed px-4 py-12 text-center text-sm", children: "No projects yet" })) : filteredProjectOptions.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 rounded-xl border border-dashed px-4 py-12 text-center text-sm", children: "No matching projects" })) : (_jsx("div", { className: "grid gap-4 md:grid-cols-2 xl:grid-cols-3", children: filteredProjectOptions.map((project) => {
36
37
  const counts = project.overview?.taskCounts ?? {
37
38
  total: 0,
38
39
  todo: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectOverviewContent.js","sourceRoot":"","sources":["../../../src/task-board/components/ProjectOverviewContent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectOverviewContent.js","sourceRoot":"","sources":["../../../src/task-board/components/ProjectOverviewContent.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type ReactNode } from "react";
1
2
  import type { AgentStatus } from "../../editor/services/agentService";
2
3
  export type TaskAgentPanelMode = "no-task-selected" | "no-agent" | "agent";
3
4
  export declare function TaskAgentPanel(props: {
@@ -5,6 +6,9 @@ export declare function TaskAgentPanel(props: {
5
6
  terminalKey?: string;
6
7
  mode: TaskAgentPanelMode;
7
8
  label?: string;
9
+ taskDetailsContent?: ReactNode;
10
+ taskDetailsPopoverOpen?: boolean;
11
+ onTaskDetailsPopoverOpenChange?: (open: boolean) => void;
8
12
  onAssignAgent?: () => void;
9
13
  onRunAssignedAgent?: () => void;
10
14
  hasAssignedAgentProfile?: boolean;
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useState } from "react";
3
- import { CheckCircle2, Play, UserPlus } from "lucide-react";
3
+ import { CheckCircle2, ClipboardList, Play, UserPlus } from "lucide-react";
4
4
  import { ParheliaAgentIcon } from "../../editor/ui/Icons";
5
5
  import { Button } from "../../components/ui/button";
6
+ import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
6
7
  import { AgentTerminal } from "../../editor/ai/AgentTerminal";
7
8
  import { isAgentClosed as isClosedAgentStatus } from "../../editor/services/agentStatus";
8
9
  import { LicenseFeatures, useFeature } from "../../licensing";
@@ -10,8 +11,12 @@ import { getAiProfilesErrorMessage, loadAiProfiles, } from "../../editor/service
10
11
  function isAgentClosed(status) {
11
12
  return isClosedAgentStatus(status);
12
13
  }
14
+ function TaskAgentHeader(props) {
15
+ const { label, taskDetailsContent, taskDetailsPopoverOpen, onTaskDetailsPopoverOpenChange, } = props;
16
+ return (_jsxs("div", { className: "flex items-center justify-between gap-2 border-b px-4 py-3", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsx(ParheliaAgentIcon, { className: "text-neutral-grey-100 h-5 w-5 shrink-0" }), _jsx("div", { className: "text-neutral-grey-100 truncate text-sm font-medium", children: label })] }), taskDetailsContent ? (_jsxs(Popover, { open: taskDetailsPopoverOpen, onOpenChange: onTaskDetailsPopoverOpenChange, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "iconSm", className: "text-neutral-grey-50 hover:bg-neutral-grey-5 hover:text-neutral-grey-100 shrink-0", "aria-label": "Task details", title: "Task details", "data-testid": "taskboard-agent-task-details-button", children: _jsx(ClipboardList, { className: "h-4 w-4" }) }) }), _jsx(PopoverContent, { align: "end", side: "bottom", sideOffset: 8, className: "h-[720px] max-h-[calc(100vh-8rem)] w-[720px] max-w-[calc(100vw-2rem)] overflow-hidden p-0", children: _jsx("div", { className: "h-full min-h-0 overflow-hidden", children: taskDetailsContent }) })] })) : null] }));
17
+ }
13
18
  export function TaskAgentPanel(props) {
14
- const { agentId, terminalKey, mode, label, onAssignAgent, onRunAssignedAgent, hasAssignedAgentProfile = false, assignedAgentProfileName, canAssignAgent = true, assignAgentDisabledReason, canRunAssignedAgent = true, runAssignedAgentDisabledReason, onStartPlanning, assignedAgentStatus, onReopenTask, } = props;
19
+ const { agentId, terminalKey, mode, label, taskDetailsContent, taskDetailsPopoverOpen, onTaskDetailsPopoverOpenChange, onAssignAgent, onRunAssignedAgent, hasAssignedAgentProfile = false, assignedAgentProfileName, canAssignAgent = true, assignAgentDisabledReason, canRunAssignedAgent = true, runAssignedAgentDisabledReason, onStartPlanning, assignedAgentStatus, onReopenTask, } = props;
15
20
  const canUseAi = useFeature(LicenseFeatures.AI);
16
21
  const [profiles, setProfiles] = useState([]);
17
22
  const [profilesError, setProfilesError] = useState(null);
@@ -56,16 +61,17 @@ export function TaskAgentPanel(props) {
56
61
  ? runAssignedAgentDisabledReason
57
62
  : assignAgentDisabledReason;
58
63
  const agentClosed = isAgentClosed(assignedAgentStatus);
64
+ const header = (_jsx(TaskAgentHeader, { label: label || "Agent", taskDetailsContent: taskDetailsContent, taskDetailsPopoverOpen: taskDetailsPopoverOpen, onTaskDetailsPopoverOpenChange: onTaskDetailsPopoverOpenChange }));
59
65
  if (!canUseAi) {
60
- return (_jsxs("div", { className: "flex h-full flex-col border-l bg-white", "data-testid": "taskboard-agent-panel", children: [_jsxs("div", { className: "flex items-center gap-2 border-b px-4 py-3", children: [_jsx(ParheliaAgentIcon, { className: "text-neutral-grey-100 h-5 w-5" }), _jsx("div", { className: "text-neutral-grey-100 text-sm font-medium", children: label || "Agent" })] }), _jsxs("div", { className: "flex flex-1 flex-col items-center justify-center gap-3 p-6 text-center", children: [_jsx(ParheliaAgentIcon, { className: "text-muted-foreground/40 h-10 w-10" }), _jsxs("div", { className: "grid gap-1", children: [_jsx("div", { className: "text-muted-foreground text-sm font-medium", children: "AI features are unavailable" }), _jsx("div", { className: "text-muted-foreground text-xs", children: "This license does not include task agents or planning." })] })] })] }));
66
+ return (_jsxs("div", { className: "flex h-full flex-col border-l bg-white", "data-testid": "taskboard-agent-panel", children: [header, _jsxs("div", { className: "flex flex-1 flex-col items-center justify-center gap-3 p-6 text-center", children: [_jsx(ParheliaAgentIcon, { className: "text-muted-foreground/40 h-10 w-10" }), _jsxs("div", { className: "grid gap-1", children: [_jsx("div", { className: "text-muted-foreground text-sm font-medium", children: "AI features are unavailable" }), _jsx("div", { className: "text-muted-foreground text-xs", children: "This license does not include task agents or planning." })] })] })] }));
61
67
  }
62
68
  // ── empty states ──
63
69
  if (mode === "no-task-selected") {
64
- return (_jsxs("div", { className: "flex h-full flex-col border-l bg-white", "data-testid": "taskboard-agent-panel", children: [_jsxs("div", { className: "flex items-center gap-2 border-b px-4 py-3", children: [_jsx(ParheliaAgentIcon, { className: "text-neutral-grey-100 h-5 w-5" }), _jsx("div", { className: "text-neutral-grey-100 text-sm font-medium", children: label || "Agent" })] }), _jsxs("div", { className: "flex flex-1 flex-col items-center justify-center gap-3 p-6 text-center", children: [_jsx(ParheliaAgentIcon, { className: "text-muted-foreground/40 h-10 w-10" }), _jsxs("div", { className: "grid gap-1", children: [_jsx("div", { className: "text-muted-foreground text-sm font-medium", children: "No task selected" }), _jsx("div", { className: "text-muted-foreground text-xs", children: "Click on a task to see its agent here." })] })] })] }));
70
+ return (_jsxs("div", { className: "flex h-full flex-col border-l bg-white", "data-testid": "taskboard-agent-panel", children: [header, _jsxs("div", { className: "flex flex-1 flex-col items-center justify-center gap-3 p-6 text-center", children: [_jsx(ParheliaAgentIcon, { className: "text-muted-foreground/40 h-10 w-10" }), _jsxs("div", { className: "grid gap-1", children: [_jsx("div", { className: "text-muted-foreground text-sm font-medium", children: "No task selected" }), _jsx("div", { className: "text-muted-foreground text-xs", children: "Click on a task to see its agent here." })] })] })] }));
65
71
  }
66
72
  if (!agentStub) {
67
73
  // mode === "no-agent"
68
- return (_jsxs("div", { className: "flex h-full flex-col border-l bg-white", "data-testid": "taskboard-agent-panel", children: [_jsxs("div", { className: "flex items-center gap-2 border-b px-4 py-3", children: [_jsx(ParheliaAgentIcon, { className: "text-neutral-grey-100 h-5 w-5" }), _jsx("div", { className: "text-neutral-grey-100 text-sm font-medium", children: label || "Agent" })] }), _jsxs("div", { className: "flex flex-1 flex-col items-center justify-center gap-4 p-6 text-center", children: [_jsx(ParheliaAgentIcon, { className: "text-muted-foreground/40 h-10 w-10" }), _jsxs("div", { className: "grid gap-1", children: [_jsxs("div", { className: "flex items-center justify-center gap-2", children: [_jsx("div", { className: "text-muted-foreground text-sm font-medium", children: hasAssignedAgentProfile
74
+ return (_jsxs("div", { className: "flex h-full flex-col border-l bg-white", "data-testid": "taskboard-agent-panel", children: [header, _jsxs("div", { className: "flex flex-1 flex-col items-center justify-center gap-4 p-6 text-center", children: [_jsx(ParheliaAgentIcon, { className: "text-muted-foreground/40 h-10 w-10" }), _jsxs("div", { className: "grid gap-1", children: [_jsxs("div", { className: "flex items-center justify-center gap-2", children: [_jsx("div", { className: "text-muted-foreground text-sm font-medium", children: hasAssignedAgentProfile
69
75
  ? "No agent running"
70
76
  : "No agent assigned" }), (onAssignAgent || onRunAssignedAgent) && (_jsxs(Button, { variant: "outline", size: "sm", onClick: hasAssignedAgentProfile ? onRunAssignedAgent : onAssignAgent, disabled: !canPerformPrimaryAction, title: !canPerformPrimaryAction
71
77
  ? primaryActionDisabledReason
@@ -76,6 +82,6 @@ export function TaskAgentPanel(props) {
76
82
  : "This task does not have an agent assigned yet." }), profilesError && (_jsx("div", { className: "text-destructive text-xs", children: profilesError })), !canPerformPrimaryAction && primaryActionDisabledReason && (_jsx("div", { className: "text-feedback-orange text-xs", children: primaryActionDisabledReason }))] }), onStartPlanning && (_jsxs(Button, { variant: "default", size: "sm", onClick: onStartPlanning, children: [_jsx(Play, { className: "mr-1 h-4 w-4" }), "Start Planning"] }))] })] }));
77
83
  }
78
84
  // ── agent terminal ──
79
- return (_jsxs("div", { className: "flex h-full min-h-0 flex-col border-l bg-white", "data-testid": "taskboard-agent-panel", children: [_jsx("div", { className: "flex items-center justify-between gap-2 border-b px-4 py-3", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(ParheliaAgentIcon, { className: "text-neutral-grey-100 h-5 w-5" }), _jsx("div", { className: "text-neutral-grey-100 text-sm font-medium", children: label || "Agent" })] }) }), profilesError ? (_jsx("div", { className: "border-destructive/20 bg-destructive/5 text-destructive border-b px-4 py-2 text-xs", children: profilesError })) : null, _jsx("div", { className: "min-h-0 flex-1", children: _jsx(AgentTerminal, { agentStub: agentStub, profiles: profiles, isActive: true, compact: true, hideGreeting: true, displayMode: "full", showSummaryInput: false, hideBottomControls: agentClosed, className: "h-full" }, terminalKey ?? agentId ?? "task-agent-terminal") }), agentClosed ? (_jsxs("div", { className: "border-feedback-green bg-feedback-green-light border-t px-4 py-3", children: [_jsxs("div", { className: "text-feedback-green flex items-center gap-2 text-sm font-medium", children: [_jsx(CheckCircle2, { className: "h-4 w-4 shrink-0" }), _jsx("span", { children: "This task's agent has finished." })] }), _jsx("p", { className: "text-feedback-green mt-1 text-xs", children: "Reopen this task to continue working with its agent." }), onReopenTask && (_jsx(Button, { variant: "outline", size: "sm", className: "border-feedback-green text-feedback-green hover:bg-feedback-green-light mt-2", onClick: onReopenTask, children: "Reopen" }))] })) : null] }));
85
+ return (_jsxs("div", { className: "flex h-full min-h-0 flex-col border-l bg-white", "data-testid": "taskboard-agent-panel", children: [header, profilesError ? (_jsx("div", { className: "border-destructive/20 bg-destructive/5 text-destructive border-b px-4 py-2 text-xs", children: profilesError })) : null, _jsx("div", { className: "min-h-0 flex-1", children: _jsx(AgentTerminal, { agentStub: agentStub, profiles: profiles, isActive: true, compact: true, hideGreeting: true, displayMode: "full", showSummaryInput: false, hideBottomControls: agentClosed, className: "h-full" }, terminalKey ?? agentId ?? "task-agent-terminal") }), agentClosed ? (_jsxs("div", { className: "border-feedback-green bg-feedback-green-light border-t px-4 py-3", children: [_jsxs("div", { className: "text-feedback-green flex items-center gap-2 text-sm font-medium", children: [_jsx(CheckCircle2, { className: "h-4 w-4 shrink-0" }), _jsx("span", { children: "This task's agent has finished." })] }), _jsx("p", { className: "text-feedback-green mt-1 text-xs", children: "Reopen this task to continue working with its agent." }), onReopenTask && (_jsx(Button, { variant: "outline", size: "sm", className: "border-feedback-green text-feedback-green hover:bg-feedback-green-light mt-2", onClick: onReopenTask, children: "Reopen" }))] })) : null] }));
80
86
  }
81
87
  //# sourceMappingURL=TaskAgentPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskAgentPanel.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskAgentPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,yBAAyB,EACzB,cAAc,GAEf,MAAM,iCAAiC,CAAC;AAQzC,SAAS,aAAa,CAAC,MAA+B;IACpD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAgB9B;IACC,MAAM,EACJ,OAAO,EACP,WAAW,EACX,IAAI,EACJ,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,uBAAuB,GAAG,KAAK,EAC/B,wBAAwB,EACxB,cAAc,GAAG,IAAI,EACrB,yBAAyB,EACzB,mBAAmB,GAAG,IAAI,EAC1B,8BAA8B,EAC9B,eAAe,EACf,mBAAmB,EACnB,YAAY,GACb,GAAG,KAAK,CAAC;IACV,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,WAAW,CAAC,EAAE,CAAC,CAAC;YAChB,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,cAAc,EAAE;aACb,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,IAAI,CAAC,SAAS;gBAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,SAAS;gBAAE,OAAO;YACtB,WAAW,CAAC,EAAE,CAAC,CAAC;YAChB,gBAAgB,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,SAAS,GAAG,OAAO,CAAC,GAAiB,EAAE;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,OAAO;YACL,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,SAAS;SACT,CAAC;IACb,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,uBAAuB,GAAG,uBAAuB;QACrD,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,cAAc,CAAC;IACnB,MAAM,2BAA2B,GAAG,uBAAuB;QACzD,CAAC,CAAC,8BAA8B;QAChC,CAAC,CAAC,yBAAyB,CAAC;IAC9B,MAAM,WAAW,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAEvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CACL,eACE,SAAS,EAAC,wCAAwC,iBACtC,uBAAuB,aAEnC,eAAK,SAAS,EAAC,4CAA4C,aACzD,KAAC,iBAAiB,IAAC,SAAS,EAAC,+BAA+B,GAAG,EAC/D,cAAK,SAAS,EAAC,2CAA2C,YACvD,KAAK,IAAI,OAAO,GACb,IACF,EACN,eAAK,SAAS,EAAC,wEAAwE,aACrF,KAAC,iBAAiB,IAAC,SAAS,EAAC,oCAAoC,GAAG,EACpE,eAAK,SAAS,EAAC,YAAY,aACzB,cAAK,SAAS,EAAC,2CAA2C,4CAEpD,EACN,cAAK,SAAS,EAAC,+BAA+B,uEAExC,IACF,IACF,IACF,CACP,CAAC;IACJ,CAAC;IAED,qBAAqB;IAErB,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,OAAO,CACL,eACE,SAAS,EAAC,wCAAwC,iBACtC,uBAAuB,aAEnC,eAAK,SAAS,EAAC,4CAA4C,aACzD,KAAC,iBAAiB,IAAC,SAAS,EAAC,+BAA+B,GAAG,EAC/D,cAAK,SAAS,EAAC,2CAA2C,YACvD,KAAK,IAAI,OAAO,GACb,IACF,EACN,eAAK,SAAS,EAAC,wEAAwE,aACrF,KAAC,iBAAiB,IAAC,SAAS,EAAC,oCAAoC,GAAG,EACpE,eAAK,SAAS,EAAC,YAAY,aACzB,cAAK,SAAS,EAAC,2CAA2C,iCAEpD,EACN,cAAK,SAAS,EAAC,+BAA+B,uDAExC,IACF,IACF,IACF,CACP,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,sBAAsB;QACtB,OAAO,CACL,eACE,SAAS,EAAC,wCAAwC,iBACtC,uBAAuB,aAEnC,eAAK,SAAS,EAAC,4CAA4C,aACzD,KAAC,iBAAiB,IAAC,SAAS,EAAC,+BAA+B,GAAG,EAC/D,cAAK,SAAS,EAAC,2CAA2C,YACvD,KAAK,IAAI,OAAO,GACb,IACF,EACN,eAAK,SAAS,EAAC,wEAAwE,aACrF,KAAC,iBAAiB,IAAC,SAAS,EAAC,oCAAoC,GAAG,EACpE,eAAK,SAAS,EAAC,YAAY,aACzB,eAAK,SAAS,EAAC,wCAAwC,aACrD,cAAK,SAAS,EAAC,2CAA2C,YACvD,uBAAuB;gDACtB,CAAC,CAAC,kBAAkB;gDACpB,CAAC,CAAC,mBAAmB,GACnB,EACL,CAAC,aAAa,IAAI,kBAAkB,CAAC,IAAI,CACxC,MAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,OAAO,EACL,uBAAuB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,EAE9D,QAAQ,EAAE,CAAC,uBAAuB,EAClC,KAAK,EACH,CAAC,uBAAuB;gDACtB,CAAC,CAAC,2BAA2B;gDAC7B,CAAC,CAAC,SAAS,aAGd,uBAAuB,CAAC,CAAC,CAAC,CACzB,KAAC,IAAI,IAAC,SAAS,EAAC,cAAc,GAAG,CAClC,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAAC,SAAS,EAAC,cAAc,GAAG,CACtC,EACA,uBAAuB;oDACtB,CAAC,CAAC,WAAW;oDACb,CAAC,CAAC,sBAAsB,IACnB,CACV,IACG,EACN,cAAK,SAAS,EAAC,+BAA+B,YAC3C,uBAAuB;wCACtB,CAAC,CAAC,oDAAoD,wBAAwB,IAAI,iBAAiB,IAAI;wCACvG,CAAC,CAAC,gDAAgD,GAChD,EACL,aAAa,IAAI,CAChB,cAAK,SAAS,EAAC,0BAA0B,YAAE,aAAa,GAAO,CAChE,EACA,CAAC,uBAAuB,IAAI,2BAA2B,IAAI,CAC1D,cAAK,SAAS,EAAC,8BAA8B,YAC1C,2BAA2B,GACxB,CACP,IACG,EACL,eAAe,IAAI,CAClB,MAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,eAAe,aAC1D,KAAC,IAAI,IAAC,SAAS,EAAC,cAAc,GAAG,sBAE1B,CACV,IACG,IACF,CACP,CAAC;IACJ,CAAC;IAED,uBAAuB;IAEvB,OAAO,CACL,eACE,SAAS,EAAC,gDAAgD,iBAC9C,uBAAuB,aAEnC,cAAK,SAAS,EAAC,4DAA4D,YACzE,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,iBAAiB,IAAC,SAAS,EAAC,+BAA+B,GAAG,EAC/D,cAAK,SAAS,EAAC,2CAA2C,YACvD,KAAK,IAAI,OAAO,GACb,IACF,GACF,EACL,aAAa,CAAC,CAAC,CAAC,CACf,cAAK,SAAS,EAAC,oFAAoF,YAChG,aAAa,GACV,CACP,CAAC,CAAC,CAAC,IAAI,EACR,cAAK,SAAS,EAAC,gBAAgB,YAC7B,KAAC,aAAa,IAEZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,IAAI,EACd,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,EAClB,WAAW,EAAC,MAAM,EAClB,gBAAgB,EAAE,KAAK,EACvB,kBAAkB,EAAE,WAAW,EAC/B,SAAS,EAAC,QAAQ,IATb,WAAW,IAAI,OAAO,IAAI,qBAAqB,CAUpD,GACE,EACL,WAAW,CAAC,CAAC,CAAC,CACb,eAAK,SAAS,EAAC,kEAAkE,aAC/E,eAAK,SAAS,EAAC,iEAAiE,aAC9E,KAAC,YAAY,IAAC,SAAS,EAAC,kBAAkB,GAAG,EAC7C,6DAA4C,IACxC,EACN,YAAG,SAAS,EAAC,kCAAkC,qEAE3C,EACH,YAAY,IAAI,CACf,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,8EAA8E,EACxF,OAAO,EAAE,YAAY,uBAGd,CACV,IACG,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TaskAgentPanel.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskAgentPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { TaskAssigneeType } from "../types";
2
+ export declare const taskAssigneeBadgeClassName = "text-muted-foreground badge-pad-sm bg-neutral-grey-5 flex min-w-0 items-center gap-1 rounded-md text-xs";
3
+ export declare const taskAssigneeBadgeLabelClassName = "max-w-[120px] truncate";
4
+ export declare const taskAssigneePickerButtonClassName = "h-auto max-w-full min-w-0 justify-start gap-1 rounded-md border border-transparent bg-neutral-grey-5 px-1 py-0.5 text-left text-xs font-medium text-muted-foreground shadow-none hover:bg-neutral-grey-5 hover:text-muted-foreground";
5
+ export declare function TaskAssigneeIcon({ assigneeType, className, }: {
6
+ assigneeType?: TaskAssigneeType | null;
7
+ className?: string;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export declare function TaskAssigneeBadge({ assigneeType, label, className, iconClassName, labelClassName, labelTestId, }: {
10
+ assigneeType?: TaskAssigneeType | null;
11
+ label?: string | null;
12
+ className?: string;
13
+ iconClassName?: string;
14
+ labelClassName?: string;
15
+ labelTestId?: string;
16
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Shield, User } from "lucide-react";
3
+ import { cn } from "../../lib/utils";
4
+ import { ParheliaAgentIcon } from "../../editor/ui/Icons";
5
+ export const taskAssigneeBadgeClassName = "text-muted-foreground badge-pad-sm bg-neutral-grey-5 flex min-w-0 items-center gap-1 rounded-md text-xs";
6
+ export const taskAssigneeBadgeLabelClassName = "max-w-[120px] truncate";
7
+ export const taskAssigneePickerButtonClassName = "h-auto max-w-full min-w-0 justify-start gap-1 rounded-md border border-transparent bg-neutral-grey-5 px-1 py-0.5 text-left text-xs font-medium text-muted-foreground shadow-none hover:bg-neutral-grey-5 hover:text-muted-foreground";
8
+ export function TaskAssigneeIcon({ assigneeType, className, }) {
9
+ const iconClassName = cn("size-3 shrink-0", className);
10
+ if (assigneeType === "Agent") {
11
+ return (_jsx("span", { className: cn("inline-flex items-center justify-center", iconClassName), "data-testid": "taskboard-assignee-agent-icon", children: _jsx(ParheliaAgentIcon, { className: "size-full", title: "Agent assignee", size: 12 }) }));
12
+ }
13
+ const Icon = assigneeType === "Role" ? Shield : User;
14
+ return _jsx(Icon, { className: iconClassName });
15
+ }
16
+ export function TaskAssigneeBadge({ assigneeType, label, className, iconClassName, labelClassName, labelTestId, }) {
17
+ if (!label)
18
+ return null;
19
+ return (_jsxs("span", { className: cn(taskAssigneeBadgeClassName, className), title: label, children: [_jsx(TaskAssigneeIcon, { assigneeType: assigneeType, className: iconClassName }), _jsx("span", { className: cn(taskAssigneeBadgeLabelClassName, labelClassName), "data-testid": labelTestId, children: label })] }));
20
+ }
21
+ //# sourceMappingURL=TaskAssigneeBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskAssigneeBadge.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskAssigneeBadge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,MAAM,CAAC,MAAM,0BAA0B,GACrC,yGAAyG,CAAC;AAE5G,MAAM,CAAC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAExE,MAAM,CAAC,MAAM,iCAAiC,GAC5C,sOAAsO,CAAC;AAEzO,MAAM,UAAU,gBAAgB,CAAC,EAC/B,YAAY,EACZ,SAAS,GAIV;IACC,MAAM,aAAa,GAAG,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAEvD,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CAAC,yCAAyC,EAAE,aAAa,CAAC,iBAC3D,+BAA+B,YAE3C,KAAC,iBAAiB,IAChB,SAAS,EAAC,WAAW,EACrB,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAE,EAAE,GACR,GACG,CACR,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,OAAO,KAAC,IAAI,IAAC,SAAS,EAAE,aAAa,GAAI,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,YAAY,EACZ,KAAK,EACL,SAAS,EACT,aAAa,EACb,cAAc,EACd,WAAW,GAQZ;IACC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO,CACL,gBAAM,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,aACtE,KAAC,gBAAgB,IACf,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,aAAa,GACxB,EACF,eACE,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,cAAc,CAAC,iBACjD,WAAW,YAEvB,KAAK,GACD,IACF,CACR,CAAC;AACJ,CAAC"}
@@ -1,13 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useRef, useState } from "react";
3
- import { Check, ChevronDown, Loader2, Shield, UserRound, X, } from "lucide-react";
4
- import { ParheliaAgentIcon } from "../../editor/ui/Icons";
3
+ import { Check, ChevronDown, Loader2, User, X } from "lucide-react";
4
+ import { useResolvedUser } from "../../editor/services/userResolution";
5
5
  import { Button } from "../../components/ui/button";
6
6
  import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, } from "../../components/ui/command";
7
7
  import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
8
8
  import { searchTaskAssignableUsers, searchTemplateAssignableUsers, } from "../services/taskService";
9
9
  import { getAiProfilesErrorMessage, loadAiProfiles, } from "../../editor/services/aiService";
10
+ import { AgentProfileIcon } from "../../agents-view/AgentProfileIcon";
10
11
  import { LicenseFeatures, useFeature } from "../../licensing";
12
+ import { TaskAssigneeIcon } from "./TaskAssigneeBadge";
11
13
  const MIN_QUERY_LENGTH = 2;
12
14
  export function TaskAssigneePicker({ projectId, projectTemplateId, assigneeType = null, value, displayValue, disabled = false, onChange, placeholder = "Assign user or agent", buttonClassName, buttonTestId, showChevron = true, showAssigneeIcon = false, }) {
13
15
  const canUseAi = useFeature(LicenseFeatures.AI);
@@ -89,6 +91,10 @@ export function TaskAssigneePicker({ projectId, projectTemplateId, assigneeType
89
91
  const fromResults = results.find((item) => item.userName.toLowerCase() === value.toLowerCase());
90
92
  return fromResults?.displayName || displayValue || value;
91
93
  }, [displayValue, results, value]);
94
+ const resolvedUserAssignee = useResolvedUser(assigneeType === "user" && value ? value : null, { fullName: currentLabel || displayValue || null });
95
+ const currentAssigneeLabel = assigneeType === "user" && value
96
+ ? resolvedUserAssignee.displayName
97
+ : currentLabel;
92
98
  const handleSelectUser = (next) => {
93
99
  onChange({
94
100
  assigneeType: "user",
@@ -122,11 +128,7 @@ export function TaskAssigneePicker({ projectId, projectTemplateId, assigneeType
122
128
  profile.id.toLowerCase().includes(normalizedQuery));
123
129
  });
124
130
  }, [canUseAi, profiles, normalizedQuery]);
125
- const AssigneeIcon = assigneeType === "Agent"
126
- ? ParheliaAgentIcon
127
- : assigneeType === "Role"
128
- ? Shield
129
- : UserRound;
131
+ const assigneeIcon = _jsx(TaskAssigneeIcon, { assigneeType: assigneeType });
130
132
  return (_jsxs(Popover, { open: open, onOpenChange: (nextOpen) => {
131
133
  if (nextOpen && triggerRef.current) {
132
134
  const dialogContent = triggerRef.current.closest('[data-slot="dialog-content"]');
@@ -134,11 +136,11 @@ export function TaskAssigneePicker({ projectId, projectTemplateId, assigneeType
134
136
  }
135
137
  setOpen(nextOpen);
136
138
  }, enableIframeClickDetection: false, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { ref: triggerRef, size: "sm", variant: "outline", className: buttonClassName ||
137
- "bg-neutral-grey-5 h-[29px] w-[220px] justify-between rounded-md text-xs font-medium", disabled: disabled, "data-testid": buttonTestId, children: [showAssigneeIcon ? (_jsx(AssigneeIcon, { className: "h-3 w-3 shrink-0 opacity-70" })) : null, _jsx("span", { className: "truncate text-left", children: currentLabel || placeholder }), showChevron ? (_jsx(ChevronDown, { className: "h-3.5 w-3.5 opacity-60" })) : null] }) }), _jsx(PopoverContent, { className: "w-[300px] p-0", align: "start", container: portalContainer, onMouseDown: (event) => event.stopPropagation(), onClick: (event) => event.stopPropagation(), children: _jsxs(Command, { shouldFilter: false, children: [_jsx(CommandInput, { value: query, onValueChange: setQuery, placeholder: "Search users or agent profiles...", className: "h-8 text-xs", autoFocus: true }), _jsxs(CommandList, { className: "max-h-64", children: [!value && !canSearch && (_jsx(CommandGroup, { children: _jsxs(CommandItem, { disabled: true, className: "text-muted-foreground", children: ["Type at least ", MIN_QUERY_LENGTH, " characters"] }) })), value && (_jsx(CommandGroup, { heading: "Current", children: _jsxs(CommandItem, { onSelect: () => {
139
+ "bg-neutral-grey-5 h-[29px] w-[220px] justify-between rounded-md text-xs font-medium", disabled: disabled, "data-testid": buttonTestId, children: [showAssigneeIcon ? assigneeIcon : null, _jsx("span", { className: "truncate text-left", children: currentAssigneeLabel || placeholder }), showChevron ? (_jsx(ChevronDown, { className: "h-3.5 w-3.5 opacity-60" })) : null] }) }), _jsx(PopoverContent, { className: "w-[300px] p-0", align: "start", container: portalContainer, onMouseDown: (event) => event.stopPropagation(), onClick: (event) => event.stopPropagation(), children: _jsxs(Command, { shouldFilter: false, children: [_jsx(CommandInput, { value: query, onValueChange: setQuery, placeholder: "Search users or agent profiles...", className: "h-8 text-xs", autoFocus: true }), _jsxs(CommandList, { className: "max-h-64", children: [!value && !canSearch && (_jsx(CommandGroup, { children: _jsxs(CommandItem, { disabled: true, className: "text-muted-foreground", children: ["Type at least ", MIN_QUERY_LENGTH, " characters"] }) })), value && (_jsx(CommandGroup, { heading: "Current", children: _jsxs(CommandItem, { onSelect: () => {
138
140
  onChange(null);
139
141
  setOpen(false);
140
- }, children: [_jsx(X, { className: "h-3.5 w-3.5" }), _jsx("span", { children: "Clear assignee" })] }) })), canUseAi && (_jsx(CommandGroup, { heading: "Agent profiles", children: loadingProfiles ? (_jsxs(CommandItem, { disabled: true, children: [_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" }), _jsx("span", { children: "Loading agent profiles..." })] })) : profilesError ? (_jsxs(CommandItem, { disabled: true, className: "text-destructive h-auto items-start gap-2 whitespace-normal opacity-100", children: [_jsx(X, { className: "mt-0.5 h-3.5 w-3.5 shrink-0" }), _jsx("span", { children: profilesError })] })) : filteredProfiles.length === 0 ? (_jsx(CommandItem, { disabled: true, className: "text-muted-foreground", children: "No agent profiles available." })) : (filteredProfiles.map((profile) => (_jsxs(CommandItem, { value: profile.id, onSelect: () => handleSelectProfile(profile), children: [_jsx(UserRound, { className: "h-3.5 w-3.5" }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate", children: profile.displayTitle || profile.name }), _jsx("div", { className: "text-muted-foreground truncate text-[10px]", children: profile.description || profile.id })] }), assigneeType === "Agent" &&
141
- value?.toLowerCase() === profile.id.toLowerCase() && (_jsx(Check, { className: "h-3.5 w-3.5" }))] }, profile.id)))) })), canSearch && (_jsx(CommandGroup, { heading: "Users", children: loading ? (_jsxs(CommandItem, { disabled: true, children: [_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" }), _jsx("span", { children: "Searching users..." })] })) : (results.map((user) => (_jsxs(CommandItem, { value: user.userName, onSelect: () => handleSelectUser(user), children: [_jsx(UserRound, { className: "h-3.5 w-3.5" }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate", children: user.displayName || user.userName }), _jsxs("div", { className: "text-muted-foreground truncate text-[10px]", children: [user.userName, user.email ? ` • ${user.email}` : ""] })] }), assigneeType === "user" &&
142
+ }, children: [_jsx(X, { className: "h-3.5 w-3.5" }), _jsx("span", { children: "Clear assignee" })] }) })), canUseAi && (_jsx(CommandGroup, { heading: "Agent profiles", children: loadingProfiles ? (_jsxs(CommandItem, { disabled: true, children: [_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" }), _jsx("span", { children: "Loading agent profiles..." })] })) : profilesError ? (_jsxs(CommandItem, { disabled: true, className: "text-destructive h-auto items-start gap-2 whitespace-normal opacity-100", children: [_jsx(X, { className: "mt-0.5 h-3.5 w-3.5 shrink-0" }), _jsx("span", { children: profilesError })] })) : filteredProfiles.length === 0 ? (_jsx(CommandItem, { disabled: true, className: "text-muted-foreground", children: "No agent profiles available." })) : (filteredProfiles.map((profile) => (_jsxs(CommandItem, { value: profile.id, onSelect: () => handleSelectProfile(profile), children: [_jsx(AgentProfileIcon, { svgIcon: profile.svgIcon, size: "xs", className: "bg-neutral-grey-5 text-neutral-grey-100 p-[3px]" }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate", children: profile.displayTitle || profile.name }), _jsx("div", { className: "text-muted-foreground truncate text-[10px]", children: profile.description || profile.id })] }), assigneeType === "Agent" &&
143
+ value?.toLowerCase() === profile.id.toLowerCase() && (_jsx(Check, { className: "h-3.5 w-3.5" }))] }, profile.id)))) })), canSearch && (_jsx(CommandGroup, { heading: "Users", children: loading ? (_jsxs(CommandItem, { disabled: true, children: [_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" }), _jsx("span", { children: "Searching users..." })] })) : (results.map((user) => (_jsxs(CommandItem, { value: user.userName, onSelect: () => handleSelectUser(user), children: [_jsx(User, { className: "h-3.5 w-3.5" }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate", children: user.displayName || user.userName }), _jsxs("div", { className: "text-muted-foreground truncate text-[10px]", children: [user.userName, user.email ? ` • ${user.email}` : ""] })] }), assigneeType === "user" &&
142
144
  value?.toLowerCase() ===
143
145
  user.userName.toLowerCase() && (_jsx(Check, { className: "h-3.5 w-3.5" }))] }, user.userName)))) })), canSearch &&
144
146
  !loading &&