diff --git a/backend/app/api/agent.py b/backend/app/api/agent.py index bf0ce86c..f9770e02 100644 --- a/backend/app/api/agent.py +++ b/backend/app/api/agent.py @@ -60,7 +60,6 @@ if TYPE_CHECKING: from sqlmodel.ext.asyncio.session import AsyncSession from app.models.activity_events import ActivityEvent - from app.models.approvals import Approval from app.models.board_memory import BoardMemory from app.models.board_onboarding import BoardOnboardingSession @@ -422,7 +421,7 @@ async def create_approval( board: Board = BOARD_DEP, session: AsyncSession = SESSION_DEP, agent_ctx: AgentAuthContext = AGENT_CTX_DEP, -) -> Approval: +) -> ApprovalRead: """Create a board approval request.""" _guard_board_access(agent_ctx, board) return await approvals_api.create_approval( diff --git a/frontend/src/app/boards/[boardId]/page.tsx b/frontend/src/app/boards/[boardId]/page.tsx index 66b3b0d2..398b2a7c 100644 --- a/frontend/src/app/boards/[boardId]/page.tsx +++ b/frontend/src/app/boards/[boardId]/page.tsx @@ -1748,8 +1748,9 @@ export default function BoardDetailPage() { if (!Array.isArray(value)) return []; return value.filter((item): item is string => typeof item === "string"); }; - const linkedTaskIds = (approval as Approval & { task_ids?: string[] | null }) - .task_ids; + const linkedTaskIds = ( + approval as Approval & { task_ids?: string[] | null } + ).task_ids; const singleTaskId = approval.task_id ?? payloadValue("task_id") ?? @@ -1764,7 +1765,9 @@ export default function BoardDetailPage() { ]; return [...new Set(merged)]; }; - return approvals.filter((approval) => taskIdsForApproval(approval).includes(taskId)); + return approvals.filter((approval) => + taskIdsForApproval(approval).includes(taskId), + ); }, [approvals, selectedTask]); const workingAgentIds = useMemo(() => { @@ -2221,8 +2224,9 @@ export default function BoardDetailPage() { const approvalTaskIds = (approval: Approval) => { const payload = approval.payload ?? {}; - const linkedTaskIds = (approval as Approval & { task_ids?: string[] | null }) - .task_ids; + const linkedTaskIds = ( + approval as Approval & { task_ids?: string[] | null } + ).task_ids; const singleTaskId = approval.task_id ?? approvalPayloadValue(payload, "task_id") ?? @@ -2259,7 +2263,8 @@ export default function BoardDetailPage() { const isAssign = approval.action_type.includes("assign"); const rows: Array<{ label: string; value: string }> = []; if (taskIds.length === 1) rows.push({ label: "Task", value: taskIds[0] }); - if (taskIds.length > 1) rows.push({ label: "Tasks", value: taskIds.join(", ") }); + if (taskIds.length > 1) + rows.push({ label: "Tasks", value: taskIds.join(", ") }); if (isAssign) { rows.push({ label: "Assignee", diff --git a/frontend/src/components/BoardApprovalsPanel.tsx b/frontend/src/components/BoardApprovalsPanel.tsx index 85c00ddf..656e0714 100644 --- a/frontend/src/components/BoardApprovalsPanel.tsx +++ b/frontend/src/components/BoardApprovalsPanel.tsx @@ -190,7 +190,8 @@ const approvalSummary = (approval: Approval, boardLabel?: string | null) => { const rows: Array<{ label: string; value: string }> = []; if (boardLabel) rows.push({ label: "Board", value: boardLabel }); if (taskIds.length === 1) rows.push({ label: "Task", value: taskIds[0] }); - if (taskIds.length > 1) rows.push({ label: "Tasks", value: taskIds.join(", ") }); + if (taskIds.length > 1) + rows.push({ label: "Tasks", value: taskIds.join(", ") }); if (isAssign) { rows.push({ label: "Assignee",