import { NextResponse } from 'next/server' import { listApprovalTickets, listPolicyProposals } from '@/lib/agent-os/store' import { requireAdminAccess } from '../_lib/auth' export async function GET(request: Request) { const auth = requireAdminAccess(request) if (!auth.authorized) { return auth.response } const proposals = listPolicyProposals() const proposalById = new Map(proposals.map((proposal) => [proposal.id, proposal])) const approvals = listApprovalTickets().map((ticket) => { const proposal = proposalById.get(ticket.proposalId) return { approvalTicketId: ticket.id, proposalId: ticket.proposalId, approvalStatus: ticket.status, requestedBy: ticket.requestedBy, decidedBy: ticket.decidedBy || null, decisionComment: ticket.decisionComment || null, createdAt: ticket.createdAt, updatedAt: ticket.updatedAt, proposal: proposal ? { title: proposal.title, status: proposal.status, targetType: proposal.targetType, targetId: proposal.targetId, } : null, } }) return NextResponse.json({ success: true, operator: auth.operator, approvals, }) }