feat(HAI-057): add task dependency editing to dashboard UI

- Add dependencies field support to store updateTask method
- Wire dependencies through PATCH route and client API
- Add dependency editing UI (add/remove) to TaskDetailModal
- Pass tasks prop from App to TaskDetailModal for dependency picker
- Add tests for dependency CRUD in modal and API layer
This commit is contained in:
Dustin Byrne
2026-03-26 00:15:29 -04:00
parent e41d3936d6
commit efda541713
9 changed files with 318 additions and 11 deletions

View File

@@ -282,7 +282,7 @@ export class TaskStore extends EventEmitter<TaskStoreEvents> {
async updateTask(
id: string,
updates: { title?: string; description?: string; prompt?: string; worktree?: string; status?: string | null; blockedBy?: string | null },
updates: { title?: string; description?: string; prompt?: string; worktree?: string; status?: string | null; dependencies?: string[] },
): Promise<Task> {
return this.withTaskLock(id, async () => {
const dir = this.taskDir(id);
@@ -291,6 +291,7 @@ export class TaskStore extends EventEmitter<TaskStoreEvents> {
if (updates.title !== undefined) task.title = updates.title;
if (updates.description !== undefined) task.description = updates.description;
if (updates.worktree !== undefined) task.worktree = updates.worktree;
if (updates.dependencies !== undefined) task.dependencies = updates.dependencies;
if (updates.status === null) {
task.status = undefined;
} else if (updates.status !== undefined) {