@vibes.diy/api-svc 14.3.94 → 14.3.96

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 (106) hide show
  1. package/analytics.d.ts +8 -0
  2. package/analytics.js +12 -0
  3. package/analytics.js.map +1 -1
  4. package/billing.d.ts +1 -0
  5. package/billing.js +5 -1
  6. package/billing.js.map +1 -1
  7. package/create-handler.js +8 -0
  8. package/create-handler.js.map +1 -1
  9. package/evento-handler-manifest.js +2 -0
  10. package/evento-handler-manifest.js.map +1 -1
  11. package/guest-claim-handoff-token.d.ts +21 -0
  12. package/guest-claim-handoff-token.js +55 -0
  13. package/guest-claim-handoff-token.js.map +1 -0
  14. package/intern/agent-session.d.ts +24 -24
  15. package/intern/backend-egress.d.ts +1 -0
  16. package/intern/backend-egress.js +7 -1
  17. package/intern/backend-egress.js.map +1 -1
  18. package/intern/builder-close-overlay.d.ts +2 -0
  19. package/intern/builder-close-overlay.js +16 -0
  20. package/intern/builder-close-overlay.js.map +1 -0
  21. package/intern/builder-refusal-fallback.d.ts +21 -0
  22. package/intern/builder-refusal-fallback.js +23 -0
  23. package/intern/builder-refusal-fallback.js.map +1 -0
  24. package/intern/components/vibe-page.js +9 -1
  25. package/intern/components/vibe-page.js.map +1 -1
  26. package/intern/fetch-url-tool.d.ts +2 -1
  27. package/intern/fetch-url-tool.js +1 -0
  28. package/intern/fetch-url-tool.js.map +1 -1
  29. package/intern/get-model-defaults.d.ts +2 -1
  30. package/intern/get-model-defaults.js +15 -6
  31. package/intern/get-model-defaults.js.map +1 -1
  32. package/intern/get-vibe-route-hints.d.ts +2 -2
  33. package/intern/get-vibe-route-hints.js +3 -7
  34. package/intern/get-vibe-route-hints.js.map +1 -1
  35. package/intern/guest-mask.d.ts +6 -0
  36. package/intern/guest-mask.js +12 -0
  37. package/intern/guest-mask.js.map +1 -1
  38. package/intern/in-flight-turns.js.map +1 -1
  39. package/intern/instant-build.d.ts +41 -5
  40. package/intern/instant-build.js +233 -31
  41. package/intern/instant-build.js.map +1 -1
  42. package/intern/load-selected-backend.d.ts +1 -0
  43. package/intern/load-selected-backend.js +1 -1
  44. package/intern/load-selected-backend.js.map +1 -1
  45. package/intern/opens-check.js +3 -0
  46. package/intern/opens-check.js.map +1 -1
  47. package/intern/prompt-assembly.js +3 -0
  48. package/intern/prompt-assembly.js.map +1 -1
  49. package/intern/save-repair-io.d.ts +1 -0
  50. package/intern/save-repair-io.js +1 -1
  51. package/intern/save-repair-io.js.map +1 -1
  52. package/intern/turn-error-kind.d.ts +2 -0
  53. package/intern/turn-error-kind.js +18 -0
  54. package/intern/turn-error-kind.js.map +1 -0
  55. package/intern/turn-size.d.ts +7 -0
  56. package/intern/turn-size.js +45 -0
  57. package/intern/turn-size.js.map +1 -0
  58. package/intern/work-tools.js +3 -0
  59. package/intern/work-tools.js.map +1 -1
  60. package/models.json +42 -20
  61. package/package.json +13 -13
  62. package/public/agent-turn-action.js +3 -0
  63. package/public/agent-turn-action.js.map +1 -1
  64. package/public/app-settings-snapshot.js +2 -13
  65. package/public/app-settings-snapshot.js.map +1 -1
  66. package/public/claim-guest-principal.js +13 -6
  67. package/public/claim-guest-principal.js.map +1 -1
  68. package/public/codegen-turn-route.d.ts +2 -1
  69. package/public/codegen-turn-route.js +1 -0
  70. package/public/codegen-turn-route.js.map +1 -1
  71. package/public/ensure-user-settings.js +6 -3
  72. package/public/ensure-user-settings.js.map +1 -1
  73. package/public/fork-app.js +1 -4
  74. package/public/fork-app.js.map +1 -1
  75. package/public/get-app-by-fsid.js +8 -1
  76. package/public/get-app-by-fsid.js.map +1 -1
  77. package/public/handle-prompt-context.d.ts +3 -1
  78. package/public/handle-prompt-context.js +10 -1
  79. package/public/handle-prompt-context.js.map +1 -1
  80. package/public/handler-llm-request.d.ts +3 -1
  81. package/public/handler-llm-request.js +2 -1
  82. package/public/handler-llm-request.js.map +1 -1
  83. package/public/list-app-models.js +7 -6
  84. package/public/list-app-models.js.map +1 -1
  85. package/public/llm-dispatch-fallback.d.ts +1 -1
  86. package/public/mint-guest-claim-handoff.d.ts +3 -0
  87. package/public/mint-guest-claim-handoff.js +37 -0
  88. package/public/mint-guest-claim-handoff.js.map +1 -0
  89. package/public/prompt-chat-section.js +1 -0
  90. package/public/prompt-chat-section.js.map +1 -1
  91. package/public/prompt-section-actions.js +4 -0
  92. package/public/prompt-section-actions.js.map +1 -1
  93. package/public/prompt-turn-settled.js +8 -0
  94. package/public/prompt-turn-settled.js.map +1 -1
  95. package/public/prompt-turn-types.d.ts +2 -0
  96. package/public/request-flow.js.map +1 -1
  97. package/public/stream-assembly.d.ts +5 -2
  98. package/public/stream-assembly.js +104 -5
  99. package/public/stream-assembly.js.map +1 -1
  100. package/types.d.ts +2 -0
  101. package/types.js.map +1 -1
  102. package/usage-report/codegen-delivery-alert-util.d.ts +37 -1
  103. package/usage-report/codegen-delivery-alert-util.js +157 -28
  104. package/usage-report/codegen-delivery-alert-util.js.map +1 -1
  105. package/usage-report/codegen-delivery-alert.js +17 -3
  106. package/usage-report/codegen-delivery-alert.js.map +1 -1
@@ -5,6 +5,29 @@ export function sanitizeForDiscord(value) {
5
5
  export const DEFAULT_WINDOW_SECONDS = 120;
6
6
  export const DEFAULT_UNDELIVERED_SHARE = 0.33;
7
7
  export const DEFAULT_MIN_TURNS = 100;
8
+ export const PRESENCE_MATCH_MS = 60_000;
9
+ export const DUPLICATE_SIGHTING_MS = 10_000;
10
+ export function collapseMultiTabSightings(presence, dupMs = DUPLICATE_SIGHTING_MS) {
11
+ const groups = new Map();
12
+ for (const p of presence) {
13
+ const k = JSON.stringify([p.distinctId, p.ownerHandle, p.appSlug]);
14
+ groups.set(k, [...(groups.get(k) ?? []), p]);
15
+ }
16
+ const out = [];
17
+ for (const rows of groups.values()) {
18
+ let last;
19
+ for (const row of [...rows].sort((a, b) => a.ts - b.ts)) {
20
+ if (last !== undefined && row.ts - last.ts <= dupMs) {
21
+ last = { ...last, visible: last.visible || row.visible };
22
+ out[out.length - 1] = last;
23
+ continue;
24
+ }
25
+ last = row;
26
+ out.push(row);
27
+ }
28
+ }
29
+ return out;
30
+ }
8
31
  export const TOP_N = 8;
9
32
  const COLOR_TRIPPED = 15548997;
10
33
  const COLOR_QUIET = 3447003;
@@ -85,6 +108,31 @@ export function matchDeliveries(turns, deliveries, windowMs) {
85
108
  }
86
109
  return turns.filter((t) => unmatched.has(t));
87
110
  }
111
+ function isPreviewSighting(p) {
112
+ return p.reach === "entry" || p.reach === "companion-only" || p.reach === "unknown" || p.reach === "";
113
+ }
114
+ export function matchPresence(turns, presence, matchMs = PRESENCE_MATCH_MS) {
115
+ const key = (distinctId, ownerHandle, appSlug) => JSON.stringify([distinctId, ownerHandle, appSlug]);
116
+ const pool = new Map();
117
+ for (const p of presence.filter(isPreviewSighting)) {
118
+ const k = key(p.distinctId, p.ownerHandle, p.appSlug);
119
+ const list = pool.get(k) ?? [];
120
+ list.push({ row: p, claimed: false });
121
+ pool.set(k, list);
122
+ }
123
+ const matched = new Map();
124
+ for (const turn of [...turns].sort((a, b) => a.ts - b.ts)) {
125
+ const candidates = (pool.get(key(turn.distinctId, turn.ownerHandle, turn.appSlug)) ?? [])
126
+ .filter((c) => c.claimed === false && Math.abs(c.row.ts - turn.ts) <= matchMs)
127
+ .sort((a, b) => Math.abs(a.row.ts - turn.ts) - Math.abs(b.row.ts - turn.ts));
128
+ const nearest = candidates[0];
129
+ if (nearest === undefined)
130
+ continue;
131
+ nearest.claimed = true;
132
+ matched.set(turn, nearest.row);
133
+ }
134
+ return matched;
135
+ }
88
136
  export function partitionByWindowClose(turns, windowMs, nowMs) {
89
137
  const settled = [];
90
138
  const pending = [];
@@ -92,7 +140,8 @@ export function partitionByWindowClose(turns, windowMs, nowMs) {
92
140
  (t.ts + windowMs <= nowMs ? settled : pending).push(t);
93
141
  return { settled, pending };
94
142
  }
95
- export function summarizeCodegenDelivery(settled, deliveries, thresholds, nowMs = Date.now()) {
143
+ export function summarizeCodegenDelivery(input) {
144
+ const { settled, deliveries, presence, thresholds, nowMs } = input;
96
145
  const windowMs = thresholds.windowSeconds * 1000;
97
146
  const builds = foldInstantFirstBuilds(settled).filter(isBuildTurn);
98
147
  const unlabeledTurns = settled.filter(isUnlabeledTurn).length;
@@ -101,24 +150,46 @@ export function summarizeCodegenDelivery(settled, deliveries, thresholds, nowMs
101
150
  const previewChanging = parts.settled;
102
151
  const undelivered = matchDeliveries(previewChanging, deliveries, windowMs);
103
152
  const undeliveredSet = new Set(undelivered);
153
+ const presenceReporting = presence.length > 0;
154
+ const sightingsPool = collapseMultiTabSightings(presence.filter(isPreviewSighting));
155
+ const presenceSince = sightingsPool.reduce((min, p) => (min === undefined || p.ts < min ? p.ts : min), undefined);
156
+ const inSplit = (t) => presenceSince !== undefined && t.ts >= presenceSince - PRESENCE_MATCH_MS;
157
+ const splitTurns = previewChanging.filter(inSplit);
158
+ const sightings = presenceReporting ? matchPresence(splitTurns, sightingsPool) : new Map();
159
+ const isWatchedUnconfirmed = (t) => undeliveredSet.has(t) && sightings.has(t);
160
+ const isLeft = (t) => presenceReporting && inSplit(t) && undeliveredSet.has(t) && sightings.has(t) === false;
161
+ const isPreSignal = (t) => presenceReporting && !inSplit(t) && undeliveredSet.has(t);
162
+ const watchedUnconfirmed = previewChanging.filter(isWatchedUnconfirmed);
163
+ const leftTurns = previewChanging.filter(isLeft);
164
+ const confirmed = previewChanging.length - undelivered.length;
165
+ const watchedTurns = splitTurns.filter((t) => !undeliveredSet.has(t)).length + watchedUnconfirmed.length;
104
166
  const entryTurns = previewChanging.filter((t) => t.entryTouched);
105
167
  const companionOnly = previewChanging.filter((t) => !t.entryTouched);
106
168
  const firstBuilds = previewChanging.filter((t) => t.firstBuild);
107
169
  const perApp = new Map();
108
170
  for (const turn of previewChanging) {
109
171
  const key = `${turn.ownerHandle}/${turn.appSlug}`;
110
- const prior = perApp.get(key) ?? { ownerHandle: turn.ownerHandle, appSlug: turn.appSlug, undelivered: 0, turns: 0 };
172
+ const prior = perApp.get(key) ?? {
173
+ ownerHandle: turn.ownerHandle,
174
+ appSlug: turn.appSlug,
175
+ undelivered: 0,
176
+ watchedUnconfirmed: 0,
177
+ turns: 0,
178
+ };
111
179
  perApp.set(key, {
112
180
  ...prior,
113
181
  turns: prior.turns + 1,
114
182
  undelivered: prior.undelivered + (undeliveredSet.has(turn) ? 1 : 0),
183
+ watchedUnconfirmed: prior.watchedUnconfirmed + (isWatchedUnconfirmed(turn) ? 1 : 0),
115
184
  });
116
185
  }
117
- const worstApps = [...perApp.values()].filter((a) => a.undelivered > 0).sort((a, b) => b.undelivered - a.undelivered);
186
+ const appGap = (a) => (presenceReporting ? a.watchedUnconfirmed : a.undelivered);
187
+ const worstApps = [...perApp.values()].filter((a) => appGap(a) > 0).sort((a, b) => appGap(b) - appGap(a));
118
188
  const share = previewChanging.length === 0 ? 0 : undelivered.length / previewChanging.length;
189
+ const watchedShare = watchedTurns === 0 ? 0 : watchedUnconfirmed.length / watchedTurns;
119
190
  const tripped = [];
120
- if (previewChanging.length >= thresholds.minTurns && share >= thresholds.undeliveredShare) {
121
- tripped.push(`${Math.round(share * 100)}% of preview-changing turns (${undelivered.length} of ${previewChanging.length}) never acknowledged reaching the screen within ${thresholds.windowSeconds}s.`);
191
+ if (presenceReporting && watchedTurns >= thresholds.minTurns && watchedShare >= thresholds.undeliveredShare) {
192
+ tripped.push(`${Math.round(watchedShare * 100)}% of the builds someone was watching (${watchedUnconfirmed.length} of ${watchedTurns}) did not confirm reaching their screen within ${thresholds.windowSeconds}s.`);
122
193
  }
123
194
  return {
124
195
  settledTurns: builds.length,
@@ -130,15 +201,31 @@ export function summarizeCodegenDelivery(settled, deliveries, thresholds, nowMs
130
201
  pendingTurns: parts.pending.length,
131
202
  undelivered: undelivered.length,
132
203
  undeliveredShare: share,
204
+ confirmed,
205
+ presenceEvents: presence.length,
206
+ presenceReporting,
207
+ watchedTurns,
208
+ watchedUnconfirmed: watchedUnconfirmed.length,
209
+ watchedUnconfirmedHidden: watchedUnconfirmed.filter((t) => sightings.get(t)?.visible === false).length,
210
+ watchedUnconfirmedShare: watchedShare,
211
+ leftTurns: leftTurns.length,
212
+ preSignalTurns: previewChanging.filter(isPreSignal).length,
133
213
  entryUndelivered: entryTurns.filter((t) => undeliveredSet.has(t)).length,
134
214
  entryTurns: entryTurns.length,
215
+ entryLeft: entryTurns.filter(isLeft).length,
216
+ entryPreSignal: entryTurns.filter(isPreSignal).length,
135
217
  companionOnlyUndelivered: companionOnly.filter((t) => undeliveredSet.has(t)).length,
136
218
  companionOnlyTurns: companionOnly.length,
219
+ companionOnlyLeft: companionOnly.filter(isLeft).length,
220
+ companionOnlyPreSignal: companionOnly.filter(isPreSignal).length,
137
221
  firstBuildUndelivered: firstBuilds.filter((t) => undeliveredSet.has(t)).length,
138
222
  firstBuildTurns: firstBuilds.length,
223
+ firstBuildLeft: firstBuilds.filter(isLeft).length,
224
+ firstBuildPreSignal: firstBuilds.filter(isPreSignal).length,
139
225
  worstApps,
140
226
  tripped,
141
227
  minTurns: thresholds.minTurns,
228
+ windowSeconds: thresholds.windowSeconds,
142
229
  };
143
230
  }
144
231
  export function vibeUrl(ownerHandle, appSlug) {
@@ -147,7 +234,7 @@ export function vibeUrl(ownerHandle, appSlug) {
147
234
  function pct(n, d) {
148
235
  return d === 0 ? "—" : `${Math.round((n / d) * 100)}%`;
149
236
  }
150
- const US_NOTE = `_Both events inherit the #4257 fail-closed US gate, so this covers the US slice only — a non-US-only regression is invisible here._`;
237
+ const US_NOTE = `_Every event here inherits the #4257 fail-closed US gate, so this covers the US slice only — a non-US-only regression is invisible here._`;
151
238
  export function buildCodegenDeliveryEmbed(input) {
152
239
  const s = input.summary;
153
240
  const { sinceHours } = input;
@@ -159,7 +246,7 @@ export function buildCodegenDeliveryEmbed(input) {
159
246
  {
160
247
  title: `Codegen delivery (last ${sinceHours}h)`,
161
248
  description: [
162
- `One or both event reads were truncated at the row cap, so the two streams cover different slices of the window and any gap computed from them would be an artefact of where they were cut.`,
249
+ `One or more event reads were truncated at the row cap, so the streams cover different slices of the window and any gap computed from them would be an artefact of where they were cut.`,
163
250
  ``,
164
251
  `No share is reported for this run, deliberately. Narrow the window (\`--since-hours\`) or raise the cap, then re-run.`,
165
252
  ``,
@@ -208,17 +295,18 @@ export function buildCodegenDeliveryEmbed(input) {
208
295
  ],
209
296
  };
210
297
  }
211
- if (s.deliveries === 0 && s.previewChangingTurns >= s.minTurns) {
298
+ const zeroArmBase = s.presenceReporting ? s.watchedTurns : s.previewChangingTurns;
299
+ if (s.deliveries === 0 && zeroArmBase >= s.minTurns) {
212
300
  return {
213
- content: `🕳️ Codegen delivery: turns settled, nothing acknowledged reaching a screen`,
301
+ content: `🕳️ Codegen delivery: builds finished, no open tab confirmed one on screen`,
214
302
  allowed_mentions: { parse: [] },
215
303
  embeds: [
216
304
  {
217
305
  title: `Codegen delivery (last ${sinceHours}h)`,
218
306
  description: [
219
- `${s.previewChangingTurns} preview-changing turn${s.previewChangingTurns === 1 ? "" : "s"} settled and ZERO \`codegen_preview_updated\` events arrived.`,
307
+ `${s.previewChangingTurns} build${s.previewChangingTurns === 1 ? "" : "s"} changed something the preview shows${s.presenceReporting ? ` (${s.watchedTurns} with a tab open when ${s.watchedTurns === 1 ? "it" : "they"} settled)` : ""}, and ZERO \`codegen_preview_updated\` events arrived.`,
220
308
  ``,
221
- `Either no preview updated for anyone, or the client half stopped emitting. Check a live build by hand before believing the first reading.`,
309
+ `Either no open tab's preview updated, or the client half stopped emitting. Check a live build by hand before believing the first reading.`,
222
310
  ``,
223
311
  US_NOTE,
224
312
  ].join("\n"),
@@ -227,39 +315,80 @@ export function buildCodegenDeliveryEmbed(input) {
227
315
  ],
228
316
  };
229
317
  }
230
- const denominator = [
231
- `${s.previewChangingTurns} of ${s.settledTurns} settled turn${s.settledTurns === 1 ? "" : "s"} changed something the preview mounts; ${s.deliveries} delivery acknowledgement${s.deliveries === 1 ? "" : "s"} arrived.`,
232
- `Unacknowledged: **${s.undelivered}** (${pct(s.undelivered, s.previewChangingTurns)}).`,
318
+ const plural = (n, one, many) => (n === 1 ? one : many);
319
+ const measured = [
320
+ `**${s.previewChangingTurns}** build${plural(s.previewChangingTurns, "", "s")} finished and changed something the preview shows (of ${s.settledTurns} settled build turn${plural(s.settledTurns, "", "s")}).`,
321
+ `Confirmed on screen by an open tab within ${s.windowSeconds}s: **${s.confirmed}** (${pct(s.confirmed, s.previewChangingTurns)}).`,
322
+ ...(s.presenceReporting
323
+ ? [
324
+ `Tab open, not confirmed: **${s.watchedUnconfirmed}** of ${s.watchedTurns} build${plural(s.watchedTurns, "", "s")} someone was watching (${pct(s.watchedUnconfirmed, s.watchedTurns)})${s.watchedUnconfirmedHidden === 0 ? "" : ` — ${s.watchedUnconfirmedHidden} of them in a background tab`}.`,
325
+ `Left before it finished: **${s.leftTurns}** — no tab was open on the app when ${plural(s.leftTurns, "it", "they")} settled, so there was no screen to reach yet. Reported, never alarmed.`,
326
+ ...(s.preSignalTurns === 0
327
+ ? []
328
+ : [
329
+ `Not confirmed, settled before the presence signal started reporting: **${s.preSignalTurns}** — counted in the totals only, neither watched nor left.`,
330
+ ]),
331
+ ]
332
+ : [
333
+ `Not confirmed: **${s.undelivered}**. This includes everyone who closed the tab or moved on before their build finished: the confirmation can only come from a tab that is still open, so this is not a count of broken deliveries.`,
334
+ ]),
233
335
  ...(s.pendingTurns === 0
234
336
  ? []
235
337
  : [
236
- `${s.pendingTurns} more settled too recently to judge — their delivery window is still open, so they are excluded rather than counted as failures.`,
338
+ `${s.pendingTurns} more settled too recently to judge — their ${s.windowSeconds}s window is still open, so they wait for the next run.`,
237
339
  ]),
238
340
  ...(s.unlabeledTurns === 0
239
341
  ? []
240
342
  : [
241
- `${s.unlabeledTurns} row${s.unlabeledTurns === 1 ? "" : "s"} carried no \`turn_lane\` and ${s.unlabeledTurns === 1 ? "is" : "are"} excluded: written before #5313 shipped, while the agent lane was already live, so whether ${s.unlabeledTurns === 1 ? "it was" : "they were"} a build or an agent conversation cannot be recovered.`,
343
+ `${s.unlabeledTurns} row${plural(s.unlabeledTurns, "", "s")} carried no \`turn_lane\` and ${plural(s.unlabeledTurns, "is", "are")} excluded: written before #5313 shipped, while the agent lane was already live, so whether ${plural(s.unlabeledTurns, "it was", "they were")} a build or an agent conversation cannot be recovered.`,
242
344
  ]),
243
345
  ...(s.instantBuildTurns === 0
244
346
  ? []
245
347
  : [
246
- `${s.instantBuildTurns} instant-build turn${s.instantBuildTurns === 1 ? "" : "s"} excluded: an instant build paints outside this acknowledgement seam, so its finishing edit is counted as the message's first build instead.`,
348
+ `${s.instantBuildTurns} instant-build turn${plural(s.instantBuildTurns, "", "s")} excluded: an instant build paints outside this acknowledgement seam, so its finishing edit is counted as the message's first build instead.`,
247
349
  ]),
350
+ `Alarm sample floor: ${s.minTurns} watched builds.`,
248
351
  ].join("\n");
352
+ const segment = (label, turns, undelivered, left, preSignal) => s.presenceReporting
353
+ ? ` ${label} — ${turns - undelivered} confirmed, ${undelivered - left - preSignal} tab open not confirmed, ${left} left before it finished${preSignal === 0 ? "" : `, ${preSignal} before the presence signal`} (of ${turns})`
354
+ : ` ${label} — ${turns - undelivered} of ${turns} confirmed on screen (${pct(turns - undelivered, turns)})`;
249
355
  const split = [
250
- ` entry-file turns — ${s.entryUndelivered} of ${s.entryTurns} unacknowledged (${pct(s.entryUndelivered, s.entryTurns)})`,
251
- ` companion-only turns — ${s.companionOnlyUndelivered} of ${s.companionOnlyTurns} unacknowledged (${pct(s.companionOnlyUndelivered, s.companionOnlyTurns)})`,
252
- ` first builds — ${s.firstBuildUndelivered} of ${s.firstBuildTurns} unacknowledged (${pct(s.firstBuildUndelivered, s.firstBuildTurns)})`,
356
+ segment("entry-file builds", s.entryTurns, s.entryUndelivered, s.entryLeft, s.entryPreSignal),
357
+ segment("companion-only builds", s.companionOnlyTurns, s.companionOnlyUndelivered, s.companionOnlyLeft, s.companionOnlyPreSignal),
358
+ segment("first builds", s.firstBuildTurns, s.firstBuildUndelivered, s.firstBuildLeft, s.firstBuildPreSignal),
253
359
  ].join("\n");
254
360
  const apps = s.worstApps
255
361
  .slice(0, TOP_N)
256
- .map((a) => ` ${vibeUrl(a.ownerHandle, a.appSlug)} — ${a.undelivered} of ${a.turns}`)
362
+ .map((a) => ` ${vibeUrl(a.ownerHandle, a.appSlug)} — ${s.presenceReporting ? a.watchedUnconfirmed : a.undelivered} of ${a.turns}`)
257
363
  .join("\n");
258
- const lead = s.tripped.length > 0 ? s.tripped.map((t) => `⚠️ ${t}`).join("\n") : `Nothing tripped a threshold.`;
364
+ const appsHeading = s.presenceReporting
365
+ ? `**Apps where a watched build was not confirmed**`
366
+ : `**Apps with the most unconfirmed builds** (includes people who left)`;
367
+ const tripped = s.tripped.length > 0;
368
+ const lead = (() => {
369
+ switch (true) {
370
+ case tripped:
371
+ return s.tripped.map((t) => `⚠️ ${t}`).join("\n");
372
+ case s.presenceReporting === false:
373
+ return `A report, not an alarm: the presence signal (\`codegen_turn_settle_observed\`) is not reporting yet, so a build nobody was watching cannot be told apart from one that did not paint.`;
374
+ case s.watchedTurns < s.minTurns:
375
+ return `${s.watchedTurns} watched build${plural(s.watchedTurns, "", "s")} is below the ${s.minTurns}-build sample floor, so this is a report, not an alarm.`;
376
+ default:
377
+ return `Builds people were watching reached their screen inside the alarm threshold.`;
378
+ }
379
+ })();
380
+ const content = (() => {
381
+ switch (true) {
382
+ case tripped:
383
+ return `⚠️ Codegen delivery: builds people were watching did not confirm reaching their screen`;
384
+ case s.presenceReporting:
385
+ return `${s.watchedTurns >= s.minTurns ? "✅" : "📋"} Codegen delivery (last ${sinceHours}h): ${s.watchedTurns - s.watchedUnconfirmed} of ${s.watchedTurns} watched build${plural(s.watchedTurns, "", "s")} confirmed on screen`;
386
+ default:
387
+ return `📋 Codegen delivery (last ${sinceHours}h): ${s.confirmed} of ${s.previewChangingTurns} finished build${plural(s.previewChangingTurns, "", "s")} confirmed on screen by an open tab`;
388
+ }
389
+ })();
259
390
  return {
260
- content: s.tripped.length > 0
261
- ? `⚠️ Codegen delivery: turns are settling without reaching the screen`
262
- : `✅ Codegen delivery looks normal (last ${sinceHours}h)`,
391
+ content,
263
392
  allowed_mentions: { parse: [] },
264
393
  embeds: [
265
394
  {
@@ -267,15 +396,15 @@ export function buildCodegenDeliveryEmbed(input) {
267
396
  description: [
268
397
  lead,
269
398
  ``,
270
- denominator,
399
+ measured,
271
400
  ``,
272
401
  `**By reach** (the #5249 discriminant)`,
273
402
  split,
274
- ...(apps === "" ? [] : [``, `**Apps with the most unacknowledged turns**`, apps]),
403
+ ...(apps === "" ? [] : [``, appsHeading, apps]),
275
404
  ``,
276
405
  US_NOTE,
277
406
  ].join("\n"),
278
- color: s.tripped.length > 0 ? COLOR_TRIPPED : COLOR_QUIET,
407
+ color: tripped ? COLOR_TRIPPED : COLOR_QUIET,
279
408
  },
280
409
  ],
281
410
  };
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-delivery-alert-util.js","sourceRoot":"","sources":["../../jsr/usage-report/codegen-delivery-alert-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen-delivery-alert-util.js","sourceRoot":"","sources":["../../jsr/usage-report/codegen-delivery-alert-util.ts"],"names":[],"mappings":"AA0DA,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AAcD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAe1C,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAgB9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAgBrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAcxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAQ5C,MAAM,UAAU,yBAAyB,CAAC,QAAgC,EAAE,KAAK,GAAW,qBAAqB;IAC/G,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACnC,IAAI,IAA6B,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACxD,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;gBACpD,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACzD,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;gBAC3B,SAAS;YACX,CAAC;YACD,IAAI,GAAG,GAAG,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAGD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AAEvB,MAAM,aAAa,GAAG,QAAQ,CAAC;AAC/B,MAAM,WAAW,GAAG,OAAO,CAAC;AAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC;AAY5B,MAAM,CAAC,MAAM,+BAA+B,GAAsB;IAChE,iBAAiB;IACjB,oBAAoB;IACpB,cAAc;IACd,qBAAqB;IACrB,8BAA8B;IAC9B,kCAAkC;IAClC,uCAAuC;CACxC,CAAC;AAgBF,SAAS,GAAG,CAAC,GAAuB,EAAE,QAAgB;IACpD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAiB;IACjD,OAAO;QACL,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,4BAA4B,EAAE,yBAAyB,CAAC;QAClF,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,gCAAgC,EAAE,iBAAiB,CAAC;QACtE,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,qCAAqC,EAAE,sBAAsB,CAAC;KACtF,CAAC;AACJ,CAAC;AA+KD,MAAM,UAAU,eAAe,CAAC,GAAmB;IACjD,OAAO,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC;AAC3D,CAAC;AAiCD,MAAM,UAAU,WAAW,CAAC,GAAmB;IAC7C,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;AACzG,CAAC;AA4BD,MAAM,UAAU,kBAAkB,CAAC,GAAmB;IAEpD,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC;AAClC,CAAC;AAcD,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,GAAG,MAAM,CAAC;AAEvD,MAAM,UAAU,sBAAsB,CAAC,IAA+B;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAClH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI;aACnB,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,KAAK,aAAa;YAC5B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK;YACzB,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;YACnC,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW;YACrC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;YAC7B,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE;YAClB,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,2BAA2B,CACnD;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,SAAS,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAGD,MAAM,UAAU,iBAAiB,CAAC,GAAmB;IACnD,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACjF,CAAC;AA0BD,MAAM,UAAU,eAAe,CAC7B,KAAgC,EAChC,UAAkC,EAClC,QAAgB;IAEhB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8C,CAAC;IACvE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAMvE,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC;QAC1F,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;YACtC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAGD,SAAS,iBAAiB,CAAC,CAAc;IACvC,OAAO,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,gBAAgB,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;AACxG,CAAC;AAyBD,MAAM,UAAU,aAAa,CAC3B,KAAgC,EAChC,QAAgC,EAChC,OAAO,GAAW,iBAAiB;IAEnC,MAAM,GAAG,GAAG,CAAC,UAAkB,EAAE,WAAmB,EAAE,OAAe,EAAU,EAAE,CAC/E,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAA6D,CAAC;IAClF,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;aACtF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC;aAC7E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAYD,MAAM,UAAU,sBAAsB,CACpC,KAAgC,EAChC,QAAgB,EAChB,KAAa;IAEb,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAYD,MAAM,UAAU,wBAAwB,CAAC,KAAqB;IAC5D,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACnE,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;IAQjD,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;IAC9D,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;IACpE,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxF,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC;IACtC,MAAM,WAAW,GAAG,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAK5C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAQ9C,MAAM,aAAa,GAAG,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpF,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAC1D,SAAS,CACV,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,CAAiB,EAAW,EAAE,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,IAAI,aAAa,GAAG,iBAAiB,CAAC;IACzH,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAA+B,CAAC;IACxH,MAAM,oBAAoB,GAAG,CAAC,CAAiB,EAAW,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,MAAM,GAAG,CAAC,CAAiB,EAAW,EAAE,CAC5C,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;IACzF,MAAM,WAAW,GAAG,CAAC,CAAiB,EAAW,EAAE,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9G,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAEzG,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,CAAC;YACd,kBAAkB,EAAE,CAAC;YACrB,KAAK,EAAE,CAAC;SACT,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;YACd,GAAG,KAAK;YACR,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;YACtB,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACpF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,CAAY,EAAU,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACpG,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1G,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAC7F,MAAM,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,GAAG,YAAY,CAAC;IACvF,MAAM,OAAO,GAAa,EAAE,CAAC;IAM7B,IAAI,iBAAiB,IAAI,YAAY,IAAI,UAAU,CAAC,QAAQ,IAAI,YAAY,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAC5G,OAAO,CAAC,IAAI,CACV,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,yCAAyC,kBAAkB,CAAC,MAAM,OAAO,YAAY,kDAAkD,UAAU,CAAC,aAAa,IAAI,CACrM,CAAC;IACJ,CAAC;IACD,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,MAAM;QAC3B,SAAS,EAAE,OAAO,CAAC,MAAM;QACzB,cAAc;QACd,iBAAiB;QACjB,UAAU,EAAE,UAAU,CAAC,MAAM;QAC7B,oBAAoB,EAAE,eAAe,CAAC,MAAM;QAC5C,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;QAClC,WAAW,EAAE,WAAW,CAAC,MAAM;QAC/B,gBAAgB,EAAE,KAAK;QACvB,SAAS;QACT,cAAc,EAAE,QAAQ,CAAC,MAAM;QAC/B,iBAAiB;QACjB,YAAY;QACZ,kBAAkB,EAAE,kBAAkB,CAAC,MAAM;QAC7C,wBAAwB,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC,MAAM;QACtG,uBAAuB,EAAE,YAAY;QACrC,SAAS,EAAE,SAAS,CAAC,MAAM;QAC3B,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM;QAC1D,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QACxE,UAAU,EAAE,UAAU,CAAC,MAAM;QAC7B,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM;QAC3C,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM;QACrD,wBAAwB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QACnF,kBAAkB,EAAE,aAAa,CAAC,MAAM;QACxC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM;QACtD,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM;QAChE,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QAC9E,eAAe,EAAE,WAAW,CAAC,MAAM;QACnC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM;QACjD,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM;QAC3D,SAAS;QACT,OAAO;QACP,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,aAAa,EAAE,UAAU,CAAC,aAAa;KACxC,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,OAAO,CAAC,WAAmB,EAAE,OAAe;IAC1D,OAAO,0BAA0B,WAAW,IAAI,OAAO,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS;IAC/B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AACzD,CAAC;AAGD,MAAM,OAAO,GAAG,2IAA2I,CAAC;AAE5J,MAAM,UAAU,yBAAyB,CAAC,KAWzC;IACC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;IACxB,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAE7B,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;YACL,OAAO,EAAE,qEAAqE;YAC9E,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/B,MAAM,EAAE;gBACN;oBACE,KAAK,EAAE,0BAA0B,UAAU,IAAI;oBAC/C,WAAW,EAAE;wBACX,wLAAwL;wBACxL,EAAE;wBACF,uHAAuH;wBACvH,EAAE;wBACF,OAAO;qBACR,CAAC,IAAI,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,UAAU;iBAClB;aACF;SACF,CAAC;IACJ,CAAC;IAYD,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,sDAAsD,UAAU,GAAG;YAC5E,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/B,MAAM,EAAE;gBACN;oBACE,KAAK,EAAE,0BAA0B,UAAU,IAAI;oBAC/C,WAAW,EAAE;wBACX,0DAA0D;wBAC1D,EAAE;wBACF,6SAA6S;wBAC7S,EAAE;wBACF,OAAO;qBACR,CAAC,IAAI,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,UAAU;iBAClB;aACF;SACF,CAAC;IACJ,CAAC;IAMD,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,oDAAoD,UAAU,GAAG;YAC1E,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/B,MAAM,EAAE;gBACN;oBACE,KAAK,EAAE,0BAA0B,UAAU,IAAI;oBAC/C,WAAW,EAAE;wBACX,GAAG,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,6DAA6D,CAAC,CAAC,cAAc,8BAA8B,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,0BAA0B,iJAAiJ;wBACnb,EAAE;wBACF,wPAAwP;wBACxP,EAAE;wBACF,OAAO;qBACR,CAAC,IAAI,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,UAAU;iBAClB;aACF;SACF,CAAC;IACJ,CAAC;IAaD,MAAM,WAAW,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAClF,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,WAAW,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpD,OAAO;YACL,OAAO,EAAE,4EAA4E;YACrF,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/B,MAAM,EAAE;gBACN;oBACE,KAAK,EAAE,0BAA0B,UAAU,IAAI;oBAC/C,WAAW,EAAE;wBACX,GAAG,CAAC,CAAC,oBAAoB,SAAS,CAAC,CAAC,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,uCAAuC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,yBAAyB,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,EAAE,wDAAwD;wBAC9R,EAAE;wBACF,2IAA2I;wBAC3I,EAAE;wBACF,OAAO;qBACR,CAAC,IAAI,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,UAAU;iBAClB;aACF;SACF,CAAC;IACJ,CAAC;IAMD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,IAAY,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG;QACf,KAAK,CAAC,CAAC,oBAAoB,WAAW,MAAM,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,EAAE,GAAG,CAAC,yDAAyD,CAAC,CAAC,YAAY,sBAAsB,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI;QAC7M,6CAA6C,CAAC,CAAC,aAAa,QAAQ,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI;QAClI,GAAG,CAAC,CAAC,CAAC,iBAAiB;YACrB,CAAC,CAAC;gBACE,8BAA8B,CAAC,CAAC,kBAAkB,SAAS,CAAC,CAAC,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,0BAA0B,GAAG,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,wBAAwB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,wBAAwB,8BAA8B,GAAG;gBACjS,8BAA8B,CAAC,CAAC,SAAS,wCAAwC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,yEAAyE;gBAC3L,GAAG,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC;oBACxB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC;wBACE,0EAA0E,CAAC,CAAC,cAAc,4DAA4D;qBACvJ,CAAC;aACP;YACH,CAAC,CAAC;gBACE,oBAAoB,CAAC,CAAC,WAAW,mMAAmM;aACrO,CAAC;QACN,GAAG,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC;YACtB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,GAAG,CAAC,CAAC,YAAY,+CAA+C,CAAC,CAAC,aAAa,wDAAwD;aACxI,CAAC;QAIN,GAAG,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,GAAG,CAAC,CAAC,cAAc,OAAO,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,GAAG,CAAC,iCAAiC,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC,8FAA8F,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,CAAC,wDAAwD;aACvU,CAAC;QAGN,GAAG,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC;YAC3B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,GAAG,CAAC,CAAC,iBAAiB,sBAAsB,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,8IAA8I;aAC/N,CAAC;QAGN,uBAAuB,CAAC,CAAC,QAAQ,kBAAkB;KACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,WAAmB,EAAE,IAAY,EAAE,SAAiB,EAAU,EAAE,CAC7G,CAAC,CAAC,iBAAiB;QACjB,CAAC,CAAC,KAAK,KAAK,MAAM,KAAK,GAAG,WAAW,eAAe,WAAW,GAAG,IAAI,GAAG,SAAS,4BAA4B,IAAI,2BAA2B,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,6BAA6B,QAAQ,KAAK,GAAG;QAC/N,CAAC,CAAC,KAAK,KAAK,MAAM,KAAK,GAAG,WAAW,OAAO,KAAK,yBAAyB,GAAG,CAAC,KAAK,GAAG,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC;IACjH,MAAM,KAAK,GAAG;QACZ,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC;QAC7F,OAAO,CACL,uBAAuB,EACvB,CAAC,CAAC,kBAAkB,EACpB,CAAC,CAAC,wBAAwB,EAC1B,CAAC,CAAC,iBAAiB,EACnB,CAAC,CAAC,sBAAsB,CACzB;QACD,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,mBAAmB,CAAC;KAC7G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS;SACrB,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,CAAC,KAAK,EAAE,CAC9H;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,WAAW,GAAG,CAAC,CAAC,iBAAiB;QACrC,CAAC,CAAC,kDAAkD;QACpD,CAAC,CAAC,sEAAsE,CAAC;IAE3E,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE;QACzB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,KAAK,CAAC,CAAC,iBAAiB,KAAK,KAAK;gBAChC,OAAO,uLAAuL,CAAC;YACjM,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,QAAQ;gBAC9B,OAAO,GAAG,CAAC,CAAC,YAAY,iBAAiB,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,QAAQ,yDAAyD,CAAC;YAC/J;gBACE,OAAO,8EAA8E,CAAC;QAC1F,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE;QAC5B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,OAAO,wFAAwF,CAAC;YAClG,KAAK,CAAC,CAAC,iBAAiB;gBAEtB,OAAO,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,2BAA2B,UAAU,OAAO,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,kBAAkB,OAAO,CAAC,CAAC,YAAY,iBAAiB,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,sBAAsB,CAAC;YAClO;gBACE,OAAO,6BAA6B,UAAU,OAAO,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,oBAAoB,kBAAkB,MAAM,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,EAAE,GAAG,CAAC,qCAAqC,CAAC;QAChM,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,OAAO;QACP,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAC/B,MAAM,EAAE;YACN;gBACE,KAAK,EAAE,0BAA0B,UAAU,IAAI;gBAC/C,WAAW,EAAE;oBACX,IAAI;oBACJ,EAAE;oBACF,QAAQ;oBACR,EAAE;oBACF,uCAAuC;oBACvC,KAAK;oBACL,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;oBAC/C,EAAE;oBACF,OAAO;iBACR,CAAC,IAAI,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW;aAC7C;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -70,6 +70,12 @@ export async function run() {
70
70
  order by timestamp desc limit ${ROW_CAP}`);
71
71
  if (deliveredRes.isErr())
72
72
  return Result.Err(deliveredRes);
73
+ const presenceRes = await hogql(host, projectId, apiKey, `select timestamp, distinct_id, properties.visible, properties.reach, properties.owner_handle, properties.app_slug
74
+ from events
75
+ where event = 'codegen_turn_settle_observed' and timestamp >= now() - interval ${sinceHours} hour
76
+ order by timestamp desc limit ${ROW_CAP}`);
77
+ if (presenceRes.isErr())
78
+ return Result.Err(presenceRes);
73
79
  const settled = (settledRes.Ok().results ?? []).map((r) => ({
74
80
  ts: asMillis(r[0]),
75
81
  distinctId: asString(r[1]),
@@ -87,10 +93,18 @@ export async function run() {
87
93
  distinctId: asString(r[1]),
88
94
  via: asString(r[2]),
89
95
  }));
90
- const capped = settled.length === ROW_CAP || deliveries.length === ROW_CAP;
91
- const summary = summarizeCodegenDelivery(settled, deliveries, thresholds);
96
+ const presence = (presenceRes.Ok().results ?? []).map((r) => ({
97
+ ts: asMillis(r[0]),
98
+ distinctId: asString(r[1]),
99
+ visible: asBool(r[2]),
100
+ reach: asString(r[3]),
101
+ ownerHandle: asString(r[4]),
102
+ appSlug: asString(r[5]),
103
+ }));
104
+ const capped = settled.length === ROW_CAP || deliveries.length === ROW_CAP || presence.length === ROW_CAP;
105
+ const summary = summarizeCodegenDelivery({ settled, deliveries, presence, thresholds, nowMs: Date.now() });
92
106
  const body = buildCodegenDeliveryEmbed({ summary, sinceHours, capped });
93
- console.log(`[codegen-delivery-alert] window=${sinceHours}h settled=${summary.settledTurns} previewChanging=${summary.previewChangingTurns} pending=${summary.pendingTurns} deliveries=${summary.deliveries} undelivered=${summary.undelivered} signals=${summary.tripped.length} capped=${capped} posted=${!dryRun}`);
107
+ console.log(`[codegen-delivery-alert] window=${sinceHours}h settled=${summary.settledTurns} previewChanging=${summary.previewChangingTurns} pending=${summary.pendingTurns} deliveries=${summary.deliveries} undelivered=${summary.undelivered} presence=${summary.presenceEvents} watched=${summary.watchedTurns} watchedUnconfirmed=${summary.watchedUnconfirmed} left=${summary.leftTurns} minTurns=${summary.minTurns} signals=${summary.tripped.length} capped=${capped} posted=${!dryRun}`);
94
108
  if (capped) {
95
109
  console.log(`[codegen-delivery-alert] read hit its ${ROW_CAP}-row cap — no share reported this run; narrow the window or raise the cap.`);
96
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-delivery-alert.js","sourceRoot":"","sources":["../../jsr/usage-report/codegen-delivery-alert.ts"],"names":[],"mappings":"AAyCA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,wBAAwB,GAGzB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAStD,MAAM,OAAO,GAAG,MAAM,CAAC;AAOvB,KAAK,UAAU,KAAK,CAAC,IAAY,EAAE,SAAiB,EAAE,MAAc,EAAE,KAAa;IACjF,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CACtC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,SAAS,SAAS,EAAE;QACpE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAClF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC;KAC/D,CAAC,CACH,CAAC;IACF,IAAI,GAAG,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC;IAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAGjB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAA4B,CAAC,CAAC;IACvF,IAAI,MAAM,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,MAAM,CAAC,CAAU;IAIxB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC;AAC/C,CAAC;AAKD,SAAS,QAAQ,CAAC,CAAU;IAC1B,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG;IACvB,WAAW,EAAE,CAAC;IACd,MAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC,GAAG,CAAC,+FAA+F,CAAC,CAAC;IACrH,CAAC;IAMD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC;IACtF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,iBAAiB,CAAC;QACnC,4BAA4B,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;QACzE,gCAAgC,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;QACjF,qCAAqC,EAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC;KAC5F,CAAC,CAAC;IAMH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QACzF,OAAO,MAAM,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAClG,CAAC;IAGD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,EAAE,CAAC;IAElF,MAAM,UAAU,GAAG,MAAM,KAAK,CAC5B,IAAI,EACJ,SAAS,EACT,MAAM,EACN;;;;+EAI2E,UAAU;sCACnD,OAAO,EAAE,CAC5C,CAAC;IACF,IAAI,UAAU,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,MAAM,KAAK,CAC9B,IAAI,EACJ,SAAS,EACT,MAAM,EACN;;kFAE8E,UAAU;sCACtD,OAAO,EAAE,CAC5C,CAAC;IACF,IAAI,YAAY,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAqB,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5E,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAK5B,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB,CAAC,CAAC,CAAC;IACJ,MAAM,UAAU,GAAkB,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9E,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACpB,CAAC,CAAC,CAAC;IAMJ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC;IAC3E,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,yBAAyB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IASxE,OAAO,CAAC,GAAG,CACT,mCAAmC,UAAU,aAAa,OAAO,CAAC,YAAY,oBAAoB,OAAO,CAAC,oBAAoB,YAAY,OAAO,CAAC,YAAY,eAAe,OAAO,CAAC,UAAU,gBAAgB,OAAO,CAAC,WAAW,YAAY,OAAO,CAAC,OAAO,CAAC,MAAM,WAAW,MAAM,WAAW,CAAC,MAAM,EAAE,CAC1S,CAAC;IACF,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CACT,yCAAyC,OAAO,4EAA4E,CAC7H,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QAKX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC;IACrB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CACtC,KAAK,CAAC,UAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7H,CAAC;IACF,IAAI,GAAG,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtG,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC;AACrB,CAAC;AAED,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;IACpB,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"codegen-delivery-alert.js","sourceRoot":"","sources":["../../jsr/usage-report/codegen-delivery-alert.ts"],"names":[],"mappings":"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"}