@nestarc/webhook 0.12.0 → 0.13.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.
Files changed (63) hide show
  1. package/README.md +97 -0
  2. package/dist/adapters/fetch-http-client.d.ts +2 -2
  3. package/dist/adapters/fetch-http-client.d.ts.map +1 -1
  4. package/dist/adapters/fetch-http-client.js +165 -29
  5. package/dist/adapters/fetch-http-client.js.map +1 -1
  6. package/dist/adapters/prisma-delivery.repository.d.ts +9 -3
  7. package/dist/adapters/prisma-delivery.repository.d.ts.map +1 -1
  8. package/dist/adapters/prisma-delivery.repository.js +228 -19
  9. package/dist/adapters/prisma-delivery.repository.js.map +1 -1
  10. package/dist/adapters/prisma-endpoint.repository.d.ts.map +1 -1
  11. package/dist/adapters/prisma-endpoint.repository.js +6 -2
  12. package/dist/adapters/prisma-endpoint.repository.js.map +1 -1
  13. package/dist/adapters/prisma-event.repository.d.ts +3 -1
  14. package/dist/adapters/prisma-event.repository.d.ts.map +1 -1
  15. package/dist/adapters/prisma-event.repository.js +36 -2
  16. package/dist/adapters/prisma-event.repository.js.map +1 -1
  17. package/dist/index.d.ts +5 -4
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/interfaces/webhook-delivery.interface.d.ts +26 -0
  22. package/dist/interfaces/webhook-delivery.interface.d.ts.map +1 -1
  23. package/dist/interfaces/webhook-options.interface.d.ts +27 -0
  24. package/dist/interfaces/webhook-options.interface.d.ts.map +1 -1
  25. package/dist/ports/webhook-delivery.repository.d.ts +6 -2
  26. package/dist/ports/webhook-delivery.repository.d.ts.map +1 -1
  27. package/dist/ports/webhook-event.repository.d.ts +6 -0
  28. package/dist/ports/webhook-event.repository.d.ts.map +1 -1
  29. package/dist/ports/webhook-http-client.d.ts +8 -1
  30. package/dist/ports/webhook-http-client.d.ts.map +1 -1
  31. package/dist/webhook.admin.service.d.ts +4 -2
  32. package/dist/webhook.admin.service.d.ts.map +1 -1
  33. package/dist/webhook.admin.service.js +8 -2
  34. package/dist/webhook.admin.service.js.map +1 -1
  35. package/dist/webhook.delivery-admin.service.d.ts +4 -2
  36. package/dist/webhook.delivery-admin.service.d.ts.map +1 -1
  37. package/dist/webhook.delivery-admin.service.js +14 -2
  38. package/dist/webhook.delivery-admin.service.js.map +1 -1
  39. package/dist/webhook.dispatcher.d.ts.map +1 -1
  40. package/dist/webhook.dispatcher.js +5 -2
  41. package/dist/webhook.dispatcher.js.map +1 -1
  42. package/dist/webhook.module.d.ts.map +1 -1
  43. package/dist/webhook.module.js +6 -2
  44. package/dist/webhook.module.js.map +1 -1
  45. package/dist/webhook.retention-admin.service.d.ts +10 -0
  46. package/dist/webhook.retention-admin.service.d.ts.map +1 -0
  47. package/dist/webhook.retention-admin.service.js +50 -0
  48. package/dist/webhook.retention-admin.service.js.map +1 -0
  49. package/dist/webhook.service.d.ts +7 -4
  50. package/dist/webhook.service.d.ts.map +1 -1
  51. package/dist/webhook.service.js +40 -10
  52. package/dist/webhook.service.js.map +1 -1
  53. package/dist/webhook.signer.d.ts +5 -0
  54. package/dist/webhook.signer.d.ts.map +1 -1
  55. package/dist/webhook.signer.js +14 -0
  56. package/dist/webhook.signer.js.map +1 -1
  57. package/dist/webhook.url-validator.d.ts +1 -1
  58. package/dist/webhook.url-validator.d.ts.map +1 -1
  59. package/dist/webhook.url-validator.js +145 -51
  60. package/dist/webhook.url-validator.js.map +1 -1
  61. package/package.json +9 -3
  62. package/src/sql/create-webhook-tables.sql +11 -5
  63. package/src/sql/migrations/v0.13.0.sql +11 -0
@@ -41,9 +41,11 @@ function normalizeBacklogNumber(value, field) {
41
41
  let PrismaDeliveryRepository = class PrismaDeliveryRepository {
42
42
  prisma;
43
43
  vault;
44
- constructor(prisma, vault) {
44
+ redaction;
45
+ constructor(prisma, vault, redaction) {
45
46
  this.prisma = prisma;
46
47
  this.vault = vault;
48
+ this.redaction = redaction;
47
49
  }
48
50
  async createDeliveriesInTransaction(tx, eventId, endpointIds, maxAttempts) {
49
51
  await tx.$executeRawUnsafe(`INSERT INTO webhook_deliveries (
@@ -74,7 +76,11 @@ let PrismaDeliveryRepository = class PrismaDeliveryRepository {
74
76
  ELSE NULL
75
77
  END
76
78
  FROM webhook_endpoints e
77
- WHERE e.id = ANY($2::uuid[])`, eventId, endpointIds, maxAttempts);
79
+ JOIN webhook_events ev ON ev.id = $1::uuid
80
+ WHERE e.id = ANY($2::uuid[])
81
+ AND e.active = true
82
+ AND (ev.tenant_id IS NULL OR e.tenant_id = ev.tenant_id)
83
+ AND (ev.event_type = ANY(e.events) OR '*' = ANY(e.events))`, eventId, endpointIds, maxAttempts);
78
84
  }
79
85
  async runInTransaction(fn) {
80
86
  return this.prisma.$transaction(fn);
@@ -134,45 +140,48 @@ let PrismaDeliveryRepository = class PrismaDeliveryRepository {
134
140
  return rows;
135
141
  }
136
142
  async markSent(deliveryId, attempts, result) {
143
+ const sanitizedResult = this.sanitizeDeliveryResult(deliveryId, result);
137
144
  await this.prisma.$transaction(async (tx) => {
138
145
  await tx.$executeRaw `
139
146
  UPDATE webhook_deliveries
140
147
  SET status = 'SENT', attempts = ${attempts},
141
148
  last_attempt_at = NOW(), completed_at = NOW(),
142
- response_status = ${result.statusCode ?? null},
143
- response_body = ${result.body ?? null},
144
- latency_ms = ${result.latencyMs}
149
+ response_status = ${sanitizedResult.statusCode ?? null},
150
+ response_body = ${sanitizedResult.body ?? null},
151
+ latency_ms = ${sanitizedResult.latencyMs}
145
152
  WHERE id = ${deliveryId}::uuid`;
146
- await this.appendAttemptLog(tx, deliveryId, attempts, 'SENT', result);
153
+ await this.appendAttemptLog(tx, deliveryId, attempts, 'SENT', sanitizedResult);
147
154
  });
148
155
  }
149
156
  async markFailed(deliveryId, attempts, result) {
157
+ const sanitizedResult = this.sanitizeDeliveryResult(deliveryId, result);
150
158
  await this.prisma.$transaction(async (tx) => {
151
159
  await tx.$executeRaw `
152
160
  UPDATE webhook_deliveries
153
161
  SET status = 'FAILED', attempts = ${attempts},
154
162
  last_attempt_at = NOW(), completed_at = NOW(),
155
163
  next_attempt_at = NULL,
156
- response_status = ${result.statusCode ?? null},
157
- response_body = ${result.body ?? null},
158
- latency_ms = ${result.latencyMs},
159
- last_error = ${result.error ?? null}
164
+ response_status = ${sanitizedResult.statusCode ?? null},
165
+ response_body = ${sanitizedResult.body ?? null},
166
+ latency_ms = ${sanitizedResult.latencyMs},
167
+ last_error = ${sanitizedResult.error ?? null}
160
168
  WHERE id = ${deliveryId}::uuid`;
161
- await this.appendAttemptLog(tx, deliveryId, attempts, 'FAILED', result);
169
+ await this.appendAttemptLog(tx, deliveryId, attempts, 'FAILED', sanitizedResult);
162
170
  });
163
171
  }
164
172
  async markRetry(deliveryId, attempts, nextAt, result) {
173
+ const sanitizedResult = this.sanitizeDeliveryResult(deliveryId, result);
165
174
  await this.prisma.$transaction(async (tx) => {
166
175
  await tx.$executeRaw `
167
176
  UPDATE webhook_deliveries
168
177
  SET status = 'PENDING', attempts = ${attempts},
169
178
  last_attempt_at = NOW(), next_attempt_at = ${nextAt},
170
- response_status = ${result.statusCode ?? null},
171
- response_body = ${result.body ?? null},
172
- latency_ms = ${result.latencyMs},
173
- last_error = ${result.error ?? null}
179
+ response_status = ${sanitizedResult.statusCode ?? null},
180
+ response_body = ${sanitizedResult.body ?? null},
181
+ latency_ms = ${sanitizedResult.latencyMs},
182
+ last_error = ${sanitizedResult.error ?? null}
174
183
  WHERE id = ${deliveryId}::uuid`;
175
- await this.appendAttemptLog(tx, deliveryId, attempts, 'PENDING', result);
184
+ await this.appendAttemptLog(tx, deliveryId, attempts, 'PENDING', sanitizedResult);
176
185
  });
177
186
  }
178
187
  async recoverStaleSending(stalenessMinutes) {
@@ -357,13 +366,198 @@ let PrismaDeliveryRepository = class PrismaDeliveryRepository {
357
366
  WHERE delivery_id = ${deliveryId}::uuid
358
367
  ORDER BY attempt_number ASC`;
359
368
  }
360
- async retryDelivery(deliveryId) {
369
+ async retryDelivery(deliveryId, _options) {
361
370
  const result = await this.prisma.$executeRaw `
362
371
  UPDATE webhook_deliveries
363
- SET status = 'PENDING', next_attempt_at = NOW()
372
+ SET status = 'PENDING',
373
+ next_attempt_at = NOW(),
374
+ max_attempts = GREATEST(max_attempts, attempts + 1)
364
375
  WHERE id = ${deliveryId}::uuid AND status = 'FAILED'`;
365
376
  return result > 0;
366
377
  }
378
+ async retryFailedDeliveries(filters, _options) {
379
+ if (filters.status && filters.status !== 'FAILED') {
380
+ return { matched: 0, retried: 0, skipped: 0 };
381
+ }
382
+ const limit = filters.limit ?? 100;
383
+ if (!Number.isInteger(limit) || limit < 1 || limit > 1000) {
384
+ throw new Error('Bulk retry limit must be between 1 and 1000');
385
+ }
386
+ const conditions = [`d.status = 'FAILED'`];
387
+ const values = [];
388
+ let paramIndex = 1;
389
+ if (filters.endpointId) {
390
+ conditions.push(`d.endpoint_id = $${paramIndex++}::uuid`);
391
+ values.push(filters.endpointId);
392
+ }
393
+ if (filters.eventType) {
394
+ conditions.push(`ev.event_type = $${paramIndex++}`);
395
+ values.push(filters.eventType);
396
+ }
397
+ if (filters.since) {
398
+ conditions.push(`d.completed_at >= $${paramIndex++}`);
399
+ values.push(filters.since);
400
+ }
401
+ if (filters.until) {
402
+ conditions.push(`d.completed_at <= $${paramIndex++}`);
403
+ values.push(filters.until);
404
+ }
405
+ values.push(limit);
406
+ const query = `
407
+ WITH candidates AS (
408
+ SELECT d.id
409
+ FROM webhook_deliveries d
410
+ JOIN webhook_events ev ON ev.id = d.event_id
411
+ WHERE ${conditions.join(' AND ')}
412
+ ORDER BY d.completed_at DESC NULLS LAST, d.id
413
+ LIMIT $${paramIndex}
414
+ FOR UPDATE SKIP LOCKED
415
+ ),
416
+ updated AS (
417
+ UPDATE webhook_deliveries d
418
+ SET status = 'PENDING',
419
+ next_attempt_at = NOW(),
420
+ max_attempts = GREATEST(max_attempts, attempts + 1)
421
+ WHERE d.id IN (SELECT id FROM candidates)
422
+ RETURNING d.id
423
+ )
424
+ SELECT
425
+ (SELECT COUNT(*) FROM candidates) AS matched,
426
+ (SELECT COUNT(*) FROM updated) AS retried,
427
+ (SELECT COUNT(*) FROM candidates) - (SELECT COUNT(*) FROM updated) AS skipped`;
428
+ const rows = (await this.prisma.$queryRawUnsafe(query, ...values));
429
+ const [result] = rows;
430
+ return {
431
+ matched: normalizeBacklogNumber(result?.matched ?? 0, 'matched'),
432
+ retried: normalizeBacklogNumber(result?.retried ?? 0, 'retried'),
433
+ skipped: normalizeBacklogNumber(result?.skipped ?? 0, 'skipped'),
434
+ };
435
+ }
436
+ async replayEvent(eventId, options) {
437
+ const tenantId = options?.tenantId ?? null;
438
+ const endpointIds = options?.endpointIds ?? null;
439
+ const [result] = await this.prisma.$queryRaw `
440
+ WITH source_event AS (
441
+ SELECT ev.id, ev.event_type, ev.tenant_id
442
+ FROM webhook_events ev
443
+ WHERE ev.id = ${eventId}::uuid
444
+ AND ev.payload_purged_at IS NULL
445
+ AND (${tenantId}::text IS NULL OR ev.tenant_id = ${tenantId})
446
+ ),
447
+ selected_endpoints AS (
448
+ SELECT
449
+ e.id,
450
+ e.url,
451
+ e.secret,
452
+ CASE
453
+ WHEN e.previous_secret IS NOT NULL
454
+ AND e.previous_secret_expires_at IS NOT NULL
455
+ AND e.previous_secret_expires_at > NOW()
456
+ THEN e.previous_secret
457
+ ELSE NULL
458
+ END AS secondary_secret
459
+ FROM webhook_endpoints e
460
+ JOIN source_event ev ON true
461
+ WHERE e.active = true
462
+ AND (ev.tenant_id IS NULL OR e.tenant_id = ev.tenant_id)
463
+ AND (${tenantId}::text IS NULL OR e.tenant_id = ${tenantId})
464
+ AND (${endpointIds}::uuid[] IS NULL OR e.id = ANY(${endpointIds}::uuid[]))
465
+ AND (ev.event_type = ANY(e.events) OR '*' = ANY(e.events))
466
+ ),
467
+ inserted AS (
468
+ INSERT INTO webhook_deliveries (
469
+ event_id,
470
+ endpoint_id,
471
+ status,
472
+ attempts,
473
+ max_attempts,
474
+ next_attempt_at,
475
+ endpoint_url_snapshot,
476
+ signing_secret_snapshot,
477
+ secondary_signing_secret_snapshot
478
+ )
479
+ SELECT
480
+ ${eventId}::uuid,
481
+ e.id,
482
+ 'PENDING',
483
+ 0,
484
+ ${webhook_constants_1.DEFAULT_MAX_RETRIES},
485
+ NOW(),
486
+ e.url,
487
+ e.secret,
488
+ e.secondary_secret
489
+ FROM selected_endpoints e
490
+ RETURNING endpoint_id
491
+ )
492
+ SELECT
493
+ ${eventId} AS "eventId",
494
+ (SELECT COUNT(*) FROM source_event) AS "sourceEventCount",
495
+ COUNT(inserted.endpoint_id) AS "deliveriesCreated",
496
+ COALESCE(array_agg(inserted.endpoint_id::text)
497
+ FILTER (WHERE inserted.endpoint_id IS NOT NULL), ARRAY[]::text[]) AS "endpointIds"
498
+ FROM inserted`;
499
+ if (normalizeBacklogNumber(result?.sourceEventCount ?? 0, 'sourceEventCount') === 0) {
500
+ throw new Error('Webhook event is missing or its payload has been purged');
501
+ }
502
+ return {
503
+ eventId: result.eventId,
504
+ deliveriesCreated: normalizeBacklogNumber(result.deliveriesCreated, 'deliveriesCreated'),
505
+ endpointIds: result.endpointIds ?? [],
506
+ };
507
+ }
508
+ async purgeExpiredData(options, now = new Date()) {
509
+ const eventPayloadRetentionDays = options.eventPayloadRetentionDays ?? null;
510
+ const deliveryResponseBodyRetentionDays = options.deliveryResponseBodyRetentionDays ?? null;
511
+ const attemptResponseBodyRetentionDays = options.attemptResponseBodyRetentionDays ?? null;
512
+ if (eventPayloadRetentionDays == null &&
513
+ deliveryResponseBodyRetentionDays == null &&
514
+ attemptResponseBodyRetentionDays == null) {
515
+ return { eventsPurged: 0, deliveriesPurged: 0, attemptsPurged: 0 };
516
+ }
517
+ const [result] = await this.prisma.$queryRaw `
518
+ WITH event_payloads AS (
519
+ UPDATE webhook_events ev
520
+ SET payload = '{}'::jsonb,
521
+ payload_purged_at = ${now}
522
+ WHERE ${eventPayloadRetentionDays}::int IS NOT NULL
523
+ AND ev.payload_purged_at IS NULL
524
+ AND ev.created_at <= ${now} - (${eventPayloadRetentionDays}::text || ' days')::interval
525
+ AND NOT EXISTS (
526
+ SELECT 1
527
+ FROM webhook_deliveries d
528
+ WHERE d.event_id = ev.id
529
+ AND d.status IN ('PENDING', 'SENDING')
530
+ )
531
+ RETURNING ev.id
532
+ ),
533
+ delivery_bodies AS (
534
+ UPDATE webhook_deliveries d
535
+ SET response_body = NULL
536
+ WHERE ${deliveryResponseBodyRetentionDays}::int IS NOT NULL
537
+ AND d.response_body IS NOT NULL
538
+ AND d.completed_at IS NOT NULL
539
+ AND d.completed_at <= ${now} - (${deliveryResponseBodyRetentionDays}::text || ' days')::interval
540
+ RETURNING d.id
541
+ ),
542
+ attempt_bodies AS (
543
+ UPDATE webhook_delivery_attempts a
544
+ SET response_body = NULL,
545
+ response_body_truncated = FALSE
546
+ WHERE ${attemptResponseBodyRetentionDays}::int IS NOT NULL
547
+ AND a.response_body IS NOT NULL
548
+ AND a.created_at <= ${now} - (${attemptResponseBodyRetentionDays}::text || ' days')::interval
549
+ RETURNING a.id
550
+ )
551
+ SELECT
552
+ (SELECT COUNT(*) FROM event_payloads) AS "eventsPurged",
553
+ (SELECT COUNT(*) FROM delivery_bodies) AS "deliveriesPurged",
554
+ (SELECT COUNT(*) FROM attempt_bodies) AS "attemptsPurged"`;
555
+ return {
556
+ eventsPurged: normalizeBacklogNumber(result?.eventsPurged ?? 0, 'eventsPurged'),
557
+ deliveriesPurged: normalizeBacklogNumber(result?.deliveriesPurged ?? 0, 'deliveriesPurged'),
558
+ attemptsPurged: normalizeBacklogNumber(result?.attemptsPurged ?? 0, 'attemptsPurged'),
559
+ };
560
+ }
367
561
  async createTestDelivery(eventId, endpointId) {
368
562
  await this.prisma.$executeRaw `
369
563
  INSERT INTO webhook_deliveries (
@@ -418,10 +612,25 @@ let PrismaDeliveryRepository = class PrismaDeliveryRepository {
418
612
  ${result.error ?? null}
419
613
  )`;
420
614
  }
615
+ sanitizeDeliveryResult(deliveryId, result) {
616
+ if (result.body == null || !this.redaction?.sanitizeResponseBody) {
617
+ return result;
618
+ }
619
+ const sanitizedBody = this.redaction.sanitizeResponseBody(result.body, {
620
+ deliveryId,
621
+ endpointId: null,
622
+ eventId: null,
623
+ statusCode: result.statusCode ?? null,
624
+ });
625
+ return {
626
+ ...result,
627
+ body: sanitizedBody ?? undefined,
628
+ };
629
+ }
421
630
  };
422
631
  exports.PrismaDeliveryRepository = PrismaDeliveryRepository;
423
632
  exports.PrismaDeliveryRepository = PrismaDeliveryRepository = __decorate([
424
633
  (0, common_1.Injectable)(),
425
- __metadata("design:paramtypes", [Object, Object])
634
+ __metadata("design:paramtypes", [Object, Object, Object])
426
635
  ], PrismaDeliveryRepository);
427
636
  //# sourceMappingURL=prisma-delivery.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-delivery.repository.js","sourceRoot":"","sources":["../../src/adapters/prisma-delivery.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma-delivery.repository.js","sourceRoot":"","sources":["../../src/adapters/prisma-delivery.repository.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-endpoint.repository.d.ts","sourceRoot":"","sources":["../../src/adapters/prisma-endpoint.repository.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EACjC,yBAAyB,EAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAyBnE,qBACa,wBAAyB,YAAW,yBAAyB;IAEtE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBADN,MAAM,EAAE,GAAG,EACX,KAAK,CAAC,EAAE,kBAAkB,YAAA;IAGvC,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC;IAoBtB,kCAAkC,CACtC,EAAE,EAAE,GAAG,EACP,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC;IAoBtB,cAAc,CAClB,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAkB9B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAQvD,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAe3D,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAqC3B,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,iCAAiC,GACvC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAoB3B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM5C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBhD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAStD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrE,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAazE"}
1
+ {"version":3,"file":"prisma-endpoint.repository.d.ts","sourceRoot":"","sources":["../../src/adapters/prisma-endpoint.repository.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EACjC,yBAAyB,EAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAyBnE,qBACa,wBAAyB,YAAW,yBAAyB;IAEtE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBADN,MAAM,EAAE,GAAG,EACX,KAAK,CAAC,EAAE,kBAAkB,YAAA;IAGvC,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC;IAoBtB,kCAAkC,CACtC,EAAE,EAAE,GAAG,EACP,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC;IAoBtB,cAAc,CAClB,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAkB9B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAQvD,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAe3D,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAqC3B,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,iCAAiC,GACvC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAoB3B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM5C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAStD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrE,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAazE"}
@@ -68,7 +68,7 @@ let PrismaEndpointRepository = class PrismaEndpointRepository {
68
68
  ? await this.vault.encrypt(input.secret)
69
69
  : input.secret;
70
70
  const [endpoint] = await this.prisma.$queryRawUnsafe(`INSERT INTO webhook_endpoints (url, secret, events, description, metadata, tenant_id)
71
- VALUES ($1, $2, $3::varchar[], $4, $5::jsonb, $6::uuid)
71
+ VALUES ($1, $2, $3::varchar[], $4, $5::jsonb, $6)
72
72
  RETURNING ${ENDPOINT_COLUMNS_WITH_SECRET}`, input.url, encryptedSecret, input.events, input.description, input.metadata ? JSON.stringify(input.metadata) : null, input.tenantId);
73
73
  return endpoint;
74
74
  }
@@ -156,7 +156,11 @@ let PrismaEndpointRepository = class PrismaEndpointRepository {
156
156
  ELSE disabled_reason
157
157
  END,
158
158
  updated_at = NOW()
159
- WHERE id = ${endpointId}::uuid`;
159
+ WHERE id = ${endpointId}::uuid
160
+ AND (
161
+ consecutive_failures <> 0
162
+ OR disabled_reason = ${webhook_constants_1.ENDPOINT_DISABLED_REASON_CONSECUTIVE_FAILURES_EXCEEDED}
163
+ )`;
160
164
  }
161
165
  async incrementFailures(endpointId) {
162
166
  const [updated] = await this.prisma.$queryRaw `
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-endpoint.repository.js","sourceRoot":"","sources":["../../src/adapters/prisma-endpoint.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma-endpoint.repository.js","sourceRoot":"","sources":["../../src/adapters/prisma-endpoint.repository.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import { WebhookEventRepository } from '../ports/webhook-event.repository';
1
+ import { SavedWebhookEvent, WebhookEventRepository } from '../ports/webhook-event.repository';
2
+ import { WebhookPublishOptions } from '../interfaces/webhook-options.interface';
2
3
  export declare class PrismaEventRepository implements WebhookEventRepository {
3
4
  private readonly prisma;
4
5
  constructor(prisma: any);
5
6
  saveEvent(eventType: string, payload: Record<string, unknown>, tenantId: string | null): Promise<string>;
6
7
  saveEventInTransaction(tx: any, eventType: string, payload: Record<string, unknown>, tenantId: string | null): Promise<string>;
8
+ saveEventOnceInTransaction(tx: any, eventType: string, payload: Record<string, unknown>, tenantId: string | null, options: Required<Pick<WebhookPublishOptions, 'idempotencyKey'>> & Pick<WebhookPublishOptions, 'correlationId'>): Promise<SavedWebhookEvent>;
7
9
  }
8
10
  //# sourceMappingURL=prisma-event.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-event.repository.d.ts","sourceRoot":"","sources":["../../src/adapters/prisma-event.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,qBACa,qBAAsB,YAAW,sBAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,GAAG;IAElC,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,MAAM,CAAC;IAQZ,sBAAsB,CAC1B,EAAE,EAAE,GAAG,EACP,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,MAAM,CAAC;CAOnB"}
1
+ {"version":3,"file":"prisma-event.repository.d.ts","sourceRoot":"","sources":["../../src/adapters/prisma-event.repository.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,qBACa,qBAAsB,YAAW,sBAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,GAAG;IAElC,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,MAAM,CAAC;IAQZ,sBAAsB,CAC1B,EAAE,EAAE,GAAG,EACP,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,MAAM,CAAC;IAQZ,0BAA0B,CAC9B,EAAE,EAAE,GAAG,EACP,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC,GAC9D,IAAI,CAAC,qBAAqB,EAAE,eAAe,CAAC,GAC7C,OAAO,CAAC,iBAAiB,CAAC;CAoC9B"}
@@ -19,17 +19,51 @@ let PrismaEventRepository = class PrismaEventRepository {
19
19
  async saveEvent(eventType, payload, tenantId) {
20
20
  const [saved] = await this.prisma.$queryRaw `
21
21
  INSERT INTO webhook_events (event_type, payload, tenant_id)
22
- VALUES (${eventType}, ${JSON.stringify(payload)}::jsonb, ${tenantId}::uuid)
22
+ VALUES (${eventType}, ${JSON.stringify(payload)}::jsonb, ${tenantId})
23
23
  RETURNING id`;
24
24
  return saved.id;
25
25
  }
26
26
  async saveEventInTransaction(tx, eventType, payload, tenantId) {
27
27
  const [saved] = await tx.$queryRaw `
28
28
  INSERT INTO webhook_events (event_type, payload, tenant_id)
29
- VALUES (${eventType}, ${JSON.stringify(payload)}::jsonb, ${tenantId}::uuid)
29
+ VALUES (${eventType}, ${JSON.stringify(payload)}::jsonb, ${tenantId})
30
30
  RETURNING id`;
31
31
  return saved.id;
32
32
  }
33
+ async saveEventOnceInTransaction(tx, eventType, payload, tenantId, options) {
34
+ const [saved] = await tx.$queryRaw `
35
+ WITH inserted AS (
36
+ INSERT INTO webhook_events (
37
+ event_type,
38
+ payload,
39
+ tenant_id,
40
+ idempotency_key,
41
+ correlation_id
42
+ )
43
+ VALUES (
44
+ ${eventType},
45
+ ${JSON.stringify(payload)}::jsonb,
46
+ ${tenantId},
47
+ ${options.idempotencyKey},
48
+ ${options.correlationId ?? null}
49
+ )
50
+ ON CONFLICT DO NOTHING
51
+ RETURNING id, TRUE AS created
52
+ )
53
+ SELECT id, created FROM inserted
54
+ UNION ALL
55
+ SELECT id, FALSE AS created
56
+ FROM webhook_events
57
+ WHERE COALESCE(tenant_id, '') = COALESCE(${tenantId}, '')
58
+ AND event_type = ${eventType}
59
+ AND idempotency_key = ${options.idempotencyKey}
60
+ AND NOT EXISTS (SELECT 1 FROM inserted)
61
+ LIMIT 1`;
62
+ if (!saved) {
63
+ throw new Error('Failed to save idempotent webhook event');
64
+ }
65
+ return saved;
66
+ }
33
67
  };
34
68
  exports.PrismaEventRepository = PrismaEventRepository;
35
69
  exports.PrismaEventRepository = PrismaEventRepository = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-event.repository.js","sourceRoot":"","sources":["../../src/adapters/prisma-event.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAIrC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACH;IAA7B,YAA6B,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;IAAG,CAAC;IAE5C,KAAK,CAAC,SAAS,CACb,SAAiB,EACjB,OAAgC,EAChC,QAAuB;QAEvB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAkB;;gBAEjD,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,QAAQ;mBACtD,CAAC;QAChB,OAAO,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,EAAO,EACP,SAAiB,EACjB,OAAgC,EAChC,QAAuB;QAEvB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,CAAkB;;gBAExC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,QAAQ;mBACtD,CAAC;QAChB,OAAO,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AA3BY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;;GACA,qBAAqB,CA2BjC"}
1
+ {"version":3,"file":"prisma-event.repository.js","sourceRoot":"","sources":["../../src/adapters/prisma-event.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAQrC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACH;IAA7B,YAA6B,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;IAAG,CAAC;IAE5C,KAAK,CAAC,SAAS,CACb,SAAiB,EACjB,OAAgC,EAChC,QAAuB;QAEvB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAkB;;gBAEjD,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,QAAQ;mBACtD,CAAC;QAChB,OAAO,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,EAAO,EACP,SAAiB,EACjB,OAAgC,EAChC,QAAuB;QAEvB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,CAAkB;;gBAExC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,QAAQ;mBACtD,CAAC;QAChB,OAAO,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,EAAO,EACP,SAAiB,EACjB,OAAgC,EAChC,QAAuB,EACvB,OAC8C;QAE9C,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,CAAqB;;;;;;;;;;YAU/C,SAAS;YACT,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACvB,QAAQ;YACR,OAAO,CAAC,cAAc;YACtB,OAAO,CAAC,aAAa,IAAI,IAAI;;;;;;;;;iDASQ,QAAQ;2BAC9B,SAAS;gCACJ,OAAO,CAAC,cAAc;;cAExC,CAAC;QAEX,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAvEY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;;GACA,qBAAqB,CAuEjC"}
package/dist/index.d.ts CHANGED
@@ -6,15 +6,16 @@ export { WebhookDeliveryWorker } from './webhook.delivery-worker';
6
6
  export { WebhookDispatcher } from './webhook.dispatcher';
7
7
  /** @internal Wired automatically by WebhookModule. Exported for advanced testing/custom integration only. */
8
8
  export { WebhookRetryPolicy } from './webhook.retry-policy';
9
- export { WebhookSigner, type SignatureHeaders } from './webhook.signer';
9
+ export { WebhookSigner, type SignatureHeaders, type WebhookVerificationOptions, } from './webhook.signer';
10
10
  /** @internal Wired automatically by WebhookModule. Exported for advanced testing/custom integration only. */
11
11
  export { WebhookCircuitBreaker } from './webhook.circuit-breaker';
12
12
  export { WebhookEvent } from './webhook.event';
13
13
  export { WebhookEndpointAdminService } from './webhook.endpoint-admin.service';
14
14
  export { WebhookDeliveryAdminService } from './webhook.delivery-admin.service';
15
+ export { WebhookRetentionAdminService } from './webhook.retention-admin.service';
15
16
  /** @deprecated since v0.2.0. Will be removed in v1.0.0. Use {@link WebhookEndpointAdminService} and {@link WebhookDeliveryAdminService}. */
16
17
  export { WebhookAdminService } from './webhook.admin.service';
17
- export type { WebhookEventRepository } from './ports/webhook-event.repository';
18
+ export type { WebhookEventRepository, SavedWebhookEvent, } from './ports/webhook-event.repository';
18
19
  export type { WebhookEndpointRepository, ResolvedCreateEndpointInput, ResolvedRotateEndpointSecretInput, } from './ports/webhook-endpoint.repository';
19
20
  export type { WebhookDeliveryRepository, ClaimedDelivery, DeliveryBacklogSummary, PendingDelivery, WebhookTransaction, } from './ports/webhook-delivery.repository';
20
21
  export type { WebhookHttpClient } from './ports/webhook-http-client';
@@ -24,9 +25,9 @@ export { PrismaEndpointRepository } from './adapters/prisma-endpoint.repository'
24
25
  export { PrismaDeliveryRepository } from './adapters/prisma-delivery.repository';
25
26
  export { FetchHttpClient } from './adapters/fetch-http-client';
26
27
  export { PlaintextSecretVault } from './adapters/plaintext-secret-vault';
27
- export type { WebhookModuleOptions, WebhookModuleAsyncOptions, WebhookOptionsFactory, DeliveryOptions, CircuitBreakerOptions, PollingOptions, WebhookPollContext, WebhookPollResult, WebhookDeliveryProcessingStatus, WebhookDeliveryProcessingResult, WebhookWorkerObserver, DeliveryFailedContext, DeliveryFailureKind, DeliveryRetryScheduledContext, EndpointDisabledContext, EndpointDegradedContext, } from './interfaces/webhook-options.interface';
28
+ export type { WebhookModuleOptions, WebhookModuleAsyncOptions, WebhookOptionsFactory, WebhookPublishOptions, WebhookRetentionOptions, WebhookRedactionOptions, DeliveryOptions, CircuitBreakerOptions, PollingOptions, WebhookPollContext, WebhookPollResult, WebhookDeliveryProcessingStatus, WebhookDeliveryProcessingResult, WebhookWorkerObserver, DeliveryFailedContext, DeliveryFailureKind, DeliveryRetryScheduledContext, EndpointDisabledContext, EndpointDegradedContext, } from './interfaces/webhook-options.interface';
28
29
  export type { EndpointRecord, EndpointRecordWithSecret, CreateEndpointDto, UpdateEndpointDto, RotateEndpointSecretDto, } from './interfaces/webhook-endpoint.interface';
29
- export type { DeliveryStatus, DeliveryAttemptStatus, DeliveryRecord, DeliveryAttemptRecord, EventRecord, DeliveryResult, DeliveryLogFilters, } from './interfaces/webhook-delivery.interface';
30
+ export type { DeliveryStatus, DeliveryAttemptStatus, DeliveryRecord, DeliveryAttemptRecord, EventRecord, DeliveryResult, DeliveryLogFilters, RetryDeliveryOptions, RetryFailedDeliveriesFilters, RetryFailedDeliveriesResult, ReplayEventOptions, ReplayEventResult, WebhookRetentionPurgeResult, } from './interfaces/webhook-delivery.interface';
30
31
  export { WEBHOOK_MODULE_OPTIONS, WEBHOOK_EVENT_REPOSITORY, WEBHOOK_ENDPOINT_REPOSITORY, WEBHOOK_DELIVERY_REPOSITORY, WEBHOOK_HTTP_CLIENT, WEBHOOK_SECRET_VAULT, DEFAULT_BACKOFF_SCHEDULE, DEFAULT_DELIVERY_TIMEOUT, DEFAULT_MAX_RETRIES, DEFAULT_POLLING_INTERVAL, DEFAULT_POLLING_BATCH_SIZE, DEFAULT_CIRCUIT_BREAKER_THRESHOLD, DEFAULT_CIRCUIT_BREAKER_COOLDOWN_MINUTES, ENDPOINT_DISABLED_REASON_CONSECUTIVE_FAILURES_EXCEEDED, DEFAULT_STALE_SENDING_MINUTES, } from './webhook.constants';
31
32
  export type { EndpointDisabledReason } from './webhook.constants';
32
33
  export { validateWebhookUrl, resolveAndValidateHost, WebhookUrlValidationError, type WebhookUrlValidationReason, } from './webhook.url-validator';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,6GAA6G;AAC7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,6GAA6G;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,6GAA6G;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxE,6GAA6G;AAC7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,4IAA4I;AAC5I,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,YAAY,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,YAAY,EACV,yBAAyB,EACzB,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,yBAAyB,EACzB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAGzE,YAAY,EACV,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,+BAA+B,EAC/B,+BAA+B,EAC/B,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,wCAAwC,CAAC;AAGhD,YAAY,EACV,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,yCAAyC,CAAC;AAEjD,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,wCAAwC,EACxC,sDAAsD,EACtD,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,KAAK,0BAA0B,GAChC,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,6GAA6G;AAC7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,6GAA6G;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,6GAA6G;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EACL,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,GAChC,MAAM,kBAAkB,CAAC;AAC1B,6GAA6G;AAC7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,4IAA4I;AAC5I,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,YAAY,EACV,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,yBAAyB,EACzB,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,yBAAyB,EACzB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAGzE,YAAY,EACV,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,+BAA+B,EAC/B,+BAA+B,EAC/B,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,wCAAwC,CAAC;AAGhD,YAAY,EACV,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,yCAAyC,CAAC;AAEjD,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,wCAAwC,EACxC,sDAAsD,EACtD,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,KAAK,0BAA0B,GAChC,MAAM,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebhookUrlValidationError = exports.resolveAndValidateHost = exports.validateWebhookUrl = exports.DEFAULT_STALE_SENDING_MINUTES = exports.ENDPOINT_DISABLED_REASON_CONSECUTIVE_FAILURES_EXCEEDED = exports.DEFAULT_CIRCUIT_BREAKER_COOLDOWN_MINUTES = exports.DEFAULT_CIRCUIT_BREAKER_THRESHOLD = exports.DEFAULT_POLLING_BATCH_SIZE = exports.DEFAULT_POLLING_INTERVAL = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_DELIVERY_TIMEOUT = exports.DEFAULT_BACKOFF_SCHEDULE = exports.WEBHOOK_SECRET_VAULT = exports.WEBHOOK_HTTP_CLIENT = exports.WEBHOOK_DELIVERY_REPOSITORY = exports.WEBHOOK_ENDPOINT_REPOSITORY = exports.WEBHOOK_EVENT_REPOSITORY = exports.WEBHOOK_MODULE_OPTIONS = exports.PlaintextSecretVault = exports.FetchHttpClient = exports.PrismaDeliveryRepository = exports.PrismaEndpointRepository = exports.PrismaEventRepository = exports.WebhookAdminService = exports.WebhookDeliveryAdminService = exports.WebhookEndpointAdminService = exports.WebhookEvent = exports.WebhookCircuitBreaker = exports.WebhookSigner = exports.WebhookRetryPolicy = exports.WebhookDispatcher = exports.WebhookDeliveryWorker = exports.WebhookService = exports.WebhookModule = void 0;
3
+ exports.WebhookUrlValidationError = exports.resolveAndValidateHost = exports.validateWebhookUrl = exports.DEFAULT_STALE_SENDING_MINUTES = exports.ENDPOINT_DISABLED_REASON_CONSECUTIVE_FAILURES_EXCEEDED = exports.DEFAULT_CIRCUIT_BREAKER_COOLDOWN_MINUTES = exports.DEFAULT_CIRCUIT_BREAKER_THRESHOLD = exports.DEFAULT_POLLING_BATCH_SIZE = exports.DEFAULT_POLLING_INTERVAL = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_DELIVERY_TIMEOUT = exports.DEFAULT_BACKOFF_SCHEDULE = exports.WEBHOOK_SECRET_VAULT = exports.WEBHOOK_HTTP_CLIENT = exports.WEBHOOK_DELIVERY_REPOSITORY = exports.WEBHOOK_ENDPOINT_REPOSITORY = exports.WEBHOOK_EVENT_REPOSITORY = exports.WEBHOOK_MODULE_OPTIONS = exports.PlaintextSecretVault = exports.FetchHttpClient = exports.PrismaDeliveryRepository = exports.PrismaEndpointRepository = exports.PrismaEventRepository = exports.WebhookAdminService = exports.WebhookRetentionAdminService = exports.WebhookDeliveryAdminService = exports.WebhookEndpointAdminService = exports.WebhookEvent = exports.WebhookCircuitBreaker = exports.WebhookSigner = exports.WebhookRetryPolicy = exports.WebhookDispatcher = exports.WebhookDeliveryWorker = exports.WebhookService = exports.WebhookModule = void 0;
4
4
  // Module
5
5
  var webhook_module_1 = require("./webhook.module");
6
6
  Object.defineProperty(exports, "WebhookModule", { enumerable: true, get: function () { return webhook_module_1.WebhookModule; } });
@@ -28,6 +28,8 @@ var webhook_endpoint_admin_service_1 = require("./webhook.endpoint-admin.service
28
28
  Object.defineProperty(exports, "WebhookEndpointAdminService", { enumerable: true, get: function () { return webhook_endpoint_admin_service_1.WebhookEndpointAdminService; } });
29
29
  var webhook_delivery_admin_service_1 = require("./webhook.delivery-admin.service");
30
30
  Object.defineProperty(exports, "WebhookDeliveryAdminService", { enumerable: true, get: function () { return webhook_delivery_admin_service_1.WebhookDeliveryAdminService; } });
31
+ var webhook_retention_admin_service_1 = require("./webhook.retention-admin.service");
32
+ Object.defineProperty(exports, "WebhookRetentionAdminService", { enumerable: true, get: function () { return webhook_retention_admin_service_1.WebhookRetentionAdminService; } });
31
33
  /** @deprecated since v0.2.0. Will be removed in v1.0.0. Use {@link WebhookEndpointAdminService} and {@link WebhookDeliveryAdminService}. */
32
34
  var webhook_admin_service_1 = require("./webhook.admin.service");
33
35
  Object.defineProperty(exports, "WebhookAdminService", { enumerable: true, get: function () { return webhook_admin_service_1.WebhookAdminService; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,SAAS;AACT,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AAEtB,gBAAgB;AAChB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,6GAA6G;AAC7G,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAC9B,6GAA6G;AAC7G,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,6GAA6G;AAC7G,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,mDAAwE;AAA/D,+GAAA,aAAa,OAAA;AACtB,6GAA6G;AAC7G,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAC9B,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAErB,iBAAiB;AACjB,mFAA+E;AAAtE,6IAAA,2BAA2B,OAAA;AACpC,mFAA+E;AAAtE,6IAAA,2BAA2B,OAAA;AACpC,4IAA4I;AAC5I,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAmB5B,mBAAmB;AACnB,8EAA2E;AAAlE,gIAAA,qBAAqB,OAAA;AAC9B,oFAAiF;AAAxE,sIAAA,wBAAwB,OAAA;AACjC,oFAAiF;AAAxE,sIAAA,wBAAwB,OAAA;AACjC,kEAA+D;AAAtD,oHAAA,eAAe,OAAA;AACxB,4EAAyE;AAAhE,8HAAA,oBAAoB,OAAA;AAyC7B,qBAAqB;AACrB,yDAgB6B;AAf3B,2HAAA,sBAAsB,OAAA;AACtB,6HAAA,wBAAwB,OAAA;AACxB,gIAAA,2BAA2B,OAAA;AAC3B,gIAAA,2BAA2B,OAAA;AAC3B,wHAAA,mBAAmB,OAAA;AACnB,yHAAA,oBAAoB,OAAA;AACpB,6HAAA,wBAAwB,OAAA;AACxB,6HAAA,wBAAwB,OAAA;AACxB,wHAAA,mBAAmB,OAAA;AACnB,6HAAA,wBAAwB,OAAA;AACxB,+HAAA,0BAA0B,OAAA;AAC1B,sIAAA,iCAAiC,OAAA;AACjC,6IAAA,wCAAwC,OAAA;AACxC,2JAAA,sDAAsD,OAAA;AACtD,kIAAA,6BAA6B,OAAA;AAI/B,iBAAiB;AACjB,iEAKiC;AAJ/B,2HAAA,kBAAkB,OAAA;AAClB,+HAAA,sBAAsB,OAAA;AACtB,kIAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,SAAS;AACT,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AAEtB,gBAAgB;AAChB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,6GAA6G;AAC7G,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAC9B,6GAA6G;AAC7G,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,6GAA6G;AAC7G,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,mDAI0B;AAHxB,+GAAA,aAAa,OAAA;AAIf,6GAA6G;AAC7G,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAC9B,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAErB,iBAAiB;AACjB,mFAA+E;AAAtE,6IAAA,2BAA2B,OAAA;AACpC,mFAA+E;AAAtE,6IAAA,2BAA2B,OAAA;AACpC,qFAAiF;AAAxE,+IAAA,4BAA4B,OAAA;AACrC,4IAA4I;AAC5I,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAsB5B,mBAAmB;AACnB,8EAA2E;AAAlE,gIAAA,qBAAqB,OAAA;AAC9B,oFAAiF;AAAxE,sIAAA,wBAAwB,OAAA;AACjC,oFAAiF;AAAxE,sIAAA,wBAAwB,OAAA;AACjC,kEAA+D;AAAtD,oHAAA,eAAe,OAAA;AACxB,4EAAyE;AAAhE,8HAAA,oBAAoB,OAAA;AAkD7B,qBAAqB;AACrB,yDAgB6B;AAf3B,2HAAA,sBAAsB,OAAA;AACtB,6HAAA,wBAAwB,OAAA;AACxB,gIAAA,2BAA2B,OAAA;AAC3B,gIAAA,2BAA2B,OAAA;AAC3B,wHAAA,mBAAmB,OAAA;AACnB,yHAAA,oBAAoB,OAAA;AACpB,6HAAA,wBAAwB,OAAA;AACxB,6HAAA,wBAAwB,OAAA;AACxB,wHAAA,mBAAmB,OAAA;AACnB,6HAAA,wBAAwB,OAAA;AACxB,+HAAA,0BAA0B,OAAA;AAC1B,sIAAA,iCAAiC,OAAA;AACjC,6IAAA,wCAAwC,OAAA;AACxC,2JAAA,sDAAsD,OAAA;AACtD,kIAAA,6BAA6B,OAAA;AAI/B,iBAAiB;AACjB,iEAKiC;AAJ/B,2HAAA,kBAAkB,OAAA;AAClB,+HAAA,sBAAsB,OAAA;AACtB,kIAAA,yBAAyB,OAAA"}
@@ -53,4 +53,30 @@ export interface DeliveryLogFilters {
53
53
  limit?: number;
54
54
  offset?: number;
55
55
  }
56
+ export interface RetryDeliveryOptions {
57
+ reason?: string;
58
+ }
59
+ export interface RetryFailedDeliveriesFilters extends DeliveryLogFilters {
60
+ endpointId?: string;
61
+ }
62
+ export interface RetryFailedDeliveriesResult {
63
+ matched: number;
64
+ retried: number;
65
+ skipped: number;
66
+ }
67
+ export interface ReplayEventOptions {
68
+ endpointIds?: string[];
69
+ tenantId?: string;
70
+ reason?: string;
71
+ }
72
+ export interface ReplayEventResult {
73
+ eventId: string;
74
+ deliveriesCreated: number;
75
+ endpointIds: string[];
76
+ }
77
+ export interface WebhookRetentionPurgeResult {
78
+ eventsPurged: number;
79
+ deliveriesPurged: number;
80
+ attemptsPurged: number;
81
+ }
56
82
  //# sourceMappingURL=webhook-delivery.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-delivery.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/webhook-delivery.interface.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AACvE,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,cAAc,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"webhook-delivery.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/webhook-delivery.interface.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AACvE,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,cAAc,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA6B,SAAQ,kBAAkB;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB"}