@rubytech/create-maxy-code 0.1.476 → 0.1.477

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/booking-block-sqlite.test.d.ts +2 -0
  3. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/booking-block-sqlite.test.d.ts.map +1 -0
  4. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/booking-block-sqlite.test.js +150 -0
  5. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/booking-block-sqlite.test.js.map +1 -0
  6. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/booking-block.test.d.ts +2 -0
  7. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/booking-block.test.d.ts.map +1 -0
  8. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/booking-block.test.js +248 -0
  9. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/booking-block.test.js.map +1 -0
  10. package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.d.ts +90 -0
  11. package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.d.ts.map +1 -1
  12. package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.js +105 -0
  13. package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.js.map +1 -1
  14. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js +88 -10
  15. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js.map +1 -1
  16. package/payload/platform/scripts/cpu-triage.sh +313 -0
  17. package/payload/server/{chunk-LBCMFD4O.js → chunk-JECAP3Z2.js} +126 -37
  18. package/payload/server/maxy-edge.js +1 -1
  19. package/payload/server/public/activity.html +6 -6
  20. package/payload/server/public/assets/{AdminLoginScreens-DximwPlS.js → AdminLoginScreens-mEKP4pDi.js} +1 -1
  21. package/payload/server/public/assets/{AdminShell-BehbH-Oa.js → AdminShell-BwSaZ88d.js} +1 -1
  22. package/payload/server/public/assets/{Checkbox-DM-eHqOS.js → Checkbox-CN4uQ80w.js} +1 -1
  23. package/payload/server/public/assets/activity-CIQ8ozNZ.js +1 -0
  24. package/payload/server/public/assets/{admin-CAkDnGdk.js → admin-BVhgfgs1.js} +1 -1
  25. package/payload/server/public/assets/{browser-DXl8hOoi.js → browser-D-HMmHcM.js} +1 -1
  26. package/payload/server/public/assets/{calendar-DP6hn4-6.js → calendar-tGWvFyFn.js} +1 -1
  27. package/payload/server/public/assets/chat-DkttVxAz.js +1 -0
  28. package/payload/server/public/assets/chevron-left-CZ4ez9G5.js +1 -0
  29. package/payload/server/public/assets/data-P-mcmnNi.js +1 -0
  30. package/payload/server/public/assets/{graph-labels-CZykslZM.js → graph-labels-qnBleOE6.js} +1 -1
  31. package/payload/server/public/assets/{graph-CHcYoEJ5.js → graph-zEw610xK.js} +1 -1
  32. package/payload/server/public/assets/{maximize-2-31AZEcMS.js → maximize-2-BlTjXT_Y.js} +1 -1
  33. package/payload/server/public/assets/{operator-BGGpdsO_.js → operator-C7oIw2PG.js} +1 -1
  34. package/payload/server/public/assets/{page-DOeiiqbR.js → page-CTP7OFZa.js} +1 -1
  35. package/payload/server/public/assets/{page-BloC6ygA.js → page-DL6Zsdvk.js} +1 -1
  36. package/payload/server/public/assets/{public-CGgO6IZv.js → public-r1A9dqR_.js} +1 -1
  37. package/payload/server/public/assets/{rotate-ccw-BlAi6iFg.js → rotate-ccw-CzkkKx4-.js} +1 -1
  38. package/payload/server/public/assets/{tasks-C1giFRRL.js → tasks-fIJwYFWG.js} +1 -1
  39. package/payload/server/public/assets/{time-entry-format-CiUUQdq7.js → time-entry-format-j669DgXj.js} +1 -1
  40. package/payload/server/public/assets/{triangle-alert-CVqKuLoa.js → triangle-alert-BPgCgIef.js} +1 -1
  41. package/payload/server/public/assets/{useCopyFeedback-ksyUe_g1.js → useCopyFeedback-BmLa2aes.js} +1 -1
  42. package/payload/server/public/assets/{useSelectionMode-BPrBkdTd.js → useSelectionMode-DnnM7A8-.js} +1 -1
  43. package/payload/server/public/assets/{useSubAccountSwitcher-K4kYeN6i.css → useSubAccountSwitcher-C_E8h07P.css} +1 -1
  44. package/payload/server/public/assets/{useVoiceRecorder-CTXP8oTW.js → useVoiceRecorder-u2dwZfen.js} +1 -1
  45. package/payload/server/public/browser.html +5 -5
  46. package/payload/server/public/calendar.html +6 -6
  47. package/payload/server/public/chat.html +12 -12
  48. package/payload/server/public/data.html +11 -11
  49. package/payload/server/public/graph.html +11 -11
  50. package/payload/server/public/index.html +14 -14
  51. package/payload/server/public/operator.html +14 -14
  52. package/payload/server/public/public.html +12 -12
  53. package/payload/server/public/tasks.html +5 -5
  54. package/payload/server/server.js +173 -60
  55. package/payload/server/public/assets/activity-hDwUeQd6.js +0 -1
  56. package/payload/server/public/assets/chat-DhOfVGYM.js +0 -1
  57. package/payload/server/public/assets/chevron-left-DYNBoLii.js +0 -1
  58. package/payload/server/public/assets/data-bq8fTo_s.js +0 -1
  59. /package/payload/server/public/assets/{useSubAccountSwitcher-DzgzTRRn.js → useSubAccountSwitcher-CFa6ZAT1.js} +0 -0
@@ -224,4 +224,109 @@ export function classifyPublishedDrift(published, busy) {
224
224
  const outcome = published.length === 0 ? "no-published-slots" : busy.length === 0 ? "no-busy-data" : "verified";
225
225
  return { outcome, published: published.length, busy: busy.length, conflicts };
226
226
  }
227
+ /**
228
+ * The published slots to block, given the connector-busy set.
229
+ *
230
+ * The returned slots are drawn from `published` verbatim, never synthesised
231
+ * from `busy`: the edge free/busy Function subtracts taken slots by an exact
232
+ * `slotStart` string match, so a block row keyed on a busy-interval boundary
233
+ * would block nothing.
234
+ *
235
+ * Two exclusions, both carried over from the out-of-tree script this replaces:
236
+ * a slot that has already started (the edge filters past slots anyway, so a
237
+ * row for one is inert churn), and a slot already taken by a real booking
238
+ * (already subtracted at the edge by that booking).
239
+ */
240
+ export function selectBlockedSlots(published, busy, taken, nowMs) {
241
+ return published.filter((slot) => {
242
+ const startMs = Date.parse(slot.start);
243
+ // `<` not `<=`: the edge serves slots with `t >= lower` where lower is now,
244
+ // so a slot starting exactly now IS still offered and must still be blocked.
245
+ if (Number.isNaN(startMs) || startMs < nowMs)
246
+ return false;
247
+ if (taken.has(slot.start))
248
+ return false;
249
+ return busy.some((b) => intervalsOverlap(slot, b));
250
+ });
251
+ }
252
+ /**
253
+ * Reconcile the held block rows to the desired set, keyed on slot start.
254
+ *
255
+ * This replaces the out-of-tree script's delete-and-reinsert. That form
256
+ * rewrote every row on every run and left a window in which a still-busy slot
257
+ * was unblocked; this one writes nothing in the steady state and never
258
+ * unblocks a slot that is staying blocked.
259
+ *
260
+ * A slot held by more than one row (possible after an interrupted run) keeps
261
+ * one and deletes the rest, so a duplicate converges instead of persisting.
262
+ */
263
+ export function diffBlockRows(desired, current) {
264
+ const desiredStarts = new Set(desired.map((s) => s.start));
265
+ const kept = new Set();
266
+ const toDelete = [];
267
+ for (const row of current) {
268
+ if (desiredStarts.has(row.slotStart) && !kept.has(row.slotStart)) {
269
+ kept.add(row.slotStart);
270
+ continue;
271
+ }
272
+ toDelete.push(row.bookingId);
273
+ }
274
+ return { toInsert: desired.filter((s) => !kept.has(s.start)), toDelete };
275
+ }
276
+ /** The block rows this dispatcher owns. `kind='block'` is the whole identity —
277
+ * no free-text marker is consulted, which is the defect Task 1811 removes. */
278
+ export const BLOCK_ROWS_SELECT = "SELECT bookingId, slotStart FROM bookings WHERE kind='block'";
279
+ /** `status='accepted'` so the edge free/busy Function subtracts the slot;
280
+ * `kind='block'` so 1806's sweep and audit both exclude it by construction. */
281
+ export const BLOCK_ROW_INSERT = "INSERT INTO bookings (bookingId,slotStart,slotEnd,name,email,note,status,kind,createdAt) " +
282
+ "VALUES (?1,?2,?3,?4,?5,'','accepted','block',?6)";
283
+ /** The `kind` qualifier is a safety belt, not a filter: even handed the id of a
284
+ * real booking this statement cannot delete it. */
285
+ export const BLOCK_ROW_DELETE = "DELETE FROM bookings WHERE bookingId=?1 AND kind='block'";
286
+ /** Positional parameters for BLOCK_ROW_INSERT. The slot bounds are copied from
287
+ * the published snapshot verbatim — the edge matches `slotStart` exactly. */
288
+ export function blockInsertParams(slot, bookingId, nowIso) {
289
+ return [bookingId, slot.start, slot.end, "Connector busy", "", nowIso];
290
+ }
291
+ /** An interval usable for blocking: both ends parse and start precedes end.
292
+ * `busy.length > 0` is NOT a sufficient liveness test — a set of unparseable
293
+ * intervals overlaps nothing, which would compute an empty desired set and
294
+ * delete every held row. That is the same mass-unblock the empty-set rule
295
+ * exists to prevent, reached with garbage instead of emptiness. */
296
+ function isUsableInterval(iv) {
297
+ const s = Date.parse(iv.start);
298
+ const e = Date.parse(iv.end);
299
+ return !Number.isNaN(s) && !Number.isNaN(e) && s < e;
300
+ }
301
+ const NO_WRITES = { toInsert: [], toDelete: [] };
302
+ /**
303
+ * Decide what the blocking step should write. Pure, so the safety rule below is
304
+ * testable without a live D1 or Neo4j — the rule is the highest-consequence
305
+ * line in this feature and was previously enforced only by an `if` at the call
306
+ * site that no test could reach.
307
+ *
308
+ * Writes happen ONLY on `verified`: the snapshot was read, it holds slots, and
309
+ * the busy set holds at least one usable interval. Every degraded outcome
310
+ * returns no writes, which means an absent or unreadable busy set RETAINS the
311
+ * rows already held rather than clearing them.
312
+ *
313
+ * That asymmetry is deliberate. An empty busy set is ambiguous between a
314
+ * genuinely clear calendar and a sync that failed, never ran, or was
315
+ * deauthorised — `syncConnectorBusy` writes an empty set on the documented
316
+ * deauthorise path. Over-blocking is recoverable by the operator; under-blocking
317
+ * double-books a customer against a real commitment. The retained rows are
318
+ * reported on the `op=cal-block` line so the condition is visible, not silent.
319
+ */
320
+ export function planBlockWrites(input) {
321
+ if (!input.publishedReadable)
322
+ return { outcome: "snapshot-unreadable", diff: NO_WRITES };
323
+ if (!input.busyReadable)
324
+ return { outcome: "error", diff: NO_WRITES };
325
+ if (input.published.length === 0)
326
+ return { outcome: "no-published-slots", diff: NO_WRITES };
327
+ if (!input.busy.some(isUsableInterval))
328
+ return { outcome: "no-busy-data", diff: NO_WRITES };
329
+ const desired = selectBlockedSlots(input.published, input.busy, input.taken, input.nowMs);
330
+ return { outcome: "verified", diff: diffBlockRows(desired, input.current) };
331
+ }
227
332
  //# sourceMappingURL=booking-reconcile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"booking-reconcile.js","sourceRoot":"","sources":["../../src/lib/booking-reconcile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"booking-reconcile.js","sourceRoot":"","sources":["../../src/lib/booking-reconcile.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiBzC,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,OAAO,WAAW,SAAS,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAgB,EAChB,SAAiB,EACjB,OAAmB;IAEnB,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE1C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC;;;;;;;;;;;;;;;;;;+CAkB2C,EAC3C;QACE,SAAS;QACT,GAAG;QACH,KAAK,EAAE,YAAY,OAAO,CAAC,IAAI,EAAE;QACjC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;KACzB,CACF,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAY,CAAC;IAChE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAW,CAAC;IAEnE,qEAAqE;IACrE,yEAAyE;IACzE,wEAAwE;IACxE,oBAAoB;IACpB,MAAM,OAAO,CAAC,GAAG,CACf;;;;;;;0GAOsG,EACtG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CACnE,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,sCAAsC,CAAC;AAEjF,gEAAgE;AAChE,MAAM,CAAC,MAAM,uBAAuB,GAClC,yFAAyF,0BAA0B,cAAc,CAAC;AAEpI;yDACyD;AACzD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAgB,EAAE,SAAiB;IAC/E,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3B,4FAA4F,EAC5F,EAAE,SAAS,EAAE,CACd,CAAC;IACF,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAS,EACT,WAAwB;IAExB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAWD;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,WAAqB,EAAE,WAAqB;IACtE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACnC,OAAO;QACL,gBAAgB,EAAE,WAAW,CAAC,MAAM;QACpC,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;QACnF,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;KAC7F,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAa;IAChD,sEAAsE;IACtE,qEAAqE;IACrE,2EAA2E;CAC5E,CAAC;AAEF;+CAC+C;AAC/C,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;4DAE4D;AAC5D,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAE9E;;qFAEqF;AACrF,MAAM,CAAC,MAAM,qBAAqB,GAChC,yFAAyF;IACzF,8FAA8F;IAC9F,+FAA+F;IAC/F,iGAAiG;IACjG,iGAAiG;IACjG,mDAAmD,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAgB,EAChB,SAAiB,EACjB,QAA6B;IAE7B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B;;0BAEsB,EACtB,EAAE,SAAS,EAAE,CACd,CAAC;IACF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAY,CAAC;IAClD,MAAM,CAAC,GACL,GAAG,IAAI,OAAQ,GAAmC,CAAC,QAAQ,KAAK,UAAU;QACxE,CAAC,CAAE,GAAkC,CAAC,QAAQ,EAAE;QAChD,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,qBAAqB,CAAC;IAExC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,CAAC,GAAG,CACf;;;;;;;;;;;;;;;QAeI,EACJ;QACE,OAAO;QACP,SAAS;QACT,UAAU,EAAE,cAAc;QAC1B,GAAG;QACH,YAAY,EAAE,QAAQ,CAAC,OAAO;QAC9B,gBAAgB,EAAE,QAAQ,CAAC,WAAW;QACtC,WAAW,EAAE,qBAAqB;KACnC,CACF,CAAC;IACF,OAAO,aAAa,CAAC;AACvB,CAAC;AAOD;;+EAE+E;AAC/E,SAAS,gBAAgB,CAAC,CAAe,EAAE,CAAe;IACxD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAC5B,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAC5B,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC5B,CAAC;AAkBD;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAyB,EAAE,IAAoB;IACpF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAAE,SAAS,EAAE,CAAC;IAC/D,CAAC;IACD,MAAM,OAAO,GACX,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;IAClG,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;AAChF,CAAC;AAYD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAA0B,EAC1B,IAAoB,EACpB,KAAkB,EAClB,KAAa;IAEb,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,4EAA4E;QAC5E,6EAA6E;QAC7E,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,KAAK;YAAE,OAAO,KAAK,CAAC;QAC3D,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC;AAaD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,OAAwB,EAAE,OAAmB;IACzE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3E,CAAC;AAED;+EAC+E;AAC/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,8DAA8D,CAAC;AAEhG;gFACgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAC3B,2FAA2F;IAC3F,kDAAkD,CAAC;AAErD;oDACoD;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,0DAA0D,CAAC;AAE3F;8EAC8E;AAC9E,MAAM,UAAU,iBAAiB,CAAC,IAAmB,EAAE,SAAiB,EAAE,MAAc;IACtF,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AACzE,CAAC;AAYD;;;;oEAIoE;AACpE,SAAS,gBAAgB,CAAC,EAAgB;IACxC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,SAAS,GAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAE5D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,eAAe,CAAC,KAW/B;IACC,IAAI,CAAC,KAAK,CAAC,iBAAiB;QAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACzF,IAAI,CAAC,KAAK,CAAC,YAAY;QAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACtE,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5F,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5F,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1F,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;AAC9E,CAAC"}
@@ -24,10 +24,11 @@
24
24
  * PLATFORM_ROOT=... NEO4J_URI=... node dist/scripts/reconcile-bookings.js
25
25
  */
26
26
  import neo4j from "neo4j-driver";
27
+ import { randomUUID } from "node:crypto";
27
28
  import { readFileSync, writeFileSync, existsSync, unlinkSync, mkdirSync, readdirSync } from "node:fs";
28
29
  import { resolve, join } from "node:path";
29
30
  import { homedir } from "node:os";
30
- import { reconcileOne, auditCounts, ensureConnectorSyncEvent, classifyPublishedDrift, fetchBookingMeetingUids, selectUnreconciled, ELIGIBLE_BOOKING_SELECT, BOOKING_SCHEMA_MIGRATION, isMissingColumnError, isDuplicateColumnError, } from "../lib/booking-reconcile.js";
31
+ import { reconcileOne, auditCounts, ensureConnectorSyncEvent, classifyPublishedDrift, fetchBookingMeetingUids, selectUnreconciled, ELIGIBLE_BOOKING_SELECT, BOOKING_SCHEMA_MIGRATION, isMissingColumnError, isDuplicateColumnError, planBlockWrites, BLOCK_ROWS_SELECT, BLOCK_ROW_INSERT, BLOCK_ROW_DELETE, blockInsertParams, } from "../lib/booking-reconcile.js";
31
32
  import { detectCalendarConnectors, resolveDispatchDestination, shouldEmitProvisionLine, provisionSignature, emitLabel, readProvisionState, writeProvisionState, } from "../lib/connector-sync-provision.js";
32
33
  import { notifyBooking } from "../lib/booking-notify.js";
33
34
  import { createD1Client } from "../lib/d1-command.js";
@@ -430,15 +431,20 @@ async function reconcileAccount(driver, accountId, accountDir, makeClient, provi
430
431
  // reconciles the PUBLISHED open slots against the current connector-busy set,
431
432
  // so a booking page offering a slot the connector shows busy is surfaced before
432
433
  // a customer hits it. connector-busy read from the graph, published slots from D1.
434
+ // Task 1811 — these four are read by the drift audit and consumed by the
435
+ // blocking step below, which runs in its own try so its line is emitted
436
+ // whatever the drift step did.
437
+ let publishedSlots = [];
438
+ // The published set could not be read at all: D1 unreachable (throws), or a
439
+ // snapshot row exists whose payload is not a usable slot list. Both are
440
+ // distinct from a D1 that answered and holds no snapshot row, which leaves
441
+ // publishedSlots empty without setting this — the booking site has genuinely
442
+ // never published.
443
+ let snapshotUnreadable = false;
444
+ let busy = [];
445
+ let drift = null;
433
446
  const driftSession = driver.session();
434
447
  try {
435
- let publishedSlots = [];
436
- // The published set could not be read at all: D1 unreachable (throws), or a
437
- // snapshot row exists whose payload is not a usable slot list. Both are
438
- // distinct from a D1 that answered and holds no snapshot row, which leaves
439
- // publishedSlots empty without setting this — the booking site has genuinely
440
- // never published.
441
- let snapshotUnreadable = false;
442
448
  try {
443
449
  const rows = await d1.query(dbName, "SELECT payload FROM availability_snapshot WHERE id=1");
444
450
  if (rows.length > 0) {
@@ -455,10 +461,10 @@ async function reconcileAccount(driver, accountId, accountDir, makeClient, provi
455
461
  }
456
462
  const busyRes = await driftSession.run(`MATCH (b:ConnectorBusy {accountId: $accountId})
457
463
  RETURN toString(b.startsAt) AS start, toString(b.endsAt) AS end`, { accountId });
458
- const busy = busyRes.records.map((r) => ({ start: r.get("start"), end: r.get("end") }));
464
+ busy = busyRes.records.map((r) => ({ start: r.get("start"), end: r.get("end") }));
459
465
  // The busy read runs whatever the snapshot read did, so busy=<n> is the
460
466
  // standing per-account :ConnectorBusy census on every tick.
461
- const drift = classifyPublishedDrift(publishedSlots, busy);
467
+ drift = classifyPublishedDrift(publishedSlots, busy);
462
468
  const outcome = snapshotUnreadable ? "snapshot-unreadable" : drift.outcome;
463
469
  // When the published set was never read, its size and the conflict count are
464
470
  // not measurements — reporting them as 0 would be the same unqualified
@@ -474,6 +480,78 @@ async function reconcileAccount(driver, accountId, accountDir, makeClient, provi
474
480
  finally {
475
481
  await driftSession.close();
476
482
  }
483
+ // Task 1811 — act on the conflicts the audit above just measured. The
484
+ // published set, the busy set and the D1 client are all already in hand,
485
+ // so this adds one read and writes only when the set changes.
486
+ //
487
+ // Which writes are safe is decided by planBlockWrites, not here: the rule
488
+ // that an absent or unreadable busy set must never delete is the highest
489
+ // consequence line in this feature, and a bare `if` at this call site is
490
+ // unreachable by any test, since reconcileAccount resolves its config dir
491
+ // at module load and cannot be imported.
492
+ let blockOutcome = "error";
493
+ let held = "unknown";
494
+ let added = "unknown";
495
+ let removed = "unknown";
496
+ let blockReason = null;
497
+ try {
498
+ const current = (await d1.query(dbName, BLOCK_ROWS_SELECT)).map((r) => ({
499
+ bookingId: String(r.bookingId),
500
+ slotStart: String(r.slotStart),
501
+ }));
502
+ held = current.length;
503
+ const plan = planBlockWrites({
504
+ publishedReadable: !snapshotUnreadable,
505
+ // `drift` is null only when the drift try threw, which means the graph
506
+ // read did not complete and `busy` is absence of a measurement rather
507
+ // than a measured empty set.
508
+ busyReadable: drift !== null,
509
+ published: publishedSlots,
510
+ busy,
511
+ // Built from the eligible rows AND the malformed ones: the edge
512
+ // subtracts every accepted row regardless of whether its bookingId is
513
+ // a UUID, so a non-UUID real booking still holds its slot and must not
514
+ // be blocked a second time.
515
+ taken: new Set([...eligible, ...malformed].map((r) => String(r.slotStart))),
516
+ current,
517
+ nowMs: Date.now(),
518
+ });
519
+ blockOutcome = plan.outcome;
520
+ if (plan.outcome === "verified") {
521
+ // Counted as the writes land, not from the plan, so a failure part way
522
+ // through still reports what actually happened rather than the intent.
523
+ added = 0;
524
+ removed = 0;
525
+ const nowIso = new Date().toISOString();
526
+ for (const id of plan.diff.toDelete) {
527
+ await d1.query(dbName, BLOCK_ROW_DELETE, [id]);
528
+ removed++;
529
+ held--;
530
+ }
531
+ for (const s of plan.diff.toInsert) {
532
+ await d1.query(dbName, BLOCK_ROW_INSERT, blockInsertParams(s, randomUUID(), nowIso));
533
+ added++;
534
+ held++;
535
+ }
536
+ }
537
+ }
538
+ catch (err) {
539
+ blockOutcome = "error";
540
+ blockReason = err.message;
541
+ }
542
+ // ONE emit point, always reached. An earlier revision logged the error case
543
+ // separately and suppressed this line for it, which meant a tick whose
544
+ // drift step threw reported no cal-block line at all — the standing check
545
+ // silently absent, which is this task family's own defect class.
546
+ //
547
+ // On any outcome but `verified` no desired set was computed, so added and
548
+ // removed are not measurements — reporting them as 0 would be the same
549
+ // unqualified number Task 1808 removed. `held` is a real read whenever the
550
+ // D1 read succeeded, so `no-busy-data blocked=3` says "no input, three
551
+ // stale blocks retained" and `verified blocked=0` says "calendar clear".
552
+ console.error(`[calendar-availability] op=cal-block account=${accountId} outcome=${blockOutcome} ` +
553
+ `blocked=${held} added=${added} removed=${removed}` +
554
+ `${blockReason ? ` reason=${JSON.stringify(blockReason)}` : ""}`);
477
555
  }
478
556
  finally {
479
557
  // Task 1805 — the transport's own footprint, which no line reported
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile-bookings.js","sourceRoot":"","sources":["../../src/scripts/reconcile-bookings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconcile-bookings.js","sourceRoot":"","sources":["../../src/scripts/reconcile-bookings.ts"],"names":[],"mappings":"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"}