666db0b939
Persist goal runs in MySQL, bind agent runs to checkpoints, expose awaiting-approval UX in chat, and add admin inspection routes with local verify scripts. Co-authored-by: Cursor <cursoragent@cursor.com>
15 lines
492 B
JavaScript
15 lines
492 B
JavaScript
export function findAwaitingApprovalCheckpoint(goal) {
|
|
const checkpoints = Array.isArray(goal?.checkpoints) ? goal.checkpoints : [];
|
|
return checkpoints.find((item) => item?.status === 'awaiting_approval') ?? null;
|
|
}
|
|
|
|
export function listAwaitingGoalRuns(goals) {
|
|
if (!Array.isArray(goals)) return [];
|
|
return goals
|
|
.map((goal) => {
|
|
const checkpoint = findAwaitingApprovalCheckpoint(goal);
|
|
return checkpoint ? { goal, checkpoint } : null;
|
|
})
|
|
.filter(Boolean);
|
|
}
|