/** * Dispatcher script: reconcile-bookings * * Self-contained, like check-due-events. Pulls eligible booking rows from each * account's Cloudflare D1 `bookings` table (written by the booking site's Pages * Function), claims the ones with no :Meeting in the graph, writes each into * Neo4j as a :Meeting so it appears on the admin calendar, links the booker as * a :Person, and notifies the admin. A row is claimed on the absence of its * meeting, not on a flag, so a meeting that later goes missing self-heals. * Ends with the standing audit over that same population. * * Task 1654 — for each booking-site account it also create-only provisions the * recurring connector-sync :Event (the admin turn that reads the calendar connector * and reflects busy blocks into availability). * * The Pi has no running periodic surface today (the legacy cron was removed and * the desktop-scheduled-task replacement is not wired), so this binary is armed * by the always-running platform/ui server on an interval. A PID lock prevents * overlapping runs. * * Observability — one [calendar-booking] line per step keyed by bookingId, plus * one [calendar-reconcile] audit line per account per run. * * PLATFORM_ROOT=... NEO4J_URI=... node dist/scripts/reconcile-bookings.js */ export {}; //# sourceMappingURL=reconcile-bookings.d.ts.map