@parhelia/core 0.1.12393 → 0.1.12404
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/components/ui/input.d.ts +1 -1
- package/dist/components/ui/input.js +5 -3
- package/dist/components/ui/input.js.map +1 -1
- package/dist/editor/FieldHistory.js +47 -17
- package/dist/editor/FieldHistory.js.map +1 -1
- package/dist/editor/PictureCropper.js +9 -4
- package/dist/editor/PictureCropper.js.map +1 -1
- package/dist/editor/PictureEditor.js +12 -13
- package/dist/editor/PictureEditor.js.map +1 -1
- package/dist/editor/ai/AgentTerminal.js +136 -23
- package/dist/editor/ai/AgentTerminal.js.map +1 -1
- package/dist/editor/ai/AgentTerminalStatusBar.d.ts +5 -1
- package/dist/editor/ai/AgentTerminalStatusBar.js +182 -22
- package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/ContentInspectorPopover.js +105 -24
- package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
- package/dist/editor/ai/ContextInfoBar.d.ts +2 -1
- package/dist/editor/ai/ContextInfoBar.js +9 -6
- package/dist/editor/ai/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/agentDiagnostics.d.ts +36 -0
- package/dist/editor/ai/agentDiagnostics.js +120 -0
- package/dist/editor/ai/agentDiagnostics.js.map +1 -0
- package/dist/editor/ai/dialogs/QuestionnaireInline.d.ts +2 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +452 -63
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +27 -5
- package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
- package/dist/editor/client/EditorShell.js +8 -0
- 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/useEditorWebSocket.d.ts +3 -0
- package/dist/editor/client/hooks/useEditorWebSocket.js +66 -1
- package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
- package/dist/editor/client/socketDiagnostics.d.ts +19 -0
- package/dist/editor/client/socketDiagnostics.js +32 -0
- package/dist/editor/client/socketDiagnostics.js.map +1 -0
- package/dist/editor/pictureRawValue.d.ts +3 -0
- package/dist/editor/pictureRawValue.js +30 -0
- package/dist/editor/pictureRawValue.js.map +1 -0
- package/dist/editor/reviews/CreateReviewDetailsStep.d.ts +1 -1
- package/dist/editor/reviews/CreateReviewDialog.js +3 -2
- package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +57 -0
- package/dist/editor/services/agentService.js +30 -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/services/contentService.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js +1 -0
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileEditorPanel.d.ts +14 -0
- package/dist/editor/settings/panels/AgentProfileEditorPanel.js +7 -0
- package/dist/editor/settings/panels/AgentProfileEditorPanel.js.map +1 -0
- package/dist/editor/settings/panels/AgentsPanel.js +2 -2
- package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js +132 -82
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
- package/dist/editor/ui/ItemCollectionEditor.d.ts +2 -1
- package/dist/editor/ui/ItemCollectionEditor.js +70 -27
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/TreeListSelector.d.ts +4 -1
- package/dist/editor/ui/TreeListSelector.js +2 -2
- package/dist/editor/ui/TreeListSelector.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/task-board/TaskBoardWorkspace.js +11 -18
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/ItemCollectionEditorDialog.js +28 -17
- package/dist/task-board/components/ItemCollectionEditorDialog.js.map +1 -1
- package/dist/task-board/components/ProjectDashboard.d.ts +4 -0
- package/dist/task-board/components/ProjectDashboard.js +1 -1
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectListContent.d.ts +1 -1
- package/dist/task-board/components/ProjectListContent.js +4 -1
- package/dist/task-board/components/ProjectListContent.js.map +1 -1
- package/dist/task-board/components/ProjectOverviewContent.d.ts +17 -0
- package/dist/task-board/components/ProjectOverviewContent.js +134 -0
- package/dist/task-board/components/ProjectOverviewContent.js.map +1 -0
- package/dist/task-board/components/ProjectSelector.d.ts +1 -1
- package/dist/task-board/components/ProjectSelector.js +1 -1
- package/dist/task-board/components/ProjectSelector.js.map +1 -1
- package/dist/task-board/components/TaskAssigneePicker.d.ts +3 -2
- package/dist/task-board/components/TaskAssigneePicker.js +10 -6
- package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.js +59 -9
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/services/taskService.d.ts +5 -1
- package/dist/task-board/services/taskService.js +11 -0
- package/dist/task-board/services/taskService.js.map +1 -1
- package/dist/task-board/taskBoardNavStore.d.ts +3 -1
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/task-board/types.d.ts +30 -0
- package/dist/task-board/utils/taskDependencyOrdering.d.ts +3 -0
- package/dist/task-board/utils/taskDependencyOrdering.js +64 -0
- package/dist/task-board/utils/taskDependencyOrdering.js.map +1 -0
- package/dist/task-board/views/WizardView.js +5 -15
- package/dist/task-board/views/WizardView.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ import { Textarea } from "../../components/ui/textarea";
|
|
|
8
8
|
import { Select } from "../../components/ui/select";
|
|
9
9
|
import { Plus, Link as LinkIcon, Trash2, X, Loader2, MessageSquare, CheckCircle2, } from "lucide-react";
|
|
10
10
|
import { useEditContext } from "../../editor/client/editContext";
|
|
11
|
-
import { addComment, updateTask, deleteTask } from "../services/taskService";
|
|
11
|
+
import { addComment, updateTask, deleteTask, removeDependency, } from "../services/taskService";
|
|
12
12
|
import { CommentsList } from "./CommentsList";
|
|
13
13
|
import { TaskCard } from "./TaskCard";
|
|
14
14
|
import { CreateTaskDialog } from "./CreateTaskDialog";
|
|
@@ -34,12 +34,24 @@ const priorities = [
|
|
|
34
34
|
{ value: "High", label: "High" },
|
|
35
35
|
{ value: "Critical", label: "Critical" },
|
|
36
36
|
];
|
|
37
|
+
function RelationshipRow(props) {
|
|
38
|
+
const { entry, compact, canEdit, isRemoving, dependencyTaskIds, onSelectTask, onRemove, } = props;
|
|
39
|
+
const removeButton = canEdit ? (_jsx(Button, { variant: "ghost", size: "icon", className: "h-7 w-7 shrink-0 text-slate-400 hover:bg-red-50 hover:text-red-600", onClick: (event) => {
|
|
40
|
+
event.stopPropagation();
|
|
41
|
+
void onRemove(entry.dependency);
|
|
42
|
+
}, disabled: isRemoving, title: "Remove relationship", "data-testid": `taskboard-task-detail-remove-dependency-${entry.dependency.dependencyId}`, children: isRemoving ? (_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" })) : (_jsx(Trash2, { className: "h-3.5 w-3.5" })) })) : null;
|
|
43
|
+
if (compact) {
|
|
44
|
+
return (_jsxs("div", { className: "group flex items-center gap-2 rounded-md border border-slate-200 bg-white pr-2 transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsxs("button", { type: "button", onClick: () => onSelectTask(entry.task.taskId), className: "flex min-w-0 flex-1 items-center gap-2 px-3 py-2 text-left", children: [_jsx(Badge, { variant: "outline", className: "h-4 border-slate-200 bg-slate-50 px-1 text-[8px] font-bold text-slate-400 group-hover:border-slate-300", children: entry.task.taskKey || entry.task.taskId.slice(0, 4) }), _jsx("span", { className: "truncate text-xs font-medium text-slate-700", children: entry.task.title }), entry.task.status === "Done" && (_jsx(CheckCircle2, { className: "ml-auto h-3.5 w-3.5 shrink-0 text-emerald-600" }))] }), removeButton] }));
|
|
45
|
+
}
|
|
46
|
+
return (_jsxs("div", { className: "relative", children: [_jsx(TaskCard, { task: entry.task, selected: false, onClick: () => onSelectTask(entry.task.taskId), dependencyTaskIds: dependencyTaskIds, showDoneCheckmark: true }), canEdit ? (_jsx("div", { className: "absolute top-2 right-2 z-10", children: removeButton })) : null] }));
|
|
47
|
+
}
|
|
37
48
|
export function TaskDetailPanel(props) {
|
|
38
49
|
const { project, task, allTasks, dependencies, onTaskChanged, onSelectTask, onClose, variant = "panel", } = props;
|
|
39
50
|
const [commentText, setCommentText] = useState("");
|
|
40
51
|
const [commentRefreshKey, setCommentRefreshKey] = useState(0);
|
|
41
52
|
const [isCreateSubtaskOpen, setIsCreateSubtaskOpen] = useState(false);
|
|
42
53
|
const [isAddDependencyOpen, setIsAddDependencyOpen] = useState(false);
|
|
54
|
+
const [removingDependencyId, setRemovingDependencyId] = useState(null);
|
|
43
55
|
const [localDescription, setLocalDescription] = useState(task?.description ?? "");
|
|
44
56
|
const [localResultData, setLocalResultData] = useState(task?.resultData ?? "");
|
|
45
57
|
const editContext = useEditContext();
|
|
@@ -124,16 +136,22 @@ export function TaskDetailPanel(props) {
|
|
|
124
136
|
return [];
|
|
125
137
|
const blockingDeps = dependencies.filter((d) => d.taskId === task.taskId && d.dependencyType === "BlockedBy");
|
|
126
138
|
return blockingDeps
|
|
127
|
-
.map((dep) =>
|
|
128
|
-
.
|
|
139
|
+
.map((dep) => {
|
|
140
|
+
const linkedTask = allTasks.find((t) => t.taskId === dep.dependsOnTaskId);
|
|
141
|
+
return linkedTask ? { dependency: dep, task: linkedTask } : null;
|
|
142
|
+
})
|
|
143
|
+
.filter((entry) => entry !== null);
|
|
129
144
|
}, [task, dependencies, allTasks]);
|
|
130
145
|
const relatedTasks = useMemo(() => {
|
|
131
146
|
if (!task)
|
|
132
147
|
return [];
|
|
133
148
|
const relatedDeps = dependencies.filter((d) => d.taskId === task.taskId && d.dependencyType === "RelatedTo");
|
|
134
149
|
return relatedDeps
|
|
135
|
-
.map((dep) =>
|
|
136
|
-
.
|
|
150
|
+
.map((dep) => {
|
|
151
|
+
const linkedTask = allTasks.find((t) => t.taskId === dep.dependsOnTaskId);
|
|
152
|
+
return linkedTask ? { dependency: dep, task: linkedTask } : null;
|
|
153
|
+
})
|
|
154
|
+
.filter((entry) => entry !== null);
|
|
137
155
|
}, [task, dependencies, allTasks]);
|
|
138
156
|
const blockingTasks = useMemo(() => {
|
|
139
157
|
if (!task)
|
|
@@ -141,8 +159,11 @@ export function TaskDetailPanel(props) {
|
|
|
141
159
|
// Tasks that are blocked by this task
|
|
142
160
|
const blockingDeps = dependencies.filter((d) => d.dependsOnTaskId === task.taskId && d.dependencyType === "BlockedBy");
|
|
143
161
|
return blockingDeps
|
|
144
|
-
.map((dep) =>
|
|
145
|
-
.
|
|
162
|
+
.map((dep) => {
|
|
163
|
+
const linkedTask = allTasks.find((t) => t.taskId === dep.taskId);
|
|
164
|
+
return linkedTask ? { dependency: dep, task: linkedTask } : null;
|
|
165
|
+
})
|
|
166
|
+
.filter((entry) => entry !== null);
|
|
146
167
|
}, [task, dependencies, allTasks]);
|
|
147
168
|
const setStatus = async (status) => {
|
|
148
169
|
if (!task)
|
|
@@ -242,6 +263,29 @@ export function TaskDetailPanel(props) {
|
|
|
242
263
|
toast.success("Comment added");
|
|
243
264
|
await onTaskChanged();
|
|
244
265
|
};
|
|
266
|
+
const removeRelationship = useCallback(async (dependency) => {
|
|
267
|
+
setRemovingDependencyId(dependency.dependencyId);
|
|
268
|
+
try {
|
|
269
|
+
const result = await removeDependency({
|
|
270
|
+
dependencyId: dependency.dependencyId,
|
|
271
|
+
});
|
|
272
|
+
if (result.type !== "success") {
|
|
273
|
+
toast.error(result.summary || "Failed to remove relationship");
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
const response = result.data;
|
|
277
|
+
const removedCount = response?.removedCount ?? response?.RemovedCount ?? 1;
|
|
278
|
+
if (removedCount <= 0) {
|
|
279
|
+
toast.error("Relationship not found");
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
toast.success("Relationship removed");
|
|
283
|
+
await onTaskChanged();
|
|
284
|
+
}
|
|
285
|
+
finally {
|
|
286
|
+
setRemovingDependencyId((current) => current === dependency.dependencyId ? null : current);
|
|
287
|
+
}
|
|
288
|
+
}, [onTaskChanged]);
|
|
245
289
|
const parentOptions = useMemo(() => {
|
|
246
290
|
if (!task)
|
|
247
291
|
return [];
|
|
@@ -335,9 +379,15 @@ export function TaskDetailPanel(props) {
|
|
|
335
379
|
}, [task]);
|
|
336
380
|
return (_jsxs("div", { "data-testid": "taskboard-task-detail-panel", className: `flex h-full flex-col bg-slate-50/50 ${variant === "panel" ? "border-t" : ""}`, children: [_jsx("div", { className: "flex flex-col border-b bg-white p-4 shadow-sm", children: _jsxs("div", { className: "flex items-start justify-between gap-4", children: [_jsxs("div", { className: "min-w-0 flex-1 space-y-1", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [task && (_jsx(Badge, { variant: "outline", className: "h-5 shrink-0 border-slate-200 bg-slate-50 px-1.5 text-[10px] font-bold tracking-tight text-slate-500 uppercase", children: displayTaskId })), _jsx("h2", { className: "truncate text-base leading-none font-bold tracking-tight text-slate-900", "data-testid": "taskboard-task-detail-title", children: title })] }), task ? (_jsxs("div", { className: "flex flex-wrap items-center gap-2 pt-1", children: [_jsx(Select, { "data-testid": "taskboard-task-detail-status-select", value: task.status, onValueChange: (v) => setStatus(v), disabled: !canEdit, options: statuses, className: "h-7 w-[130px] text-xs font-medium" }), _jsx(Select, { "data-testid": "taskboard-task-detail-priority-select", value: task.priority ?? "none", onValueChange: (v) => setPriority(v), disabled: !canEdit, options: priorities, className: "h-7 w-[140px] text-xs font-medium" }), !isPlanTask && project && (_jsx(TaskAssigneePicker, { projectId: project.project.projectId, assigneeType: task.assigneeType ?? null, value: task.assigneeId ?? null, displayValue: task.assigneeDisplayName ?? task.assigneeId ?? null, disabled: !canEdit, onChange: upsertAssignee, placeholder: "Assign user or agent", buttonTestId: "taskboard-task-detail-assignee-select" })), executionDisplay && (_jsxs(Badge, { variant: executionDisplay.variant, className: `h-5 gap-1 text-[10px] font-bold tracking-wider uppercase ${executionDisplay.className || ""}`, children: [executionDisplay.showSpinner && (_jsx(Loader2, { className: "h-2.5 w-2.5 animate-spin" })), executionDisplay.label] }))] })) : (_jsx("div", { className: "text-muted-foreground truncate text-sm italic", children: "No task selected" })), task ? (_jsx(TaskReviewActions, { task: task, agentId: getLinkedAgentId(task), canEdit: canEdit, onTaskChanged: onTaskChanged, className: "flex flex-wrap items-center gap-2 pt-2" })) : null] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [task && canEdit && (_jsx(Button, { variant: "ghost", size: "icon", onClick: handleDelete, className: "hover:text-destructive hover:bg-destructive/5 h-8 w-8 text-slate-400", title: "Delete task", "data-testid": "taskboard-task-detail-delete-button", children: _jsx(Trash2, { className: "h-4 w-4" }) })), _jsx(Button, { variant: "ghost", size: "icon", onClick: onClose, className: "h-8 w-8 text-slate-400 hover:bg-slate-100 hover:text-slate-600", title: "Close", "data-testid": "taskboard-task-detail-close-button", children: _jsx(X, { className: "h-4 w-4" }) })] })] }) }), _jsx("div", { className: compactPanel
|
|
337
381
|
? "min-h-0 flex-1 overflow-auto bg-slate-50/30 p-4"
|
|
338
|
-
: "min-h-0 flex-1 overflow-auto bg-slate-50/30 p-6", children: !task ? (_jsx("div", { className: "text-muted-foreground flex h-full items-center justify-center text-sm italic", children: "Select a task to view details." })) : (_jsxs("div", { className: compactPanel ? "grid gap-6" : "grid gap-8", children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Description" }), _jsx(Textarea, { "data-testid": "taskboard-task-detail-description", value: localDescription, onChange: (e) => setLocalDescription(e.target.value), onBlur: () => void saveDescription(), rows: compactPanel ? 2 : 3, placeholder: "Add a description\u2026", disabled: !canEdit, className: "resize-none bg-white text-[13px] leading-relaxed shadow-sm focus-visible:ring-1" })] }), isPlanTask && (_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Plan" }), _jsx(Textarea, { "data-testid": "taskboard-task-detail-plan", value: localResultData, onChange: (e) => setLocalResultData(e.target.value), onBlur: () => void saveResultData(), rows: compactPanel ? 6 : 10, placeholder: "Write the plan\u2026", disabled: !canEdit, className: "min-h-[200px] bg-white font-mono text-[12px] leading-relaxed shadow-sm focus-visible:ring-1" }), _jsxs("div", { className: "rounded border border-blue-100 bg-blue-50/50 px-2 py-1.5 text-[11px] text-slate-500", "data-testid": "taskboard-task-plan-approval-hint", children: [_jsx("span", { className: "font-semibold text-blue-700", children: "Approval:" }), " ", "Move this plan task to", " ", _jsx("span", { className: "font-bold text-blue-800", children: "Done" }), " to approve."] })] })), compactPanel && (_jsxs("div", { className: "grid gap-6 border-t border-slate-200/60 pt-6", children: [_jsxs("div", { className: "grid gap-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Subtasks ", childTasks.length > 0 && `(${childTasks.length})`, canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsCreateSubtaskOpen(true), title: "Add subtask", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), childTasks.length > 0 ? (_jsx("div", { className: "grid gap-1.5", children: childTasks.map((child) => (_jsxs("button", { type: "button", onClick: () => onSelectTask(child.taskId), className: "group flex items-center gap-2 truncate rounded-md border border-slate-200 bg-white px-3 py-2 text-left text-xs transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsx(Badge, { variant: "outline", className: "h-4 border-slate-200 bg-slate-50 px-1 text-[8px] font-bold text-slate-400 group-hover:border-slate-300", children: child.taskKey || child.taskId.slice(0, 4) }), _jsx("span", { className: "truncate font-medium text-slate-700", children: child.title })] }, child.taskId))) })) : (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No subtasks." }))] }), _jsxs("div", { className: "grid gap-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Dependencies", canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsAddDependencyOpen(true), title: "Add relationship", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), blockedByTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocked By" }), _jsx("div", { className: "grid gap-1.5", children: blockedByTasks.map((blocking) => (
|
|
382
|
+
: "min-h-0 flex-1 overflow-auto bg-slate-50/30 p-6", children: !task ? (_jsx("div", { className: "text-muted-foreground flex h-full items-center justify-center text-sm italic", children: "Select a task to view details." })) : (_jsxs("div", { className: compactPanel ? "grid gap-6" : "grid gap-8", children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Description" }), _jsx(Textarea, { "data-testid": "taskboard-task-detail-description", value: localDescription, onChange: (e) => setLocalDescription(e.target.value), onBlur: () => void saveDescription(), rows: compactPanel ? 2 : 3, placeholder: "Add a description\u2026", disabled: !canEdit, className: "resize-none bg-white text-[13px] leading-relaxed shadow-sm focus-visible:ring-1" })] }), isPlanTask && (_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Plan" }), _jsx(Textarea, { "data-testid": "taskboard-task-detail-plan", value: localResultData, onChange: (e) => setLocalResultData(e.target.value), onBlur: () => void saveResultData(), rows: compactPanel ? 6 : 10, placeholder: "Write the plan\u2026", disabled: !canEdit, className: "min-h-[200px] bg-white font-mono text-[12px] leading-relaxed shadow-sm focus-visible:ring-1" }), _jsxs("div", { className: "rounded border border-blue-100 bg-blue-50/50 px-2 py-1.5 text-[11px] text-slate-500", "data-testid": "taskboard-task-plan-approval-hint", children: [_jsx("span", { className: "font-semibold text-blue-700", children: "Approval:" }), " ", "Move this plan task to", " ", _jsx("span", { className: "font-bold text-blue-800", children: "Done" }), " to approve."] })] })), compactPanel && (_jsxs("div", { className: "grid gap-6 border-t border-slate-200/60 pt-6", children: [_jsxs("div", { className: "grid gap-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Subtasks ", childTasks.length > 0 && `(${childTasks.length})`, canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsCreateSubtaskOpen(true), title: "Add subtask", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), childTasks.length > 0 ? (_jsx("div", { className: "grid gap-1.5", children: childTasks.map((child) => (_jsxs("button", { type: "button", onClick: () => onSelectTask(child.taskId), className: "group flex items-center gap-2 truncate rounded-md border border-slate-200 bg-white px-3 py-2 text-left text-xs transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsx(Badge, { variant: "outline", className: "h-4 border-slate-200 bg-slate-50 px-1 text-[8px] font-bold text-slate-400 group-hover:border-slate-300", children: child.taskKey || child.taskId.slice(0, 4) }), _jsx("span", { className: "truncate font-medium text-slate-700", children: child.title })] }, child.taskId))) })) : (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No subtasks." }))] }), _jsxs("div", { className: "grid gap-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Dependencies", canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsAddDependencyOpen(true), title: "Add relationship", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), blockedByTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocked By" }), _jsx("div", { className: "grid gap-1.5", children: blockedByTasks.map((blocking) => (_jsx(RelationshipRow, { entry: blocking, compact: true, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
383
|
+
blocking.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(blocking.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, blocking.dependency.dependencyId))) })] })), blockingTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocks" }), _jsx("div", { className: "grid gap-1.5", children: blockingTasks.map((blocked) => (_jsx(RelationshipRow, { entry: blocked, compact: true, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
384
|
+
blocked.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(blocked.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, blocked.dependency.dependencyId))) })] })), relatedTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Related To" }), _jsx("div", { className: "grid gap-1.5", children: relatedTasks.map((related) => (_jsx(RelationshipRow, { entry: related, compact: true, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
385
|
+
related.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(related.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, related.dependency.dependencyId))) })] })), blockedByTasks.length === 0 &&
|
|
339
386
|
blockingTasks.length === 0 &&
|
|
340
|
-
relatedTasks.length === 0 && (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No dependencies." }))] })] })), !compactPanel && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Parent Task" }), _jsx(Select, { value: currentParentValue, onValueChange: setParent, disabled: !canEdit, options: parentOptions, className: "bg-white text-[13px] shadow-sm" })] }), _jsxs("div", { className: "grid gap-2 pt-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Subtasks ", childTasks.length > 0 && `(${childTasks.length})`, canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsCreateSubtaskOpen(true), title: "Add subtask", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), childTasks.length > 0 ? (_jsx("div", { className: "grid gap-2", children: childTasks.map((child) => (_jsx(TaskCard, { task: child, selected: false, onClick: () => onSelectTask(child.taskId), dependencyTaskIds: getDependencyTaskIds(child.taskId) }, child.taskId))) })) : (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No subtasks." }))] }), _jsxs("div", { className: "grid gap-4 border-t border-slate-200/60 pt-6", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Relationships", canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsAddDependencyOpen(true), title: "Add relationship", children: _jsx(LinkIcon, { className: "h-3 w-3" }) }))] }), _jsxs("div", { className: "grid gap-6", children: [blockedByTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocked By" }), _jsx("div", { className: "grid gap-2", children: blockedByTasks.map((blocking) => (_jsx(
|
|
387
|
+
relatedTasks.length === 0 && (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No dependencies." }))] })] })), !compactPanel && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Parent Task" }), _jsx(Select, { value: currentParentValue, onValueChange: setParent, disabled: !canEdit, options: parentOptions, className: "bg-white text-[13px] shadow-sm" })] }), _jsxs("div", { className: "grid gap-2 pt-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Subtasks ", childTasks.length > 0 && `(${childTasks.length})`, canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsCreateSubtaskOpen(true), title: "Add subtask", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), childTasks.length > 0 ? (_jsx("div", { className: "grid gap-2", children: childTasks.map((child) => (_jsx(TaskCard, { task: child, selected: false, onClick: () => onSelectTask(child.taskId), dependencyTaskIds: getDependencyTaskIds(child.taskId) }, child.taskId))) })) : (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No subtasks." }))] }), _jsxs("div", { className: "grid gap-4 border-t border-slate-200/60 pt-6", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Relationships", canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsAddDependencyOpen(true), title: "Add relationship", children: _jsx(LinkIcon, { className: "h-3 w-3" }) }))] }), _jsxs("div", { className: "grid gap-6", children: [blockedByTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocked By" }), _jsx("div", { className: "grid gap-2", children: blockedByTasks.map((blocking) => (_jsx(RelationshipRow, { entry: blocking, compact: false, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
388
|
+
blocking.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(blocking.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, blocking.dependency.dependencyId))) })] })), blockingTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocks" }), _jsx("div", { className: "grid gap-2", children: blockingTasks.map((blocked) => (_jsx(RelationshipRow, { entry: blocked, compact: false, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
389
|
+
blocked.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(blocked.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, blocked.dependency.dependencyId))) })] })), relatedTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Related To" }), _jsx("div", { className: "grid gap-2", children: relatedTasks.map((related) => (_jsx(RelationshipRow, { entry: related, compact: false, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
390
|
+
related.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(related.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, related.dependency.dependencyId))) })] })), blockedByTasks.length === 0 &&
|
|
341
391
|
blockingTasks.length === 0 &&
|
|
342
392
|
relatedTasks.length === 0 && (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No relationships defined." }))] })] })] })), _jsx(TaskAttachmentsSection, { task: task, canEdit: canEdit, onTaskChanged: onTaskChanged }), _jsxs("div", { className: "grid gap-4 border-t border-slate-200/60 pt-6", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(MessageSquare, { className: "h-4 w-4 text-slate-400" }), _jsx("span", { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Add Comment" })] }), _jsxs("div", { className: "grid gap-3", children: [_jsx(Textarea, { value: commentText, onChange: (e) => setCommentText(e.target.value), rows: 3, placeholder: "Write a comment\u2026", disabled: !canEdit, className: "resize-none bg-white text-[13px] leading-relaxed shadow-sm transition-all focus-visible:ring-1 focus-visible:ring-slate-300" }), _jsx("div", { className: "flex justify-end", children: _jsx(Button, { size: "sm", onClick: submitComment, disabled: !canEdit || !commentText.trim(), className: "h-8 px-4 text-xs font-semibold", children: "Post comment" }) })] }), _jsx("div", { className: "mt-2", children: _jsx(CommentsList, { taskId: task.taskId, refreshKey: commentRefreshKey, currentUsername: editContext?.user?.name ?? null }) })] })] })) }), task && project && (_jsxs(_Fragment, { children: [_jsx(CreateTaskDialog, { open: isCreateSubtaskOpen, onOpenChange: setIsCreateSubtaskOpen, projectId: project.project.projectId, parentTaskId: task.taskId, availableParentTasks: allTasks, onCreated: onTaskChanged }), _jsx(AddDependencyDialog, { open: isAddDependencyOpen, onOpenChange: setIsAddDependencyOpen, task: task, allTasks: allTasks, onCreated: onTaskChanged })] }))] }));
|
|
343
393
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskDetailPanel.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskDetailPanel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TaskDetailPanel.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskDetailPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ExecutionResult } from "../../editor/services/serviceHelper";
|
|
2
|
-
import type { AddMemberRequest, AddTaskCommentRequest, DeleteTaskCommentRequest, AddTaskDependencyRequest, CreateProjectRequest, CreateTaskRequest, DeleteProjectPropertyRequest, ProjectTemplateAgentSession, ProjectTemplate, UpsertProjectTemplateRequest, ProjectMember, ProjectProperty, ProjectWithPermission, TaskAttachment, WizardGuidanceResponse, TaskAssignableUser, TaskComment, TaskDependency, TaskGraphLayout, TaskExecutionRecord, TaskExecutionStateRequest, TaskItem, SaveTaskGraphLayoutRequest, UpdateProjectRequest, UpdateTaskRequest, UploadTaskAttachmentRequest, UpsertProjectPropertiesRequest } from "../types";
|
|
2
|
+
import type { AddMemberRequest, AddTaskCommentRequest, DeleteTaskCommentRequest, AddTaskDependencyRequest, RemoveTaskDependencyRequest, CreateProjectRequest, CreateTaskRequest, DeleteProjectPropertyRequest, ProjectTemplateAgentSession, ProjectTemplate, UpsertProjectTemplateRequest, ProjectMember, ProjectProperty, ProjectWithPermission, TaskAttachment, WizardGuidanceResponse, TaskAssignableUser, TaskComment, TaskDependency, TaskGraphLayout, TaskExecutionRecord, TaskExecutionStateRequest, TaskItem, SaveTaskGraphLayoutRequest, UpdateProjectRequest, UpdateTaskRequest, UploadTaskAttachmentRequest, UpsertProjectPropertiesRequest } from "../types";
|
|
3
3
|
export declare function getProjects(options?: {
|
|
4
4
|
includeAll?: boolean;
|
|
5
5
|
}): Promise<ExecutionResult<ProjectWithPermission[]>>;
|
|
@@ -72,6 +72,7 @@ export declare function createItemCollection(data: CreateItemCollectionRequest):
|
|
|
72
72
|
export declare function getProjectMembers(projectId: string): Promise<ExecutionResult<ProjectMember[]>>;
|
|
73
73
|
export declare function addProjectMember(data: AddMemberRequest): Promise<ExecutionResult<ProjectMember>>;
|
|
74
74
|
export declare function searchTaskAssignableUsers(projectId: string, query: string, limit?: number): Promise<ExecutionResult<TaskAssignableUser[]>>;
|
|
75
|
+
export declare function searchTemplateAssignableUsers(projectTemplateId: string, query: string, limit?: number): Promise<ExecutionResult<TaskAssignableUser[]>>;
|
|
75
76
|
export declare function removeProjectMember(memberId: string): Promise<ExecutionResult<{
|
|
76
77
|
success: boolean;
|
|
77
78
|
}>>;
|
|
@@ -94,6 +95,9 @@ export declare function getDependencies(projectId: string): Promise<ExecutionRes
|
|
|
94
95
|
export declare function getGraphLayout(projectId: string): Promise<ExecutionResult<TaskGraphLayout>>;
|
|
95
96
|
export declare function saveGraphLayout(data: SaveTaskGraphLayoutRequest): Promise<ExecutionResult<TaskGraphLayout>>;
|
|
96
97
|
export declare function addDependency(data: AddTaskDependencyRequest): Promise<ExecutionResult<TaskDependency>>;
|
|
98
|
+
export declare function removeDependency(data: RemoveTaskDependencyRequest): Promise<ExecutionResult<{
|
|
99
|
+
removedCount: number;
|
|
100
|
+
}>>;
|
|
97
101
|
export declare function uploadAttachment(data: UploadTaskAttachmentRequest): Promise<ExecutionResult<TaskAttachment>>;
|
|
98
102
|
export declare function getAttachments(taskId: string): Promise<ExecutionResult<TaskAttachment[]>>;
|
|
99
103
|
export declare function uploadAttachmentFile(taskId: string, file: File): Promise<ExecutionResult<TaskAttachment>>;
|
|
@@ -73,6 +73,14 @@ export function searchTaskAssignableUsers(projectId, query, limit = 20) {
|
|
|
73
73
|
});
|
|
74
74
|
return get(`/parhelia/tasks/users?${params.toString()}`);
|
|
75
75
|
}
|
|
76
|
+
export function searchTemplateAssignableUsers(projectTemplateId, query, limit = 20) {
|
|
77
|
+
const params = new URLSearchParams({
|
|
78
|
+
projectTemplateId,
|
|
79
|
+
query,
|
|
80
|
+
limit: String(limit),
|
|
81
|
+
});
|
|
82
|
+
return get(`/parhelia/tasks/templateUsers?${params.toString()}`);
|
|
83
|
+
}
|
|
76
84
|
export function removeProjectMember(memberId) {
|
|
77
85
|
const body = { memberId };
|
|
78
86
|
return post("/parhelia/tasks/removeMember", body);
|
|
@@ -111,6 +119,9 @@ export function saveGraphLayout(data) {
|
|
|
111
119
|
export function addDependency(data) {
|
|
112
120
|
return post("/parhelia/tasks/addDependency", data);
|
|
113
121
|
}
|
|
122
|
+
export function removeDependency(data) {
|
|
123
|
+
return post("/parhelia/tasks/removeDependency", data);
|
|
124
|
+
}
|
|
114
125
|
export function uploadAttachment(data) {
|
|
115
126
|
return post("/parhelia/tasks/uploadAttachment", data);
|
|
116
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskService.js","sourceRoot":"","sources":["../../../src/task-board/services/taskService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAwB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"taskService.js","sourceRoot":"","sources":["../../../src/task-board/services/taskService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ProjectOverviewSummary } from "./types";
|
|
1
2
|
export type TaskBoardProjectOption = {
|
|
2
3
|
projectId: string;
|
|
3
4
|
parentProjectId?: string | null;
|
|
@@ -7,6 +8,7 @@ export type TaskBoardProjectOption = {
|
|
|
7
8
|
status?: string;
|
|
8
9
|
permission: string;
|
|
9
10
|
updatedAt?: string;
|
|
11
|
+
overview?: ProjectOverviewSummary | null;
|
|
10
12
|
};
|
|
11
13
|
export type TaskBoardMyTaskOption = {
|
|
12
14
|
taskId: string;
|
|
@@ -35,7 +37,7 @@ type TaskBoardNavState = {
|
|
|
35
37
|
canManageProject: boolean;
|
|
36
38
|
myTasks: TaskBoardMyTaskOption[];
|
|
37
39
|
myTasksLoading: boolean;
|
|
38
|
-
onSelectProject?: (projectId: string) => void;
|
|
40
|
+
onSelectProject?: (projectId: string | null) => void;
|
|
39
41
|
onSelectMyTask?: (task: {
|
|
40
42
|
projectId: string;
|
|
41
43
|
taskId: string;
|
|
@@ -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":"AAsDA,MAAM,YAAY,GAAsB;IACtC,YAAY,EAAE,OAAO;IACrB,eAAe,EAAE,iCAAiC;IAClD,eAAe,EAAE,qBAAqB;IACtC,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,KAAK;IACnB,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,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,SAAS;IAC1B,qBAAqB,EAAE,SAAS;IAChC,eAAe,EAAE,SAAS;IAC1B,uBAAuB,EAAE,SAAS;IAClC,kBAAkB,EAAE,SAAS;IAC7B,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"}
|
|
@@ -21,9 +21,33 @@ export type Project = {
|
|
|
21
21
|
createdAt: string;
|
|
22
22
|
updatedAt: string;
|
|
23
23
|
};
|
|
24
|
+
export type ProjectTaskCounts = {
|
|
25
|
+
total: number;
|
|
26
|
+
todo: number;
|
|
27
|
+
waiting: number;
|
|
28
|
+
inProgress: number;
|
|
29
|
+
review: number;
|
|
30
|
+
done: number;
|
|
31
|
+
};
|
|
32
|
+
export type ProjectAttentionSummary = {
|
|
33
|
+
total: number;
|
|
34
|
+
blocked: number;
|
|
35
|
+
approval: number;
|
|
36
|
+
input: number;
|
|
37
|
+
failed: number;
|
|
38
|
+
budget: number;
|
|
39
|
+
/** Waiting for a free agent slot (project concurrency) */
|
|
40
|
+
capacity?: number;
|
|
41
|
+
};
|
|
42
|
+
export type ProjectOverviewSummary = {
|
|
43
|
+
taskCounts: ProjectTaskCounts;
|
|
44
|
+
attention: ProjectAttentionSummary;
|
|
45
|
+
directSubprojectCount: number;
|
|
46
|
+
};
|
|
24
47
|
export type ProjectWithPermission = {
|
|
25
48
|
project: Project;
|
|
26
49
|
permission: ProjectPermission;
|
|
50
|
+
overview?: ProjectOverviewSummary | null;
|
|
27
51
|
};
|
|
28
52
|
export type ProjectTemplate = {
|
|
29
53
|
id: string;
|
|
@@ -298,6 +322,12 @@ export type AddTaskDependencyRequest = {
|
|
|
298
322
|
dependsOnTaskId: string;
|
|
299
323
|
dependencyType?: TaskDependencyType;
|
|
300
324
|
};
|
|
325
|
+
export type RemoveTaskDependencyRequest = {
|
|
326
|
+
dependencyId?: string;
|
|
327
|
+
taskId?: string;
|
|
328
|
+
dependsOnTaskId?: string;
|
|
329
|
+
dependencyType?: TaskDependencyType;
|
|
330
|
+
};
|
|
301
331
|
export type UploadTaskAttachmentRequest = {
|
|
302
332
|
taskId: string;
|
|
303
333
|
fileName: string;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { TaskDependency, TaskItem } from "../types";
|
|
2
|
+
export declare function compareWizardTasks(a: TaskItem, b: TaskItem): number;
|
|
3
|
+
export declare function orderTasksByBlockedDependencies(tasks: readonly TaskItem[], dependencies: readonly TaskDependency[]): TaskItem[];
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export function compareWizardTasks(a, b) {
|
|
2
|
+
if (a.sortOrder !== b.sortOrder)
|
|
3
|
+
return a.sortOrder - b.sortOrder;
|
|
4
|
+
return a.createdAt.localeCompare(b.createdAt);
|
|
5
|
+
}
|
|
6
|
+
export function orderTasksByBlockedDependencies(tasks, dependencies) {
|
|
7
|
+
const baseOrder = [...tasks].sort(compareWizardTasks);
|
|
8
|
+
if (baseOrder.length <= 1) {
|
|
9
|
+
return baseOrder;
|
|
10
|
+
}
|
|
11
|
+
const taskById = new Map(baseOrder.map((task) => [task.taskId, task]));
|
|
12
|
+
const taskIds = new Set(taskById.keys());
|
|
13
|
+
const inDegree = new Map();
|
|
14
|
+
const outgoing = new Map();
|
|
15
|
+
const seenEdges = new Set();
|
|
16
|
+
for (const task of baseOrder) {
|
|
17
|
+
inDegree.set(task.taskId, 0);
|
|
18
|
+
outgoing.set(task.taskId, []);
|
|
19
|
+
}
|
|
20
|
+
for (const dependency of dependencies) {
|
|
21
|
+
if (dependency.dependencyType !== "BlockedBy")
|
|
22
|
+
continue;
|
|
23
|
+
if (!taskIds.has(dependency.taskId) || !taskIds.has(dependency.dependsOnTaskId)) {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (dependency.taskId === dependency.dependsOnTaskId)
|
|
27
|
+
continue;
|
|
28
|
+
const edgeKey = `${dependency.dependsOnTaskId}->${dependency.taskId}`;
|
|
29
|
+
if (seenEdges.has(edgeKey))
|
|
30
|
+
continue;
|
|
31
|
+
seenEdges.add(edgeKey);
|
|
32
|
+
outgoing.get(dependency.dependsOnTaskId)?.push(dependency.taskId);
|
|
33
|
+
inDegree.set(dependency.taskId, (inDegree.get(dependency.taskId) ?? 0) + 1);
|
|
34
|
+
}
|
|
35
|
+
const ordered = [];
|
|
36
|
+
const ready = baseOrder.filter((task) => (inDegree.get(task.taskId) ?? 0) === 0);
|
|
37
|
+
while (ready.length > 0) {
|
|
38
|
+
ready.sort(compareWizardTasks);
|
|
39
|
+
const next = ready.shift();
|
|
40
|
+
if (!next)
|
|
41
|
+
break;
|
|
42
|
+
ordered.push(next);
|
|
43
|
+
for (const dependentTaskId of outgoing.get(next.taskId) ?? []) {
|
|
44
|
+
const nextInDegree = (inDegree.get(dependentTaskId) ?? 0) - 1;
|
|
45
|
+
inDegree.set(dependentTaskId, nextInDegree);
|
|
46
|
+
if (nextInDegree === 0) {
|
|
47
|
+
const dependentTask = taskById.get(dependentTaskId);
|
|
48
|
+
if (dependentTask) {
|
|
49
|
+
ready.push(dependentTask);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (ordered.length === baseOrder.length) {
|
|
55
|
+
return ordered;
|
|
56
|
+
}
|
|
57
|
+
// Defensive fallback for incomplete/corrupt dependency graphs.
|
|
58
|
+
const orderedTaskIds = new Set(ordered.map((task) => task.taskId));
|
|
59
|
+
return [
|
|
60
|
+
...ordered,
|
|
61
|
+
...baseOrder.filter((task) => !orderedTaskIds.has(task.taskId)),
|
|
62
|
+
];
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=taskDependencyOrdering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taskDependencyOrdering.js","sourceRoot":"","sources":["../../../src/task-board/utils/taskDependencyOrdering.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,CAAW,EAAE,CAAW;IACzD,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;QAAE,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;IAClE,OAAO,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,KAA0B,EAC1B,YAAuC;IAEvC,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,IAAI,UAAU,CAAC,cAAc,KAAK,WAAW;YAAE,SAAS;QACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAChF,SAAS;QACX,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,eAAe;YAAE,SAAS;QAE/D,MAAM,OAAO,GAAG,GAAG,UAAU,CAAC,eAAe,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QACtE,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QACrC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvB,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClE,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,MAAM;QAEjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnB,KAAK,MAAM,eAAe,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9D,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAC5C,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACpD,IAAI,aAAa,EAAE,CAAC;oBAClB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,+DAA+D;IAC/D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,OAAO;QACL,GAAG,OAAO;QACV,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAChE,CAAC;AACJ,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { Bot, ChevronDown, Circle, Loader2, User } from "lucide-react";
|
|
|
4
4
|
import { isQuestionnaireExecutionState, isErroredExecutionState, isTaskReviewExecutionState, isToolApprovalExecutionState, isWorkingExecutionState, normalizeTaskStatus, } from "../taskStatus";
|
|
5
5
|
import { getDisplayableAssignee } from "../assigneeDisplay";
|
|
6
6
|
import { ProjectPropertiesPanel } from "../components/ProjectPropertiesPanel";
|
|
7
|
+
import { orderTasksByBlockedDependencies } from "../utils/taskDependencyOrdering";
|
|
7
8
|
const DEFAULT_COST_LIMIT = 25;
|
|
8
9
|
function getBlockedTaskIds(taskList, blockersByTaskId, taskById) {
|
|
9
10
|
const ids = new Set();
|
|
@@ -56,13 +57,7 @@ export function WizardView(props) {
|
|
|
56
57
|
}
|
|
57
58
|
return map;
|
|
58
59
|
}, [dependencies]);
|
|
59
|
-
const
|
|
60
|
-
return [...tasks].sort((a, b) => {
|
|
61
|
-
if (a.sortOrder !== b.sortOrder)
|
|
62
|
-
return a.sortOrder - b.sortOrder;
|
|
63
|
-
return a.createdAt.localeCompare(b.createdAt);
|
|
64
|
-
});
|
|
65
|
-
}, [tasks]);
|
|
60
|
+
const orderedTasks = useMemo(() => orderTasksByBlockedDependencies(tasks, dependencies), [tasks, dependencies]);
|
|
66
61
|
const doneTaskIds = useMemo(() => {
|
|
67
62
|
const ids = new Set();
|
|
68
63
|
for (const task of tasks) {
|
|
@@ -72,10 +67,9 @@ export function WizardView(props) {
|
|
|
72
67
|
}
|
|
73
68
|
return ids;
|
|
74
69
|
}, [tasks]);
|
|
75
|
-
const orderedTasks = sortedTasks;
|
|
76
70
|
const blockedTaskIds = useMemo(() => {
|
|
77
|
-
return getBlockedTaskIds(
|
|
78
|
-
}, [
|
|
71
|
+
return getBlockedTaskIds(orderedTasks, blockersByTaskId, taskById);
|
|
72
|
+
}, [orderedTasks, blockersByTaskId, taskById]);
|
|
79
73
|
const selectedTask = selectedTaskId
|
|
80
74
|
? taskById.get(selectedTaskId) || null
|
|
81
75
|
: null;
|
|
@@ -190,11 +184,7 @@ export function WizardView(props) {
|
|
|
190
184
|
completedTaskCount: completedCount,
|
|
191
185
|
blockedIds: blockedTaskIds,
|
|
192
186
|
}), subprojectTasksLoading && subprojectTaskLists.length === 0 ? (_jsxs("div", { className: "flex items-center gap-2 px-2 text-sm text-slate-500", "data-testid": "taskboard-wizard-subprojects-loading", children: [_jsx(Loader2, { className: "h-4 w-4 animate-spin" }), _jsx("span", { children: "Loading subprojects..." })] })) : null, subprojectTaskLists.map((subproject) => {
|
|
193
|
-
const orderedSubprojectTasks =
|
|
194
|
-
if (a.sortOrder !== b.sortOrder)
|
|
195
|
-
return a.sortOrder - b.sortOrder;
|
|
196
|
-
return a.createdAt.localeCompare(b.createdAt);
|
|
197
|
-
});
|
|
187
|
+
const orderedSubprojectTasks = orderTasksByBlockedDependencies(subproject.tasks, dependencies);
|
|
198
188
|
const subprojectBlockedTaskIds = getBlockedTaskIds(orderedSubprojectTasks, blockersByTaskId, taskById);
|
|
199
189
|
const subprojectCompletedCount = orderedSubprojectTasks.filter((task) => normalizeTaskStatus(task.status, task.executionState) === "Done").length;
|
|
200
190
|
return renderTaskPanel({
|