@vibes.diy/api-svc 11.1.0 → 11.1.2

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.
package/cf-serve.js CHANGED
@@ -7,6 +7,8 @@ import { ensureSuperThis, hashObjectSync } from "@vibes.diy/identity";
7
7
  import { cfDrizzle, createVibesApiTables, toDBFlavour } from "@vibes.diy/api-sql";
8
8
  import { isImgGenVersionAppend } from "@vibes.diy/vibe-types";
9
9
  import { R2ToS3Api } from "./peers/r2-to-s3api.js";
10
+ import { SESSIONS_CPU_NOTE, dispatchRecord, forgetConnection, formatSessionsAccept, formatSessionsDispatch, messageTypeOf, noteConnectionAccepted, recordDispatch, sessionsEmitEnabled, } from "./sessions-dispatch-timing.js";
11
+ import { startClock } from "./public/cold-pull-timing.js";
10
12
  function netHashFn({ colo, country, continent, city, postalCode, latitude, longitude, timezone, region, regionCode, metroCode, }) {
11
13
  return hashObjectSync({
12
14
  colo,
@@ -380,6 +382,7 @@ function dropHookEnv(ctx) {
380
382
  return { ENVIRONMENT: rEnvironment.isOk() ? rEnvironment.Ok() : undefined };
381
383
  }
382
384
  export async function cfServe(request, ctx, eventoFactory) {
385
+ const acceptElapsed = startClock();
383
386
  const appCtx = ctx.appCtx;
384
387
  const shouldLog = shouldLogVerbose(ctx);
385
388
  const upgradeHeader = request.headers.get("Upgrade");
@@ -416,12 +419,39 @@ export async function cfServe(request, ctx, eventoFactory) {
416
419
  const { client, server } = ctx.webSocket.webSocketPair();
417
420
  server.accept();
418
421
  const wsSendProvider = new WSSendProvider(server);
422
+ const openBefore = ws.connections.size;
419
423
  ws.connections.add(wsSendProvider);
420
424
  if (shouldLog) {
421
425
  console.info("New WebSocket connection accepted", ws.connections.size);
422
426
  }
427
+ const reqUriForVibe = URI.fromResult(request.url);
428
+ const vibeKey = reqUriForVibe.isOk() ? (reqUriForVibe.Ok().getParam("vibe") ?? "") : "";
429
+ const sessionsEmit = sessionsEmitEnabled(vibeKey);
430
+ noteConnectionAccepted(wsSendProvider.connId);
431
+ if (sessionsEmit) {
432
+ console.info(formatSessionsAccept({
433
+ connId: wsSendProvider.connId,
434
+ vibeKey,
435
+ kind: reqUriForVibe.isOk() ? reqUriForVibe.Ok().pathname : "",
436
+ openConnections: openBefore,
437
+ ms: acceptElapsed(),
438
+ cpuNote: SESSIONS_CPU_NOTE,
439
+ }));
440
+ }
423
441
  const wsEvento = eventoFactory ? eventoFactory() : vibesMsgEvento();
424
442
  server.addEventListener("message", (event) => {
443
+ const rDispatchEnvelope = sessionsEmit
444
+ ? exception2Result(() => {
445
+ const raw = event.data;
446
+ const parsed = wsSendProvider.ende.parse(raw);
447
+ return parsed.isOk() ? parsed.Ok() : undefined;
448
+ })
449
+ : undefined;
450
+ const dispatchType = rDispatchEnvelope !== undefined && rDispatchEnvelope.isOk() ? messageTypeOf(rDispatchEnvelope.Ok()) : undefined;
451
+ const dispatch = recordDispatch(wsSendProvider.connId, dispatchType);
452
+ if (sessionsEmit && dispatch.due) {
453
+ console.info(formatSessionsDispatch(dispatchRecord({ connId: wsSendProvider.connId, vibeKey, reason: "every" })));
454
+ }
425
455
  wsEvento.trigger({ ctx: appCtx, request: { type: "MessageEvent", event }, send: wsSendProvider }).catch((err) => {
426
456
  console.error("[ws-message] unhandled trigger rejection:", err);
427
457
  try {
@@ -456,6 +486,10 @@ export async function cfServe(request, ctx, eventoFactory) {
456
486
  localBroadcastCallbacks(ws.connections, dropHookEnv(ctx))
457
487
  .notifyDocEphemeralDrop(wsSendProvider.connId)
458
488
  .catch((e) => console.error("ephemeral drop error:", e));
489
+ if (sessionsEmit) {
490
+ console.info(formatSessionsDispatch(dispatchRecord({ connId: wsSendProvider.connId, vibeKey, reason: "close" })));
491
+ }
492
+ forgetConnection(wsSendProvider.connId);
459
493
  ws.connections.delete(wsSendProvider);
460
494
  forgetEphemeralConn(wsSendProvider.connId);
461
495
  });
@@ -467,6 +501,10 @@ export async function cfServe(request, ctx, eventoFactory) {
467
501
  localBroadcastCallbacks(ws.connections, dropHookEnv(ctx))
468
502
  .notifyDocEphemeralDrop(wsSendProvider.connId)
469
503
  .catch((e) => console.error("ephemeral drop error:", e));
504
+ if (sessionsEmit) {
505
+ console.info(formatSessionsDispatch(dispatchRecord({ connId: wsSendProvider.connId, vibeKey, reason: "error" })));
506
+ }
507
+ forgetConnection(wsSendProvider.connId);
470
508
  ws.connections.delete(wsSendProvider);
471
509
  forgetEphemeralConn(wsSendProvider.connId);
472
510
  });
package/cf-serve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cf-serve.js","sourceRoot":"","sources":["../jsr/cf-serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cf-serve.js","sourceRoot":"","sources":["../jsr/cf-serve.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAc,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,cAAc,EAAa,MAAM,qBAAqB,CAAC;AAYjF,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAe,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAqC1D,SAAS,SAAS,CAAC,EACjB,IAAI,EACJ,OAAO,EACP,SAAS,EACT,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,UAAU,EACV,SAAS,GAEI;IACb,OAAO,cAAc,CAAC;QACpB,IAAI;QACJ,OAAO;QACP,SAAS;QACT,IAAI;QACJ,UAAU;QACV,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,MAAM;QACN,UAAU;QACV,SAAS;KACV,CAAC,CAAC;AACL,CAAC;AAED,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEzC,MAAM,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAAC;AACrC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAKjC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;AACxD,SAAS,eAAe,CAAC,YAAoB,EAAE,KAAa;IAC1D,MAAM,GAAG,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1F,IAAI,GAAG,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACxC,mBAAmB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,mBAAmB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,SAAS,mBAAmB,CAAC,MAAc;IACzC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAgC,EAAE,GAAU;IAClF,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC;IAE7C,OAAO;QACL,gBAAgB,EAAE,KAAK,EACrB,GAA8F,EAC9F,YAAoB,EACL,EAAE;YAWjB,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAUnE,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChG,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,WAAW,CAAC,IAAI,IAAI,4BAA4B,EAAE,CAAC;gBACrD,OAAO,CAAC,IAAI,CACV,4BAA4B,EAC5B,MAAM,EACN,UAAU,EACV,QAAQ,EACR,WAAW,CAAC,IAAI,EAChB,YAAY,EACZ,4BAA4B,CAC7B,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,GAAG,EAAE,CAAC;YAC9D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAM/B,IAAI,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,KAAK,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,KAAK;oBAAE,SAAS;gBAC1G,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;oBAAE,SAAS;gBAC3C,gBAAgB,CAAC,GAAG,EAAE,CACpB,IAAI,CAAC,EAAE,CAAC,IAAI,CACV,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjB,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE;oBACxB,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE,kBAAkB;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,OAAO;iBACjB,CAAC,CACH,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,kBAAkB,EAAE,KAAK,EACvB,GAOC,EACD,YAAoB,EACL,EAAE;YACjB,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAEhE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChG,OAAO;YACT,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtF,OAAO;YACT,CAAC;YAKD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACjE,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,6BAA6B,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,GAAG,EAAE,CAAC;YAC1F,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;oBAAE,SAAS;gBAC3C,IAAI,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,KAAK;oBAAE,SAAS;gBAC3D,gBAAgB,CAAC,GAAG,EAAE,CACpB,IAAI,CAAC,EAAE,CAAC,IAAI,CACV,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjB,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE;oBACxB,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE,kBAAkB;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,OAAO;iBACjB,CAAC,CACH,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,sBAAsB,EAAE,KAAK,EAAE,UAAkB,EAAiB,EAAE;YAClE,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,kCAAkC,EAAE,UAAU,EAAE,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;oBAAE,SAAS;gBACzC,gBAAgB,CAAC,GAAG,EAAE,CACpB,IAAI,CAAC,EAAE,CAAC,IAAI,CACV,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjB,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE;oBACxB,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE,kBAAkB;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,OAAO;iBACjB,CAAC,CACH,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,uBAAuB,EAAE,KAAK,EAAE,gBAAwB,EAAiB,EAAE;QAE3E,CAAC;QACD,yBAAyB,EAAE,KAAK,EAAE,gBAAwB,EAAiB,EAAE;QAE7E,CAAC;QACD,yBAAyB,EAAE,KAAK,EAAE,GAAoB,EAAE,YAAoB,EAAiB,EAAE;YAC7F,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5D,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpG,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACxD,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;oBAAE,SAAS;gBAC3C,gBAAgB,CAAC,GAAG,EAAE,CACpB,IAAI,CAAC,EAAE,CAAC,IAAI,CACV,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjB,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE;oBACxB,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE,kBAAkB;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,GAAG;iBACb,CAAC,CACH,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,gCAAgC,EAAE,KAAK,EAAE,gBAAwB,EAAiB,EAAE;QAEpF,CAAC;QACD,kCAAkC,EAAE,KAAK,EAAE,gBAAwB,EAAiB,EAAE;QAEtF,CAAC;QACD,uBAAuB,EAAE,KAAK,EAAE,GAAkB,EAAE,YAAoB,EAAiB,EAAE;YAGzF,MAAM,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,UAAU,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACxF,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9G,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;oBAAE,SAAS;gBAC/E,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;oBAAE,SAAS;gBAC3C,gBAAgB,CAAC,GAAG,EAAE,CACpB,IAAI,CAAC,EAAE,CAAC,IAAI,CACV,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjB,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE;oBACxB,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE,kBAAkB;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,GAAG;iBACb,CAAC,CACH,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,0BAA0B,EAAE,KAAK,EAAE,gBAAwB,EAAiB,EAAE;QAE9E,CAAC;QACD,4BAA4B,EAAE,KAAK,EAAE,gBAAwB,EAAiB,EAAE;QAEhF,CAAC;QACD,yBAAyB,EAAE,KAAK,EAAE,GAA2B,EAAE,aAAqB,EAAiB,EAAE;YACrG,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChD,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;gBAC/D,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1F,CAAC;YACD,IAAI,WAAW,CAAC,IAAI,IAAI,4BAA4B,EAAE,CAAC;gBACrD,OAAO,CAAC,IAAI,CACV,4BAA4B,EAC5B,MAAM,EACN,GAAG,EACH,QAAQ,EACR,WAAW,CAAC,IAAI,EAChB,YAAY,EACZ,4BAA4B,CAC7B,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACvD,gBAAgB,CAAC,GAAG,EAAE,CACpB,IAAI,CAAC,EAAE,CAAC,IAAI,CACV,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjB,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE;oBACxB,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE,kBAAkB;oBACvB,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,GAAG;iBACb,CAAC,CACH,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,gCAAgC,EAAE,KAAK,EAAE,gBAAwB,EAAiB,EAAE;QAEpF,CAAC;QACD,kCAAkC,EAAE,KAAK,EAAE,gBAAwB,EAAiB,EAAE;QAEtF,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,eAAqD,EACrD,MAiBC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,SAAS,EAAE,qCAAqC,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAExF,SAAS,eAAe,CAAC,UAAkB;QACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,MAAM;YAAE,KAAK,MAAM,EAAE,IAAI,MAAM;gBAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,IAAK,OAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/C,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,YAAY;oBAAE,KAAK,MAAM,EAAE,IAAI,YAAY;wBAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAMD,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,IAAI,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;IACnH,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC;IACjC,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAEhC,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI;YACjB,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;YAC5C,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG;YAClD,gBAAgB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;SAC/C,EAAE,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,EAAE,SAAS,EAAE,gCAAgC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAE9B,MAAM,eAAe,GAAG,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,eAA8C,EAAE,EAAE;YACzG,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC9B,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAW,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC3D,CAAC;YACD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,mBAAmB,SAAS,EAAE,CAAC,EAAE,CAAC;YAChE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,cAA6C,EAAE,EAAE;YACpG,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC9B,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAW,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC3D,CAAC;YACD,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;YACzE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnD,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC5D,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QAQH,MAAM,uBAAuB,GAAG,EAAE,CAAC,WAAW,CAC5C,uBAAuB,EACvB,CAAC,SAAwC,EAAE,YAA2C,EAAE,EAAE;YACxF,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChF,OAAO,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAChF,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;QACrD,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;QACjD,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,uBAAuB,EAAE,uBAAuB,CAAC,CAAC;QACrE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACrC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC1B,aAAa,CAAC,OAAO,EAAE,CAAC;QACxB,uBAAuB,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,EAAE,CAAC;QAIjB,CAAC;YACC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1F,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,EAAE,SAAS,EAAE,gCAAgC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACzE,CAAC;YACD,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAChE,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5H,MAAM,UAAU,GAAG,WAAW;YAC5B,CAAC,CAAC,GAAG,WAAW,MAAM,WAAW,CAAC,CAAC,CAAC,0BAA0B;YAC9D,CAAC,CAAC,oBAAoB;gBACpB,CAAC,CAAC,sBAAsB,WAAW,uCAAuC;gBAC1E,CAAC,CAAC,iBAAiB,WAAW,OAAO,CAAC;QAC1C,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GACV,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,WAAW,IAAI,MAAM;gBACpE,CAAC,CAAC,MAAM,CAAE,MAAkC,CAAC,SAAS,CAAC;gBACvD,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ;oBAC1B,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7C,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,YAAgC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,OAAO,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAkB,EAClB,GAAU,EACV,GAAgD,EAChD,iBAA2C;IAE3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAkB,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GACT,GAAG,CAAC,KAAK;QACT,eAAe,CAAC;YACd,MAAM,EAAE,IAAI,UAAU,EAAE;SACzB,CAAC,CAAC;IAEL,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IAEzD,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtF,OAAO,gBAAgB,CAAC;QACtB,KAAK;QACL,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,WAAW,IAAI,IAAI,GAAG,EAAE;QACpD,KAAK,EAAE,GAAG,CAAC,KAAK;QAEhB,cAAc,EAAE;YACd,GAAG,EAAE;gBACH,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;gBACpC,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;aACjE;YACD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC;QAED,SAAS,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;YAEhC,MAAM,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC;QAC9C,UAAU,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;YAcjC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,GAAgB,CAAC;YACrB,IAAI,GAAY,CAAC;YAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACd,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACX,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,MAAM,CAAC,GAAG,CAAC,8BAA8B,GAAG,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,MAAM,CAAC,GAAG,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;YAC3E,CAAC;YAGD,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAA6C,CAAC,CAAC;QACtE,CAAC;QAGD,OAAO;QACP,UAAU,EAAE,GAAG,CAAC,UAAU;QAK1B,cAAc,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;QACpD,GAAG,EAAE,GAAwC;QAQ7C,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAA6B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAOpE,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,yBAAyB,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AACpE,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACtD,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7G,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAa;IACrC,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAiB,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/H,IAAI,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,YAAY,CAAC,EAAE,EAAE,KAAK,MAAM,CAAC;AACtC,CAAC;AAMD,SAAS,WAAW,CAAC,GAAa;IAChC,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAiB,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/H,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAsB,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAAkB,EAClB,GAAa,EACb,aAAuD;IAIvD,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gBACvC,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;iBAAM,CAAC;gBAIN,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC5F,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;oBACtB,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,CAAC;oBAC/D,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,WAAW,KAAK,WAAW,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC9G,IAAI,SAAS,EAAE,CAAC;4BACd,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAChF,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,cAAc,CAAC,MAAM,EAAE,OAA6B,CAAmC,CAAC;IACjG,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IACxD,MAAiC,CAAC,MAAM,EAAE,CAAC;IAE5C,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAA8B,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;IACvC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IAOD,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAClD,sBAAsB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CACV,oBAAoB,CAAC;YACnB,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,OAAO;YACP,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC7D,eAAe,EAAE,UAAU;YAC3B,EAAE,EAAE,aAAa,EAAE;YACnB,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC;IAGD,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;IAEpE,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAK3C,MAAM,iBAAiB,GAAG,YAAY;YACpC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE;gBACpB,MAAM,GAAG,GAAI,KAAsB,CAAC,IAAI,CAAC;gBACzC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAU,GAAiB,CAAC,CAAC;gBACrE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACjD,CAAC,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,YAAY,GAChB,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClH,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACrE,IAAI,YAAY,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACvH,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;YAKhE,IAAI,CAAC;gBACH,MAAM,GAAG,GAAI,KAAsB,CAAC,IAAI,CAAC;gBACzC,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAiB,CAAC,CAAC;gBACzF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiD,CAAC;gBAC7E,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;oBACZ,cAAc,CAAC,EAAE,CAAC,IAAI,CACpB,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;wBAC3B,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,kBAAkB;wBAClC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,kBAAkB;wBAClC,GAAG,EAAE,CAAC;wBACN,OAAO,EAAE;4BACP,IAAI,EAAE,qBAAqB;4BAC3B,KAAK,EAAE,EAAE,OAAO,EAAE,mBAAmB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;yBAClH;qBACF,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,0DAA0D,EAAE,QAAQ,CAAC,CAAC;YACtF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAKH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACvE,CAAC;QAOD,QAAQ;aACL,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;aACtF,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC,CAAC;QAG1F,uBAAuB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;aACtD,sBAAsB,CAAC,cAAc,CAAC,MAAM,CAAC;aAC7C,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC;QAIpE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACxC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACtC,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;QAChD,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAExC,QAAQ;aACL,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAmB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;aAC3G,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC,CAAC;QAG1F,uBAAuB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;aACtD,sBAAsB,CAAC,cAAc,CAAC,MAAM,CAAC;aAC7C,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACxC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACtC,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,UAAU;QACpB,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC5B,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,MAAM;SACS,CAAC,CAA0B,CAAC;AAC5D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/api-svc",
3
- "version": "11.1.0",
3
+ "version": "11.1.2",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -22,18 +22,18 @@
22
22
  "@libsql/client": "~0.17.4",
23
23
  "@neondatabase/serverless": "~1.1.0",
24
24
  "@noble/hashes": "~2.2.0",
25
- "@vibes.diy/api-pkg": "11.1.0",
26
- "@vibes.diy/api-sql": "11.1.0",
27
- "@vibes.diy/api-types": "11.1.0",
28
- "@vibes.diy/call-ai-v2": "11.1.0",
29
- "@vibes.diy/identity": "11.1.0",
30
- "@vibes.diy/prompts": "11.1.0",
31
- "@vibes.diy/vibe-db-explorer": "11.1.0",
32
- "@vibes.diy/vibe-runtime": "11.1.0",
33
- "@vibes.diy/vibe-types": "11.1.0",
25
+ "@vibes.diy/api-pkg": "11.1.2",
26
+ "@vibes.diy/api-sql": "11.1.2",
27
+ "@vibes.diy/api-types": "11.1.2",
28
+ "@vibes.diy/call-ai-v2": "11.1.2",
29
+ "@vibes.diy/identity": "11.1.2",
30
+ "@vibes.diy/prompts": "11.1.2",
31
+ "@vibes.diy/vibe-db-explorer": "11.1.2",
32
+ "@vibes.diy/vibe-runtime": "11.1.2",
33
+ "@vibes.diy/vibe-types": "11.1.2",
34
34
  "acorn": "~8.17.0",
35
35
  "arktype": "~2.2.3",
36
- "call-ai": "11.1.0",
36
+ "call-ai": "11.1.2",
37
37
  "cookie": "~2.0.1",
38
38
  "csv-parse": "~7.0.1",
39
39
  "drizzle-orm": "~0.45.2",
@@ -0,0 +1,90 @@
1
+ export declare function coldPullEmitEnabled(ownerHandle: string, appSlug: string): boolean;
2
+ export interface ColdPullStageMs {
3
+ total: number;
4
+ feedHead: number;
5
+ stateReads: number;
6
+ viewerChannels: number;
7
+ inheritRead: number;
8
+ interests: number;
9
+ feedLoad: number;
10
+ }
11
+ export interface InheritHostStat {
12
+ readonly db: string;
13
+ readonly rows: number;
14
+ readonly bytes: number;
15
+ readonly ms: number;
16
+ }
17
+ export interface InheritReadStats {
18
+ hostDbs: number;
19
+ refs: number;
20
+ hosts: InheritHostStat[];
21
+ capped: boolean;
22
+ ms: number;
23
+ }
24
+ export type ColdPullOutcome = "ok" | "rejected-handle" | "rejected-acl";
25
+ export declare const COLD_PULL_CPU_NOTE = "sync-cpu-not-measurable-in-workerd; ms.* are I/O spans \u2014 correlate with the tail event's cpuTime";
26
+ export interface ColdPullTimingRecord {
27
+ readonly callId: number;
28
+ readonly connId: string;
29
+ readonly connPulls: number;
30
+ readonly ownerHandle: string;
31
+ readonly appSlug: string;
32
+ readonly dbName: string;
33
+ readonly anon: boolean;
34
+ readonly cursorKeys: number;
35
+ readonly interestsDeclared: number;
36
+ readonly outcome: ColdPullOutcome;
37
+ readonly mode?: "incremental" | "snapshot";
38
+ readonly outputs: {
39
+ readonly rows: number;
40
+ readonly bytes: number;
41
+ readonly hasGrants: number;
42
+ readonly audienceRows: number;
43
+ readonly inheritRows: number;
44
+ };
45
+ readonly docs: {
46
+ readonly head: number;
47
+ readonly live: number;
48
+ readonly entries: number;
49
+ readonly responseBytes: number;
50
+ };
51
+ readonly inherit: InheritReadStats;
52
+ readonly channels: {
53
+ readonly granted: number;
54
+ readonly interest: number;
55
+ };
56
+ readonly ms: ColdPullStageMs;
57
+ readonly cpuNote: string;
58
+ }
59
+ export declare const COLD_PULL_START_TAG = "[cold-pull-start]";
60
+ export declare const COLD_PULL_TIMING_TAG = "[cold-pull-timing]";
61
+ export declare function formatColdPullTiming(rec: ColdPullTimingRecord): string;
62
+ export interface ColdPullStart {
63
+ readonly callId: number;
64
+ readonly connId: string;
65
+ readonly connPulls: number;
66
+ readonly ownerHandle: string;
67
+ readonly appSlug: string;
68
+ readonly dbName: string;
69
+ readonly anon: boolean;
70
+ readonly cursorKeys: number;
71
+ readonly interestsDeclared: number;
72
+ }
73
+ export declare function formatColdPullStart(start: ColdPullStart): string;
74
+ export declare function emptyStageMs(): ColdPullStageMs;
75
+ export declare function emptyInheritStats(): InheritReadStats;
76
+ export declare function rejectedColdPullRecord(start: ColdPullStart, outcome: Exclude<ColdPullOutcome, "ok">, totalMs: number): ColdPullTimingRecord;
77
+ export declare function nextColdPullCall(connId: string): {
78
+ callId: number;
79
+ connPulls: number;
80
+ };
81
+ export declare function __resetColdPullCountersForTests(): void;
82
+ export declare function startClock(): () => number;
83
+ export declare function summarizeOutputs(rows: readonly {
84
+ readonly output: string;
85
+ }[]): {
86
+ rows: number;
87
+ bytes: number;
88
+ audienceRows: number;
89
+ inheritRows: number;
90
+ };
@@ -0,0 +1,67 @@
1
+ const INCIDENT_APPS = ["qa/pickathon-picker", "og/pickathon-picker"];
2
+ export function coldPullEmitEnabled(ownerHandle, appSlug) {
3
+ return INCIDENT_APPS.includes(`${ownerHandle}/${appSlug}`);
4
+ }
5
+ export const COLD_PULL_CPU_NOTE = "sync-cpu-not-measurable-in-workerd; ms.* are I/O spans — correlate with the tail event's cpuTime";
6
+ export const COLD_PULL_START_TAG = "[cold-pull-start]";
7
+ export const COLD_PULL_TIMING_TAG = "[cold-pull-timing]";
8
+ export function formatColdPullTiming(rec) {
9
+ return `${COLD_PULL_TIMING_TAG} ${JSON.stringify(rec)}`;
10
+ }
11
+ export function formatColdPullStart(start) {
12
+ return `${COLD_PULL_START_TAG} ${JSON.stringify(start)}`;
13
+ }
14
+ export function emptyStageMs() {
15
+ return { total: 0, feedHead: 0, stateReads: 0, viewerChannels: 0, inheritRead: 0, interests: 0, feedLoad: 0 };
16
+ }
17
+ export function emptyInheritStats() {
18
+ return { hostDbs: 0, refs: 0, hosts: [], capped: false, ms: 0 };
19
+ }
20
+ export function rejectedColdPullRecord(start, outcome, totalMs) {
21
+ return {
22
+ ...start,
23
+ outcome,
24
+ outputs: { rows: 0, bytes: 0, hasGrants: 0, audienceRows: 0, inheritRows: 0 },
25
+ docs: { head: 0, live: 0, entries: 0, responseBytes: 0 },
26
+ inherit: emptyInheritStats(),
27
+ channels: { granted: 0, interest: 0 },
28
+ ms: { ...emptyStageMs(), total: totalMs },
29
+ cpuNote: COLD_PULL_CPU_NOTE,
30
+ };
31
+ }
32
+ const isolateState = { nextCallId: 0, pullsByConn: new Map() };
33
+ const MAX_TRACKED_CONNECTIONS = 512;
34
+ export function nextColdPullCall(connId) {
35
+ isolateState.nextCallId += 1;
36
+ const prior = isolateState.pullsByConn.get(connId) ?? 0;
37
+ const connPulls = prior + 1;
38
+ if (isolateState.pullsByConn.size >= MAX_TRACKED_CONNECTIONS && prior === 0) {
39
+ const oldest = isolateState.pullsByConn.keys().next();
40
+ if (oldest.done === false)
41
+ isolateState.pullsByConn.delete(oldest.value);
42
+ }
43
+ isolateState.pullsByConn.set(connId, connPulls);
44
+ return { callId: isolateState.nextCallId, connPulls };
45
+ }
46
+ export function __resetColdPullCountersForTests() {
47
+ isolateState.nextCallId = 0;
48
+ isolateState.pullsByConn.clear();
49
+ }
50
+ export function startClock() {
51
+ const t0 = Date.now();
52
+ return () => Date.now() - t0;
53
+ }
54
+ export function summarizeOutputs(rows) {
55
+ let bytes = 0;
56
+ let audienceRows = 0;
57
+ let inheritRows = 0;
58
+ for (const r of rows) {
59
+ bytes += r.output.length;
60
+ if (r.output.includes('"audience"'))
61
+ audienceRows += 1;
62
+ if (r.output.includes('"inheritRead"'))
63
+ inheritRows += 1;
64
+ }
65
+ return { rows: rows.length, bytes, audienceRows, inheritRows };
66
+ }
67
+ //# sourceMappingURL=cold-pull-timing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cold-pull-timing.js","sourceRoot":"","sources":["../../jsr/public/cold-pull-timing.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { VibesApiSQLCtx } from "../types.js";
2
2
  import type { DocAccessLevel } from "./access-helpers.js";
3
3
  import { type DecodedAccessOutputRow } from "./access-output-decoder.js";
4
+ import { type InheritReadStats } from "./cold-pull-timing.js";
4
5
  interface ResolveArgs {
5
6
  ownerHandle: string;
6
7
  appSlug: string;
@@ -8,6 +9,7 @@ interface ResolveArgs {
8
9
  userHandle: string | null;
9
10
  access: DocAccessLevel;
10
11
  devHandles: string[];
12
+ stats?: InheritReadStats;
11
13
  }
12
14
  export declare function resolveInheritReadChannels(vctx: VibesApiSQLCtx, args: ResolveArgs): Promise<Set<string>>;
13
15
  export {};
@@ -6,6 +6,7 @@ import { audienceChannelsForReader, collectAudienceSubjects, inheritChannelKey,
6
6
  import { resolveAudienceMembershipFailClosed } from "./social-store.js";
7
7
  import { resolveDbAcl } from "./db-acl-resolver.js";
8
8
  import { readAllowed } from "./app-documents-shared.js";
9
+ import { startClock } from "./cold-pull-timing.js";
9
10
  const MAX_INHERIT_HOST_DBS = 32;
10
11
  const MAX_INHERIT_REFS = 1024;
11
12
  const HOST_DB_CONCURRENCY = 4;
@@ -16,15 +17,21 @@ export async function resolveInheritReadChannels(vctx, args) {
16
17
  const byDb = new Map();
17
18
  let refCount = 0;
18
19
  for (const { descriptor } of outputs) {
19
- if (refCount >= MAX_INHERIT_REFS)
20
+ if (refCount >= MAX_INHERIT_REFS) {
21
+ if (args.stats !== undefined)
22
+ args.stats.capped = true;
20
23
  break;
24
+ }
21
25
  if (!presentInheritRead(descriptor.inheritRead))
22
26
  continue;
23
27
  const { db, docId } = descriptor.inheritRead;
24
28
  let set = byDb.get(db);
25
29
  if (set === undefined) {
26
- if (byDb.size >= MAX_INHERIT_HOST_DBS)
30
+ if (byDb.size >= MAX_INHERIT_HOST_DBS) {
31
+ if (args.stats !== undefined)
32
+ args.stats.capped = true;
27
33
  continue;
34
+ }
28
35
  set = new Set();
29
36
  byDb.set(db, set);
30
37
  }
@@ -33,6 +40,10 @@ export async function resolveInheritReadChannels(vctx, args) {
33
40
  refCount++;
34
41
  }
35
42
  }
43
+ if (args.stats !== undefined) {
44
+ args.stats.hostDbs = byDb.size;
45
+ args.stats.refs = refCount;
46
+ }
36
47
  if (byDb.size === 0)
37
48
  return new Set();
38
49
  const result = new Set();
@@ -47,10 +58,19 @@ export async function resolveInheritReadChannels(vctx, args) {
47
58
  }
48
59
  return result;
49
60
  async function resolveHostDb(hostDb, hostDocIds) {
61
+ const elapsed = startClock();
62
+ let loadedRows = 0;
63
+ let loadedBytes = 0;
64
+ const record = (keys) => {
65
+ if (args.stats !== undefined) {
66
+ args.stats.hosts.push({ db: hostDb, rows: loadedRows, bytes: loadedBytes, ms: elapsed() });
67
+ }
68
+ return keys;
69
+ };
50
70
  const tOut = vctx.sql.tables.accessFnOutputs;
51
71
  const rAcl = await resolveDbAcl({ vctx, ownerHandle, appSlug, dbName: hostDb });
52
72
  if (rAcl.isErr())
53
- return [];
73
+ return record([]);
54
74
  if ((await readAllowed({
55
75
  vctx,
56
76
  acl: rAcl.Ok(),
@@ -58,15 +78,18 @@ export async function resolveInheritReadChannels(vctx, args) {
58
78
  appSlug,
59
79
  ownerHandle,
60
80
  })) === false)
61
- return [];
81
+ return record([]);
62
82
  const grantRows = await vctx.sql.db
63
83
  .select({ docId: tOut.docId, output: tOut.output })
64
84
  .from(tOut)
65
85
  .where(and(eq(tOut.ownerHandle, ownerHandle), eq(tOut.appSlug, appSlug), eq(tOut.dbName, hostDb), eq(tOut.hasGrants, 1)))
66
86
  .limit(MAX_HOST_GRANT_ROWS + 1);
87
+ for (const r of grantRows)
88
+ loadedBytes += r.output.length;
89
+ loadedRows += grantRows.length;
67
90
  if (grantRows.length > MAX_HOST_GRANT_ROWS) {
68
91
  console.error(`inherit-read: host db ${ownerHandle}/${appSlug}/${hostDb} has >${MAX_HOST_GRANT_ROWS} grant rows — failing closed (partial grant reduce could mis-compute readability)`);
69
- return [];
92
+ return record([]);
70
93
  }
71
94
  const refRows = [];
72
95
  for (let j = 0; j < hostDocIds.length; j += INHERIT_IN_CHUNK) {
@@ -75,8 +98,11 @@ export async function resolveInheritReadChannels(vctx, args) {
75
98
  .select({ docId: tOut.docId, output: tOut.output })
76
99
  .from(tOut)
77
100
  .where(and(eq(tOut.ownerHandle, ownerHandle), eq(tOut.appSlug, appSlug), eq(tOut.dbName, hostDb), inArray(tOut.docId, chunk)));
78
- for (const r of rows)
101
+ for (const r of rows) {
79
102
  refRows.push(r);
103
+ loadedBytes += r.output.length;
104
+ }
105
+ loadedRows += rows.length;
80
106
  }
81
107
  const rowsByDocId = new Map();
82
108
  const grantDocIds = new Set(grantRows.map((r) => r.docId));
@@ -111,7 +137,7 @@ export async function resolveInheritReadChannels(vctx, args) {
111
137
  effectiveChannels: hostEffective,
112
138
  publicChannels: reduce.publicChannels,
113
139
  });
114
- return survivors.map((d) => inheritChannelKey(hostDb, d._id));
140
+ return record(survivors.map((d) => inheritChannelKey(hostDb, d._id)));
115
141
  }
116
142
  }
117
143
  //# sourceMappingURL=inherit-read-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inherit-read-resolver.js","sourceRoot":"","sources":["../../jsr/public/inherit-read-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inherit-read-resolver.js","sourceRoot":"","sources":["../../jsr/public/inherit-read-resolver.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ import { purgeRootHtmlCacheSameColo } from "../intern/swr-purge.js";
27
27
  import { notifyDocChangedFanOut, notifyViewerGrantsChangedFanOut, emitDmWriteEffects, emitCommentPostedEvent, } from "./app-documents-broadcast.js";
28
28
  import { notifyViewerGrantDeltaIfChanged } from "./app-documents-grant-delta.js";
29
29
  import { computeSyncPull, hasColdDeliveryKeys, routesToSnapshot } from "./sync-pull-core.js";
30
+ import { COLD_PULL_CPU_NOTE, coldPullEmitEnabled, emptyInheritStats, emptyStageMs, formatColdPullStart, formatColdPullTiming, nextColdPullCall, rejectedColdPullRecord, startClock, summarizeOutputs, } from "./cold-pull-timing.js";
30
31
  const BARE_DB_CHANNEL = "*";
31
32
  export const syncPullEvento = {
32
33
  hash: "sync-pull",
@@ -39,6 +40,25 @@ export const syncPullEvento = {
39
40
  handle: optAuth(async (ctx) => {
40
41
  const req = ctx.validated.payload;
41
42
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
43
+ const emitTiming = coldPullEmitEnabled(req.ownerHandle, req.appSlug);
44
+ const totalElapsed = startClock();
45
+ const stageMs = emptyStageMs();
46
+ const inheritStats = emptyInheritStats();
47
+ const wsSend = clientWsSend(ctx);
48
+ const { callId, connPulls } = nextColdPullCall(wsSend.connId);
49
+ const pullStart = {
50
+ callId,
51
+ connId: wsSend.connId,
52
+ connPulls,
53
+ ownerHandle: req.ownerHandle,
54
+ appSlug: req.appSlug,
55
+ dbName: req.dbName,
56
+ anon: req._auth === undefined,
57
+ cursorKeys: Object.keys(req.cursors).length,
58
+ interestsDeclared: req.interests?.length ?? 0,
59
+ };
60
+ if (emitTiming)
61
+ console.info(formatColdPullStart(pullStart));
42
62
  const afbRow = await resolveAccessBinding(vctx, req.ownerHandle, req.appSlug, req.dbName);
43
63
  const isDm = isDirectChannel(req.ownerHandle);
44
64
  const userId = req._auth?.verifiedAuth.claims.userId ?? null;
@@ -49,6 +69,8 @@ export const syncPullEvento = {
49
69
  type: "vibes.diy.res-error",
50
70
  error: { message: "Acting handle not bound" },
51
71
  });
72
+ if (emitTiming)
73
+ console.info(formatColdPullTiming(rejectedColdPullRecord(pullStart, "rejected-handle", totalElapsed())));
52
74
  return Result.Ok(EventoResult.Continue);
53
75
  }
54
76
  }
@@ -62,19 +84,31 @@ export const syncPullEvento = {
62
84
  if (rAcl.isErr() ||
63
85
  !(await readAllowed({ vctx, acl: rAcl.Ok(), access, appSlug: req.appSlug, ownerHandle: req.ownerHandle }))) {
64
86
  await ctx.send.send(ctx, { type: "vibes.diy.res-error", error: { message: "Access denied" } });
87
+ if (emitTiming)
88
+ console.info(formatColdPullTiming(rejectedColdPullRecord(pullStart, "rejected-acl", totalElapsed())));
65
89
  return Result.Ok(EventoResult.Continue);
66
90
  }
67
91
  }
92
+ const feedHeadElapsed = startClock();
68
93
  const maxSyncSeq = await loadFeedHead(vctx, req);
94
+ stageMs.feedHead = feedHeadElapsed();
69
95
  const tOutputs = vctx.sql.tables.accessFnOutputs;
70
96
  const headRowsQuery = loadHeadDocs(vctx, { ownerHandle: req.ownerHandle, appSlug: req.appSlug, dbName: req.dbName });
71
97
  const outputsQuery = afbRow?.accessFnCid
72
98
  ? vctx.sql.db
73
- .select({ docId: tOutputs.docId, output: tOutputs.output })
99
+ .select({ docId: tOutputs.docId, output: tOutputs.output, hasGrants: tOutputs.hasGrants })
74
100
  .from(tOutputs)
75
101
  .where(and(eq(tOutputs.ownerHandle, req.ownerHandle), eq(tOutputs.appSlug, req.appSlug), eq(tOutputs.dbName, req.dbName)))
76
102
  : Promise.resolve([]);
103
+ const stateReadsElapsed = startClock();
77
104
  const [headRows, allOutputs] = await Promise.all([headRowsQuery, outputsQuery]);
105
+ stageMs.stateReads = stateReadsElapsed();
106
+ const outputSummary = emitTiming ? summarizeOutputs(allOutputs) : { rows: 0, bytes: 0, audienceRows: 0, inheritRows: 0 };
107
+ let grantBearingOutputs = 0;
108
+ if (emitTiming)
109
+ for (const row of allOutputs)
110
+ if (row.hasGrants === 1)
111
+ grantBearingOutputs += 1;
78
112
  const grantedChannels = [];
79
113
  const interestChannels = [];
80
114
  let liveDocs;
@@ -90,7 +124,9 @@ export const syncPullEvento = {
90
124
  }
91
125
  else {
92
126
  const decodedOutputs = decodeAccessOutputRows(allOutputs);
127
+ const viewerChannelsElapsed = startClock();
93
128
  const { userHandle, effectiveChannels, publicChannels } = await resolveViewerChannels(vctx, {
129
+ ...(emitTiming ? { inheritStats } : {}),
94
130
  ownerHandle: req.ownerHandle,
95
131
  appSlug: req.appSlug,
96
132
  userId,
@@ -100,6 +136,8 @@ export const syncPullEvento = {
100
136
  ...(req.actingHandle !== undefined && userId !== null ? { actingHandle: req.actingHandle } : {}),
101
137
  derivation: "pull",
102
138
  });
139
+ stageMs.viewerChannels = viewerChannelsElapsed();
140
+ stageMs.inheritRead = inheritStats.ms;
103
141
  const docChannels = new Map();
104
142
  for (const { row, descriptor } of decodedOutputs) {
105
143
  const channels = channelSetOfDescriptor(descriptor);
@@ -108,12 +146,14 @@ export const syncPullEvento = {
108
146
  }
109
147
  const grantedSet = new Set([...effectiveChannels, ...publicChannels]);
110
148
  grantedChannels.push(...grantedSet);
149
+ const interestsElapsed = startClock();
111
150
  const admitted = await admitInterestChannelsFailClosed(vctx, {
112
151
  interests: req.interests,
113
152
  ownerHandle: req.ownerHandle,
114
153
  appSlug: req.appSlug,
115
154
  viewerHandle: userHandle,
116
155
  });
156
+ stageMs.interests = interestsElapsed();
117
157
  for (const ch of admitted)
118
158
  interestChannels.push(ch);
119
159
  adminOverride = access === "override";
@@ -133,7 +173,7 @@ export const syncPullEvento = {
133
173
  cursors: req.cursors,
134
174
  })
135
175
  ? []
136
- : await loadFeed(vctx, req, req.cursors, maxSyncSeq, { coldKeysPresent });
176
+ : await loadFeedTimed(vctx, { req, maxSyncSeq, coldKeysPresent, stageMs });
137
177
  const result = computeSyncPull({
138
178
  feed,
139
179
  maxSyncSeq,
@@ -152,6 +192,24 @@ export const syncPullEvento = {
152
192
  grantedChannels: result.grantedChannels,
153
193
  interestChannels: result.interestChannels,
154
194
  });
195
+ stageMs.total = totalElapsed();
196
+ if (emitTiming)
197
+ console.info(formatColdPullTiming({
198
+ ...pullStart,
199
+ outcome: "ok",
200
+ mode: result.mode,
201
+ outputs: { ...outputSummary, hasGrants: grantBearingOutputs },
202
+ docs: {
203
+ head: headRows.length,
204
+ live: liveDocs.length,
205
+ entries: result.entries.length,
206
+ responseBytes: wsSend.lastSentBytes,
207
+ },
208
+ inherit: inheritStats,
209
+ channels: { granted: result.grantedChannels.length, interest: result.interestChannels.length },
210
+ ms: stageMs,
211
+ cpuNote: COLD_PULL_CPU_NOTE,
212
+ }));
155
213
  return Result.Ok(EventoResult.Continue);
156
214
  }),
157
215
  };
@@ -165,6 +223,12 @@ function mintDoc(vctx, req, row) {
165
223
  });
166
224
  return { _id: row.docId, ...doc };
167
225
  }
226
+ async function loadFeedTimed(vctx, p) {
227
+ const elapsed = startClock();
228
+ const rows = await loadFeed(vctx, p.req, p.req.cursors, p.maxSyncSeq, { coldKeysPresent: p.coldKeysPresent });
229
+ p.stageMs.feedLoad = elapsed();
230
+ return rows;
231
+ }
168
232
  async function loadFeedHead(vctx, req) {
169
233
  const f = vctx.sql.tables.syncFeed;
170
234
  const row = await vctx.sql.db
@@ -1 +1 @@
1
- {"version":3,"file":"sync-eventos.js","sourceRoot":"","sources":["../../jsr/public/sync-eventos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-eventos.js","sourceRoot":"","sources":["../../jsr/public/sync-eventos.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,12 @@
1
1
  import { EventoHandler } from "@adviser/cement";
2
2
  import { MsgBase, ResError, W3CWebSocketEvent, ReqListHandleBindings, ResListHandleBindings, ReqCreateHandleBinding, ResCreateHandleBinding, ReqDeleteHandleBinding, ResDeleteHandleBinding } from "@vibes.diy/api-types";
3
+ import { VibesApiSQLCtx } from "../types.js";
4
+ export declare function listUserHandleBindings(vctx: VibesApiSQLCtx, userId: string): Promise<{
5
+ ownerHandle: string;
6
+ tenant: string;
7
+ created: string;
8
+ appSlugCount: number;
9
+ }[]>;
3
10
  export declare const listHandleBindingsEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqListHandleBindings>, ResListHandleBindings | ResError>;
4
11
  export declare const createHandleBindingEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqCreateHandleBinding>, ResCreateHandleBinding | ResError>;
5
12
  export declare const deleteHandleBindingEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqDeleteHandleBinding>, ResDeleteHandleBinding | ResError>;
@@ -6,6 +6,22 @@ import { unwrapMsgBase } from "../unwrap-msg-base.js";
6
6
  import { checkAuth } from "../check-auth.js";
7
7
  import { writeHandleBinding, toRFC2822_32ByteLength } from "../intern/ensure-slug-binding.js";
8
8
  import { generate } from "random-words";
9
+ export async function listUserHandleBindings(vctx, userId) {
10
+ const t_hb = vctx.sql.tables.handleBinding;
11
+ const rows = await vctx.sql.db
12
+ .select({
13
+ ownerHandle: t_hb.handle,
14
+ tenant: t_hb.tenant,
15
+ created: t_hb.created,
16
+ appSlugCount: sql `count(${vctx.sql.tables.appSlugBinding.appSlug})`,
17
+ })
18
+ .from(t_hb)
19
+ .leftJoin(vctx.sql.tables.appSlugBinding, eq(vctx.sql.tables.appSlugBinding.ownerHandle, t_hb.handle))
20
+ .where(eq(t_hb.userId, userId))
21
+ .groupBy(t_hb.handle, t_hb.tenant, t_hb.created)
22
+ .orderBy(t_hb.created, t_hb.handle);
23
+ return rows.map((r) => ({ ...r, appSlugCount: Number(r.appSlugCount) }));
24
+ }
9
25
  export const listHandleBindingsEvento = {
10
26
  hash: "list-user-slug-bindings",
11
27
  validate: unwrapMsgBase(async (msg) => {
@@ -19,20 +35,10 @@ export const listHandleBindingsEvento = {
19
35
  const req = ctx.validated.payload;
20
36
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
21
37
  const userId = req._auth.verifiedAuth.claims.userId;
22
- const rows = await vctx.sql.db
23
- .select({
24
- ownerHandle: vctx.sql.tables.handleBinding.handle,
25
- tenant: vctx.sql.tables.handleBinding.tenant,
26
- created: vctx.sql.tables.handleBinding.created,
27
- appSlugCount: sql `count(${vctx.sql.tables.appSlugBinding.appSlug})`,
28
- })
29
- .from(vctx.sql.tables.handleBinding)
30
- .leftJoin(vctx.sql.tables.appSlugBinding, eq(vctx.sql.tables.appSlugBinding.ownerHandle, vctx.sql.tables.handleBinding.handle))
31
- .where(eq(vctx.sql.tables.handleBinding.userId, userId))
32
- .groupBy(vctx.sql.tables.handleBinding.handle, vctx.sql.tables.handleBinding.tenant, vctx.sql.tables.handleBinding.created);
38
+ const items = await listUserHandleBindings(vctx, userId);
33
39
  await ctx.send.send(ctx, {
34
40
  type: "vibes.diy.res-list-user-slug-bindings",
35
- items: rows.map((r) => ({ ...r, appSlugCount: Number(r.appSlugCount) })),
41
+ items,
36
42
  });
37
43
  return Result.Ok(EventoResult.Continue);
38
44
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"user-slug-bindings.js","sourceRoot":"","sources":["../../jsr/public/user-slug-bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-slug-bindings.js","sourceRoot":"","sources":["../../jsr/public/user-slug-bindings.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { AccessDescriptor } from "@vibes.diy/api-types";
2
2
  import type { VibesApiSQLCtx } from "../types.js";
3
3
  import type { DocAccessLevel } from "./access-helpers.js";
4
4
  import type { DecodedAccessOutputRow } from "./access-output-decoder.js";
5
+ import { type InheritReadStats } from "./cold-pull-timing.js";
5
6
  export declare function hasGrantBearingDescriptor(descriptor: AccessDescriptor): boolean;
6
7
  export interface ResolveViewerChannelsParams {
7
8
  readonly ownerHandle: string;
@@ -12,6 +13,7 @@ export interface ResolveViewerChannelsParams {
12
13
  readonly decodedOutputs: readonly DecodedAccessOutputRow[];
13
14
  readonly actingHandle?: string;
14
15
  readonly derivation: "readable" | "pull";
16
+ readonly inheritStats?: InheritReadStats;
15
17
  }
16
18
  export interface ViewerChannelResolution {
17
19
  readonly userHandle: string | null;
@@ -6,6 +6,7 @@ import { audienceChannelsForReader, collectAudienceSubjects } from "./audience-c
6
6
  import { resolveInheritReadChannels } from "./inherit-read-resolver.js";
7
7
  import { resolveAudienceMembershipFailClosed } from "./social-store.js";
8
8
  import { resolvePublicAudienceChannelsFailClosed } from "./public-audience-resolver.js";
9
+ import { startClock } from "./cold-pull-timing.js";
9
10
  export function hasGrantBearingDescriptor(descriptor) {
10
11
  return ((descriptor.members != null && Object.keys(descriptor.members).length > 0) ||
11
12
  (descriptor.grant?.users != null && Object.keys(descriptor.grant.users).length > 0) ||
@@ -53,6 +54,7 @@ export async function resolveViewerChannels(vctx, p) {
53
54
  }
54
55
  }
55
56
  if (p.access !== "override") {
57
+ const inheritElapsed = startClock();
56
58
  const inheritCh = await resolveInheritReadChannels(vctx, {
57
59
  ownerHandle: p.ownerHandle,
58
60
  appSlug: p.appSlug,
@@ -60,7 +62,10 @@ export async function resolveViewerChannels(vctx, p) {
60
62
  userHandle,
61
63
  access: p.access,
62
64
  devHandles,
65
+ ...(p.inheritStats !== undefined ? { stats: p.inheritStats } : {}),
63
66
  });
67
+ if (p.inheritStats !== undefined)
68
+ p.inheritStats.ms = inheritElapsed();
64
69
  for (const ch of inheritCh)
65
70
  effectiveChannels.add(ch);
66
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-channel-resolver.js","sourceRoot":"","sources":["../../jsr/public/viewer-channel-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewer-channel-resolver.js","sourceRoot":"","sources":["../../jsr/public/viewer-channel-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ export declare function sessionsEmitEnabled(vibeKey: string | undefined): boolean;
2
+ export declare const DISPATCH_EMIT_EVERY = 50;
3
+ export declare const SESSIONS_MAX_TRACKED_TYPES = 24;
4
+ export declare const SESSIONS_OVERFLOW_TYPE = "~other";
5
+ export declare const SESSIONS_ACCEPT_TAG = "[sessions-accept]";
6
+ export declare const SESSIONS_DISPATCH_TAG = "[sessions-dispatch]";
7
+ export declare const SESSIONS_CPU_NOTE = "sync-cpu-not-measurable-in-workerd; counts are exact, ms are I/O spans \u2014 correlate with the tail event's cpuTime";
8
+ export interface SessionsAcceptRecord {
9
+ readonly connId: string;
10
+ readonly vibeKey: string;
11
+ readonly kind: string;
12
+ readonly openConnections: number;
13
+ readonly ms: number;
14
+ readonly cpuNote: string;
15
+ }
16
+ export interface SessionsDispatchRecord {
17
+ readonly connId: string;
18
+ readonly vibeKey: string;
19
+ readonly reason: "every" | "close" | "error";
20
+ readonly messages: number;
21
+ readonly top: {
22
+ readonly type: string;
23
+ readonly count: number;
24
+ }[];
25
+ readonly distinctTypes: number;
26
+ readonly ageMs: number;
27
+ readonly cpuNote: string;
28
+ }
29
+ export declare function formatSessionsAccept(rec: SessionsAcceptRecord): string;
30
+ export declare function formatSessionsDispatch(rec: SessionsDispatchRecord): string;
31
+ export declare function noteConnectionAccepted(connId: string): void;
32
+ export declare function recordDispatch(connId: string, type: string | undefined): {
33
+ messages: number;
34
+ due: boolean;
35
+ };
36
+ export declare function dispatchRecord(p: {
37
+ readonly connId: string;
38
+ readonly vibeKey: string;
39
+ readonly reason: SessionsDispatchRecord["reason"];
40
+ }): SessionsDispatchRecord;
41
+ export declare function forgetConnection(connId: string): void;
42
+ export declare function __resetSessionsCountersForTests(): void;
43
+ export declare function messageTypeOf(envelope: unknown): string | undefined;
@@ -0,0 +1,98 @@
1
+ const INCIDENT_VIBE_KEYS = [
2
+ "qa--pickathon-picker",
3
+ "og--pickathon-picker",
4
+ "qa/pickathon-picker",
5
+ "og/pickathon-picker",
6
+ ];
7
+ export function sessionsEmitEnabled(vibeKey) {
8
+ if (vibeKey === undefined)
9
+ return false;
10
+ return INCIDENT_VIBE_KEYS.includes(vibeKey);
11
+ }
12
+ export const DISPATCH_EMIT_EVERY = 50;
13
+ const TOP_TYPES = 5;
14
+ const MAX_TRACKED_TYPES = 24;
15
+ const OVERFLOW_TYPE = "~other";
16
+ const MAX_TYPE_LENGTH = 64;
17
+ export const SESSIONS_MAX_TRACKED_TYPES = MAX_TRACKED_TYPES;
18
+ export const SESSIONS_OVERFLOW_TYPE = OVERFLOW_TYPE;
19
+ export const SESSIONS_ACCEPT_TAG = "[sessions-accept]";
20
+ export const SESSIONS_DISPATCH_TAG = "[sessions-dispatch]";
21
+ export const SESSIONS_CPU_NOTE = "sync-cpu-not-measurable-in-workerd; counts are exact, ms are I/O spans — correlate with the tail event's cpuTime";
22
+ export function formatSessionsAccept(rec) {
23
+ return `${SESSIONS_ACCEPT_TAG} ${JSON.stringify(rec)}`;
24
+ }
25
+ export function formatSessionsDispatch(rec) {
26
+ return `${SESSIONS_DISPATCH_TAG} ${JSON.stringify(rec)}`;
27
+ }
28
+ const isolateState = { conns: new Map() };
29
+ const MAX_TRACKED_CONNECTIONS = 512;
30
+ function counters(connId) {
31
+ const existing = isolateState.conns.get(connId);
32
+ if (existing !== undefined)
33
+ return existing;
34
+ if (isolateState.conns.size >= MAX_TRACKED_CONNECTIONS) {
35
+ const oldest = isolateState.conns.keys().next();
36
+ if (oldest.done === false)
37
+ isolateState.conns.delete(oldest.value);
38
+ }
39
+ const fresh = { total: 0, byType: new Map(), openedAt: Date.now() };
40
+ isolateState.conns.set(connId, fresh);
41
+ return fresh;
42
+ }
43
+ export function noteConnectionAccepted(connId) {
44
+ counters(connId);
45
+ }
46
+ export function recordDispatch(connId, type) {
47
+ const c = counters(connId);
48
+ c.total += 1;
49
+ if (type !== undefined) {
50
+ const known = c.byType.get(type);
51
+ if (known !== undefined) {
52
+ c.byType.set(type, known + 1);
53
+ }
54
+ else if (c.byType.size < MAX_TRACKED_TYPES - 1) {
55
+ c.byType.set(type, 1);
56
+ }
57
+ else {
58
+ c.byType.set(OVERFLOW_TYPE, (c.byType.get(OVERFLOW_TYPE) ?? 0) + 1);
59
+ }
60
+ }
61
+ return { messages: c.total, due: c.total % DISPATCH_EMIT_EVERY === 0 };
62
+ }
63
+ export function dispatchRecord(p) {
64
+ const c = isolateState.conns.get(p.connId);
65
+ const byType = c?.byType ?? new Map();
66
+ const top = [...byType.entries()]
67
+ .sort((a, b) => b[1] - a[1])
68
+ .slice(0, TOP_TYPES)
69
+ .map(([type, count]) => ({ type, count }));
70
+ return {
71
+ connId: p.connId,
72
+ vibeKey: p.vibeKey,
73
+ reason: p.reason,
74
+ messages: c?.total ?? 0,
75
+ top,
76
+ distinctTypes: byType.size,
77
+ ageMs: c === undefined ? 0 : Date.now() - c.openedAt,
78
+ cpuNote: SESSIONS_CPU_NOTE,
79
+ };
80
+ }
81
+ export function forgetConnection(connId) {
82
+ isolateState.conns.delete(connId);
83
+ }
84
+ export function __resetSessionsCountersForTests() {
85
+ isolateState.conns.clear();
86
+ }
87
+ export function messageTypeOf(envelope) {
88
+ if (typeof envelope !== "object" || envelope === null)
89
+ return undefined;
90
+ const payload = envelope.payload;
91
+ if (typeof payload !== "object" || payload === null)
92
+ return undefined;
93
+ const type = payload.type;
94
+ if (typeof type !== "string")
95
+ return undefined;
96
+ return type.length > MAX_TYPE_LENGTH ? type.slice(0, MAX_TYPE_LENGTH) : type;
97
+ }
98
+ //# sourceMappingURL=sessions-dispatch-timing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions-dispatch-timing.js","sourceRoot":"","sources":["../jsr/sessions-dispatch-timing.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export declare class WSSendProvider implements EventoSendProvider<W3CWebSocketEv
18
18
  subscribedDocHandle: string | undefined;
19
19
  adminMode: boolean;
20
20
  readonly connId: string;
21
+ lastSentBytes: number;
21
22
  constructor(ws: WebSocket, ende?: JSONEnDecoder);
22
23
  send<T>(ctx: HandleTriggerCtx<W3CWebSocketEvent, unknown, unknown>, res: unknown): Promise<Result<T>>;
23
24
  }
@@ -15,6 +15,7 @@ export class WSSendProvider {
15
15
  subscribedDocHandle = undefined;
16
16
  adminMode = false;
17
17
  connId = crypto.randomUUID();
18
+ lastSentBytes = 0;
18
19
  constructor(ws, ende) {
19
20
  this.ws = ws;
20
21
  this.ende = ende ?? JSONEnDecoderSingleton();
@@ -39,7 +40,9 @@ export class WSSendProvider {
39
40
  else {
40
41
  sendMsg = outMsg;
41
42
  }
42
- this.ws.send(this.ende.uint8ify(sendMsg));
43
+ const frame = this.ende.uint8ify(sendMsg);
44
+ this.lastSentBytes = frame.length;
45
+ this.ws.send(frame);
43
46
  return Result.Ok(sendMsg);
44
47
  }
45
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"svc-ws-send-provider.js","sourceRoot":"","sources":["../jsr/svc-ws-send-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,sBAAsB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACtH,OAAO,EAAE,OAAO,EAA8B,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAO/B,MAAM,OAAO,cAAc;IAChB,EAAE,CAAY;IACd,IAAI,CAAgB;IACpB,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAQvC,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAYtC,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAGvD,qBAAqB,GAAG,CAAC,CAAC;IAGjB,0BAA0B,GAAG,IAAI,GAAG,EAAU,CAAC;IAG/C,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAGzC,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;IAIvD,iBAAiB,GAAuB,SAAS,CAAC;IAQlD,mBAAmB,GAAuB,SAAS,CAAC;IACpD,SAAS,GAAG,KAAK,CAAC;IAKT,MAAM,GAAW,MAAM,CAAC,UAAU,EAAE,CAAC;IAC9C,YAAY,EAAa,EAAE,IAAoB;QAC7C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,sBAAsB,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,GAA0D,EAAE,GAAY;QACpF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,GAAG,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;YACzF,OAAO,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAgB,CAAC;QACrB,IAAI,MAAM,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,GAAG;gBACR,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,GAAG;aACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,EAAE,CAAC,OAAuB,CAAC,CAAC;IAC5C,CAAC;CACF"}
1
+ {"version":3,"file":"svc-ws-send-provider.js","sourceRoot":"","sources":["../jsr/svc-ws-send-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,sBAAsB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACtH,OAAO,EAAE,OAAO,EAA8B,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAO/B,MAAM,OAAO,cAAc;IAChB,EAAE,CAAY;IACd,IAAI,CAAgB;IACpB,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAQvC,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAYtC,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAGvD,qBAAqB,GAAG,CAAC,CAAC;IAGjB,0BAA0B,GAAG,IAAI,GAAG,EAAU,CAAC;IAG/C,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAGzC,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;IAIvD,iBAAiB,GAAuB,SAAS,CAAC;IAQlD,mBAAmB,GAAuB,SAAS,CAAC;IACpD,SAAS,GAAG,KAAK,CAAC;IAKT,MAAM,GAAW,MAAM,CAAC,UAAU,EAAE,CAAC;IAO9C,aAAa,GAAG,CAAC,CAAC;IAClB,YAAY,EAAa,EAAE,IAAoB;QAC7C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,sBAAsB,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,GAA0D,EAAE,GAAY;QACpF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,GAAG,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;YACzF,OAAO,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAgB,CAAC;QACrB,IAAI,MAAM,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,GAAG;gBACR,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,GAAG;aACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC,EAAE,CAAC,OAAuB,CAAC,CAAC;IAC5C,CAAC;CACF"}