@plyaz/types 1.13.17 → 1.14.1

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.
@@ -0,0 +1,278 @@
1
+ /**
2
+ * Webhook Validation Schemas
3
+ *
4
+ * Zod schemas for validating webhook payloads from notification providers
5
+ * Provider-specific webhook event structures
6
+ *
7
+ * @module notifications/webhooks.schemas
8
+ */
9
+ import { z } from 'zod';
10
+ /**
11
+ * Infobip Email Status schema
12
+ */
13
+ export declare const InfobipEmailStatusSchema: z.ZodObject<{
14
+ groupId: z.ZodOptional<z.ZodNumber>;
15
+ groupName: z.ZodOptional<z.ZodString>;
16
+ id: z.ZodOptional<z.ZodNumber>;
17
+ name: z.ZodOptional<z.ZodString>;
18
+ description: z.ZodOptional<z.ZodString>;
19
+ action: z.ZodOptional<z.ZodString>;
20
+ }, z.core.$strip>;
21
+ /**
22
+ * Infobip Error Info schema
23
+ */
24
+ export declare const InfobipErrorInfoSchema: z.ZodObject<{
25
+ groupId: z.ZodOptional<z.ZodNumber>;
26
+ groupName: z.ZodOptional<z.ZodString>;
27
+ id: z.ZodOptional<z.ZodNumber>;
28
+ name: z.ZodOptional<z.ZodString>;
29
+ description: z.ZodOptional<z.ZodString>;
30
+ permanent: z.ZodOptional<z.ZodBoolean>;
31
+ }, z.core.$strip>;
32
+ /**
33
+ * Infobip Price Info schema
34
+ */
35
+ export declare const InfobipPriceInfoSchema: z.ZodObject<{
36
+ pricePerMessage: z.ZodOptional<z.ZodNumber>;
37
+ currency: z.ZodOptional<z.ZodString>;
38
+ }, z.core.$strip>;
39
+ /**
40
+ * Infobip Delivery Result schema
41
+ */
42
+ export declare const InfobipDeliveryResultSchema: z.ZodObject<{
43
+ messageId: z.ZodOptional<z.ZodString>;
44
+ to: z.ZodOptional<z.ZodString>;
45
+ bulkId: z.ZodOptional<z.ZodString>;
46
+ sentAt: z.ZodOptional<z.ZodString>;
47
+ doneAt: z.ZodOptional<z.ZodString>;
48
+ status: z.ZodOptional<z.ZodObject<{
49
+ groupId: z.ZodOptional<z.ZodNumber>;
50
+ groupName: z.ZodOptional<z.ZodString>;
51
+ id: z.ZodOptional<z.ZodNumber>;
52
+ name: z.ZodOptional<z.ZodString>;
53
+ description: z.ZodOptional<z.ZodString>;
54
+ action: z.ZodOptional<z.ZodString>;
55
+ }, z.core.$strip>>;
56
+ error: z.ZodOptional<z.ZodObject<{
57
+ groupId: z.ZodOptional<z.ZodNumber>;
58
+ groupName: z.ZodOptional<z.ZodString>;
59
+ id: z.ZodOptional<z.ZodNumber>;
60
+ name: z.ZodOptional<z.ZodString>;
61
+ description: z.ZodOptional<z.ZodString>;
62
+ permanent: z.ZodOptional<z.ZodBoolean>;
63
+ }, z.core.$strip>>;
64
+ attemptCount: z.ZodOptional<z.ZodNumber>;
65
+ timeToFirstAttempt: z.ZodOptional<z.ZodNumber>;
66
+ sendingIp: z.ZodOptional<z.ZodString>;
67
+ price: z.ZodOptional<z.ZodObject<{
68
+ pricePerMessage: z.ZodOptional<z.ZodNumber>;
69
+ currency: z.ZodOptional<z.ZodString>;
70
+ }, z.core.$strip>>;
71
+ smsCount: z.ZodOptional<z.ZodNumber>;
72
+ browserLink: z.ZodOptional<z.ZodString>;
73
+ applicationId: z.ZodOptional<z.ZodString>;
74
+ entityId: z.ZodOptional<z.ZodString>;
75
+ campaignReferenceId: z.ZodOptional<z.ZodString>;
76
+ callbackData: z.ZodOptional<z.ZodString>;
77
+ }, z.core.$loose>;
78
+ /**
79
+ * Infobip Delivery Webhook Payload schema
80
+ */
81
+ export declare const InfobipDeliveryWebhookSchema: z.ZodObject<{
82
+ results: z.ZodArray<z.ZodObject<{
83
+ messageId: z.ZodOptional<z.ZodString>;
84
+ to: z.ZodOptional<z.ZodString>;
85
+ bulkId: z.ZodOptional<z.ZodString>;
86
+ sentAt: z.ZodOptional<z.ZodString>;
87
+ doneAt: z.ZodOptional<z.ZodString>;
88
+ status: z.ZodOptional<z.ZodObject<{
89
+ groupId: z.ZodOptional<z.ZodNumber>;
90
+ groupName: z.ZodOptional<z.ZodString>;
91
+ id: z.ZodOptional<z.ZodNumber>;
92
+ name: z.ZodOptional<z.ZodString>;
93
+ description: z.ZodOptional<z.ZodString>;
94
+ action: z.ZodOptional<z.ZodString>;
95
+ }, z.core.$strip>>;
96
+ error: z.ZodOptional<z.ZodObject<{
97
+ groupId: z.ZodOptional<z.ZodNumber>;
98
+ groupName: z.ZodOptional<z.ZodString>;
99
+ id: z.ZodOptional<z.ZodNumber>;
100
+ name: z.ZodOptional<z.ZodString>;
101
+ description: z.ZodOptional<z.ZodString>;
102
+ permanent: z.ZodOptional<z.ZodBoolean>;
103
+ }, z.core.$strip>>;
104
+ attemptCount: z.ZodOptional<z.ZodNumber>;
105
+ timeToFirstAttempt: z.ZodOptional<z.ZodNumber>;
106
+ sendingIp: z.ZodOptional<z.ZodString>;
107
+ price: z.ZodOptional<z.ZodObject<{
108
+ pricePerMessage: z.ZodOptional<z.ZodNumber>;
109
+ currency: z.ZodOptional<z.ZodString>;
110
+ }, z.core.$strip>>;
111
+ smsCount: z.ZodOptional<z.ZodNumber>;
112
+ browserLink: z.ZodOptional<z.ZodString>;
113
+ applicationId: z.ZodOptional<z.ZodString>;
114
+ entityId: z.ZodOptional<z.ZodString>;
115
+ campaignReferenceId: z.ZodOptional<z.ZodString>;
116
+ callbackData: z.ZodOptional<z.ZodString>;
117
+ }, z.core.$loose>>;
118
+ }, z.core.$strip>;
119
+ /**
120
+ * Infobip Geo Location schema
121
+ */
122
+ export declare const InfobipGeoLocationSchema: z.ZodObject<{
123
+ countryName: z.ZodOptional<z.ZodString>;
124
+ countryCode: z.ZodOptional<z.ZodString>;
125
+ regionName: z.ZodOptional<z.ZodString>;
126
+ city: z.ZodOptional<z.ZodString>;
127
+ latitude: z.ZodOptional<z.ZodNumber>;
128
+ longitude: z.ZodOptional<z.ZodNumber>;
129
+ }, z.core.$loose>;
130
+ /**
131
+ * Infobip Recipient Info schema
132
+ */
133
+ export declare const InfobipRecipientInfoSchema: z.ZodObject<{
134
+ messageId: z.ZodOptional<z.ZodNumber>;
135
+ to: z.ZodOptional<z.ZodString>;
136
+ requestId: z.ZodOptional<z.ZodString>;
137
+ sentDateTime: z.ZodOptional<z.ZodNumber>;
138
+ }, z.core.$loose>;
139
+ /**
140
+ * Infobip Tracking Event schema
141
+ */
142
+ export declare const InfobipTrackingEventSchema: z.ZodObject<{
143
+ messageId: z.ZodOptional<z.ZodNumber>;
144
+ bulkId: z.ZodOptional<z.ZodString>;
145
+ recipient: z.ZodOptional<z.ZodString>;
146
+ sender: z.ZodOptional<z.ZodString>;
147
+ domain: z.ZodOptional<z.ZodString>;
148
+ notificationType: z.ZodOptional<z.ZodString>;
149
+ eventId: z.ZodOptional<z.ZodString>;
150
+ sendDateTime: z.ZodOptional<z.ZodNumber>;
151
+ url: z.ZodOptional<z.ZodString>;
152
+ applicationId: z.ZodOptional<z.ZodString>;
153
+ entityId: z.ZodOptional<z.ZodString>;
154
+ campaignReferenceId: z.ZodOptional<z.ZodString>;
155
+ callbackData: z.ZodOptional<z.ZodString>;
156
+ geoLocation: z.ZodOptional<z.ZodObject<{
157
+ countryName: z.ZodOptional<z.ZodString>;
158
+ countryCode: z.ZodOptional<z.ZodString>;
159
+ regionName: z.ZodOptional<z.ZodString>;
160
+ city: z.ZodOptional<z.ZodString>;
161
+ latitude: z.ZodOptional<z.ZodNumber>;
162
+ longitude: z.ZodOptional<z.ZodNumber>;
163
+ }, z.core.$loose>>;
164
+ recipientInfo: z.ZodOptional<z.ZodObject<{
165
+ messageId: z.ZodOptional<z.ZodNumber>;
166
+ to: z.ZodOptional<z.ZodString>;
167
+ requestId: z.ZodOptional<z.ZodString>;
168
+ sentDateTime: z.ZodOptional<z.ZodNumber>;
169
+ }, z.core.$loose>>;
170
+ }, z.core.$loose>;
171
+ /**
172
+ * Infobip Tracking Webhook Payload schema
173
+ * Note: Tracking webhooks send a single event object, not an array
174
+ */
175
+ export declare const InfobipTrackingWebhookSchema: z.ZodObject<{
176
+ messageId: z.ZodOptional<z.ZodNumber>;
177
+ bulkId: z.ZodOptional<z.ZodString>;
178
+ recipient: z.ZodOptional<z.ZodString>;
179
+ sender: z.ZodOptional<z.ZodString>;
180
+ domain: z.ZodOptional<z.ZodString>;
181
+ notificationType: z.ZodOptional<z.ZodString>;
182
+ eventId: z.ZodOptional<z.ZodString>;
183
+ sendDateTime: z.ZodOptional<z.ZodNumber>;
184
+ url: z.ZodOptional<z.ZodString>;
185
+ applicationId: z.ZodOptional<z.ZodString>;
186
+ entityId: z.ZodOptional<z.ZodString>;
187
+ campaignReferenceId: z.ZodOptional<z.ZodString>;
188
+ callbackData: z.ZodOptional<z.ZodString>;
189
+ geoLocation: z.ZodOptional<z.ZodObject<{
190
+ countryName: z.ZodOptional<z.ZodString>;
191
+ countryCode: z.ZodOptional<z.ZodString>;
192
+ regionName: z.ZodOptional<z.ZodString>;
193
+ city: z.ZodOptional<z.ZodString>;
194
+ latitude: z.ZodOptional<z.ZodNumber>;
195
+ longitude: z.ZodOptional<z.ZodNumber>;
196
+ }, z.core.$loose>>;
197
+ recipientInfo: z.ZodOptional<z.ZodObject<{
198
+ messageId: z.ZodOptional<z.ZodNumber>;
199
+ to: z.ZodOptional<z.ZodString>;
200
+ requestId: z.ZodOptional<z.ZodString>;
201
+ sentDateTime: z.ZodOptional<z.ZodNumber>;
202
+ }, z.core.$loose>>;
203
+ }, z.core.$loose>;
204
+ /**
205
+ * SendGrid Event schema
206
+ */
207
+ export declare const SendGridEventSchema: z.ZodObject<{
208
+ email: z.ZodString;
209
+ timestamp: z.ZodNumber;
210
+ event: z.ZodEnum<{
211
+ open: "open";
212
+ click: "click";
213
+ delivered: "delivered";
214
+ deferred: "deferred";
215
+ dropped: "dropped";
216
+ spam_report: "spam_report";
217
+ processed: "processed";
218
+ bounce: "bounce";
219
+ unsubscribe: "unsubscribe";
220
+ group_unsubscribe: "group_unsubscribe";
221
+ group_resubscribe: "group_resubscribe";
222
+ }>;
223
+ sg_event_id: z.ZodString;
224
+ sg_message_id: z.ZodString;
225
+ notification_id: z.ZodOptional<z.ZodString>;
226
+ recipient_id: z.ZodOptional<z.ZodString>;
227
+ category: z.ZodOptional<z.ZodString>;
228
+ url: z.ZodOptional<z.ZodString>;
229
+ reason: z.ZodOptional<z.ZodString>;
230
+ status: z.ZodOptional<z.ZodString>;
231
+ response: z.ZodOptional<z.ZodString>;
232
+ useragent: z.ZodOptional<z.ZodString>;
233
+ ip: z.ZodOptional<z.ZodString>;
234
+ asm_group_id: z.ZodOptional<z.ZodNumber>;
235
+ }, z.core.$loose>;
236
+ /**
237
+ * SendGrid Webhook Payload schema (array of events)
238
+ */
239
+ export declare const SendGridWebhookSchema: z.ZodArray<z.ZodObject<{
240
+ email: z.ZodString;
241
+ timestamp: z.ZodNumber;
242
+ event: z.ZodEnum<{
243
+ open: "open";
244
+ click: "click";
245
+ delivered: "delivered";
246
+ deferred: "deferred";
247
+ dropped: "dropped";
248
+ spam_report: "spam_report";
249
+ processed: "processed";
250
+ bounce: "bounce";
251
+ unsubscribe: "unsubscribe";
252
+ group_unsubscribe: "group_unsubscribe";
253
+ group_resubscribe: "group_resubscribe";
254
+ }>;
255
+ sg_event_id: z.ZodString;
256
+ sg_message_id: z.ZodString;
257
+ notification_id: z.ZodOptional<z.ZodString>;
258
+ recipient_id: z.ZodOptional<z.ZodString>;
259
+ category: z.ZodOptional<z.ZodString>;
260
+ url: z.ZodOptional<z.ZodString>;
261
+ reason: z.ZodOptional<z.ZodString>;
262
+ status: z.ZodOptional<z.ZodString>;
263
+ response: z.ZodOptional<z.ZodString>;
264
+ useragent: z.ZodOptional<z.ZodString>;
265
+ ip: z.ZodOptional<z.ZodString>;
266
+ asm_group_id: z.ZodOptional<z.ZodNumber>;
267
+ }, z.core.$loose>>;
268
+ export type InfobipWebhookEmailStatus = z.infer<typeof InfobipEmailStatusSchema>;
269
+ export type InfobipWebhookErrorInfo = z.infer<typeof InfobipErrorInfoSchema>;
270
+ export type InfobipWebhookPriceInfo = z.infer<typeof InfobipPriceInfoSchema>;
271
+ export type InfobipWebhookDeliveryResult = z.infer<typeof InfobipDeliveryResultSchema>;
272
+ export type InfobipWebhookDeliveryPayload = z.infer<typeof InfobipDeliveryWebhookSchema>;
273
+ export type InfobipWebhookGeoLocation = z.infer<typeof InfobipGeoLocationSchema>;
274
+ export type InfobipWebhookRecipientInfo = z.infer<typeof InfobipRecipientInfoSchema>;
275
+ export type InfobipWebhookTrackingEvent = z.infer<typeof InfobipTrackingEventSchema>;
276
+ export type InfobipWebhookTrackingPayload = z.infer<typeof InfobipTrackingWebhookSchema>;
277
+ export type SendGridWebhookEvent = z.infer<typeof SendGridEventSchema>;
278
+ export type SendGridWebhookPayload = z.infer<typeof SendGridWebhookSchema>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plyaz/types",
3
- "version": "1.13.17",
3
+ "version": "1.14.1",
4
4
  "author": "Redeemer Pace",
5
5
  "license": "ISC",
6
6
  "description": "Provides shared TypeScript types and schema utilities for validation and parsing in the @playz ecosystem.",
@@ -194,7 +194,8 @@
194
194
  "dependencies": {
195
195
  "pino": "^10.0.0",
196
196
  "type-fest": "^4.41.0",
197
- "zustand": "^5.0.0"
197
+ "zustand": "^5.0.0",
198
+ "zod": "^4.1.5"
198
199
  },
199
200
  "devDependencies": {
200
201
  "@changesets/cli": "^2.29.5",
@@ -255,8 +256,7 @@
255
256
  "tsup": "8.5.0",
256
257
  "typescript": "^5",
257
258
  "typescript-eslint": "^8.34.0",
258
- "vitest": "3.2.4",
259
- "zod": "^3.25.64"
259
+ "vitest": "3.2.4"
260
260
  },
261
261
  "peerDependenciesMeta": {
262
262
  "react": {