@parhelia/core 0.1.12888 → 0.1.12890
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents-view/AgentCard.d.ts +2 -1
- package/dist/agents-view/AgentCard.js +14 -38
- package/dist/agents-view/AgentCard.js.map +1 -1
- package/dist/agents-view/AgentGalleryCard.d.ts +12 -0
- package/dist/agents-view/AgentGalleryCard.js +12 -0
- package/dist/agents-view/AgentGalleryCard.js.map +1 -0
- package/dist/agents-view/AgentGalleryView.d.ts +18 -0
- package/dist/agents-view/AgentGalleryView.js +88 -0
- package/dist/agents-view/AgentGalleryView.js.map +1 -0
- package/dist/agents-view/AgentProfileIcon.d.ts +9 -0
- package/dist/agents-view/AgentProfileIcon.js +28 -0
- package/dist/agents-view/AgentProfileIcon.js.map +1 -0
- package/dist/agents-view/AgentsView.d.ts +6 -1
- package/dist/agents-view/AgentsView.js +40 -12
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +40 -21
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/agents-view/DateAgentsGroup.d.ts +2 -1
- package/dist/agents-view/DateAgentsGroup.js +2 -2
- package/dist/agents-view/DateAgentsGroup.js.map +1 -1
- package/dist/agents-view/ProfileAgentsGroup.d.ts +2 -1
- package/dist/agents-view/ProfileAgentsGroup.js +5 -8
- package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
- package/dist/agents-view/RenameAgentDialog.d.ts +12 -0
- package/dist/agents-view/RenameAgentDialog.js +40 -0
- package/dist/agents-view/RenameAgentDialog.js.map +1 -0
- package/dist/components/FilterInput.d.ts +2 -0
- package/dist/components/FilterInput.js +4 -2
- package/dist/components/FilterInput.js.map +1 -1
- package/dist/components/ui/alert-dialog.d.ts +1 -1
- package/dist/components/ui/alert-dialog.js +5 -5
- package/dist/components/ui/alert-dialog.js.map +1 -1
- package/dist/components/ui/alert.d.ts +3 -2
- package/dist/components/ui/alert.js +9 -4
- package/dist/components/ui/alert.js.map +1 -1
- package/dist/components/ui/badge.d.ts +1 -1
- package/dist/components/ui/button.d.ts +9 -4
- package/dist/components/ui/button.js +16 -9
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/dialog.d.ts +1 -1
- package/dist/components/ui/dialog.js +4 -3
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/styled-dialog-title.js +1 -1
- package/dist/components/ui/styled-dialog-title.js.map +1 -1
- package/dist/config/config.js +4 -3
- package/dist/config/config.js.map +1 -1
- package/dist/editor/FieldListField.js +6 -2
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/GlobalMenuBar.js +3 -1
- package/dist/editor/GlobalMenuBar.js.map +1 -1
- package/dist/editor/LinkEditorDialog.js +3 -3
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/MainLayout.js +11 -9
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/WorkspaceTitleSwitcher.d.ts +5 -0
- package/dist/editor/WorkspaceTitleSwitcher.js +86 -0
- package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -0
- package/dist/editor/ai/AgentInlineDialogContent.js +1 -1
- package/dist/editor/ai/AgentInlineDialogContent.js.map +1 -1
- package/dist/editor/ai/Agents.js +155 -43
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.js +1 -1
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +52 -82
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- package/dist/editor/ai/terminal/agentQuestionnaireRecap.d.ts +82 -0
- package/dist/editor/ai/terminal/agentQuestionnaireRecap.js +277 -0
- package/dist/editor/ai/terminal/agentQuestionnaireRecap.js.map +1 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.d.ts +3 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js +3 -3
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionLiveTotals.d.ts +5 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.js +14 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionSnapshot.js +2 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +1 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +5 -2
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentProjectProgress.d.ts +12 -0
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js +207 -0
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +3 -3
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptComposer.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js +5 -2
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +5 -3
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +4 -3
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +6 -19
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +5 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +33 -2
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +2 -0
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +20 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +11 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +59 -7
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.d.ts +9 -0
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.js +56 -0
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.js.map +1 -0
- package/dist/editor/ai/terminal/contextBreakdown.d.ts +17 -0
- package/dist/editor/ai/terminal/contextBreakdown.js +58 -0
- package/dist/editor/ai/terminal/contextBreakdown.js.map +1 -0
- package/dist/editor/ai/terminal/types.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.d.ts +29 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js +68 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js +8 -3
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentInlineDialogState.d.ts +10 -3
- package/dist/editor/ai/terminal/useAgentInlineDialogState.js +33 -4
- package/dist/editor/ai/terminal/useAgentInlineDialogState.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js +16 -2
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +3 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSession.js +12 -1
- package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.d.ts +3 -0
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js +6 -1
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +48 -4
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentToolCallHandler.js +13 -1
- package/dist/editor/ai/terminal/useAgentToolCallHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js +31 -7
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js.map +1 -1
- package/dist/editor/bridge/BridgeClient.d.ts +1 -8
- package/dist/editor/bridge/BridgeClient.js +2 -4
- package/dist/editor/bridge/BridgeClient.js.map +1 -1
- package/dist/editor/bridge/protocol.d.ts +512 -0
- package/dist/editor/bridge/protocol.js +188 -0
- package/dist/editor/bridge/protocol.js.map +1 -0
- package/dist/editor/client/AboutDialog.js +15 -4
- package/dist/editor/client/AboutDialog.js.map +1 -1
- package/dist/editor/client/EditorShell.js +50 -13
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +6 -0
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +3 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +57 -25
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/hooks/useWorkbox.d.ts +1 -0
- package/dist/editor/client/hooks/useWorkbox.js +14 -1
- package/dist/editor/client/hooks/useWorkbox.js.map +1 -1
- package/dist/editor/client/operationToasts.d.ts +2 -0
- package/dist/editor/client/operationToasts.js +35 -0
- package/dist/editor/client/operationToasts.js.map +1 -0
- package/dist/editor/client/operations.d.ts +4 -0
- package/dist/editor/client/operations.js +134 -74
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/pageModelBuilder.d.ts +1 -0
- package/dist/editor/client/pageModelBuilder.js +22 -13
- package/dist/editor/client/pageModelBuilder.js.map +1 -1
- package/dist/editor/client/waitForEditOperationTerminal.d.ts +1 -0
- package/dist/editor/client/waitForEditOperationTerminal.js +1 -1
- package/dist/editor/client/waitForEditOperationTerminal.js.map +1 -1
- package/dist/editor/commands/itemCommands.js +5 -16
- package/dist/editor/commands/itemCommands.js.map +1 -1
- package/dist/editor/content-tree/IndicatorSettings.js +3 -2
- package/dist/editor/content-tree/IndicatorSettings.js.map +1 -1
- package/dist/editor/field-types/CheckboxEditor.js +3 -1
- package/dist/editor/field-types/CheckboxEditor.js.map +1 -1
- package/dist/editor/field-types/MultiLineText.js +24 -7
- package/dist/editor/field-types/MultiLineText.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +19 -2
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/field-types/useTextCompletion.d.ts +20 -0
- package/dist/editor/field-types/useTextCompletion.js +166 -0
- package/dist/editor/field-types/useTextCompletion.js.map +1 -0
- package/dist/editor/menubar/ItemLanguageVersion.js +3 -14
- package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
- package/dist/editor/menubar/OperationsIndicator.d.ts +7 -0
- package/dist/editor/menubar/OperationsIndicator.js +87 -0
- package/dist/editor/menubar/OperationsIndicator.js.map +1 -0
- package/dist/editor/menubar/ToolbarFactory.js +4 -1
- package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.d.ts +3 -2
- package/dist/editor/menubar/VersionSelector.js +28 -12
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/WorkflowButton.js +7 -4
- package/dist/editor/menubar/WorkflowButton.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/EditControls.js +7 -3
- package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +4 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/notifications/NotificationCenter.js +28 -27
- package/dist/editor/notifications/NotificationCenter.js.map +1 -1
- package/dist/editor/notifications/NotificationItem.js +100 -15
- package/dist/editor/notifications/NotificationItem.js.map +1 -1
- package/dist/editor/notifications/watchEventOptions.js +3 -2
- package/dist/editor/notifications/watchEventOptions.js.map +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +8 -2
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +7 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +3 -10
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +2 -2
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +1 -1
- package/dist/editor/page-viewer/MiniMap.d.ts +21 -0
- package/dist/editor/page-viewer/MiniMap.js +113 -11
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +155 -22
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +1 -2
- package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
- package/dist/editor/page-viewer/pageViewContext.d.ts +1 -1
- package/dist/editor/reviews/DecisionsMatrix.js +5 -1
- package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +12 -2
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/latestFeedbackData.js +7 -1
- package/dist/editor/reviews/latestFeedbackData.js.map +1 -1
- package/dist/editor/reviews/suggestedEditState.d.ts +2 -0
- package/dist/editor/reviews/suggestedEditState.js +20 -0
- package/dist/editor/reviews/suggestedEditState.js.map +1 -1
- package/dist/editor/reviews/suggestionContentChange.d.ts +1 -1
- package/dist/editor/reviews/suggestionContentChange.js +23 -3
- package/dist/editor/reviews/suggestionContentChange.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +6 -0
- package/dist/editor/services/agentService.js +14 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +5 -0
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/settings/About.js +1 -1
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js +4 -2
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentToolsPanel.js +61 -33
- 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/JavaScriptToolAgentPanel.js +3 -2
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +3 -2
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/StatusPanel.js +10 -7
- package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
- package/dist/editor/sidebar/Completions.js +1 -1
- package/dist/editor/sidebar/Completions.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +1 -1
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/OperationItem.js +1 -1
- package/dist/editor/sidebar/OperationItem.js.map +1 -1
- package/dist/editor/sidebar/Workbox.js +18 -4
- package/dist/editor/sidebar/Workbox.js.map +1 -1
- package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +3 -2
- package/dist/editor/template-wizard/TemplateStructureInlineEditor.js.map +1 -1
- package/dist/editor/tree-indicators/GutterColumns.js +3 -2
- package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
- package/dist/editor/ui/DialogButtons.d.ts +3 -1
- package/dist/editor/ui/DialogButtons.js +3 -2
- package/dist/editor/ui/DialogButtons.js.map +1 -1
- package/dist/editor/ui/Icons.js +1 -1
- package/dist/editor/ui/Icons.js.map +1 -1
- package/dist/editor/ui/ItemCollectionEditor.js +2 -2
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/PublishItemDialog.js +4 -6
- package/dist/editor/ui/PublishItemDialog.js.map +1 -1
- package/dist/editor/ui/SimpleTabs.d.ts +2 -1
- package/dist/editor/ui/SimpleTabs.js +23 -5
- package/dist/editor/ui/SimpleTabs.js.map +1 -1
- package/dist/editor/ui/Splitter.js +120 -3
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/ui/splitterResizeEvent.d.ts +7 -0
- package/dist/editor/ui/splitterResizeEvent.js +6 -0
- package/dist/editor/ui/splitterResizeEvent.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.d.ts +1 -1
- package/dist/editor/workflowFields.d.ts +1 -0
- package/dist/editor/workflowFields.js +16 -0
- package/dist/editor/workflowFields.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ModernSplashScreen.js +20 -11
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/splash-screen/NewPage.js +26 -7
- package/dist/splash-screen/NewPage.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +154 -121
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CreateTaskDialog.js +1 -1
- package/dist/task-board/components/CreateTaskDialog.js.map +1 -1
- package/dist/task-board/components/ProjectDashboard.d.ts +12 -22
- package/dist/task-board/components/ProjectDashboard.js +120 -108
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectOverviewContent.js +3 -0
- package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
- package/dist/task-board/components/ProjectPropertiesPanel.d.ts +2 -0
- package/dist/task-board/components/ProjectPropertiesPanel.js +7 -4
- package/dist/task-board/components/ProjectPropertiesPanel.js.map +1 -1
- package/dist/task-board/components/ProjectSettingsDialog.d.ts +16 -0
- package/dist/task-board/components/ProjectSettingsDialog.js +55 -47
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
- package/dist/task-board/components/TaskAgentPanel.js +6 -5
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
- package/dist/task-board/components/TaskAssigneePicker.js +3 -2
- package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
- package/dist/task-board/components/TaskAttachmentsSection.js +1 -1
- package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
- package/dist/task-board/components/TaskBoardHomeView.d.ts +7 -0
- package/dist/task-board/components/TaskBoardHomeView.js +21 -0
- package/dist/task-board/components/TaskBoardHomeView.js.map +1 -0
- package/dist/task-board/components/TaskBoardProjectListSidebar.js +74 -12
- package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
- package/dist/task-board/components/TaskBoardTitlebar.js +9 -52
- package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
- package/dist/task-board/components/TaskCard.js +5 -13
- package/dist/task-board/components/TaskCard.js.map +1 -1
- package/dist/task-board/components/TaskRow.js +3 -2
- package/dist/task-board/components/TaskRow.js.map +1 -1
- package/dist/task-board/taskBoardNavStore.d.ts +0 -2
- package/dist/task-board/taskBoardNavStore.js +0 -2
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/task-board/views/DependencyGraphView.js +3 -2
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/task-board/views/KanbanView.js +161 -38
- package/dist/task-board/views/KanbanView.js.map +1 -1
- package/dist/task-board/views/ListView.js +1 -2
- package/dist/task-board/views/ListView.js.map +1 -1
- package/dist/task-board/views/WizardView.d.ts +2 -0
- package/dist/task-board/views/WizardView.js +7 -4
- package/dist/task-board/views/WizardView.js.map +1 -1
- package/package.json +1 -2
- package/styles.css +4 -3
|
@@ -1,21 +1,70 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo, useState, useSyncExternalStore } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { Check, Folder, FolderOpen, Loader2, PanelLeftClose, Plus, Search, } from "lucide-react";
|
|
4
|
+
import { Button } from "../../components/ui/button";
|
|
4
5
|
import { Input } from "../../components/ui/input";
|
|
5
6
|
import { cn } from "../../lib/utils";
|
|
7
|
+
import { useEditContext } from "../../editor/client/editContext";
|
|
6
8
|
import { SimpleIconButton } from "../../editor/ui/SimpleIconButton";
|
|
7
|
-
import {
|
|
9
|
+
import { SimpleTabs } from "../../editor/ui/SimpleTabs";
|
|
8
10
|
import { getTaskBoardNavSnapshot, subscribeTaskBoardNav, } from "../taskBoardNavStore";
|
|
11
|
+
function ProjectProgressIndicator({ done, total, }) {
|
|
12
|
+
if (!total || total <= 0) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
const progress = Math.max(0, Math.min(100, Math.round(((done ?? 0) / total) * 100)));
|
|
16
|
+
if (progress >= 100) {
|
|
17
|
+
return (_jsx("span", { className: "bg-feedback-green flex size-4 shrink-0 items-center justify-center rounded-full text-white", title: "Completed", "aria-label": "Completed", children: _jsx(Check, { className: "size-2.5", strokeWidth: 3 }) }));
|
|
18
|
+
}
|
|
19
|
+
return (_jsxs("span", { className: "text-neutral-grey-50 shrink-0 text-xs font-medium tabular-nums", children: [progress, "%"] }));
|
|
20
|
+
}
|
|
9
21
|
export function TaskBoardProjectListSidebar() {
|
|
22
|
+
const editContext = useEditContext();
|
|
10
23
|
const nav = useSyncExternalStore(subscribeTaskBoardNav, getTaskBoardNavSnapshot, getTaskBoardNavSnapshot);
|
|
11
24
|
const [search, setSearch] = useState("");
|
|
12
|
-
const [
|
|
25
|
+
const [filterMode, setFilterMode] = useState("active");
|
|
26
|
+
const filterTabs = useMemo(() => [
|
|
27
|
+
{
|
|
28
|
+
id: "active",
|
|
29
|
+
label: "All projects",
|
|
30
|
+
content: null,
|
|
31
|
+
testId: "taskboard-project-list-filter-active",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: "archived",
|
|
35
|
+
label: "Archive",
|
|
36
|
+
content: null,
|
|
37
|
+
testId: "taskboard-project-list-filter-archived",
|
|
38
|
+
},
|
|
39
|
+
], []);
|
|
40
|
+
const expandedProjectIds = useMemo(() => {
|
|
41
|
+
if (!nav.selectedProjectId)
|
|
42
|
+
return new Set();
|
|
43
|
+
const projectById = new Map(nav.projectOptions.map((project) => [project.projectId, project]));
|
|
44
|
+
const expanded = new Set();
|
|
45
|
+
const visited = new Set();
|
|
46
|
+
let currentProjectId = nav.selectedProjectId;
|
|
47
|
+
while (currentProjectId && !visited.has(currentProjectId)) {
|
|
48
|
+
visited.add(currentProjectId);
|
|
49
|
+
expanded.add(currentProjectId);
|
|
50
|
+
const parentProjectId = projectById.get(currentProjectId)?.parentProjectId ?? null;
|
|
51
|
+
currentProjectId = parentProjectId;
|
|
52
|
+
}
|
|
53
|
+
return expanded;
|
|
54
|
+
}, [nav.projectOptions, nav.selectedProjectId]);
|
|
55
|
+
const scopedProjectOptions = useMemo(() => {
|
|
56
|
+
return nav.projectOptions.filter((project) => !project.parentProjectId ||
|
|
57
|
+
(project.depth ?? 0) === 0 ||
|
|
58
|
+
expandedProjectIds.has(project.parentProjectId));
|
|
59
|
+
}, [expandedProjectIds, nav.projectOptions]);
|
|
13
60
|
const projects = useMemo(() => {
|
|
14
61
|
const query = search.trim().toLowerCase();
|
|
15
|
-
return
|
|
16
|
-
|
|
62
|
+
return scopedProjectOptions.filter((project) => {
|
|
63
|
+
const isArchived = project.status?.toLowerCase() === "archived";
|
|
64
|
+
if (filterMode === "active" && isArchived)
|
|
65
|
+
return false;
|
|
66
|
+
if (filterMode === "archived" && !isArchived)
|
|
17
67
|
return false;
|
|
18
|
-
}
|
|
19
68
|
if (!query)
|
|
20
69
|
return true;
|
|
21
70
|
const title = project.title?.toLowerCase() ?? "";
|
|
@@ -25,13 +74,26 @@ export function TaskBoardProjectListSidebar() {
|
|
|
25
74
|
description.includes(query) ||
|
|
26
75
|
status.includes(query));
|
|
27
76
|
});
|
|
28
|
-
}, [
|
|
29
|
-
|
|
77
|
+
}, [filterMode, scopedProjectOptions, search]);
|
|
78
|
+
const emptyMessage = useMemo(() => {
|
|
79
|
+
if (filterMode === "archived")
|
|
80
|
+
return "No archived projects";
|
|
81
|
+
if (search.trim())
|
|
82
|
+
return "No matching projects";
|
|
83
|
+
return "No projects found";
|
|
84
|
+
}, [filterMode, search]);
|
|
85
|
+
return (_jsxs("div", { className: "flex h-full min-h-0 flex-col bg-white", "data-testid": "taskboard-project-list-sidebar", children: [_jsxs("div", { className: "flex h-16 shrink-0 items-center justify-between px-4", children: [_jsx("h1", { className: "text-neutral-grey-100 truncate text-base font-semibold", children: "Project taskboard" }), _jsx(SimpleIconButton, { onClick: () => editContext?.toggleSidebar("taskboard-project-list", {
|
|
86
|
+
forceClose: true,
|
|
87
|
+
}), icon: _jsx(PanelLeftClose, { className: "h-4 w-4", strokeWidth: 1.5 }), label: "Close project list", className: "text-neutral-grey-50 hover:text-neutral-grey-100 h-8 w-8", "data-testid": "taskboard-project-list-close-button" })] }), _jsxs("div", { className: "flex shrink-0 flex-col gap-3 px-4 pt-3", children: [_jsxs(Button, { variant: "outline", size: "sm", className: "h-10 w-full justify-center gap-3 rounded-md bg-white px-4 text-sm font-semibold shadow-none", onClick: () => nav.onCreateProject?.(), "data-testid": "taskboard-project-list-create-button", children: [_jsx("span", { className: "truncate", children: "Create new project" }), _jsx(Plus, { className: "h-4 w-4", strokeWidth: 1.5 })] }), _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "text-neutral-grey-50 pointer-events-none absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" }), _jsx(Input, { value: search, onChange: (event) => setSearch(event.target.value), placeholder: "Search projects", className: "h-9 bg-white pl-9 text-sm", "data-testid": "taskboard-project-list-search" })] }), _jsx("div", { className: "border-border-default border-b", children: _jsx(SimpleTabs, { tabs: filterTabs, activeTab: filterMode === "archived" ? 1 : 0, setActiveTab: (index) => setFilterMode(index === 1 ? "archived" : "active"), hideContent: true, className: "w-full gap-0", tabClassName: "w-1/2 px-0 pt-3 pb-[9px] text-sm font-semibold", underlineTarget: "label", testId: "taskboard-project-list-filter-tabs" }) }), nav.isAdministrator ? (_jsxs("div", { className: "border-border-default border-b pb-3", children: [_jsxs("label", { className: "text-neutral-grey-50 flex items-center gap-2 text-xs", children: [_jsx("input", { type: "checkbox", checked: nav.showAllProjects, onChange: (event) => nav.onToggleShowAllProjects?.(event.target.checked), "data-testid": "taskboard-show-all-projects-checkbox" }), "Show all projects"] }), _jsx("p", { className: "text-neutral-grey-50 mt-1 pl-5 text-[10px]", "data-testid": "taskboard-show-all-projects-hint", children: "Admin feature: includes projects across all users." })] })) : null] }), _jsx("div", { className: "min-h-0 flex-1 overflow-y-auto px-3 py-3", 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-project-list-loading", children: [_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" }), "Loading projects..."] })) : projects.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 rounded-md border border-dashed px-3 py-8 text-center text-xs", children: emptyMessage })) : (_jsx("div", { className: "flex flex-col gap-1", children: projects.map((project) => {
|
|
30
88
|
const selected = project.projectId === nav.selectedProjectId;
|
|
31
|
-
const depth = Math.max(0, Math.min(project.depth ?? 0, 6));
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
89
|
+
const depth = Math.max(0, Math.min(project.depth ?? (project.parentProjectId ? 1 : 0), 6));
|
|
90
|
+
const ProjectIcon = selected ? FolderOpen : Folder;
|
|
91
|
+
const counts = project.overview?.taskCounts;
|
|
92
|
+
return (_jsxs("button", { type: "button", className: cn("group flex min-h-9 w-full items-center gap-2 rounded-md px-3 py-2 text-left transition-colors", selected
|
|
93
|
+
? "bg-neutral-grey-5 text-neutral-grey-100"
|
|
94
|
+
: "text-neutral-grey-100 hover:bg-neutral-grey-5/70"), style: { paddingLeft: `${12 + depth * 20}px` }, onClick: () => nav.onSelectProject?.(project.projectId), "data-testid": `taskboard-project-list-option-${project.projectId}`, children: [_jsx("span", { className: "flex h-4 w-4 shrink-0 items-center justify-center", children: _jsx(ProjectIcon, { className: cn("h-4 w-4 shrink-0", selected
|
|
95
|
+
? "text-neutral-grey-100"
|
|
96
|
+
: "text-neutral-grey-50 group-hover:text-neutral-grey-100"), strokeWidth: 1.5 }) }), _jsx("span", { className: cn("min-w-0 flex-1 truncate", depth === 0 ? "text-sm font-semibold" : "text-sm"), children: project.title }), _jsx(ProjectProgressIndicator, { done: counts?.done, total: counts?.total })] }, project.projectId));
|
|
35
97
|
}) })) })] }));
|
|
36
98
|
}
|
|
37
99
|
//# sourceMappingURL=TaskBoardProjectListSidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskBoardProjectListSidebar.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskBoardProjectListSidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"TaskBoardProjectListSidebar.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskBoardProjectListSidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,65 +1,22 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { useSyncExternalStore } from "react";
|
|
3
|
+
import { RotateCcw, SquarePen } from "lucide-react";
|
|
3
4
|
import { Button } from "../../components/ui/button";
|
|
4
|
-
import { RotateCcw, Route, Settings, SquarePen } from "lucide-react";
|
|
5
|
-
import { subscribeTaskBoardNav, getTaskBoardNavSnapshot, } from "../taskBoardNavStore";
|
|
6
|
-
import { useEditContext } from "../../editor/client/editContext";
|
|
7
5
|
import { SimpleIconButton } from "../../editor/ui/SimpleIconButton";
|
|
8
|
-
import {
|
|
6
|
+
import { useEditContext } from "../../editor/client/editContext";
|
|
7
|
+
import { getTaskBoardNavSnapshot, subscribeTaskBoardNav, } from "../taskBoardNavStore";
|
|
9
8
|
import { TaskboardPersistentLogPanel } from "./TaskboardPersistentLogPanel";
|
|
10
|
-
import { TaskBoardProjectSelector } from "./TaskBoardProjectSelector";
|
|
11
9
|
export function TaskBoardTitlebar() {
|
|
12
10
|
const editContext = useEditContext();
|
|
13
11
|
const nav = useSyncExternalStore(subscribeTaskBoardNav, getTaskBoardNavSnapshot, getTaskBoardNavSnapshot);
|
|
14
12
|
const showEditorPanel = editContext?.showAgentsWorkspaceEditor ?? false;
|
|
15
|
-
const breadcrumbItems = useMemo(() => {
|
|
16
|
-
if (!nav.selectedProjectId) {
|
|
17
|
-
return [];
|
|
18
|
-
}
|
|
19
|
-
const projectById = new Map(nav.projectOptions.map((project) => [project.projectId, project]));
|
|
20
|
-
const items = [];
|
|
21
|
-
const visited = new Set();
|
|
22
|
-
let currentProjectId = nav.selectedProjectId;
|
|
23
|
-
while (currentProjectId && !visited.has(currentProjectId)) {
|
|
24
|
-
visited.add(currentProjectId);
|
|
25
|
-
const project = projectById.get(currentProjectId);
|
|
26
|
-
const isCurrent = currentProjectId === nav.selectedProjectId;
|
|
27
|
-
const description = (isCurrent ? nav.projectSubtitle : (project?.description ?? "")).trim();
|
|
28
|
-
items.unshift({
|
|
29
|
-
projectId: currentProjectId,
|
|
30
|
-
title: isCurrent
|
|
31
|
-
? nav.projectTitle
|
|
32
|
-
: (project?.title ?? currentProjectId),
|
|
33
|
-
subtitle: isCurrent
|
|
34
|
-
? [description, nav.permissionLabel].filter(Boolean).join(" · ") ||
|
|
35
|
-
undefined
|
|
36
|
-
: description || undefined,
|
|
37
|
-
});
|
|
38
|
-
currentProjectId =
|
|
39
|
-
project?.parentProjectId && projectById.has(project.parentProjectId)
|
|
40
|
-
? project.parentProjectId
|
|
41
|
-
: null;
|
|
42
|
-
}
|
|
43
|
-
return items;
|
|
44
|
-
}, [
|
|
45
|
-
nav.permissionLabel,
|
|
46
|
-
nav.projectOptions,
|
|
47
|
-
nav.projectSubtitle,
|
|
48
|
-
nav.projectTitle,
|
|
49
|
-
nav.selectedProjectId,
|
|
50
|
-
]);
|
|
51
|
-
const currentBreadcrumbItem = breadcrumbItems[breadcrumbItems.length - 1];
|
|
52
13
|
if (editContext?.isMobile && !nav.hasSelectedProject) {
|
|
53
14
|
return null;
|
|
54
15
|
}
|
|
55
|
-
return (_jsxs("div", { className: "flex w-full items-center justify-between gap-4 pr-2 pl-2", children: [
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (nav.selectedProjectId) {
|
|
61
|
-
nav.onRestartProject?.(nav.selectedProjectId, nav.projectTitle);
|
|
62
|
-
}
|
|
63
|
-
}, disabled: !nav.canManageProject || !nav.onRestartProject, className: "h-8 w-8", title: "Restart project (delete all tasks and subprojects, recreate from template)", "data-testid": "taskboard-project-restart-button", children: _jsx(RotateCcw, { className: "text-neutral-grey-50 h-4 w-4" }) }), nav.onToggleWizardMode && (_jsx(SimpleIconButton, { icon: _jsx(Route, { className: "h-4 w-4" }), label: nav.isWizardMode ? "Exit Wizard mode" : "Wizard mode", className: "bg-background hover:bg-accent hover:text-accent-foreground text-neutral-grey-50 h-8 w-8 rounded border", "data-testid": "taskboard-wizard-switcher", selected: nav.isWizardMode, onClick: () => nav.onToggleWizardMode?.(!nav.isWizardMode) })), nav.selectedProjectId ? (_jsx(TaskboardPersistentLogPanel, { scope: "project", projectId: nav.selectedProjectId, title: "Project Activity Log", emptyMessage: "No project-level orchestration entries yet.", refreshKey: nav.selectedProjectId, testId: "taskboard-project-dashboard-log-panel" })) : null] })) : null] }), !editContext?.isMobile && (_jsx("div", { className: "flex items-center gap-2", children: _jsx(SimpleIconButton, { icon: _jsx(SquarePen, { className: "h-5 w-5", strokeWidth: 1 }), label: showEditorPanel ? "Hide Editor" : "Show Editor", size: "large", "data-testid": "taskboard-editor-panel-toggle", selected: showEditorPanel, onClick: () => editContext?.setShowAgentsWorkspaceEditor(!showEditorPanel) }) }))] }));
|
|
16
|
+
return (_jsxs("div", { className: "flex w-full items-center justify-between gap-4 pr-2 pl-2", children: [_jsx("div", { className: "flex min-w-0 items-center gap-2", children: nav.hasSelectedProject ? (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", size: "icon", onClick: () => {
|
|
17
|
+
if (nav.selectedProjectId) {
|
|
18
|
+
nav.onRestartProject?.(nav.selectedProjectId, nav.projectTitle);
|
|
19
|
+
}
|
|
20
|
+
}, disabled: !nav.canManageProject || !nav.onRestartProject, className: "h-8 w-8", title: "Restart project (delete all tasks and subprojects, recreate from template)", "data-testid": "taskboard-project-restart-button", children: _jsx(RotateCcw, { className: "text-neutral-grey-50 h-4 w-4" }) }), nav.selectedProjectId ? (_jsx(TaskboardPersistentLogPanel, { scope: "project", projectId: nav.selectedProjectId, title: "Project Activity Log", emptyMessage: "No project-level orchestration entries yet.", refreshKey: nav.selectedProjectId, testId: "taskboard-project-dashboard-log-panel" })) : null] })) : null }), !editContext?.isMobile && (_jsx("div", { className: "flex items-center gap-2", children: _jsx(SimpleIconButton, { icon: _jsx(SquarePen, { className: "h-5 w-5", strokeWidth: 1 }), label: showEditorPanel ? "Hide Editor" : "Show Editor", size: "large", "data-testid": "taskboard-editor-panel-toggle", selected: showEditorPanel, onClick: () => editContext?.setShowAgentsWorkspaceEditor(!showEditorPanel) }) }))] }));
|
|
64
21
|
}
|
|
65
22
|
//# sourceMappingURL=TaskBoardTitlebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskBoardTitlebar.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskBoardTitlebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TaskBoardTitlebar.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskBoardTitlebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,MAAM,UAAU,iBAAiB;IAC/B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,oBAAoB,CAC9B,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,CACxB,CAAC;IACF,MAAM,eAAe,GAAG,WAAW,EAAE,yBAAyB,IAAI,KAAK,CAAC;IAExE,IAAI,WAAW,EAAE,QAAQ,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,0DAA0D,aACvE,cAAK,SAAS,EAAC,iCAAiC,YAC7C,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACxB,8BACE,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,GAAG,EAAE;gCACZ,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;oCAC1B,GAAG,CAAC,gBAAgB,EAAE,CACpB,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,YAAY,CACjB,CAAC;gCACJ,CAAC;4BACH,CAAC,EACD,QAAQ,EAAE,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,gBAAgB,EACxD,SAAS,EAAC,SAAS,EACnB,KAAK,EAAC,4EAA4E,iBACtE,kCAAkC,YAE9C,KAAC,SAAS,IAAC,SAAS,EAAC,8BAA8B,GAAG,GAC/C,EACR,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CACvB,KAAC,2BAA2B,IAC1B,KAAK,EAAC,SAAS,EACf,SAAS,EAAE,GAAG,CAAC,iBAAiB,EAChC,KAAK,EAAC,sBAAsB,EAC5B,YAAY,EAAC,6CAA6C,EAC1D,UAAU,EAAE,GAAG,CAAC,iBAAiB,EACjC,MAAM,EAAC,uCAAuC,GAC9C,CACH,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC,CAAC,CAAC,IAAI,GACJ,EAEL,CAAC,WAAW,EAAE,QAAQ,IAAI,CACzB,cAAK,SAAS,EAAC,yBAAyB,YACtC,KAAC,gBAAgB,IACf,IAAI,EAAE,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAI,EACvD,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EACtD,IAAI,EAAC,OAAO,iBACA,+BAA+B,EAC3C,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,GAAG,EAAE,CACZ,WAAW,EAAE,4BAA4B,CAAC,CAAC,eAAe,CAAC,GAE7D,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "../../lib/utils";
|
|
3
|
-
import { Loader2, User,
|
|
3
|
+
import { Loader2, User, Calendar, AlertCircle, CheckCircle2, Shield, GitBranch, } from "lucide-react";
|
|
4
4
|
import { getDisplayableAssignee } from "../assigneeDisplay";
|
|
5
5
|
import { Badge } from "../../components/ui/badge";
|
|
6
6
|
import { format } from "date-fns";
|
|
7
|
+
import { ParheliaAgentIcon } from "../../editor/ui/Icons";
|
|
7
8
|
import { getTaskExecutionDisplayFromTask } from "../taskExecutionStatus";
|
|
8
9
|
import { TaskAssigneePicker } from "./TaskAssigneePicker";
|
|
9
|
-
const priorityColors = {
|
|
10
|
-
Critical: "bg-feedback-red-strong",
|
|
11
|
-
High: "bg-component-shared",
|
|
12
|
-
Medium: "bg-feedback-blue",
|
|
13
|
-
Low: "bg-neutral-grey-50",
|
|
14
|
-
};
|
|
15
10
|
const prioritySelectedColors = {
|
|
16
11
|
Critical: "border-feedback-red-strong ring-feedback-red-strong",
|
|
17
12
|
High: "border-component-shared ring-component-shared",
|
|
@@ -33,9 +28,6 @@ export function TaskCard(props) {
|
|
|
33
28
|
executionState: task.executionState,
|
|
34
29
|
isBlocked,
|
|
35
30
|
});
|
|
36
|
-
const priorityColor = task.priority
|
|
37
|
-
? priorityColors[task.priority]
|
|
38
|
-
: "bg-neutral-grey-10";
|
|
39
31
|
const selectedColor = task.priority
|
|
40
32
|
? prioritySelectedColors[task.priority]
|
|
41
33
|
: defaultSelectedColor;
|
|
@@ -54,8 +46,8 @@ export function TaskCard(props) {
|
|
|
54
46
|
event.preventDefault();
|
|
55
47
|
event.currentTarget.click();
|
|
56
48
|
};
|
|
57
|
-
return (
|
|
58
|
-
|
|
59
|
-
|
|
49
|
+
return (_jsx("div", { role: "button", tabIndex: 0, onClick: onClick, onKeyDown: handleKeyDown, className: cn("group border-border-default relative w-full rounded-lg border bg-white p-3 text-left shadow-sm transition-all hover:shadow-md", hoverColor, selected && cn("shadow-lg ring-2", selectedColor)), children: _jsxs("div", { className: "flex flex-col gap-2.5", children: [_jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-neutral-grey-50 mb-1 text-[10px] font-bold tracking-widest", children: displayTaskId }), _jsx("div", { className: "text-neutral-grey-100 line-clamp-2 text-sm leading-snug font-bold", children: task.title })] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [isDecisionPointTask && (_jsx(GitBranch, { className: "text-feedback-blue h-4 w-4" })), showDoneCheckmark && task.status === "Done" && (_jsx(CheckCircle2, { className: "text-feedback-green h-4 w-4" })), task.priority === "Critical" && (_jsx(AlertCircle, { className: "text-feedback-red-strong h-4 w-4" }))] })] }), task.description && (_jsx("div", { className: "text-neutral-grey-50 line-clamp-1 text-xs leading-5 italic", children: task.description })), dependencyTaskIds.length > 0 && (_jsxs("div", { className: "text-neutral-grey-50 line-clamp-1 text-[10px] font-semibold", children: ["Depends on: ", dependencyTaskIds.join(", ")] })), _jsxs("div", { className: "mt-0.5 flex flex-wrap items-center gap-2", children: [isDecisionPointTask && (_jsx(Badge, { variant: "outline", size: "sm", className: "text-2xs border-feedback-blue bg-feedback-blue-light text-feedback-blue", children: "Decision Point" })), canEditInlineAssignee ? (_jsx("div", { className: "min-w-0", onClick: (event) => event.stopPropagation(), onMouseDown: (event) => event.stopPropagation(), children: _jsx(TaskAssigneePicker, { projectId: projectId, assigneeType: task.assigneeType ?? null, value: task.assigneeId ?? null, displayValue: task.assigneeDisplayName ?? task.assigneeId ?? null, onChange: onAssigneeChange, placeholder: "Assign user or agent", buttonClassName: "h-auto max-w-[220px] gap-1 rounded-md border-0 bg-neutral-grey-5 badge-pad-sm text-2xs font-semibold text-neutral-grey-50 shadow-none hover:bg-neutral-grey-5", buttonTestId: `taskboard-task-assignee-${task.taskId}`, showChevron: false, showAssigneeIcon: true }) })) : (_jsxs("div", { className: "text-neutral-grey-50 badge-pad-sm bg-neutral-grey-5 flex items-center gap-1 rounded-md text-xs font-semibold", children: [task.assigneeType === "Agent" ? (_jsx(ParheliaAgentIcon, { className: "h-3 w-3" })) : task.assigneeType === "Role" ? (_jsx(Shield, { className: "h-3 w-3" })) : (_jsx(User, { className: "h-3 w-3" })), _jsx("span", { className: "max-w-[160px] truncate", title: assigneeValue, children: assigneeValue })] })), task.dueDate && (_jsxs("div", { className: "text-neutral-grey-50 badge-pad-sm bg-neutral-grey-5 flex items-center gap-1 rounded-md text-xs font-semibold", children: [_jsx(Calendar, { className: "h-3 w-3" }), _jsx("span", { children: format(new Date(task.dueDate), "MMM d") })] })), executionDisplay ? (_jsxs(Badge, { variant: executionDisplay.variant, size: "sm", className: cn("font-bold", executionDisplay.className), title: executionDisplay.needsAttention
|
|
50
|
+
? "Assigned agent requires attention"
|
|
51
|
+
: undefined, children: [executionDisplay.showSpinner && (_jsx(Loader2, { className: "mr-1 h-2.5 w-2.5 animate-spin" })), executionDisplay.label] })) : null] })] }) }));
|
|
60
52
|
}
|
|
61
53
|
//# sourceMappingURL=TaskCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskCard.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EACL,OAAO,EACP,IAAI,EACJ,
|
|
1
|
+
{"version":3,"file":"TaskCard.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "../../lib/utils";
|
|
3
|
-
import { Loader2, User,
|
|
3
|
+
import { Loader2, User, Circle, Ban, AlertTriangle, Shield, GitBranch, } from "lucide-react";
|
|
4
|
+
import { ParheliaAgentIcon } from "../../editor/ui/Icons";
|
|
4
5
|
import { DeleteIcon } from "../../components/ui/delete-icon";
|
|
5
6
|
import { getDisplayableAssignee } from "../assigneeDisplay";
|
|
6
7
|
import { Badge } from "../../components/ui/badge";
|
|
@@ -32,6 +33,6 @@ export function TaskRow(props) {
|
|
|
32
33
|
const isBlocked = task.executionState === "WaitingForDependency";
|
|
33
34
|
return (_jsxs("div", { "data-testid": `taskboard-task-row-${task.taskId}`, className: cn("grid w-full grid-cols-[minmax(0,1fr)_6rem_7rem_2.5rem] gap-2.5 border-l-2 px-3.5 py-1.5 text-xs transition-colors", priorityBorderClass, selected ? "bg-primary/5 shadow-sm" : "hover:bg-neutral-grey-5"), children: [_jsxs("button", { type: "button", onClick: onClick, className: "contents text-left", "data-testid": `taskboard-task-row-button-${task.taskId}`, children: [_jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [_jsx("span", { className: cn("inline-flex h-4 w-4 shrink-0 items-center justify-center", executionDisplay?.showSpinner && "text-primary", executionDisplay?.needsAttention && "text-feedback-orange", !executionDisplay && "text-neutral-grey-50"), title: executionIconTitle, children: executionDisplay?.showSpinner ? (_jsx(Loader2, { className: "h-3 w-3 animate-spin" })) : isBlocked ? (_jsx(Ban, { className: "h-3 w-3" })) : executionDisplay?.needsAttention ? (_jsx(AlertTriangle, { className: "h-3 w-3" })) : (_jsx(Circle, { className: "h-2.5 w-2.5" })) }), _jsx("span", { "data-testid": `taskboard-task-title-${task.taskId}`, className: cn("truncate font-medium tracking-tight", selected ? "text-primary" : "text-neutral-grey-100"), title: task.description
|
|
34
35
|
? `${task.title} - ${task.description} (Priority: ${task.priority ?? "None"})`
|
|
35
|
-
: `${task.title} (Priority: ${task.priority ?? "None"})`, children: task.title }), isDecisionPointTask && (_jsx(GitBranch, { className: "text-highlight-100 h-3.5 w-3.5 shrink-0" }))] }), _jsx("div", { className: "flex items-center", children: _jsx(Badge, { variant: "outline", size: "sm", className: "text-2xs font-semibold", "data-testid": `taskboard-task-status-${task.taskId}`, children: getTaskStatusLabel(taskStatus) }) })] }), _jsx("div", { className: "text-neutral-grey-50 flex items-center gap-1.5", children: canEditInlineAssignee ? (_jsx(TaskAssigneePicker, { projectId: projectId, assigneeType: task.assigneeType ?? null, value: task.assigneeId ?? null, displayValue: task.assigneeDisplayName ?? task.assigneeId ?? null, onChange: onAssigneeChange, placeholder: "Assign user or agent", buttonClassName: "h-[29px] w-full min-w-0 justify-between rounded-md bg-neutral-grey-5 text-2xs font-medium", buttonTestId: `taskboard-task-assignee-${task.taskId}` })) : (_jsxs(_Fragment, { children: [task.assigneeType === "Agent" ? (_jsx(
|
|
36
|
+
: `${task.title} (Priority: ${task.priority ?? "None"})`, children: task.title }), isDecisionPointTask && (_jsx(GitBranch, { className: "text-highlight-100 h-3.5 w-3.5 shrink-0" }))] }), _jsx("div", { className: "flex items-center", children: _jsx(Badge, { variant: "outline", size: "sm", className: "text-2xs font-semibold", "data-testid": `taskboard-task-status-${task.taskId}`, children: getTaskStatusLabel(taskStatus) }) })] }), _jsx("div", { className: "text-neutral-grey-50 flex items-center gap-1.5", children: canEditInlineAssignee ? (_jsx(TaskAssigneePicker, { projectId: projectId, assigneeType: task.assigneeType ?? null, value: task.assigneeId ?? null, displayValue: task.assigneeDisplayName ?? task.assigneeId ?? null, onChange: onAssigneeChange, placeholder: "Assign user or agent", buttonClassName: "h-[29px] w-full min-w-0 justify-between rounded-md bg-neutral-grey-5 text-2xs font-medium", buttonTestId: `taskboard-task-assignee-${task.taskId}` })) : (_jsxs(_Fragment, { children: [task.assigneeType === "Agent" ? (_jsx(ParheliaAgentIcon, { className: "text-neutral-grey-50 h-3 w-3 shrink-0" })) : task.assigneeType === "Role" ? (_jsx(Shield, { className: "text-neutral-grey-50 h-3 w-3 shrink-0" })) : (_jsx(User, { className: "text-neutral-grey-50 h-3 w-3 shrink-0" })), _jsx("span", { className: "truncate text-[11px] font-medium", title: assigneeValue, "data-testid": `taskboard-task-assignee-${task.taskId}`, children: assigneeValue })] })) }), _jsx("div", { className: "flex items-center justify-end", children: onDelete ? (_jsx("button", { type: "button", className: "text-neutral-grey-50 hover:bg-neutral-grey-5 hover:text-neutral-grey-50 rounded-md p-1 transition-colors", title: "Delete task", onClick: onDelete, "data-testid": `taskboard-task-delete-${task.taskId}`, children: _jsx(DeleteIcon, { size: "md" }) })) : null })] }));
|
|
36
37
|
}
|
|
37
38
|
//# sourceMappingURL=TaskRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRow.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EACL,OAAO,EACP,IAAI,EACJ,
|
|
1
|
+
{"version":3,"file":"TaskRow.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,6 @@ type TaskBoardNavState = {
|
|
|
23
23
|
projectSubtitle: string;
|
|
24
24
|
permissionLabel: string;
|
|
25
25
|
activeTab: number;
|
|
26
|
-
isWizardMode: boolean;
|
|
27
26
|
isAdministrator: boolean;
|
|
28
27
|
showAllProjects: boolean;
|
|
29
28
|
isProjectsLoading: boolean;
|
|
@@ -50,7 +49,6 @@ type TaskBoardNavState = {
|
|
|
50
49
|
onDeleteProject?: (projectId: string, title: string) => void;
|
|
51
50
|
onRestartProject?: (projectId: string, title: string) => void;
|
|
52
51
|
onToggleShowAllProjects?: (enabled: boolean) => void;
|
|
53
|
-
onToggleWizardMode?: (enabled: boolean) => void;
|
|
54
52
|
onCreateTask?: () => void;
|
|
55
53
|
onRunOrchestrator?: () => void | Promise<void>;
|
|
56
54
|
};
|
|
@@ -3,7 +3,6 @@ const defaultState = {
|
|
|
3
3
|
projectSubtitle: "Select a project to get started",
|
|
4
4
|
permissionLabel: "No project selected",
|
|
5
5
|
activeTab: 0,
|
|
6
|
-
isWizardMode: false,
|
|
7
6
|
isAdministrator: false,
|
|
8
7
|
showAllProjects: false,
|
|
9
8
|
isProjectsLoading: false,
|
|
@@ -27,7 +26,6 @@ const defaultState = {
|
|
|
27
26
|
onDeleteProject: undefined,
|
|
28
27
|
onRestartProject: undefined,
|
|
29
28
|
onToggleShowAllProjects: undefined,
|
|
30
|
-
onToggleWizardMode: undefined,
|
|
31
29
|
onCreateTask: undefined,
|
|
32
30
|
onRunOrchestrator: undefined,
|
|
33
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskBoardNavStore.js","sourceRoot":"","sources":["../../src/task-board/taskBoardNavStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taskBoardNavStore.js","sourceRoot":"","sources":["../../src/task-board/taskBoardNavStore.ts"],"names":[],"mappings":"AAuDA,MAAM,YAAY,GAAsB;IACtC,YAAY,EAAE,OAAO;IACrB,eAAe,EAAE,iCAAiC;IAClD,eAAe,EAAE,qBAAqB;IACtC,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;IACtB,iBAAiB,EAAE,KAAK;IACxB,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,EAAE;IAClB,kBAAkB,EAAE,KAAK;IACzB,aAAa,EAAE,KAAK;IACpB,kBAAkB,EAAE,KAAK;IACzB,mBAAmB,EAAE,KAAK;IAC1B,gBAAgB,EAAE,KAAK;IACvB,OAAO,EAAE,EAAE;IACX,cAAc,EAAE,KAAK;IACrB,eAAe,EAAE,SAAS;IAC1B,iBAAiB,EAAE,SAAS;IAC5B,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,SAAS;IAC1B,sBAAsB,EAAE,SAAS;IACjC,qBAAqB,EAAE,SAAS;IAChC,eAAe,EAAE,SAAS;IAC1B,gBAAgB,EAAE,SAAS;IAC3B,uBAAuB,EAAE,SAAS;IAClC,YAAY,EAAE,SAAS;IACvB,iBAAiB,EAAE,SAAS;CAC7B,CAAC;AAEF,IAAI,KAAK,GAAsB,YAAY,CAAC;AAC5C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;AAExC,SAAS,IAAI;IACX,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAoB;IACxD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAmC;IACtE,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,KAAK,GAAG,YAAY,CAAC;IACrB,IAAI,EAAE,CAAC;AACT,CAAC"}
|
|
@@ -12,7 +12,8 @@ import { saveGraphLayout } from "../services/taskService";
|
|
|
12
12
|
import { Button } from "../../components/ui/button";
|
|
13
13
|
import { Badge } from "../../components/ui/badge";
|
|
14
14
|
import { Tooltip, TooltipContent, TooltipTrigger, } from "../../components/ui/tooltip";
|
|
15
|
-
import { Circle, PlayCircle, Clock3, Eye, CheckCircle2, GitBranch, RotateCcw, Loader2, Plus, Maximize2, Minimize2, SquareSquare, AlertCircle,
|
|
15
|
+
import { Circle, PlayCircle, Clock3, Eye, CheckCircle2, GitBranch, RotateCcw, Loader2, Plus, Maximize2, Minimize2, SquareSquare, AlertCircle, Shield, User, } from "lucide-react";
|
|
16
|
+
import { ParheliaAgentIcon } from "../../editor/ui/Icons";
|
|
16
17
|
import { DeleteIcon } from "../../components/ui/delete-icon";
|
|
17
18
|
const NODE_WIDTH = 220;
|
|
18
19
|
const NODE_HEIGHT = 96;
|
|
@@ -91,7 +92,7 @@ function TaskGraphNode({ data }) {
|
|
|
91
92
|
? PRIORITY_SELECTED_STYLES[data.priority]
|
|
92
93
|
: DEFAULT_SELECTED_STYLE;
|
|
93
94
|
const AssigneeIcon = data.assigneeType === "Agent"
|
|
94
|
-
?
|
|
95
|
+
? ParheliaAgentIcon
|
|
95
96
|
: data.assigneeType === "Role"
|
|
96
97
|
? Shield
|
|
97
98
|
: User;
|