@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.
- package/dist/agents-view/AgentCard.js +1 -1
- package/dist/agents-view/AgentCard.js.map +1 -1
- package/dist/agents-view/AgentProfileIcon.d.ts +1 -1
- package/dist/agents-view/AgentProfileIcon.js +4 -0
- package/dist/agents-view/AgentProfileIcon.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +10 -24
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/agents-view/ProfileAgentsGroup.js +2 -3
- package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
- package/dist/components/MarkdownDisplay.js +1 -1
- package/dist/components/MarkdownDisplay.js.map +1 -1
- package/dist/components/SearchInput.d.ts +1 -0
- package/dist/components/SearchInput.js +2 -2
- package/dist/components/SearchInput.js.map +1 -1
- package/dist/components/ui/LanguageSelectionGrid.js +2 -1
- package/dist/components/ui/LanguageSelectionGrid.js.map +1 -1
- package/dist/components/ui/LanguageSelector.d.ts +2 -1
- package/dist/components/ui/LanguageSelector.js +3 -3
- package/dist/components/ui/LanguageSelector.js.map +1 -1
- package/dist/components/ui/badge.d.ts +5 -1
- package/dist/components/ui/badge.js +8 -3
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/button.js +4 -5
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/checkbox.js.map +1 -1
- package/dist/components/ui/command.js +1 -1
- package/dist/components/ui/command.js.map +1 -1
- package/dist/components/ui/context-menu.d.ts +13 -0
- package/dist/components/ui/context-menu.js +61 -57
- package/dist/components/ui/context-menu.js.map +1 -1
- package/dist/components/ui/dropdown-menu.js +4 -4
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/input.js +2 -2
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/switch.js +1 -1
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/textarea.js +1 -1
- package/dist/components/ui/textarea.js.map +1 -1
- package/dist/config/config.js +40 -15
- package/dist/config/config.js.map +1 -1
- package/dist/config/notificationRoutes.js +2 -2
- package/dist/config/notificationRoutes.js.map +1 -1
- package/dist/editor/ContentTree.js +13 -5
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/ContextMenu.js +4 -6
- package/dist/editor/ContextMenu.js.map +1 -1
- package/dist/editor/FieldListField.js +14 -7
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/GlobalMenuBar.js +1 -2
- package/dist/editor/GlobalMenuBar.js.map +1 -1
- package/dist/editor/ImageEditor.js +1 -1
- package/dist/editor/ImageEditor.js.map +1 -1
- package/dist/editor/LinkEditorDialog.js +13 -0
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/MainLayout.js +66 -9
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/Titlebar.js +1 -1
- package/dist/editor/Titlebar.js.map +1 -1
- package/dist/editor/WorkspaceTitleSwitcher.js +12 -31
- package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -1
- package/dist/editor/ai/AgentProfileSelector.js +2 -2
- package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
- package/dist/editor/ai/AgentStatusBadge.js +3 -11
- package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
- package/dist/editor/ai/Agents.js +46 -41
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.js +24 -26
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/InlineAiTrigger.js +30 -1
- package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
- package/dist/editor/ai/agentActivitySummary.d.ts +108 -0
- package/dist/editor/ai/agentActivitySummary.js +390 -0
- package/dist/editor/ai/agentActivitySummary.js.map +1 -0
- package/dist/editor/ai/terminal/agentContextMerge.d.ts +19 -0
- package/dist/editor/ai/terminal/agentContextMerge.js +88 -0
- package/dist/editor/ai/terminal/agentContextMerge.js.map +1 -0
- package/dist/editor/ai/terminal/components/ActivitySummaryCell.d.ts +21 -0
- package/dist/editor/ai/terminal/components/ActivitySummaryCell.js +133 -0
- package/dist/editor/ai/terminal/components/ActivitySummaryCell.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +7 -0
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +145 -0
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js +1 -1
- package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +13 -13
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +2 -2
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js +1 -1
- package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentModeSelector.d.ts +1 -1
- package/dist/editor/ai/terminal/components/AgentModeSelector.js +86 -9
- package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js +1 -1
- package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +2 -2
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -2
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +4 -27
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +2 -2
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +15 -12
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -0
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +1 -3
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +10 -10
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +17 -3
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +59 -5
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +5 -4
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -0
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +84 -28
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.d.ts +2 -4
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +93 -223
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js +7 -45
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentEditorContextPipeline.d.ts +0 -4
- package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js +1 -7
- package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentQuickActions.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentQuickActions.js +61 -3
- package/dist/editor/ai/terminal/useAgentQuickActions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js +0 -2
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +3 -3
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +0 -3
- package/dist/editor/ai/terminal/useAgentSkillActions.js +8 -26
- package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +1 -5
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +6 -19
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalChrome.d.ts +1 -3
- package/dist/editor/ai/terminal/useAgentTerminalChrome.js +2 -2
- package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +18 -22
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -2
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewState.d.ts +0 -6
- package/dist/editor/ai/terminal/useAgentTerminalViewState.js +2 -16
- package/dist/editor/ai/terminal/useAgentTerminalViewState.js.map +1 -1
- package/dist/editor/ai/useActiveAgentConversation.d.ts +2 -0
- package/dist/editor/ai/useActiveAgentConversation.js +20 -0
- package/dist/editor/ai/useActiveAgentConversation.js.map +1 -1
- package/dist/editor/bridge/protocol.d.ts +48 -0
- package/dist/editor/bridge/protocol.js +13 -1
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/EditorShell.d.ts +2 -0
- package/dist/editor/client/EditorShell.js +129 -29
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +30 -4
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/useReducedMotion.d.ts +8 -0
- package/dist/editor/client/hooks/useReducedMotion.js +12 -0
- package/dist/editor/client/hooks/useReducedMotion.js.map +1 -0
- package/dist/editor/client/manualShowMeFocus.d.ts +17 -0
- package/dist/editor/client/manualShowMeFocus.js +32 -0
- package/dist/editor/client/manualShowMeFocus.js.map +1 -0
- package/dist/editor/client/ui/FullscreenControls.js +5 -5
- package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
- package/dist/editor/commands/componentCommands.js +30 -1
- package/dist/editor/commands/componentCommands.js.map +1 -1
- package/dist/editor/commands/keyboardCommands.d.ts +6 -0
- package/dist/editor/commands/keyboardCommands.js +74 -0
- package/dist/editor/commands/keyboardCommands.js.map +1 -1
- package/dist/editor/commands/reorderComponent.d.ts +20 -0
- package/dist/editor/commands/reorderComponent.js +40 -0
- package/dist/editor/commands/reorderComponent.js.map +1 -0
- package/dist/editor/commands/undo.js +3 -3
- package/dist/editor/commands/undo.js.map +1 -1
- package/dist/editor/componentFrameColors.d.ts +11 -0
- package/dist/editor/componentFrameColors.js +47 -0
- package/dist/editor/componentFrameColors.js.map +1 -0
- package/dist/editor/field-types/RichTextEditor.js +25 -6
- package/dist/editor/field-types/RichTextEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditorComponent.js +14 -1
- package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
- package/dist/editor/field-types/richtext/hooks/useRichTextProfile.d.ts +4 -1
- package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js +33 -5
- package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js.map +1 -1
- package/dist/editor/insertMenuItems.d.ts +11 -0
- package/dist/editor/insertMenuItems.js +9 -0
- package/dist/editor/insertMenuItems.js.map +1 -1
- package/dist/editor/menubar/ActiveUsers.js +3 -3
- package/dist/editor/menubar/ActiveUsers.js.map +1 -1
- package/dist/editor/menubar/FavoritesControls.js +46 -27
- package/dist/editor/menubar/FavoritesControls.js.map +1 -1
- package/dist/editor/menubar/GenericToolbar.js +2 -1
- package/dist/editor/menubar/GenericToolbar.js.map +1 -1
- package/dist/editor/menubar/ItemLanguageVersion.js +7 -5
- package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
- package/dist/editor/menubar/PageSelector.js +1 -1
- package/dist/editor/menubar/PageSelector.js.map +1 -1
- package/dist/editor/menubar/PreviewDatePicker.js +40 -21
- package/dist/editor/menubar/PreviewDatePicker.js.map +1 -1
- package/dist/editor/menubar/Separator.d.ts +2 -1
- package/dist/editor/menubar/Separator.js +2 -2
- package/dist/editor/menubar/Separator.js.map +1 -1
- package/dist/editor/menubar/ToolbarFactory.js +24 -17
- package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.d.ts +2 -1
- package/dist/editor/menubar/VersionSelector.js +3 -3
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/WorkflowButton.js +17 -25
- package/dist/editor/menubar/WorkflowButton.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js +13 -0
- package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js +1 -1
- package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +104 -9
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/EditControls.d.ts +4 -2
- package/dist/editor/menubar/toolbar-sections/EditControls.js +78 -11
- package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/FullscreenControl.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/FullscreenControl.js +15 -0
- package/dist/editor/menubar/toolbar-sections/FullscreenControl.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/InsertControls.js +1 -1
- package/dist/editor/menubar/toolbar-sections/InsertControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +12 -0
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +169 -26
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ReviewCommands.js +2 -1
- package/dist/editor/menubar/toolbar-sections/ReviewCommands.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/UtilityControls.d.ts +3 -1
- package/dist/editor/menubar/toolbar-sections/UtilityControls.js +11 -3
- package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +48 -29
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/index.d.ts +2 -1
- package/dist/editor/menubar/toolbar-sections/index.js +2 -1
- package/dist/editor/menubar/toolbar-sections/index.js.map +1 -1
- package/dist/editor/notifications/NotificationCenter.d.ts +4 -1
- package/dist/editor/notifications/NotificationCenter.js +13 -4
- package/dist/editor/notifications/NotificationCenter.js.map +1 -1
- package/dist/editor/notifications/WatchButton.d.ts +4 -2
- package/dist/editor/notifications/WatchButton.js +78 -20
- package/dist/editor/notifications/WatchButton.js.map +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +71 -6
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/CommentHighlightings.js +36 -40
- package/dist/editor/page-editor-chrome/CommentHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.d.ts +36 -0
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +879 -0
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.d.ts +1 -0
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js +3 -3
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenu.d.ts +3 -2
- package/dist/editor/page-editor-chrome/FrameMenu.js +49 -119
- package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenus.d.ts +1 -1
- package/dist/editor/page-editor-chrome/FrameMenus.js +65 -15
- package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +25 -0
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js +30 -0
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -0
- package/dist/editor/page-editor-chrome/PageEditorChrome.js +14 -2
- package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +33 -2
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +94 -71
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.d.ts +13 -2
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +105 -203
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +51 -88
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js +2 -1
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js.map +1 -1
- package/dist/editor/page-editor-chrome/componentDragObject.d.ts +10 -0
- package/dist/editor/page-editor-chrome/componentDragObject.js +22 -0
- package/dist/editor/page-editor-chrome/componentDragObject.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +32 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +8 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/InsertionLine.d.ts +44 -0
- package/dist/editor/page-editor-chrome/overlay/InsertionLine.js +160 -0
- package/dist/editor/page-editor-chrome/overlay/InsertionLine.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +39 -0
- package/dist/editor/page-editor-chrome/overlay/geometry.js +67 -10
- package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/placeholderZones.d.ts +66 -0
- package/dist/editor/page-editor-chrome/overlay/placeholderZones.js +274 -0
- package/dist/editor/page-editor-chrome/overlay/placeholderZones.js.map +1 -0
- package/dist/editor/page-editor-chrome/useComponentDragHandle.d.ts +23 -0
- package/dist/editor/page-editor-chrome/useComponentDragHandle.js +41 -0
- package/dist/editor/page-editor-chrome/useComponentDragHandle.js.map +1 -0
- package/dist/editor/page-editor-chrome/useDragInsertionGesture.d.ts +23 -0
- package/dist/editor/page-editor-chrome/useDragInsertionGesture.js +207 -0
- package/dist/editor/page-editor-chrome/useDragInsertionGesture.js.map +1 -0
- package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.d.ts +2 -0
- package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js +18 -0
- package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js.map +1 -0
- package/dist/editor/page-viewer/EditorForm.js +14 -12
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/EditorFormHintPopover.d.ts +2 -2
- package/dist/editor/page-viewer/EditorFormHintPopover.js +4 -4
- package/dist/editor/page-viewer/EditorFormHintPopover.js.map +1 -1
- package/dist/editor/page-viewer/MiniMap.d.ts +6 -0
- package/dist/editor/page-viewer/MiniMap.js +97 -12
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/MinimapDropTargets.d.ts +13 -0
- package/dist/editor/page-viewer/MinimapDropTargets.js +140 -0
- package/dist/editor/page-viewer/MinimapDropTargets.js.map +1 -0
- package/dist/editor/page-viewer/PageViewer.js +96 -10
- package/dist/editor/page-viewer/PageViewer.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +263 -6
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/pageViewContext.d.ts +4 -1
- package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
- package/dist/editor/reviews/Comment.js +2 -0
- package/dist/editor/reviews/Comment.js.map +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js +5 -2
- package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/CommentPopover.d.ts +4 -0
- package/dist/editor/reviews/CommentPopover.js +15 -1
- package/dist/editor/reviews/CommentPopover.js.map +1 -1
- package/dist/editor/reviews/Comments.js +61 -44
- package/dist/editor/reviews/Comments.js.map +1 -1
- package/dist/editor/reviews/DecisionsMatrix.js +3 -3
- package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
- package/dist/editor/reviews/FeedbackModeIntro.d.ts +15 -0
- package/dist/editor/reviews/FeedbackModeIntro.js +22 -0
- package/dist/editor/reviews/FeedbackModeIntro.js.map +1 -0
- package/dist/editor/reviews/LatestFeedback.js +8 -2
- package/dist/editor/reviews/LatestFeedback.js.map +1 -1
- package/dist/editor/reviews/ReviewersPanel.js +2 -1
- package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +9 -7
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/SuggestionDisplayPopover.js +3 -3
- package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/feedbackScrollTarget.d.ts +19 -0
- package/dist/editor/reviews/feedbackScrollTarget.js +171 -0
- package/dist/editor/reviews/feedbackScrollTarget.js.map +1 -0
- package/dist/editor/reviews/feedbackSelection.js +4 -4
- package/dist/editor/reviews/feedbackSelection.js.map +1 -1
- package/dist/editor/reviews/latestFeedbackData.js +1 -1
- package/dist/editor/reviews/openCommentsFeedback.d.ts +35 -0
- package/dist/editor/reviews/openCommentsFeedback.js +89 -0
- package/dist/editor/reviews/openCommentsFeedback.js.map +1 -0
- package/dist/editor/services/agentService.d.ts +5 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +0 -2
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +1 -0
- package/dist/editor/services/editService.js +4 -0
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/settings/IndexOverview.js +2 -2
- package/dist/editor/settings/IndexOverview.js.map +1 -1
- package/dist/editor/settings/QuotaInfo.js +2 -2
- package/dist/editor/settings/QuotaInfo.js.map +1 -1
- package/dist/editor/settings/SettingsBreadcrumb.js +8 -2
- package/dist/editor/settings/SettingsBreadcrumb.js.map +1 -1
- package/dist/editor/settings/SettingsPanelLayout.js +1 -1
- package/dist/editor/settings/SettingsPanelLayout.js.map +1 -1
- package/dist/editor/settings/SettingsView.js +7 -9
- package/dist/editor/settings/SettingsView.js.map +1 -1
- package/dist/editor/settings/StatusSummary.js +7 -17
- package/dist/editor/settings/StatusSummary.js.map +1 -1
- package/dist/editor/settings/panels/AgentToolsPanel.js +2 -1
- package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js +2 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
- package/dist/editor/settings/panels/FieldTypeSerializersPanel.js +2 -1
- package/dist/editor/settings/panels/FieldTypeSerializersPanel.js.map +1 -1
- package/dist/editor/settings/panels/GroupedFieldConfigPanel.js +3 -2
- package/dist/editor/settings/panels/GroupedFieldConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/ItemConfigPanel.js +3 -2
- package/dist/editor/settings/panels/ItemConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +2 -1
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js +2 -1
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js.map +1 -1
- package/dist/editor/settings/panels/PersistentLogsPanel.js +3 -2
- package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +2 -1
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateSelectorList.js +3 -2
- package/dist/editor/settings/panels/ProjectTemplateSelectorList.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js +3 -3
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
- package/dist/editor/settings/panels/SearchConfigPanel.js +3 -2
- package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/StatusPanel.js +3 -2
- package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
- package/dist/editor/sidebar/ComponentPalette.d.ts +1 -1
- package/dist/editor/sidebar/ComponentPalette.js +58 -25
- package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +91 -7
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/ContentTreePanel.d.ts +3 -0
- package/dist/editor/sidebar/ContentTreePanel.js +14 -0
- package/dist/editor/sidebar/ContentTreePanel.js.map +1 -0
- package/dist/editor/sidebar/Favorites.js +2 -2
- package/dist/editor/sidebar/Favorites.js.map +1 -1
- package/dist/editor/sidebar/NavigationPanelItem.js +2 -1
- package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
- package/dist/editor/sidebar/OperationItem.js +98 -17
- package/dist/editor/sidebar/OperationItem.js.map +1 -1
- package/dist/editor/sidebar/Workbox.js +14 -133
- package/dist/editor/sidebar/Workbox.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceButton.js +1 -1
- package/dist/editor/sidebar/WorkspaceButton.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceRail.js +12 -9
- package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
- package/dist/editor/sidebar/contentTreeConstants.d.ts +2 -0
- package/dist/editor/sidebar/contentTreeConstants.js +3 -0
- package/dist/editor/sidebar/contentTreeConstants.js.map +1 -0
- package/dist/editor/tree-indicators/GutterColumns.js +4 -14
- package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
- package/dist/editor/ui/ItemCollectionEditor.js +3 -2
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/LoadingState.d.ts +11 -0
- package/dist/editor/ui/LoadingState.js +27 -0
- package/dist/editor/ui/LoadingState.js.map +1 -0
- package/dist/editor/ui/PerfectTree.d.ts +22 -1
- package/dist/editor/ui/PerfectTree.js +17 -11
- package/dist/editor/ui/PerfectTree.js.map +1 -1
- package/dist/editor/ui/PublishDialog.d.ts +11 -0
- package/dist/editor/ui/PublishDialog.js +101 -0
- package/dist/editor/ui/PublishDialog.js.map +1 -0
- package/dist/editor/ui/PublishItemDialog.js +2 -1
- package/dist/editor/ui/PublishItemDialog.js.map +1 -1
- package/dist/editor/ui/PublishRestrictionsDialog.js +3 -2
- package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
- package/dist/editor/ui/SimpleIconButton.d.ts +6 -0
- package/dist/editor/ui/SimpleIconButton.js +13 -4
- package/dist/editor/ui/SimpleIconButton.js.map +1 -1
- package/dist/editor/ui/SimpleMenu.js +4 -4
- package/dist/editor/ui/SimpleMenu.js.map +1 -1
- package/dist/editor/ui/SimpleTabs.js +1 -1
- package/dist/editor/ui/Spinner.d.ts +14 -1
- package/dist/editor/ui/Spinner.js.map +1 -1
- package/dist/editor/ui/WorkboxItemsTable.d.ts +15 -0
- package/dist/editor/ui/WorkboxItemsTable.js +142 -0
- package/dist/editor/ui/WorkboxItemsTable.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/pointerDrag.d.ts +20 -0
- package/dist/lib/pointerDrag.js +57 -0
- package/dist/lib/pointerDrag.js.map +1 -0
- package/dist/logging/consolePrefix.d.ts +2 -0
- package/dist/logging/consolePrefix.js +49 -0
- package/dist/logging/consolePrefix.js.map +1 -0
- package/dist/logging/index.d.ts +1 -0
- package/dist/logging/index.js +2 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/install-browser-console.d.ts +1 -0
- package/dist/logging/install-browser-console.js +3 -0
- package/dist/logging/install-browser-console.js.map +1 -0
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ModernSplashScreen.js +2 -1
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +181 -35
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CommentsList.js +20 -9
- package/dist/task-board/components/CommentsList.js.map +1 -1
- package/dist/task-board/components/FinishedProjectCard.d.ts +5 -0
- package/dist/task-board/components/FinishedProjectCard.js +8 -0
- package/dist/task-board/components/FinishedProjectCard.js.map +1 -0
- package/dist/task-board/components/ProjectDashboard.d.ts +10 -1
- package/dist/task-board/components/ProjectDashboard.js +90 -6
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectListContent.js +2 -1
- package/dist/task-board/components/ProjectListContent.js.map +1 -1
- package/dist/task-board/components/ProjectOverviewContent.js +2 -1
- package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
- package/dist/task-board/components/TaskAgentPanel.d.ts +4 -0
- package/dist/task-board/components/TaskAgentPanel.js +12 -6
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
- package/dist/task-board/components/TaskAssigneeBadge.d.ts +16 -0
- package/dist/task-board/components/TaskAssigneeBadge.js +21 -0
- package/dist/task-board/components/TaskAssigneeBadge.js.map +1 -0
- package/dist/task-board/components/TaskAssigneePicker.js +12 -10
- package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
- package/dist/task-board/components/TaskAttachmentDropZone.d.ts +11 -0
- package/dist/task-board/components/TaskAttachmentDropZone.js +100 -0
- package/dist/task-board/components/TaskAttachmentDropZone.js.map +1 -0
- package/dist/task-board/components/TaskAttachmentsSection.d.ts +1 -0
- package/dist/task-board/components/TaskAttachmentsSection.js +15 -41
- package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
- package/dist/task-board/components/TaskBoardFilterBox.d.ts +4 -0
- package/dist/task-board/components/TaskBoardFilterBox.js +7 -0
- package/dist/task-board/components/TaskBoardFilterBox.js.map +1 -0
- package/dist/task-board/components/TaskBoardProjectListSidebar.js +4 -5
- package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
- package/dist/task-board/components/TaskCard.js +26 -15
- package/dist/task-board/components/TaskCard.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.d.ts +1 -0
- package/dist/task-board/components/TaskDetailPanel.js +15 -12
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/components/TaskReviewActions.d.ts +1 -0
- package/dist/task-board/components/TaskReviewActions.js +4 -2
- package/dist/task-board/components/TaskReviewActions.js.map +1 -1
- package/dist/task-board/components/TaskRow.js +6 -12
- package/dist/task-board/components/TaskRow.js.map +1 -1
- package/dist/task-board/components/TaskboardPersistentLogPanel.js +3 -3
- package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationCards.js +1 -1
- package/dist/task-board/components/WizardCommunicationCards.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationCenter.d.ts +7 -1
- package/dist/task-board/components/WizardCommunicationCenter.js +10 -6
- package/dist/task-board/components/WizardCommunicationCenter.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationShared.js +5 -5
- package/dist/task-board/components/WizardCommunicationShared.js.map +1 -1
- package/dist/task-board/components/WizardTask.d.ts +5 -1
- package/dist/task-board/components/WizardTask.js +14 -30
- package/dist/task-board/components/WizardTask.js.map +1 -1
- package/dist/task-board/components/WizardTaskDetailsPanel.d.ts +10 -2
- package/dist/task-board/components/WizardTaskDetailsPanel.js +56 -11
- package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
- package/dist/task-board/taskBoardNavStore.d.ts +3 -0
- package/dist/task-board/taskBoardNavStore.js +44 -0
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/task-board/taskPriority.d.ts +4 -0
- package/dist/task-board/taskPriority.js +19 -0
- package/dist/task-board/taskPriority.js.map +1 -0
- package/dist/task-board/views/DependencyGraphView.js +48 -36
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/task-board/views/KanbanView.js +130 -96
- package/dist/task-board/views/KanbanView.js.map +1 -1
- package/dist/task-board/views/ListView.js +3 -3
- package/dist/task-board/views/ListView.js.map +1 -1
- package/dist/task-board/views/WizardView.js +7 -6
- package/dist/task-board/views/WizardView.js.map +1 -1
- package/dist/tour/default-tour.js +5 -5
- package/dist/tour/default-tour.js.map +1 -1
- package/package.json +11 -1
- package/styles.css +144 -0
- package/dist/editor/ai/terminal/useAgentEditorContextSync.d.ts +0 -19
- package/dist/editor/ai/terminal/useAgentEditorContextSync.js +0 -142
- 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 {
|
|
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
|
-
|
|
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: [
|
|
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-
|
|
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":"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
|
|
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-
|
|
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":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,OAAO,EACP,QAAQ,EACR,MAAM,GACP,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAmB1D,MAAM,UAAU,sBAAsB,CAAC,EAAE,GAAG,EAA+B;IACzE,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,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IACE,oBAAoB;gBACpB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,UAAU,EAC5C,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YAExB,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;YAEnD,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,oBAAoB,EAAE,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9D,OAAO,CACL,eACE,SAAS,EAAC,uEAAuE,iBACrE,4BAA4B,aAExC,eAAK,SAAS,EAAC,sFAAsF,aACnG,eAAK,SAAS,EAAC,WAAW,aACxB,cAAK,SAAS,EAAC,yDAAyD,0BAElE,EACN,aAAI,SAAS,EAAC,2CAA2C,kCAEpD,EACL,YAAG,SAAS,EAAC,wCAAwC,mHAGjD,IACA,EACN,eAAK,SAAS,EAAC,mCAAmC,aAChD,MAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,UAAU,iBACR,kDAAkD,EAC9D,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,aAE7C,KAAC,SAAS,IAAC,SAAS,EAAC,oBAAoB,GAAG,sBAErC,EACT,MAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,UAAU,iBACR,0CAA0C,EACtD,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,aAEtC,KAAC,UAAU,IAAC,SAAS,EAAC,oBAAoB,GAAG,mBAEtC,IACL,IACF,EAEN,cAAK,SAAS,EAAC,oBAAoB,YACjC,eAAK,SAAS,EAAC,mEAAmE,aAChF,KAAC,WAAW,IACV,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAC,oBAAoB,EAChC,IAAI,EAAC,IAAI,EACT,kBAAkB,EAAC,MAAM,EACzB,cAAc,EAAC,SAAS,EACxB,MAAM,EAAC,yCAAyC,GAChD,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,0CAA0C,GACtD,8BAEI,EACP,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CACrB,iBAAO,SAAS,EAAC,kKAAkK,aACjL,eAAM,SAAS,EAAC,sBAAsB,kCAAyB,EAC/D,KAAC,MAAM,IACL,OAAO,EAAE,GAAG,CAAC,eAAe,EAC5B,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAC3B,GAAG,CAAC,uBAAuB,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,gBAEtC,mBAAmB,iBAClB,8CAA8C,EAC1D,SAAS,EAAC,wOAAwO,GAClP,IACI,CACT,CAAC,CAAC,CAAC,IAAI,IACJ,GACF,EAEN,cAAK,SAAS,EAAC,oCAAoC,YAChD,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC1D,eACE,SAAS,EAAC,mHAAmH,iBACjH,oCAAoC,aAEhD,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG,2BAExC,CACP,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpC,cAAK,SAAS,EAAC,qFAAqF,gCAE9F,CACP,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACxC,cAAK,SAAS,EAAC,qFAAqF,qCAE9F,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,0CAA0C,YACtD,sBAAsB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBACtC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,UAAU,IAAI;4BAC7C,KAAK,EAAE,CAAC;4BACR,IAAI,EAAE,CAAC;4BACP,OAAO,EAAE,CAAC;4BACV,UAAU,EAAE,CAAC;4BACb,MAAM,EAAE,CAAC;4BACT,IAAI,EAAE,CAAC;yBACR,CAAC;wBACF,MAAM,eAAe,GACnB,MAAM,CAAC,KAAK,GAAG,CAAC;4BACd,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,OAAO;4BACvC,CAAC,CAAC,cAAc,CAAC;wBACrB,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC;wBACjD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,KAAK,GAAG,CAAC,iBAAiB,CAAC;wBAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC3D,MAAM,eAAe,GACnB,OAAO,CAAC,QAAQ,EAAE,qBAAqB,IAAI,CAAC,CAAC;wBAE/C,OAAO,CACL,eAEE,SAAS,EAAE,EAAE,CACX,kEAAkE,EAClE,UAAU;gCACR,CAAC,CAAC,iCAAiC;gCACnC,CAAC,CAAC,mDAAmD,CACxD,iBACY,mCAAmC,OAAO,CAAC,SAAS,EAAE,aAEnE,eAAK,SAAS,EAAC,kDAAkD,aAC/D,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,aAEvD,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,UAAU,IAAC,SAAS,EAAC,wCAAwC,GAAG,EAChE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CACX,eAAM,SAAS,EAAC,kCAAkC,YAC/C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAC1B,CACR,CAAC,CAAC,CAAC,IAAI,EACR,eAAM,SAAS,EAAC,sDAAsD,YACnE,OAAO,CAAC,KAAK,GACT,IACH,EACL,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAC7B,YAAG,SAAS,EAAC,gDAAgD,YAC1D,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,GACzB,CACL,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,mCAAmC,+BAE5C,CACL,IACM,EACR,SAAS,CAAC,CAAC,CAAC,CACX,eAAK,SAAS,EAAC,gGAAgG,aAC7G,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,SAAS,EACnB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wDACb,CAAC,CAAC,eAAe,EAAE,CAAC;wDACpB,GAAG,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oDACjD,CAAC,EACD,KAAK,EAAC,kBAAkB,iBACX,uCAAuC,OAAO,CAAC,SAAS,EAAE,YAEvE,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;wDACb,CAAC,CAAC,eAAe,EAAE,CAAC;wDACpB,GAAG,CAAC,eAAe,EAAE,CACnB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,KAAK,CACd,CAAC;oDACJ,CAAC,EACD,KAAK,EAAC,gBAAgB,iBACT,qCAAqC,OAAO,CAAC,SAAS,EAAE,YAErE,KAAC,UAAU,IAAC,IAAI,EAAC,IAAI,GAAG,GACjB,IACL,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,EAEN,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0CAA0C,EACpD,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,aAEvD,eAAK,SAAS,EAAC,gBAAgB,aAC7B,eAAK,SAAS,EAAC,sEAAsE,aACnF,sCAAqB,EACrB,yBAAO,eAAe,GAAQ,IAC1B,EACN,KAAC,oBAAoB,IAAC,MAAM,EAAE,MAAM,GAAI,EACxC,eAAK,SAAS,EAAC,uDAAuD,aACpE,2BAAO,MAAM,CAAC,IAAI,aAAa,EAC/B,2BAAO,MAAM,CAAC,UAAU,oBAAoB,EAC5C,2BAAO,MAAM,CAAC,MAAM,eAAe,EACnC,2BAAO,MAAM,CAAC,OAAO,gBAAgB,IACjC,IACF,EAEN,eAAK,SAAS,EAAC,uFAAuF,aACpG,gBAAM,SAAS,EAAC,kCAAkC,aAChD,KAAC,MAAM,IAAC,SAAS,EAAC,8BAA8B,GAAG,EAClD,OAAO,CAAC,UAAU,IACd,EACN,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CACrB,2BACG,eAAe,iBACf,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAC5B,CACR,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CACnB,gBACE,SAAS,EAAC,kCAAkC,EAC5C,KAAK,EAAE,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,aAEtE,KAAC,KAAK,IAAC,SAAS,EAAC,8BAA8B,GAAG,EACjD,mBAAmB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;4DAChD,SAAS,EAAE,IAAI;yDAChB,CAAC,IACG,CACR,CAAC,CAAC,CAAC,IAAI,IACJ,IACC,KAjHJ,OAAO,CAAC,SAAS,CAkHlB,CACP,CAAC;oBACJ,CAAC,CAAC,GACE,CACP,GACG,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -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: [
|
|
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: [
|
|
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: [
|
|
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: [
|
|
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,
|
|
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,
|
|
4
|
-
import {
|
|
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
|
|
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 ?
|
|
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(
|
|
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(
|
|
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 &&
|