Implement full task inspector with subtasks, activity, and inline edit
Migration 041 adds parent_task_id to tasks for subtask hierarchy. TaskDetailDialog now has three tabs: Overview (description, assignee, project, goal, workspace, runs with error messages), Subtasks (child tasks with status), and Activity (audit events and approval history). Inline edit overlay covers title, description, assignee, risk, priority, and parent task. Task delete is available from the dialog footer.
This commit is contained in:
1 parent
7a36a12d08
commit
75e5d17a86
12 files changed
+289
-69
No files matched your search
@@ -90,6 +90,22 @@ export interface RunTaskInput {
|
||||
taskId: string;
|
||||
}
|
||||
|
||||
export interface UpdateTaskInput {
|
||||
orgId: string;
|
||||
taskId: string;
|
||||
title: string;
|
||||
description: string;
|
||||
assigneeAgentId: string | null;
|
||||
risk: RiskLevel;
|
||||
priority: TaskPriority;
|
||||
parentTaskId: string | null;
|
||||
}
|
||||
|
||||
export interface DeleteTaskInput {
|
||||
orgId: string;
|
||||
taskId: string;
|
||||
}
|
||||
|
||||
export interface CreateGoalInput {
|
||||
orgId: string;
|
||||
title: string;
|
||||
|
||||
@@ -17,9 +17,11 @@ import type {
|
||||
CreateWorkspaceInput,
|
||||
DeleteAutomationRuleInput,
|
||||
DeleteDocumentInput,
|
||||
DeleteTaskInput,
|
||||
DeleteKnowledgeEntryInput,
|
||||
UpdateAutomationRuleInput,
|
||||
UpdateDocumentInput,
|
||||
UpdateTaskInput,
|
||||
CreateAuditReplayInput,
|
||||
CreateChatSpaceInput,
|
||||
CreateComplianceExportInput,
|
||||
@@ -99,6 +101,8 @@ export interface DesktopApi {
|
||||
createAgent(input: CreateAgentInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
updateAgent(input: UpdateAgentInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
createTask(input: CreateTaskInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
updateTask(input: UpdateTaskInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
deleteTask(input: DeleteTaskInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
updateTaskStatus(input: UpdateTaskStatusInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
runTask(input: RunTaskInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
createGoal(input: CreateGoalInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
|
||||
@@ -105,6 +105,7 @@ export interface TaskRecord {
|
||||
goalId: string | null;
|
||||
workspaceId: string | null;
|
||||
priority: TaskPriority;
|
||||
parentTaskId: string | null;
|
||||
requiresFilesystem: boolean;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
|
||||
@@ -7,6 +7,8 @@ export const IPC_CHANNELS = {
|
||||
createAgent: "agentcompany:create-agent",
|
||||
updateAgent: "agentcompany:update-agent",
|
||||
createTask: "agentcompany:create-task",
|
||||
updateTask: "agentcompany:update-task",
|
||||
deleteTask: "agentcompany:delete-task",
|
||||
updateTaskStatus: "agentcompany:update-task-status",
|
||||
runTask: "agentcompany:run-task",
|
||||
createApproval: "agentcompany:create-approval",
|
||||
|
||||
Reference in new issue
Block a user