run402 4.22.0 → 4.23.0

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.
@@ -1,4 +1,5 @@
1
1
  import { LocalError } from "../errors.js";
2
+ import { waitFor } from "../wait.js";
2
3
  const SECRET_FIELD = /(?:private.?key|secret|mnemonic|seed|derivation|nsec|nostr.?key|service.?key|delegate.?token|recovery.?code)/i;
3
4
  function rejectSecrets(value, path = "$", seen = new Set()) {
4
5
  if (!value || typeof value !== "object")
@@ -239,18 +240,274 @@ export class BuzzAgentEnrollments {
239
240
  });
240
241
  }
241
242
  }
243
+ /** A delivery that will never change again. Everything else is still in flight. */
244
+ const TERMINAL_DELIVERY_STATUSES = new Set([
245
+ "delivered",
246
+ "dead_letter",
247
+ "cancelled",
248
+ "suppressed",
249
+ ]);
250
+ function routePath(routeId, context) {
251
+ return `/buzz-project-event-routes/v1/${encodeURIComponent(required(routeId, "routeId", context))}`;
252
+ }
253
+ /**
254
+ * `buzz.notifications` — project-event routing into a Buzz community channel
255
+ * (gateway `add-buzz-project-event-routing`).
256
+ *
257
+ * A route is an owner-declared destination: one active community
258
+ * installation, an explicit 1–50 project scope, reviewed event filters, one
259
+ * NIP-29 channel. Run402's project-event feed stays authoritative — Buzz
260
+ * relay state never creates, acknowledges, or advances a Run402 event, and
261
+ * Buzz is NEVER a deadman channel: mandatory notification classes keep their
262
+ * human paths regardless of route state.
263
+ *
264
+ * The workflow is **configure → authorize → test → live**:
265
+ *
266
+ * ```ts
267
+ * const created = await r.buzz.notifications.createRoute(orgId, {
268
+ * installationId: "buzzci_…",
269
+ * routeName: "deploys",
270
+ * buzzChannelId: "<nip-29 channel id>",
271
+ * projectIds: ["prj_…"],
272
+ * });
273
+ * if (created.authorization.status === "pending_buzz_authorization") {
274
+ * // The ONE non-secret handoff: a Buzz community owner adds
275
+ * // created.authorization.notification_pubkey as a relay member
276
+ * // (created.authorization.instructions says exactly how), then:
277
+ * const delivery = await r.buzz.notifications.testAndWait(
278
+ * created.buzz_project_event_route_id,
279
+ * );
280
+ * // delivered ⇒ live. Still queued ⇒ the tick publishes ~every 60s —
281
+ * // silence here is cadence, not failure; keep polling deliveries.
282
+ * }
283
+ * ```
284
+ *
285
+ * Load-bearing semantics:
286
+ * - Only three reviewed event types are routable (`deploy_activated`,
287
+ * `error_fingerprints_observed`, `platform_incident`); the classes
288
+ * `security` / `billing_critical` / `destructive_lifecycle` /
289
+ * `verification` / `recovery` may never be routed.
290
+ * - Filters: omitted/`null` = everything registered; an explicit `[]` is a
291
+ * 422, never a wildcard and never a silent match-nothing.
292
+ * - Every mutation carries an `Idempotency-Key` (auto-generated when not
293
+ * given) and requires fresh `buzz.event_route` step-up server-side (a SIWX
294
+ * wallet is inherently fresh).
295
+ * - No response ever contains the signing secret — `notification_pubkey` +
296
+ * `signing_generation` are the only credential material on the wire.
297
+ * - Routes deliver NEW events only (`start_after_event_id` floor); delivery
298
+ * is at-least-once with byte-identical republish, backing off to
299
+ * `dead_letter` after 8 attempts / 48h — visible in `deliveries()`.
300
+ */
301
+ export class BuzzNotifications {
302
+ client;
303
+ constructor(client) {
304
+ this.client = client;
305
+ }
306
+ /**
307
+ * Create a route (`POST /buzz-project-event-routes/v1`, 201). The response
308
+ * carries an `authorization` block: the installation's first route is
309
+ * `pending_buzz_authorization` with the exact non-secret connect handoff a
310
+ * Buzz community owner completes; later routes on an already-authorized
311
+ * installation come back `authorized` and active.
312
+ */
313
+ async createRoute(organizationId, input) {
314
+ const context = "creating Buzz event route";
315
+ rejectSecrets(input);
316
+ if (!Array.isArray(input?.projectIds) || input.projectIds.length === 0) {
317
+ throw new LocalError("projectIds must name at least one project — a route's scope is always explicit", context, {
318
+ details: { field: "projectIds" },
319
+ });
320
+ }
321
+ return this.client.request("/buzz-project-event-routes/v1", {
322
+ method: "POST",
323
+ headers: headers(input.idempotencyKey),
324
+ body: {
325
+ org_id: required(organizationId, "organizationId", context),
326
+ buzz_community_installation_id: required(input.installationId, "installationId", context),
327
+ route_name: required(input.routeName, "routeName", context),
328
+ buzz_channel_id: required(input.buzzChannelId, "buzzChannelId", context),
329
+ project_ids: input.projectIds,
330
+ ...(input.eventTypes !== undefined ? { event_types: input.eventTypes } : {}),
331
+ ...(input.eventClasses !== undefined ? { event_classes: input.eventClasses } : {}),
332
+ },
333
+ context,
334
+ });
335
+ }
336
+ /** List the organization's routes, including retained revoked ones. */
337
+ async list(organizationId) {
338
+ const response = await this.client.request(`/buzz-project-event-routes/v1?org_id=${encodeURIComponent(required(organizationId, "organizationId", "listing Buzz event routes"))}`, { context: "listing Buzz event routes" });
339
+ return response.buzz_project_event_routes ?? [];
340
+ }
341
+ /**
342
+ * Route detail: the route plus honest `health` (derived from route +
343
+ * credential state, never queue emptiness), `delivery_counts`, the oldest
344
+ * pending time, and the shared `consumer_cursor`.
345
+ */
346
+ async get(routeId) {
347
+ const context = "reading Buzz event route";
348
+ return this.client.request(routePath(routeId, context), { context });
349
+ }
350
+ /**
351
+ * Update name / channel / project scope / filters
352
+ * (`PATCH /:id` with `expected_revision`). A stale revision fails
353
+ * `409 BUZZ_ROUTE_REVISION_STALE` without mutating — re-read, re-decide,
354
+ * re-send with the current `revision`.
355
+ */
356
+ async update(routeId, patch, expectedRevision) {
357
+ const context = "updating Buzz event route";
358
+ rejectSecrets(patch);
359
+ if (!Number.isInteger(expectedRevision)) {
360
+ throw new LocalError("expectedRevision must be the route's current integer revision", context, {
361
+ details: { field: "expectedRevision" },
362
+ });
363
+ }
364
+ return this.client.request(routePath(routeId, context), {
365
+ method: "PATCH",
366
+ headers: headers(patch.idempotencyKey),
367
+ body: {
368
+ expected_revision: expectedRevision,
369
+ ...(patch.routeName !== undefined ? { route_name: patch.routeName } : {}),
370
+ ...(patch.buzzChannelId !== undefined ? { buzz_channel_id: patch.buzzChannelId } : {}),
371
+ ...(patch.projectIds !== undefined ? { project_ids: patch.projectIds } : {}),
372
+ ...(patch.eventTypes !== undefined ? { event_types: patch.eventTypes } : {}),
373
+ ...(patch.eventClasses !== undefined ? { event_classes: patch.eventClasses } : {}),
374
+ },
375
+ context,
376
+ });
377
+ }
378
+ /**
379
+ * Stop matching new events (`POST /:id/pause`). Non-terminal deliveries
380
+ * freeze; events occurring while paused are never retroactively delivered.
381
+ */
382
+ async pause(routeId, idempotencyKey) {
383
+ const context = "pausing Buzz event route";
384
+ return this.client.request(`${routePath(routeId, context)}/pause`, {
385
+ method: "POST",
386
+ headers: headers(idempotencyKey),
387
+ body: {},
388
+ context,
389
+ });
390
+ }
391
+ /**
392
+ * Re-arm delivery and reset the hard-failure counter (`POST /:id/resume`).
393
+ * Requires a live signing credential NOW — resuming into
394
+ * signing-unavailable fails `503 BUZZ_NOTIFICATION_SIGNING_UNAVAILABLE`
395
+ * rather than fabricating an "active" route whose every attempt fails.
396
+ */
397
+ async resume(routeId, idempotencyKey) {
398
+ const context = "resuming Buzz event route";
399
+ return this.client.request(`${routePath(routeId, context)}/resume`, {
400
+ method: "POST",
401
+ headers: headers(idempotencyKey),
402
+ body: {},
403
+ context,
404
+ });
405
+ }
406
+ /**
407
+ * Revoke (`DELETE /:id`): queued deliveries are cancelled, sanitized history
408
+ * stays readable, and `notification_credential_destroyed` reports whether
409
+ * this was the installation's last live route (only then does its
410
+ * notification credential die — never out from under a sibling).
411
+ */
412
+ async revoke(routeId, idempotencyKey) {
413
+ const context = "revoking Buzz event route";
414
+ return this.client.request(routePath(routeId, context), {
415
+ method: "DELETE",
416
+ headers: headers(idempotencyKey),
417
+ context,
418
+ });
419
+ }
420
+ /**
421
+ * Stage the NEXT signing generation (`POST /:id/rotate`, 202). The current
422
+ * key keeps signing; the swap activates only after the next pubkey's own
423
+ * Buzz-side NIP-43 membership verifies — the `rotation` block carries the
424
+ * next pubkey, the authorize hint, and the `verify_path` to poke.
425
+ */
426
+ async rotate(routeId, idempotencyKey) {
427
+ const context = "rotating Buzz notification credential";
428
+ return this.client.request(`${routePath(routeId, context)}/rotate`, {
429
+ method: "POST",
430
+ headers: headers(idempotencyKey),
431
+ body: {},
432
+ context,
433
+ });
434
+ }
435
+ /**
436
+ * Queue one signed test delivery (`POST /:id/test`, 202 + Retry-After).
437
+ * On a `pending_authorization` route this FIRST re-checks the Buzz-side
438
+ * NIP-43 membership and activates the route when it landed — the test
439
+ * endpoint doubles as the authorization poll. The 202 is queued-not-
440
+ * delivered (Faithful): poll `poll.path` (or use {@link testAndWait}).
441
+ */
442
+ async test(routeId, idempotencyKey) {
443
+ const context = "creating Buzz route test delivery";
444
+ return this.client.request(`${routePath(routeId, context)}/test`, {
445
+ method: "POST",
446
+ headers: headers(idempotencyKey),
447
+ body: {},
448
+ context,
449
+ });
450
+ }
451
+ /** Keyset newest-first delivery history — dead letters included, the signed envelope never. */
452
+ async deliveries(routeId, opts = {}) {
453
+ const context = "listing Buzz route deliveries";
454
+ const params = new URLSearchParams();
455
+ if (opts.limit !== undefined)
456
+ params.set("limit", String(opts.limit));
457
+ if (opts.cursor)
458
+ params.set("cursor", opts.cursor);
459
+ if (opts.deliveryId)
460
+ params.set("delivery_id", opts.deliveryId);
461
+ const query = params.size ? `?${params.toString()}` : "";
462
+ return this.client.request(`${routePath(routeId, context)}/deliveries${query}`, {
463
+ context,
464
+ });
465
+ }
466
+ /**
467
+ * Queue a test delivery, then poll it until it settles — the whole
468
+ * verify-the-route flow in one call.
469
+ *
470
+ * Returns as soon as the delivery reaches a terminal status
471
+ * (`delivered` | `dead_letter` | `cancelled` | `suppressed`). On timeout
472
+ * the still-queued delivery is RETURNED, never thrown (the shared `waitFor`
473
+ * contract) — and unlike an unanswered escalation, a not-yet-delivered test
474
+ * here is usually just cadence: the single-consumer tick publishes ~every
475
+ * 60s, so keep polling `deliveries()` before concluding anything is wrong.
476
+ */
477
+ async testAndWait(routeId, opts = {}) {
478
+ const queued = await this.test(routeId);
479
+ // The 202 is the FIRST observed state — it is the only one carrying the
480
+ // poll block, so an observer that narrates (the CLI) must see it even
481
+ // when the wait settles instantly.
482
+ opts.onPoll?.(queued);
483
+ if (TERMINAL_DELIVERY_STATUSES.has(queued.status))
484
+ return queued;
485
+ const deliveryId = queued.buzz_project_event_delivery_id;
486
+ const { state } = await waitFor(async () => {
487
+ const page = await this.deliveries(routeId, { deliveryId, limit: 1 });
488
+ return page.buzz_project_event_deliveries?.[0] ?? queued;
489
+ }, (d) => TERMINAL_DELIVERY_STATUSES.has(d.status), {
490
+ pollMs: Math.max(opts.pollMs ?? 5_000, 2_000),
491
+ timeoutMs: opts.timeoutMs ?? 3 * 60 * 1000,
492
+ onPoll: opts.onPoll ? (s) => opts.onPoll(s) : undefined,
493
+ });
494
+ return state;
495
+ }
496
+ }
242
497
  export class Buzz {
243
498
  client;
244
499
  humanAdoptions;
245
500
  humanAdoptionOffers;
246
501
  communityInstallations;
247
502
  enrollments;
503
+ notifications;
248
504
  constructor(client) {
249
505
  this.client = client;
250
506
  this.humanAdoptions = new BuzzHumanAdoptions(client);
251
507
  this.humanAdoptionOffers = new BuzzHumanAdoptionOffers(client);
252
508
  this.communityInstallations = new BuzzCommunityInstallations(client);
253
509
  this.enrollments = new BuzzAgentEnrollments(client);
510
+ this.notifications = new BuzzNotifications(client);
254
511
  }
255
512
  /** Capability-detecting status. Older gateways return a safe supported:false result. */
256
513
  async status() {
@@ -1 +1 @@
1
- {"version":3,"file":"buzz.js","sourceRoot":"","sources":["../../src/namespaces/buzz.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAoB1C,MAAM,YAAY,GAAG,+GAA+G,CAAC;AAErI,SAAS,aAAa,CAAC,KAAc,EAAE,IAAI,GAAG,GAAG,EAAE,OAAO,IAAI,GAAG,EAAU;IACzE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO;IAChD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO;IAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAC5E,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,UAAU,CAAC,0EAA0E,EAAE,sCAAsC,EAAE;gBACvI,IAAI,EAAE,6BAA6B;gBACnC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE;aACrC,CAAC,CAAC;QACL,CAAC;QACD,aAAa,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAa,EAAE,OAAe;IAC7D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,cAAc,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACvH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,cAAuB;IACtC,OAAO,EAAE,iBAAiB,EAAE,cAAc,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;AACjF,CAAC;AAED,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,MAAM,CAAC,KAAmC;QAC9C,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB,0BAA0B,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;YACtC,IAAI,EAAE;gBACJ,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,EAAE,8BAA8B,CAAC;gBACxF,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,EAAE,8BAA8B,CAAC;aACnG;YACD,OAAO,EAAE,8BAA8B;SACxC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,cAAsB;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACxC,mCAAmC,kBAAkB,CAAC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,EAAE,8BAA8B,CAAC,CAAC,EAAE,EACnI,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C,CAAC;QACF,OAAO,QAAQ,CAAC,oBAAoB,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB,4BAA4B,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,qBAAqB,EAAE,6BAA6B,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;IAClN,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,eAAwB,EAAE,cAAuB;QAC1E,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB,4BAA4B,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,qBAAqB,EAAE,gCAAgC,CAAC,CAAC,WAAW,EAAE;YAC9K,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC;YAChC,IAAI,EAAE,EAAE,iBAAiB,EAAE,eAAe,EAAE;YAC5C,OAAO,EAAE,gCAAgC;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,cAAuB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB,4BAA4B,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,qBAAqB,EAAE,gCAAgC,CAAC,CAAC,EAAE,EAAE;YACrK,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC;YAChC,OAAO,EAAE,gCAAgC;SAC1C,CAAC,CAAC;IACL,CAAC;CACF;AAED;;0DAE0D;AAC1D,MAAM,OAAO,uBAAuB;IACL;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,MAAM,CAAC,KAAwC;QACnD,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAyB,gCAAgC,EAAE;YACnF,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;YACtC,IAAI,EAAE;gBACJ,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,EAAE,oCAAoC,CAAC;gBAC9F,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,EAAE,oCAAoC,CAAC;gBACxG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpF;YACD,OAAO,EAAE,oCAAoC;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAyB,kCAAkC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,0BAA0B,EAAE,mCAAmC,CAAC,CAAC,EAAE,EAAE;YACxL,OAAO,EAAE,mCAAmC;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,cAAuB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAyB,kCAAkC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,0BAA0B,EAAE,sCAAsC,CAAC,CAAC,EAAE,EAAE;YAC3L,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC;YAChC,OAAO,EAAE,sCAAsC;SAChD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,KAA0C;QACxE,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB,kCAAkC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,0BAA0B,EAAE,sCAAsC,CAAC,CAAC,WAAW,EAAE;YAC/L,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;YACtC,IAAI,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,sCAAsC,CAAC,EAAE;YAC1G,OAAO,EAAE,sCAAsC;SAChD,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,0BAA0B;IACR;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,MAAM,CAAC,KAA2C;QACtD,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAA4B,kCAAkC,EAAE;YACxF,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;YACtC,IAAI,EAAE;gBACJ,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,EAAE,sCAAsC,CAAC;gBAChG,sBAAsB,EAAE,QAAQ,CAAC,KAAK,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,sCAAsC,CAAC;gBAC5H,gCAAgC,EAAE,QAAQ,CAAC,KAAK,CAAC,6BAA6B,EAAE,+BAA+B,EAAE,sCAAsC,CAAC;gBACxJ,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjF;YACD,OAAO,EAAE,sCAAsC;SAChD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,cAAsB;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACxC,2CAA2C,kBAAkB,CAAC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,EAAE,sCAAsC,CAAC,CAAC,EAAE,EACnJ,EAAE,OAAO,EAAE,sCAAsC,EAAE,CACpD,CAAC;QACF,OAAO,QAAQ,CAAC,4BAA4B,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAA4B,oCAAoC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,6BAA6B,EAAE,qCAAqC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAC;IAC1P,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,cAA2C,EAAE,cAAuB;QAC7F,aAAa,CAAC,cAAc,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAA4B,oCAAoC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,6BAA6B,EAAE,wCAAwC,CAAC,CAAC,WAAW,EAAE;YAC9M,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC;YAChC,IAAI,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE;YACzC,OAAO,EAAE,wCAAwC;SAClD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAA2C;QAClE,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAA4B,oCAAoC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,6BAA6B,EAAE,sCAAsC,CAAC,CAAC,EAAE,EAAE;YACnM,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;YACtC,IAAI,EAAE;gBACJ,sBAAsB,EAAE,KAAK,CAAC,oBAAoB;gBAClD,iBAAiB,EAAE,KAAK,CAAC,gBAAgB;gBACzC,eAAe,EAAE,KAAK,CAAC,cAAc;aACtC;YACD,OAAO,EAAE,sCAAsC;SAChD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,cAAuB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAA4B,oCAAoC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,6BAA6B,EAAE,sCAAsC,CAAC,CAAC,EAAE,EAAE;YACnM,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC;YAChC,OAAO,EAAE,sCAAsC;SAChD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,oBAA4B;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACxC,sEAAsE,kBAAkB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,+CAA+C,CAAC,CAAC,EAAE,EACnM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAC9E,CAAC;QACF,OAAO,QAAQ,CAAC,uCAAuC,IAAI,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,EAAU;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAgC,+CAA+C,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,6BAA6B,EAAE,0CAA0C,CAAC,CAAC,EAAE,EAAE;YACtN,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,0CAA0C;SACpD,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,OAAO,CAAC,KAAqC;QACjD,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB,4BAA4B,EAAE;YAC5E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;YACtC,IAAI,EAAE;gBACJ,8BAA8B,EAAE,QAAQ,CAAC,KAAK,CAAC,2BAA2B,EAAE,6BAA6B,EAAE,kCAAkC,CAAC;gBAC9I,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,EAAE,kCAAkC,CAAC;gBACtG,gBAAgB,EAAE,KAAK,CAAC,eAAe;gBACvC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,kCAAkC,CAAC;aACvF;YACD,OAAO,EAAE,kCAAkC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAA2E,EAAE;QACtF,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,cAAc;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoD,6BAA6B,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAC;QACpL,OAAO,QAAQ,CAAC,sBAAsB,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB,8BAA8B,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,uBAAuB,EAAE,+BAA+B,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;IAC5N,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,KAAuC;QAC/D,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB,8BAA8B,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,uBAAuB,EAAE,iCAAiC,CAAC,CAAC,UAAU,EAAE;YACpL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;YACtC,IAAI,EAAE;gBACJ,eAAe,EAAE,KAAK,CAAC,cAAc;gBACrC,gCAAgC,EAAE,KAAK,CAAC,8BAA8B;gBACtE,4BAA4B,EAAE,KAAK,CAAC,0BAA0B;aAC/D;YACD,OAAO,EAAE,iCAAiC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAU,EAAE,MAAe,EAAE,cAAuB;QAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB,8BAA8B,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,uBAAuB,EAAE,+BAA+B,CAAC,CAAC,OAAO,EAAE;YAC/K,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC;YAChC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;YAC5C,OAAO,EAAE,+BAA+B;SACzC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,cAAuB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB,8BAA8B,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,uBAAuB,EAAE,8CAA8C,CAAC,CAAC,EAAE,EAAE;YACzL,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC;YAChC,OAAO,EAAE,8CAA8C;SACxD,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,IAAI;IAMc;IALpB,cAAc,CAAqB;IACnC,mBAAmB,CAA0B;IAC7C,sBAAsB,CAA6B;IACnD,WAAW,CAAuB;IAE3C,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,mBAAmB,GAAG,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,sBAAsB,GAAG,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAA0B,kBAAkB,EAAE,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAC;QACxI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,8BAA8B,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC7H,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,8BAA8B,EAAE,IAAI,EAAE,IAAkD,EAAE,MAAM,EAAE,CAAC;IACzI,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,KAAmC;QACvC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,kFAAkF;IAClF,aAAa,CAAC,KAAwC;QACpD,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,6EAA6E;IAC7E,OAAO,CAAC,KAA2C;QACjD,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,oEAAoE;IACpE,MAAM,CAAC,KAAqC;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;CACF"}
1
+ {"version":3,"file":"buzz.js","sourceRoot":"","sources":["../../src/namespaces/buzz.ts"],"names":[],"mappings":"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"}