@fiado/type-kit 3.354.0 → 3.356.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 (97) hide show
  1. package/_test_/unit/webhookBusiness/WebhookEventEnvelope.test.ts +147 -0
  2. package/_test_/unit/webhookBusiness/webhookEvents.test.ts +197 -0
  3. package/_test_/unit/webhookBusiness/webhookSubscriptionRequests.test.ts +60 -0
  4. package/bin/index.d.ts +1 -0
  5. package/bin/index.js +5 -1
  6. package/bin/productCatalog/enums/ProductSubtypeEnum.d.ts +1 -1
  7. package/bin/productCatalog/enums/ProductSubtypeEnum.js +2 -2
  8. package/bin/productCatalog/enums/ProductTypeEnum.d.ts +4 -4
  9. package/bin/productCatalog/enums/ProductTypeEnum.js +4 -4
  10. package/bin/transactionProcessor/dtos/{AuthorizeWelcomeBonusRequest.d.ts → AuthorizeBonusRequest.d.ts} +3 -3
  11. package/bin/transactionProcessor/dtos/{AuthorizeWelcomeBonusRequest.js → AuthorizeBonusRequest.js} +10 -10
  12. package/bin/transactionProcessor/index.d.ts +1 -1
  13. package/bin/transactionProcessor/index.js +1 -1
  14. package/bin/walletFunding/dtos/AuthorizeFundingRequest.d.ts +11 -0
  15. package/bin/walletFunding/dtos/AuthorizeFundingRequest.js +6 -0
  16. package/bin/webhookBusiness/constants/CaseRefPattern.d.ts +8 -0
  17. package/bin/webhookBusiness/constants/CaseRefPattern.js +11 -0
  18. package/bin/webhookBusiness/constants/WebhookFieldLimits.d.ts +6 -0
  19. package/bin/webhookBusiness/constants/WebhookFieldLimits.js +9 -0
  20. package/bin/webhookBusiness/dtos/WebhookDeliveryView.d.ts +28 -0
  21. package/bin/webhookBusiness/dtos/WebhookDeliveryView.js +2 -0
  22. package/bin/webhookBusiness/dtos/WebhookEventEnvelope.d.ts +27 -0
  23. package/bin/webhookBusiness/dtos/WebhookEventEnvelope.js +62 -0
  24. package/bin/webhookBusiness/dtos/WebhookOutboundMessage.d.ts +10 -0
  25. package/bin/webhookBusiness/dtos/WebhookOutboundMessage.js +2 -0
  26. package/bin/webhookBusiness/dtos/WebhookSubscriptionView.d.ts +23 -0
  27. package/bin/webhookBusiness/dtos/WebhookSubscriptionView.js +2 -0
  28. package/bin/webhookBusiness/dtos/requests/DeactivateWebhookSubscriptionRequest.d.ts +11 -0
  29. package/bin/webhookBusiness/dtos/requests/DeactivateWebhookSubscriptionRequest.js +42 -0
  30. package/bin/webhookBusiness/dtos/requests/GetWebhookSubscriptionRequest.d.ts +9 -0
  31. package/bin/webhookBusiness/dtos/requests/GetWebhookSubscriptionRequest.js +35 -0
  32. package/bin/webhookBusiness/dtos/requests/ListWebhookDeliveriesRequest.d.ts +9 -0
  33. package/bin/webhookBusiness/dtos/requests/ListWebhookDeliveriesRequest.js +35 -0
  34. package/bin/webhookBusiness/dtos/requests/RedeliverWebhookEventRequest.d.ts +11 -0
  35. package/bin/webhookBusiness/dtos/requests/RedeliverWebhookEventRequest.js +43 -0
  36. package/bin/webhookBusiness/dtos/requests/UpsertWebhookSubscriptionRequest.d.ts +22 -0
  37. package/bin/webhookBusiness/dtos/requests/UpsertWebhookSubscriptionRequest.js +89 -0
  38. package/bin/webhookBusiness/dtos/responses/DeactivateWebhookSubscriptionResponse.d.ts +5 -0
  39. package/bin/webhookBusiness/dtos/responses/DeactivateWebhookSubscriptionResponse.js +2 -0
  40. package/bin/webhookBusiness/dtos/responses/GetWebhookSubscriptionResponse.d.ts +5 -0
  41. package/bin/webhookBusiness/dtos/responses/GetWebhookSubscriptionResponse.js +2 -0
  42. package/bin/webhookBusiness/dtos/responses/ListWebhookDeliveriesResponse.d.ts +10 -0
  43. package/bin/webhookBusiness/dtos/responses/ListWebhookDeliveriesResponse.js +2 -0
  44. package/bin/webhookBusiness/dtos/responses/ListWebhookSubscriptionsResponse.d.ts +10 -0
  45. package/bin/webhookBusiness/dtos/responses/ListWebhookSubscriptionsResponse.js +2 -0
  46. package/bin/webhookBusiness/dtos/responses/RedeliverWebhookEventResponse.d.ts +11 -0
  47. package/bin/webhookBusiness/dtos/responses/RedeliverWebhookEventResponse.js +2 -0
  48. package/bin/webhookBusiness/dtos/responses/UpsertWebhookSubscriptionResponse.d.ts +7 -0
  49. package/bin/webhookBusiness/dtos/responses/UpsertWebhookSubscriptionResponse.js +2 -0
  50. package/bin/webhookBusiness/enums/ComplianceDecisionEnum.d.ts +11 -0
  51. package/bin/webhookBusiness/enums/ComplianceDecisionEnum.js +15 -0
  52. package/bin/webhookBusiness/enums/DeliveryOutcomeEnum.d.ts +15 -0
  53. package/bin/webhookBusiness/enums/DeliveryOutcomeEnum.js +19 -0
  54. package/bin/webhookBusiness/enums/SubscriptionStatusEnum.d.ts +5 -0
  55. package/bin/webhookBusiness/enums/SubscriptionStatusEnum.js +9 -0
  56. package/bin/webhookBusiness/enums/SubscriptionVisibilityEnum.d.ts +10 -0
  57. package/bin/webhookBusiness/enums/SubscriptionVisibilityEnum.js +14 -0
  58. package/bin/webhookBusiness/enums/WebhookEventType.d.ts +10 -0
  59. package/bin/webhookBusiness/enums/WebhookEventType.js +14 -0
  60. package/bin/webhookBusiness/events/AccountIssuanceCompletedV1.d.ts +19 -0
  61. package/bin/webhookBusiness/events/AccountIssuanceCompletedV1.js +47 -0
  62. package/bin/webhookBusiness/events/ComplianceDecisionV1.d.ts +25 -0
  63. package/bin/webhookBusiness/events/ComplianceDecisionV1.js +51 -0
  64. package/bin/webhookBusiness/index.d.ts +24 -0
  65. package/bin/webhookBusiness/index.js +47 -0
  66. package/package.json +1 -1
  67. package/src/index.ts +4 -0
  68. package/src/productCatalog/enums/ProductSubtypeEnum.ts +2 -2
  69. package/src/productCatalog/enums/ProductTypeEnum.ts +4 -4
  70. package/src/transactionProcessor/dtos/{AuthorizeWelcomeBonusRequest.ts → AuthorizeBonusRequest.ts} +3 -3
  71. package/src/transactionProcessor/index.ts +1 -1
  72. package/src/walletFunding/dtos/AuthorizeFundingRequest.ts +13 -1
  73. package/src/webhookBusiness/constants/CaseRefPattern.ts +9 -0
  74. package/src/webhookBusiness/constants/WebhookFieldLimits.ts +8 -0
  75. package/src/webhookBusiness/dtos/WebhookDeliveryView.ts +29 -0
  76. package/src/webhookBusiness/dtos/WebhookEventEnvelope.ts +42 -0
  77. package/src/webhookBusiness/dtos/WebhookOutboundMessage.ts +18 -0
  78. package/src/webhookBusiness/dtos/WebhookSubscriptionView.ts +24 -0
  79. package/src/webhookBusiness/dtos/requests/DeactivateWebhookSubscriptionRequest.ts +27 -0
  80. package/src/webhookBusiness/dtos/requests/GetWebhookSubscriptionRequest.ts +20 -0
  81. package/src/webhookBusiness/dtos/requests/ListWebhookDeliveriesRequest.ts +21 -0
  82. package/src/webhookBusiness/dtos/requests/RedeliverWebhookEventRequest.ts +28 -0
  83. package/src/webhookBusiness/dtos/requests/UpsertWebhookSubscriptionRequest.ts +69 -0
  84. package/src/webhookBusiness/dtos/responses/DeactivateWebhookSubscriptionResponse.ts +6 -0
  85. package/src/webhookBusiness/dtos/responses/GetWebhookSubscriptionResponse.ts +6 -0
  86. package/src/webhookBusiness/dtos/responses/ListWebhookDeliveriesResponse.ts +11 -0
  87. package/src/webhookBusiness/dtos/responses/ListWebhookSubscriptionsResponse.ts +11 -0
  88. package/src/webhookBusiness/dtos/responses/RedeliverWebhookEventResponse.ts +12 -0
  89. package/src/webhookBusiness/dtos/responses/UpsertWebhookSubscriptionResponse.ts +8 -0
  90. package/src/webhookBusiness/enums/ComplianceDecisionEnum.ts +11 -0
  91. package/src/webhookBusiness/enums/DeliveryOutcomeEnum.ts +15 -0
  92. package/src/webhookBusiness/enums/SubscriptionStatusEnum.ts +5 -0
  93. package/src/webhookBusiness/enums/SubscriptionVisibilityEnum.ts +10 -0
  94. package/src/webhookBusiness/enums/WebhookEventType.ts +10 -0
  95. package/src/webhookBusiness/events/AccountIssuanceCompletedV1.ts +30 -0
  96. package/src/webhookBusiness/events/ComplianceDecisionV1.ts +36 -0
  97. package/src/webhookBusiness/index.ts +37 -0
@@ -0,0 +1,28 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { IsNotEmpty, IsNotEmptyObject, IsObject, IsOptional, IsString, MaxLength } from 'class-validator';
3
+ import { WEBHOOK_EVENT_ID_MAX_LENGTH } from '../../constants/WebhookFieldLimits';
4
+
5
+ /**
6
+ * Body de `POST /private/webhook-deliveries/redeliver` — reposición manual de un evento.
7
+ * El `payload` viaja en el request porque la bitácora guarda el desenlace, nunca el evento: de la
8
+ * fila salen el tipo, el origen y el destinatario; el contenido lo repone quien lo produjo.
9
+ */
10
+ export class RedeliverWebhookEventRequest {
11
+ @Expose()
12
+ @IsString()
13
+ @IsNotEmpty()
14
+ @MaxLength(WEBHOOK_EVENT_ID_MAX_LENGTH)
15
+ eventId!: string;
16
+
17
+ @Expose()
18
+ @IsObject()
19
+ @IsNotEmptyObject()
20
+ payload!: unknown;
21
+
22
+ /** Quién dispara el reenvío, para el log de la reposición. */
23
+ @Expose()
24
+ @IsOptional()
25
+ @IsString()
26
+ @MaxLength(128)
27
+ actor?: string;
28
+ }
@@ -0,0 +1,69 @@
1
+ import { Expose, Type } from 'class-transformer';
2
+ import { IsEnum, IsInt, IsNotEmpty, IsOptional, IsPositive, IsString, IsUrl, MaxLength } from 'class-validator';
3
+ import { WebhookEventType } from '../../enums/WebhookEventType';
4
+ import { SubscriptionStatusEnum } from '../../enums/SubscriptionStatusEnum';
5
+ import { SubscriptionVisibilityEnum } from '../../enums/SubscriptionVisibilityEnum';
6
+ import { WEBHOOK_TAG_MAX_LENGTH } from '../../constants/WebhookFieldLimits';
7
+
8
+ /**
9
+ * Body de `PUT /private/webhook-subscriptions` — alta o actualización de una fila del padrón.
10
+ * Es idempotente: el par `(tag, eventType)` es la llave, así que reenviar el mismo body no duplica.
11
+ */
12
+ export class UpsertWebhookSubscriptionRequest {
13
+ /** Tag de enrutamiento. El prefijo reservado lo verifica el manager, no el DTO. */
14
+ @Expose()
15
+ @IsString()
16
+ @IsNotEmpty()
17
+ @MaxLength(WEBHOOK_TAG_MAX_LENGTH)
18
+ tag!: string;
19
+
20
+ @Expose()
21
+ @IsEnum(WebhookEventType)
22
+ eventType!: WebhookEventType;
23
+
24
+ @Expose()
25
+ @IsString()
26
+ @IsNotEmpty()
27
+ @MaxLength(128)
28
+ subscriberName!: string;
29
+
30
+ /** Absoluta en los dos modos de visibilidad: el dispatcher hace POST contra ella tal cual. */
31
+ @Expose()
32
+ @IsUrl({ require_tld: false, require_protocol: true, protocols: ['http', 'https'] })
33
+ url!: string;
34
+
35
+ @Expose()
36
+ @IsEnum(SubscriptionVisibilityEnum)
37
+ visibility!: SubscriptionVisibilityEnum;
38
+
39
+ @Expose()
40
+ @IsEnum(SubscriptionStatusEnum)
41
+ status!: SubscriptionStatusEnum;
42
+
43
+ @Expose()
44
+ @IsOptional()
45
+ @IsString()
46
+ @MaxLength(128)
47
+ integrationId?: string;
48
+
49
+ @Expose()
50
+ @IsOptional()
51
+ @Type(() => Number)
52
+ @IsInt()
53
+ @IsPositive()
54
+ timeoutMs?: number;
55
+
56
+ @Expose()
57
+ @IsOptional()
58
+ @Type(() => Number)
59
+ @IsInt()
60
+ @IsPositive()
61
+ maxRetries?: number;
62
+
63
+ /** Quién dispara el alta. Sin él la auditoría queda en `system`, que es el actor de los procesos. */
64
+ @Expose()
65
+ @IsOptional()
66
+ @IsString()
67
+ @MaxLength(128)
68
+ actor?: string;
69
+ }
@@ -0,0 +1,6 @@
1
+ import type { WebhookSubscriptionView } from '../WebhookSubscriptionView';
2
+
3
+ /** Respuesta de `POST /private/webhook-subscriptions/deactivate`. */
4
+ export interface DeactivateWebhookSubscriptionResponse {
5
+ subscription: WebhookSubscriptionView;
6
+ }
@@ -0,0 +1,6 @@
1
+ import type { WebhookSubscriptionView } from '../WebhookSubscriptionView';
2
+
3
+ /** Respuesta de `GET /private/webhook-subscriptions/lookup`. */
4
+ export interface GetWebhookSubscriptionResponse {
5
+ subscription: WebhookSubscriptionView;
6
+ }
@@ -0,0 +1,11 @@
1
+ import type { WebhookDeliveryView } from '../WebhookDeliveryView';
2
+
3
+ /**
4
+ * Respuesta de `GET /private/webhook-deliveries`. Un comprador sin asientos devuelve la lista
5
+ * vacía y no un 404: que nunca le haya salido un evento es un estado válido.
6
+ */
7
+ export interface ListWebhookDeliveriesResponse {
8
+ directoryId: string;
9
+ deliveries: WebhookDeliveryView[];
10
+ count: number;
11
+ }
@@ -0,0 +1,11 @@
1
+ import type { WebhookSubscriptionView } from '../WebhookSubscriptionView';
2
+
3
+ /**
4
+ * Respuesta de `GET /private/webhook-subscriptions` — el padrón completo.
5
+ * `truncated` avisa que se alcanzó el tope de la lectura y quedaron filas afuera.
6
+ */
7
+ export interface ListWebhookSubscriptionsResponse {
8
+ subscriptions: WebhookSubscriptionView[];
9
+ count: number;
10
+ truncated: boolean;
11
+ }
@@ -0,0 +1,12 @@
1
+ import type { WebhookEventType } from '../../enums/WebhookEventType';
2
+
3
+ /**
4
+ * Respuesta de `POST /private/webhook-deliveries/redeliver`. Devuelve qué se repuso, no cómo
5
+ * terminó cada destino: eso queda en la bitácora, que es la fuente de los desenlaces.
6
+ */
7
+ export interface RedeliverWebhookEventResponse {
8
+ eventId: string;
9
+ eventType: WebhookEventType;
10
+ directoryId: string;
11
+ redeliveredAt: string;
12
+ }
@@ -0,0 +1,8 @@
1
+ import type { WebhookSubscriptionView } from '../WebhookSubscriptionView';
2
+
3
+ /** Respuesta de `PUT /private/webhook-subscriptions`. */
4
+ export interface UpsertWebhookSubscriptionResponse {
5
+ /** `true` cuando el par `(tag, eventType)` no existía y se dio de alta. */
6
+ created: boolean;
7
+ subscription: WebhookSubscriptionView;
8
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Desenlace del dictamen del oficial de cumplimiento, en los únicos dos términos accionables.
3
+ * Deliberadamente NO existe un valor que insinúe sobre qué se dictaminó: avisar de una coincidencia
4
+ * en listas es delito, y este enum viaja a un externo.
5
+ */
6
+ export enum ComplianceDecisionEnum {
7
+ /** Se liberó el caso: el siguiente intento de abrir la cuenta puede pasar. */
8
+ CLEARED = 'CLEARED',
9
+ /** Terminal: la cuenta no se abre y la venta no continúa. Nadie lo va a destrabar. */
10
+ REJECTED = 'REJECTED',
11
+ }
@@ -0,0 +1,15 @@
1
+ /** Desenlace de un evento frente a un destinatario, tal como queda asentado en la bitácora. */
2
+ export enum DeliveryOutcomeEnum {
3
+ /** El suscriptor aceptó el evento. */
4
+ DELIVERED = 'DELIVERED',
5
+ /** El suscriptor rechazó la entrega o no respondió. El mensaje vuelve a la cola. */
6
+ FAILED = 'FAILED',
7
+ /** Se agotaron los intentos que el destino admite. No se vuelve a intentar. */
8
+ EXHAUSTED = 'EXHAUSTED',
9
+ /** El directoryId no traía ningún tag `wh:*`: el evento se descarta sin reintento. */
10
+ NO_RECIPIENT = 'NO_RECIPIENT',
11
+ /** El tag existe pero nadie declaró un destino para ese eventType. */
12
+ NO_SUBSCRIPTION = 'NO_SUBSCRIPTION',
13
+ /** El destino está dado de baja: es un no-op registrado, no un error. */
14
+ SKIPPED_INACTIVE = 'SKIPPED_INACTIVE',
15
+ }
@@ -0,0 +1,5 @@
1
+ /** Permite apagar un destino sin borrar su fila del padrón. */
2
+ export enum SubscriptionStatusEnum {
3
+ ACTIVE = 'ACTIVE',
4
+ INACTIVE = 'INACTIVE',
5
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Qué cliente y qué credenciales lleva la entrega. No es "dentro o fuera de la VPC".
3
+ * Es enum y no un booleano para poder sumar un tercer modo (firma, mTLS, bearer) sin migrar la tabla.
4
+ */
5
+ export enum SubscriptionVisibilityEnum {
6
+ /** Receptor dentro de la VPC: la baseUrl se resuelve por destino y se pasa por llamada. */
7
+ PRIVATE = 'PRIVATE',
8
+ /** Receptor fuera de la VPC: HTTP plano contra la URL absoluta, sin token ni headers propios. */
9
+ PUBLIC = 'PUBLIC',
10
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Catálogo cerrado de eventos que `webhook-business` entrega a suscriptores externos (corte 1).
3
+ * El valor es el nombre versionado del contrato: el receptor rutea por él y no por el shape.
4
+ */
5
+ export enum WebhookEventType {
6
+ /** La emisión de la cuenta PCF llegó a su desenlace terminal (abrió o falló). */
7
+ AccountIssuanceCompleted = 'AccountIssuanceCompletedV1',
8
+ /** El oficial de cumplimiento dictaminó sobre el caso. */
9
+ ComplianceDecision = 'ComplianceDecisionV1',
10
+ }
@@ -0,0 +1,30 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { IsIn, IsNotEmpty, IsOptional, IsString, MaxLength } from 'class-validator';
3
+ import { AccountStatusEnum } from '../../retailCustomer/enums/AccountStatusEnum';
4
+ import { WEBHOOK_FAIL_REASON_MAX_LENGTH } from '../constants/WebhookFieldLimits';
5
+
6
+ /**
7
+ * Desenlace terminal de la emisión de la cuenta PCF, entregado por webhook a un suscriptor externo.
8
+ * Espeja `RetailCustomer.AccountResultRequest`, el contrato que el receptor ya espera. No lleva CLABE.
9
+ */
10
+ export class AccountIssuanceCompletedV1 {
11
+ /** Identidad de la persona en Fiado. El `directoryId` viaja en el sobre, no aquí. */
12
+ @Expose() @IsString() @IsNotEmpty()
13
+ peopleId!: string;
14
+
15
+ /** `OPENING` y `LINKED` no son valores válidos: este evento solo reporta el desenlace. */
16
+ @Expose() @IsIn([AccountStatusEnum.OPEN, AccountStatusEnum.FAILED])
17
+ status!: AccountStatusEnum;
18
+
19
+ /** Nivel de la cuenta PCF. Presente solo con `OPEN`. */
20
+ @Expose() @IsOptional() @IsIn([1, 2])
21
+ pcfAccountLevel?: 1 | 2;
22
+
23
+ /**
24
+ * Por qué no abrió, para soporte y administración. Presente solo con `FAILED`.
25
+ * Texto libre del core, que puede mencionar cumplimiento: nunca se le muestra al vendedor ni al
26
+ * comprador, misma regla que `WizardBlocked.detail`.
27
+ */
28
+ @Expose() @IsOptional() @IsString() @MaxLength(WEBHOOK_FAIL_REASON_MAX_LENGTH)
29
+ failReason?: string;
30
+ }
@@ -0,0 +1,36 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { IsEnum, IsISO8601, IsNotEmpty, IsOptional, IsString, Matches } from 'class-validator';
3
+ import { ComplianceDecisionEnum } from '../enums/ComplianceDecisionEnum';
4
+ import { WEBHOOK_CASE_REF_MESSAGE, WEBHOOK_CASE_REF_PATTERN } from '../constants/CaseRefPattern';
5
+
6
+ /**
7
+ * Dictamen del oficial de cumplimiento, entregado por webhook a un suscriptor externo.
8
+ * Lleva el desenlace accionable y nada más: el receptor necesita saber qué hacer, no por qué.
9
+ *
10
+ * Restricción legal, no preferencia de diseño. El DTO NO lleva qué lista disparó, ni la
11
+ * justificación del oficial, ni quién firmó, ni el `alertId` de PLD. Avisar de una coincidencia en
12
+ * listas de cumplimiento es delito. Cualquier campo que se agregue aquí tiene que pasar ese filtro.
13
+ */
14
+ export class ComplianceDecisionV1 {
15
+ /** Identidad de la persona en Fiado. El `directoryId` viaja en el sobre, no aquí. */
16
+ @Expose() @IsString() @IsNotEmpty()
17
+ peopleId!: string;
18
+
19
+ /**
20
+ * Estado consolidado del caso, no el sello de una lista: `REJECTED` en cuanto una lista rechaza,
21
+ * `CLEARED` sólo cuando ya no queda ninguna trabando.
22
+ */
23
+ @Expose() @IsEnum(ComplianceDecisionEnum)
24
+ decision!: ComplianceDecisionEnum;
25
+
26
+ /** ISO-8601. Cuándo se estampó el dictamen. */
27
+ @Expose() @IsString() @IsISO8601()
28
+ decidedAt!: string;
29
+
30
+ /**
31
+ * Referencia OPACA para soporte, acuñada para el webhook: permite rastrear el caso sin nombrarlo.
32
+ * El formato con prefijo es lo que impide que entre el `alertId` de PLD. Ver `CaseRefPattern`.
33
+ */
34
+ @Expose() @IsOptional() @IsString() @Matches(WEBHOOK_CASE_REF_PATTERN, { message: WEBHOOK_CASE_REF_MESSAGE })
35
+ caseRef?: string;
36
+ }
@@ -0,0 +1,37 @@
1
+ // Enums
2
+ export * from './enums/WebhookEventType';
3
+ export * from './enums/ComplianceDecisionEnum';
4
+ export * from './enums/SubscriptionVisibilityEnum';
5
+ export * from './enums/SubscriptionStatusEnum';
6
+ export * from './enums/DeliveryOutcomeEnum';
7
+
8
+ // Formatos y topes compartidos por los contratos
9
+ export * from './constants/CaseRefPattern';
10
+ export * from './constants/WebhookFieldLimits';
11
+
12
+ // Contratos de eventos (PascalCase + sufijo V1)
13
+ export * from './events/AccountIssuanceCompletedV1';
14
+ export * from './events/ComplianceDecisionV1';
15
+
16
+ // Sobre común + unión cerrada de la cola
17
+ export * from './dtos/WebhookEventEnvelope';
18
+ export * from './dtos/WebhookOutboundMessage';
19
+
20
+ // Vistas del padrón y de la bitácora, tal como salen por la API de administración
21
+ export * from './dtos/WebhookSubscriptionView';
22
+ export * from './dtos/WebhookDeliveryView';
23
+
24
+ // API privada de administración — requests
25
+ export * from './dtos/requests/UpsertWebhookSubscriptionRequest';
26
+ export * from './dtos/requests/GetWebhookSubscriptionRequest';
27
+ export * from './dtos/requests/DeactivateWebhookSubscriptionRequest';
28
+ export * from './dtos/requests/ListWebhookDeliveriesRequest';
29
+ export * from './dtos/requests/RedeliverWebhookEventRequest';
30
+
31
+ // API privada de administración — responses
32
+ export * from './dtos/responses/UpsertWebhookSubscriptionResponse';
33
+ export * from './dtos/responses/GetWebhookSubscriptionResponse';
34
+ export * from './dtos/responses/ListWebhookSubscriptionsResponse';
35
+ export * from './dtos/responses/DeactivateWebhookSubscriptionResponse';
36
+ export * from './dtos/responses/ListWebhookDeliveriesResponse';
37
+ export * from './dtos/responses/RedeliverWebhookEventResponse';