samva 0.3.0 → 0.5.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 (54) hide show
  1. package/AGENTS.md +1 -1
  2. package/README.md +5 -1
  3. package/dist/{categories-CsUa8ojo.js → categories-B9Nw2v_F.js} +5 -1
  4. package/dist/client/sdk.gen.d.ts +312 -190
  5. package/dist/client/types.gen.d.ts +2284 -728
  6. package/dist/{client-BOghX8fr.js → client-B7gEkvEq.js} +2740 -1036
  7. package/dist/client-attribution-B2yJBXdZ.js +9 -0
  8. package/dist/client-attribution.d.ts +2 -0
  9. package/dist/effect/api-keys.d.ts +51 -51
  10. package/dist/effect/api-keys.js +1 -1
  11. package/dist/effect/campaigns.d.ts +269 -219
  12. package/dist/effect/campaigns.js +1 -1
  13. package/dist/effect/categories.d.ts +6 -6
  14. package/dist/effect/categories.js +1 -1
  15. package/dist/effect/client.js +1 -1
  16. package/dist/effect/contacts.d.ts +225 -225
  17. package/dist/effect/contacts.js +1 -1
  18. package/dist/effect/conversations.d.ts +308 -293
  19. package/dist/effect/conversations.js +1 -1
  20. package/dist/effect/design.d.ts +76 -76
  21. package/dist/effect/design.js +1 -1
  22. package/dist/effect/email.d.ts +923 -213
  23. package/dist/effect/email.js +27 -3
  24. package/dist/effect/generated-metadata.d.ts +4 -0
  25. package/dist/effect/generated.d.ts +14948 -10919
  26. package/dist/effect/index.js +2 -2
  27. package/dist/effect/internal/client.d.ts +1 -1
  28. package/dist/effect/internal/operation.d.ts +31 -20
  29. package/dist/effect/media.d.ts +12 -12
  30. package/dist/effect/media.js +1 -1
  31. package/dist/effect/messages.d.ts +243 -61
  32. package/dist/effect/messages.js +5 -3
  33. package/dist/effect/operations.d.ts +17 -17
  34. package/dist/effect/operations.js +1 -1
  35. package/dist/effect/organizations.d.ts +162 -162
  36. package/dist/effect/organizations.js +1 -1
  37. package/dist/effect/retry.js +1 -1
  38. package/dist/effect/runtime.d.ts +0 -2
  39. package/dist/effect/scheduled-messages.d.ts +375 -277
  40. package/dist/effect/scheduled-messages.js +5 -3
  41. package/dist/effect/templates.d.ts +1383 -1554
  42. package/dist/effect/templates.js +40 -30
  43. package/dist/effect/webhooks.d.ts +81 -47
  44. package/dist/effect/webhooks.js +2 -2
  45. package/dist/index.js +2 -2
  46. package/dist/{normalize-BKFjbR9t.js → normalize-BiIJnycv.js} +2 -3
  47. package/dist/{operation-C2Q4cFJL.js → operation-B4FjN6wq.js} +113 -38
  48. package/dist/promises/errors.gen.d.ts +21 -2
  49. package/dist/promises/index.d.ts +11 -8
  50. package/dist/promises/index.js +2 -2
  51. package/dist/promises/types.gen.d.ts +1 -1
  52. package/dist/{promises-oiy7mOyu.js → promises-CP_nxUus.js} +828 -306
  53. package/dist/service-map.d.ts +136 -44
  54. package/package.json +13 -14
@@ -1,12 +1,13 @@
1
1
  import { type MessageSendInput, type SendOptions } from "./internal/operation";
2
2
  export type { MessageSendInput, SendOptions };
3
3
  export declare const list: ((input?: {
4
- readonly contactId?: string | null | undefined;
5
- readonly conversationId?: string | null | undefined;
6
- readonly channel?: string | null | undefined;
7
- readonly limit?: string | null | undefined;
8
4
  readonly page?: string | null | undefined;
5
+ readonly limit?: string | null | undefined;
6
+ readonly channel?: string | null | undefined;
7
+ readonly direction?: string | null | undefined;
9
8
  readonly status?: string | null | undefined;
9
+ readonly conversationId?: string | null | undefined;
10
+ readonly contactId?: string | null | undefined;
10
11
  readonly startDate?: string | null | undefined;
11
12
  readonly endDate?: string | null | undefined;
12
13
  } | undefined) => import("effect/Effect").Effect<{
@@ -20,12 +21,12 @@ export declare const list: ((input?: {
20
21
  readonly [x: string]: import("./generated").JsonValue;
21
22
  } | null;
22
23
  readonly channel: "email";
23
- readonly direction: "outbound" | "inbound";
24
+ readonly direction: "inbound" | "outbound";
24
25
  readonly content: import("./generated").JsonValue;
25
26
  readonly metadata: {
26
27
  readonly [x: string]: import("./generated").JsonValue;
27
28
  } | null;
28
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
29
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
29
30
  readonly scheduledAt: string | null;
30
31
  readonly tags: readonly string[];
31
32
  readonly categories: readonly string[];
@@ -69,9 +70,9 @@ export declare const list: ((input?: {
69
70
  readonly actorId: string | null;
70
71
  readonly contactId: string | null;
71
72
  readonly identityId: string | null;
72
- readonly kind: "to" | "cc" | "bcc";
73
+ readonly kind: "bcc" | "cc" | "to";
73
74
  readonly address: string;
74
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
75
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
75
76
  readonly createdAt: string;
76
77
  readonly updatedAt: string;
77
78
  readonly contact: {
@@ -87,11 +88,16 @@ export declare const list: ((input?: {
87
88
  } | null;
88
89
  }[];
89
90
  readonly deliveries: readonly {
91
+ readonly scheduling: {
92
+ readonly dueAt: string;
93
+ readonly expiresAt: string;
94
+ readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "provider-unavailable" | "rate" | "retry" | "tenant-health" | null;
95
+ } | null;
90
96
  readonly id: string;
91
97
  readonly messageId: string;
92
98
  readonly recipientId: string | null;
93
99
  readonly channel: "email";
94
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
100
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
95
101
  readonly attemptCount: number;
96
102
  readonly maxAttempts: number;
97
103
  readonly queuedAt: string | null;
@@ -138,7 +144,7 @@ export declare const list: ((input?: {
138
144
  readonly spfVerdict: string | null;
139
145
  readonly dmarcVerdict: string | null;
140
146
  readonly isAutoReply: boolean;
141
- readonly autoReplyReason: "out-of-office" | "auto-response" | "delivery-status" | "read-receipt" | null;
147
+ readonly autoReplyReason: "auto-response" | "delivery-status" | "out-of-office" | "read-receipt" | null;
142
148
  readonly priority: string | null;
143
149
  readonly parsingErrors: readonly string[] | null;
144
150
  readonly parsingDuration: number | null;
@@ -154,14 +160,15 @@ export declare const list: ((input?: {
154
160
  readonly total: number;
155
161
  readonly totalPages: number;
156
162
  };
157
- }, import("./generated").UnauthorizedError | import("./generated").ForbiddenError | import("./generated").InternalError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, import("./client").Service>) & {
163
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>) & {
158
164
  readonly pages: (input?: {
159
- readonly contactId?: string | null | undefined;
160
- readonly conversationId?: string | null | undefined;
161
- readonly channel?: string | null | undefined;
162
- readonly limit?: string | null | undefined;
163
165
  readonly page?: string | null | undefined;
166
+ readonly limit?: string | null | undefined;
167
+ readonly channel?: string | null | undefined;
168
+ readonly direction?: string | null | undefined;
164
169
  readonly status?: string | null | undefined;
170
+ readonly conversationId?: string | null | undefined;
171
+ readonly contactId?: string | null | undefined;
165
172
  readonly startDate?: string | null | undefined;
166
173
  readonly endDate?: string | null | undefined;
167
174
  } | undefined) => import("effect/Stream").Stream<{
@@ -175,12 +182,12 @@ export declare const list: ((input?: {
175
182
  readonly [x: string]: import("./generated").JsonValue;
176
183
  } | null;
177
184
  readonly channel: "email";
178
- readonly direction: "outbound" | "inbound";
185
+ readonly direction: "inbound" | "outbound";
179
186
  readonly content: import("./generated").JsonValue;
180
187
  readonly metadata: {
181
188
  readonly [x: string]: import("./generated").JsonValue;
182
189
  } | null;
183
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
190
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
184
191
  readonly scheduledAt: string | null;
185
192
  readonly tags: readonly string[];
186
193
  readonly categories: readonly string[];
@@ -224,9 +231,9 @@ export declare const list: ((input?: {
224
231
  readonly actorId: string | null;
225
232
  readonly contactId: string | null;
226
233
  readonly identityId: string | null;
227
- readonly kind: "to" | "cc" | "bcc";
234
+ readonly kind: "bcc" | "cc" | "to";
228
235
  readonly address: string;
229
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
236
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
230
237
  readonly createdAt: string;
231
238
  readonly updatedAt: string;
232
239
  readonly contact: {
@@ -242,11 +249,16 @@ export declare const list: ((input?: {
242
249
  } | null;
243
250
  }[];
244
251
  readonly deliveries: readonly {
252
+ readonly scheduling: {
253
+ readonly dueAt: string;
254
+ readonly expiresAt: string;
255
+ readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "provider-unavailable" | "rate" | "retry" | "tenant-health" | null;
256
+ } | null;
245
257
  readonly id: string;
246
258
  readonly messageId: string;
247
259
  readonly recipientId: string | null;
248
260
  readonly channel: "email";
249
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
261
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
250
262
  readonly attemptCount: number;
251
263
  readonly maxAttempts: number;
252
264
  readonly queuedAt: string | null;
@@ -293,7 +305,7 @@ export declare const list: ((input?: {
293
305
  readonly spfVerdict: string | null;
294
306
  readonly dmarcVerdict: string | null;
295
307
  readonly isAutoReply: boolean;
296
- readonly autoReplyReason: "out-of-office" | "auto-response" | "delivery-status" | "read-receipt" | null;
308
+ readonly autoReplyReason: "auto-response" | "delivery-status" | "out-of-office" | "read-receipt" | null;
297
309
  readonly priority: string | null;
298
310
  readonly parsingErrors: readonly string[] | null;
299
311
  readonly parsingDuration: number | null;
@@ -309,14 +321,15 @@ export declare const list: ((input?: {
309
321
  readonly total: number;
310
322
  readonly totalPages: number;
311
323
  };
312
- }, import("./generated").UnauthorizedError | import("./generated").ForbiddenError | import("./generated").InternalError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, import("./client").Service>;
324
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
313
325
  readonly items: (input?: {
314
- readonly contactId?: string | null | undefined;
315
- readonly conversationId?: string | null | undefined;
316
- readonly channel?: string | null | undefined;
317
- readonly limit?: string | null | undefined;
318
326
  readonly page?: string | null | undefined;
327
+ readonly limit?: string | null | undefined;
328
+ readonly channel?: string | null | undefined;
329
+ readonly direction?: string | null | undefined;
319
330
  readonly status?: string | null | undefined;
331
+ readonly conversationId?: string | null | undefined;
332
+ readonly contactId?: string | null | undefined;
320
333
  readonly startDate?: string | null | undefined;
321
334
  readonly endDate?: string | null | undefined;
322
335
  } | undefined) => import("effect/Stream").Stream<{
@@ -329,12 +342,12 @@ export declare const list: ((input?: {
329
342
  readonly [x: string]: import("./generated").JsonValue;
330
343
  } | null;
331
344
  readonly channel: "email";
332
- readonly direction: "outbound" | "inbound";
345
+ readonly direction: "inbound" | "outbound";
333
346
  readonly content: import("./generated").JsonValue;
334
347
  readonly metadata: {
335
348
  readonly [x: string]: import("./generated").JsonValue;
336
349
  } | null;
337
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
350
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
338
351
  readonly scheduledAt: string | null;
339
352
  readonly tags: readonly string[];
340
353
  readonly categories: readonly string[];
@@ -378,9 +391,9 @@ export declare const list: ((input?: {
378
391
  readonly actorId: string | null;
379
392
  readonly contactId: string | null;
380
393
  readonly identityId: string | null;
381
- readonly kind: "to" | "cc" | "bcc";
394
+ readonly kind: "bcc" | "cc" | "to";
382
395
  readonly address: string;
383
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
396
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
384
397
  readonly createdAt: string;
385
398
  readonly updatedAt: string;
386
399
  readonly contact: {
@@ -396,11 +409,16 @@ export declare const list: ((input?: {
396
409
  } | null;
397
410
  }[];
398
411
  readonly deliveries: readonly {
412
+ readonly scheduling: {
413
+ readonly dueAt: string;
414
+ readonly expiresAt: string;
415
+ readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "provider-unavailable" | "rate" | "retry" | "tenant-health" | null;
416
+ } | null;
399
417
  readonly id: string;
400
418
  readonly messageId: string;
401
419
  readonly recipientId: string | null;
402
420
  readonly channel: "email";
403
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
421
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
404
422
  readonly attemptCount: number;
405
423
  readonly maxAttempts: number;
406
424
  readonly queuedAt: string | null;
@@ -447,7 +465,7 @@ export declare const list: ((input?: {
447
465
  readonly spfVerdict: string | null;
448
466
  readonly dmarcVerdict: string | null;
449
467
  readonly isAutoReply: boolean;
450
- readonly autoReplyReason: "out-of-office" | "auto-response" | "delivery-status" | "read-receipt" | null;
468
+ readonly autoReplyReason: "auto-response" | "delivery-status" | "out-of-office" | "read-receipt" | null;
451
469
  readonly priority: string | null;
452
470
  readonly parsingErrors: readonly string[] | null;
453
471
  readonly parsingDuration: number | null;
@@ -456,7 +474,7 @@ export declare const list: ((input?: {
456
474
  readonly createdAt: string;
457
475
  readonly updatedAt: string;
458
476
  }[];
459
- }, import("./generated").UnauthorizedError | import("./generated").ForbiddenError | import("./generated").InternalError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, import("./client").Service>;
477
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
460
478
  };
461
479
  export declare const send: (input: MessageSendInput, options?: SendOptions | undefined) => import("effect/Effect").Effect<{
462
480
  readonly id: string;
@@ -468,12 +486,12 @@ export declare const send: (input: MessageSendInput, options?: SendOptions | und
468
486
  readonly [x: string]: import("./generated").JsonValue;
469
487
  } | null;
470
488
  readonly channel: "email";
471
- readonly direction: "outbound" | "inbound";
489
+ readonly direction: "inbound" | "outbound";
472
490
  readonly content: import("./generated").JsonValue;
473
491
  readonly metadata: {
474
492
  readonly [x: string]: import("./generated").JsonValue;
475
493
  } | null;
476
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
494
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
477
495
  readonly scheduledAt: string | null;
478
496
  readonly tags: readonly string[];
479
497
  readonly categories: readonly string[];
@@ -517,9 +535,9 @@ export declare const send: (input: MessageSendInput, options?: SendOptions | und
517
535
  readonly actorId: string | null;
518
536
  readonly contactId: string | null;
519
537
  readonly identityId: string | null;
520
- readonly kind: "to" | "cc" | "bcc";
538
+ readonly kind: "bcc" | "cc" | "to";
521
539
  readonly address: string;
522
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
540
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
523
541
  readonly createdAt: string;
524
542
  readonly updatedAt: string;
525
543
  readonly contact: {
@@ -535,11 +553,16 @@ export declare const send: (input: MessageSendInput, options?: SendOptions | und
535
553
  } | null;
536
554
  }[];
537
555
  readonly deliveries: readonly {
556
+ readonly scheduling: {
557
+ readonly dueAt: string;
558
+ readonly expiresAt: string;
559
+ readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "provider-unavailable" | "rate" | "retry" | "tenant-health" | null;
560
+ } | null;
538
561
  readonly id: string;
539
562
  readonly messageId: string;
540
563
  readonly recipientId: string | null;
541
564
  readonly channel: "email";
542
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
565
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
543
566
  readonly attemptCount: number;
544
567
  readonly maxAttempts: number;
545
568
  readonly queuedAt: string | null;
@@ -586,7 +609,7 @@ export declare const send: (input: MessageSendInput, options?: SendOptions | und
586
609
  readonly spfVerdict: string | null;
587
610
  readonly dmarcVerdict: string | null;
588
611
  readonly isAutoReply: boolean;
589
- readonly autoReplyReason: "out-of-office" | "auto-response" | "delivery-status" | "read-receipt" | null;
612
+ readonly autoReplyReason: "auto-response" | "delivery-status" | "out-of-office" | "read-receipt" | null;
590
613
  readonly priority: string | null;
591
614
  readonly parsingErrors: readonly string[] | null;
592
615
  readonly parsingDuration: number | null;
@@ -595,7 +618,129 @@ export declare const send: (input: MessageSendInput, options?: SendOptions | und
595
618
  readonly createdAt: string;
596
619
  readonly updatedAt: string;
597
620
  }[];
598
- }, import("./generated").UnauthorizedError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").PaymentRequiredError | import("./generated").ResourceNotFoundError | import("./generated").ValidationError | import("./generated").BillingProviderError | import("./generated").FlagDisabledError | import("./generated").ConflictError | import("./generated").ExternalServiceError | import("./generated").RateLimitedError | import("./generated").WebhookEnqueueError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, import("./client").Service>;
621
+ }, import("./generated").BillingProviderError | import("./generated").ConflictError | import("./generated").ExternalServiceError | import("./generated").FlagDisabledError | import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").OnboardingReviewRequiredError | import("./generated").PaymentRequiredError | import("./generated").RateLimitedError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("./generated").WebhookEnqueueError, import("./client").Service>;
622
+ export declare const validateEmail: (input: {
623
+ readonly conversationId?: string | null | undefined;
624
+ readonly metadata?: {
625
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | {
626
+ readonly [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null | undefined;
627
+ } | null)[] | {
628
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
629
+ } | null)[] | {
630
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
631
+ } | null)[] | {
632
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
633
+ } | null)[] | {
634
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
635
+ } | null)[] | {
636
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
637
+ } | null)[] | {
638
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
639
+ } | null)[] | {
640
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
641
+ } | null)[] | {
642
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
643
+ } | null)[] | {
644
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
645
+ } | null)[] | {
646
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
647
+ } | null)[] | {
648
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
649
+ } | null | undefined;
650
+ } | null | undefined;
651
+ readonly channel: string;
652
+ readonly to: readonly ({
653
+ readonly contactId: string;
654
+ } | {
655
+ readonly email: string;
656
+ readonly name?: string | null | undefined;
657
+ readonly displayName?: string | null | undefined;
658
+ })[];
659
+ readonly cc?: readonly ({
660
+ readonly contactId: string;
661
+ } | {
662
+ readonly email: string;
663
+ readonly name?: string | null | undefined;
664
+ readonly displayName?: string | null | undefined;
665
+ })[] | null | undefined;
666
+ readonly bcc?: readonly ({
667
+ readonly contactId: string;
668
+ } | {
669
+ readonly email: string;
670
+ readonly name?: string | null | undefined;
671
+ readonly displayName?: string | null | undefined;
672
+ })[] | null | undefined;
673
+ readonly from?: {
674
+ readonly email: string;
675
+ readonly name?: string | null | undefined;
676
+ } | null | undefined;
677
+ readonly email: {
678
+ readonly subject?: string | null | undefined;
679
+ readonly html?: string | null | undefined;
680
+ readonly text?: string | null | undefined;
681
+ readonly attachments?: readonly {
682
+ readonly filename: string;
683
+ readonly content?: string | null | undefined;
684
+ readonly mediaId?: string | null | undefined;
685
+ readonly contentType: string;
686
+ readonly size: number;
687
+ }[] | null | undefined;
688
+ readonly publicationId?: string | undefined;
689
+ readonly inputContractId?: string | undefined;
690
+ readonly templateId?: string | null | undefined;
691
+ readonly templateSlug?: string | null | undefined;
692
+ readonly templateData?: {
693
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | {
694
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
695
+ } | null)[] | {
696
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
697
+ } | null)[] | {
698
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
699
+ } | null)[] | {
700
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
701
+ } | null)[] | {
702
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
703
+ } | null)[] | {
704
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
705
+ } | null)[] | {
706
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
707
+ } | null)[] | {
708
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
709
+ } | null)[] | {
710
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
711
+ } | null)[] | {
712
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
713
+ } | null)[] | {
714
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
715
+ } | null)[] | {
716
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
717
+ } | null | undefined;
718
+ } | null | undefined;
719
+ readonly inReplyToMessageId?: string | null | undefined;
720
+ readonly replyTo?: readonly string[] | null | undefined;
721
+ readonly unsubscribeGroupId?: string | null | undefined;
722
+ readonly tracking?: {
723
+ readonly opens?: boolean | undefined;
724
+ readonly clicks?: boolean | undefined;
725
+ } | undefined;
726
+ readonly footer?: {
727
+ readonly enabled?: boolean | null | undefined;
728
+ } | undefined;
729
+ };
730
+ }) => import("effect/Effect").Effect<{
731
+ readonly valid: true;
732
+ readonly from: {
733
+ readonly email: string;
734
+ readonly name: string | null;
735
+ };
736
+ readonly recipientCount: number;
737
+ readonly content: {
738
+ readonly source: "inline" | "template";
739
+ readonly subject: string;
740
+ readonly hasHtml: boolean;
741
+ readonly hasText: boolean;
742
+ };
743
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
599
744
  export declare const get: (input: {
600
745
  readonly id: string;
601
746
  }) => import("effect/Effect").Effect<{
@@ -608,12 +753,12 @@ export declare const get: (input: {
608
753
  readonly [x: string]: import("./generated").JsonValue;
609
754
  } | null;
610
755
  readonly channel: "email";
611
- readonly direction: "outbound" | "inbound";
756
+ readonly direction: "inbound" | "outbound";
612
757
  readonly content: import("./generated").JsonValue;
613
758
  readonly metadata: {
614
759
  readonly [x: string]: import("./generated").JsonValue;
615
760
  } | null;
616
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
761
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
617
762
  readonly scheduledAt: string | null;
618
763
  readonly tags: readonly string[];
619
764
  readonly categories: readonly string[];
@@ -657,9 +802,9 @@ export declare const get: (input: {
657
802
  readonly actorId: string | null;
658
803
  readonly contactId: string | null;
659
804
  readonly identityId: string | null;
660
- readonly kind: "to" | "cc" | "bcc";
805
+ readonly kind: "bcc" | "cc" | "to";
661
806
  readonly address: string;
662
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
807
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
663
808
  readonly createdAt: string;
664
809
  readonly updatedAt: string;
665
810
  readonly contact: {
@@ -675,11 +820,16 @@ export declare const get: (input: {
675
820
  } | null;
676
821
  }[];
677
822
  readonly deliveries: readonly {
823
+ readonly scheduling: {
824
+ readonly dueAt: string;
825
+ readonly expiresAt: string;
826
+ readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "provider-unavailable" | "rate" | "retry" | "tenant-health" | null;
827
+ } | null;
678
828
  readonly id: string;
679
829
  readonly messageId: string;
680
830
  readonly recipientId: string | null;
681
831
  readonly channel: "email";
682
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
832
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
683
833
  readonly attemptCount: number;
684
834
  readonly maxAttempts: number;
685
835
  readonly queuedAt: string | null;
@@ -726,7 +876,7 @@ export declare const get: (input: {
726
876
  readonly spfVerdict: string | null;
727
877
  readonly dmarcVerdict: string | null;
728
878
  readonly isAutoReply: boolean;
729
- readonly autoReplyReason: "out-of-office" | "auto-response" | "delivery-status" | "read-receipt" | null;
879
+ readonly autoReplyReason: "auto-response" | "delivery-status" | "out-of-office" | "read-receipt" | null;
730
880
  readonly priority: string | null;
731
881
  readonly parsingErrors: readonly string[] | null;
732
882
  readonly parsingDuration: number | null;
@@ -735,18 +885,50 @@ export declare const get: (input: {
735
885
  readonly createdAt: string;
736
886
  readonly updatedAt: string;
737
887
  }[];
738
- }, import("./generated").UnauthorizedError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, import("./client").Service>;
888
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
739
889
  export declare const getEmail: (input: {
740
890
  readonly id: string;
741
891
  readonly includeS3Urls?: string | null | undefined;
742
892
  readonly urlExpiresIn?: string | null | undefined;
743
893
  }) => import("effect/Effect").Effect<{
894
+ readonly deliveries: readonly {
895
+ readonly scheduling: {
896
+ readonly dueAt: string;
897
+ readonly expiresAt: string;
898
+ readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "provider-unavailable" | "rate" | "retry" | "tenant-health" | null;
899
+ } | null;
900
+ readonly id: string;
901
+ readonly messageId: string;
902
+ readonly recipientId: string | null;
903
+ readonly channel: "email";
904
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
905
+ readonly attemptCount: number;
906
+ readonly maxAttempts: number;
907
+ readonly queuedAt: string | null;
908
+ readonly claimedAt: string | null;
909
+ readonly lastAttemptAt: string | null;
910
+ readonly nextRetryAt: string | null;
911
+ readonly sentAt: string | null;
912
+ readonly deliveredAt: string | null;
913
+ readonly readAt: string | null;
914
+ readonly failedAt: string | null;
915
+ readonly terminalAt: string | null;
916
+ readonly errorCode: string | null;
917
+ readonly errorMessage: string | null;
918
+ readonly errorDetails: import("./generated").JsonValue;
919
+ readonly cost: string;
920
+ readonly currency: string;
921
+ readonly idempotencyKey: string | null;
922
+ readonly metadata: import("./generated").JsonValue;
923
+ readonly createdAt: string;
924
+ readonly updatedAt: string;
925
+ }[];
744
926
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
745
927
  readonly organizationId: string;
746
928
  readonly conversationId: (string & import("effect/Brand").Brand<"ConversationId">) | null;
747
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
929
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
748
930
  readonly channel: "email";
749
- readonly direction: "outbound" | "inbound";
931
+ readonly direction: "inbound" | "outbound";
750
932
  readonly subject: string | null;
751
933
  readonly fromEmail: string;
752
934
  readonly fromName: string | null;
@@ -770,14 +952,14 @@ export declare const getEmail: (input: {
770
952
  readonly newContent: string | null;
771
953
  readonly quotedContent: string | null;
772
954
  readonly hasQuotedContent: boolean;
773
- readonly dkimVerdict: "pass" | "fail" | "softfail" | "neutral" | "none" | "policy" | "temperror" | "permerror" | null;
774
- readonly spfVerdict: "pass" | "fail" | "softfail" | "neutral" | "none" | "policy" | "temperror" | "permerror" | null;
775
- readonly dmarcVerdict: "pass" | "fail" | "softfail" | "neutral" | "none" | "policy" | "temperror" | "permerror" | null;
955
+ readonly dkimVerdict: "fail" | "neutral" | "none" | "pass" | "permerror" | "policy" | "softfail" | "temperror" | null;
956
+ readonly spfVerdict: "fail" | "neutral" | "none" | "pass" | "permerror" | "policy" | "softfail" | "temperror" | null;
957
+ readonly dmarcVerdict: "fail" | "neutral" | "none" | "pass" | "permerror" | "policy" | "softfail" | "temperror" | null;
776
958
  readonly isAutoReply: boolean;
777
- readonly autoReplyReason: "out-of-office" | "auto-response" | "delivery-status" | "read-receipt" | null;
959
+ readonly autoReplyReason: "auto-response" | "delivery-status" | "out-of-office" | "read-receipt" | null;
778
960
  readonly listUnsubscribeUrl: string | null;
779
961
  readonly listUnsubscribeEmail: string | null;
780
- readonly priority: "low" | "high" | "normal" | null;
962
+ readonly priority: "high" | "low" | "normal" | null;
781
963
  readonly parsingErrors: readonly string[] | null;
782
964
  readonly parsingDuration: number | null;
783
965
  readonly hasAttachments: boolean;
@@ -799,29 +981,29 @@ export declare const getEmail: (input: {
799
981
  readonly createdAt: string;
800
982
  readonly receivedAt: string | null;
801
983
  readonly processedAt: string | null;
802
- }, import("./generated").UnauthorizedError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, import("./client").Service>;
984
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
803
985
  export declare const remove: (input: {
804
986
  readonly id: string;
805
987
  }) => import("effect/Effect").Effect<{
806
988
  readonly success: boolean;
807
989
  readonly message: string;
808
- }, import("./generated").UnauthorizedError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, import("./client").Service>;
990
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
809
991
  export declare const getStatus: (input: {
810
992
  readonly id: string;
811
993
  }) => import("effect/Effect").Effect<{
812
994
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
813
- readonly status: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained";
995
+ readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
814
996
  readonly updatedAt: string;
815
- }, import("./generated").UnauthorizedError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, import("./client").Service>;
997
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
816
998
  export declare const getEvents: (input: {
817
999
  readonly id: string;
818
1000
  }) => import("effect/Effect").Effect<readonly {
819
1001
  readonly id: string & import("effect/Brand").Brand<"MessageEventId">;
820
- readonly status: string;
821
1002
  readonly messageId: string & import("effect/Brand").Brand<"MessageId">;
822
- readonly timestamp: string;
823
1003
  readonly eventType: string;
1004
+ readonly status: string;
1005
+ readonly timestamp: string;
824
1006
  readonly metadata?: {
825
1007
  readonly [x: string]: import("./generated").JsonValue;
826
1008
  } | null;
827
- }[], import("./generated").UnauthorizedError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, import("./client").Service>;
1009
+ }[], import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.js";
2
- import { i as sendMessage, n as make } from "../operation-C2Q4cFJL.js";
2
+ import { i as sendMessage, n as make } from "../operation-B4FjN6wq.js";
3
3
  //#region src/effect/messages.ts
4
4
  var messages_exports = /* @__PURE__ */ __exportAll({
5
5
  get: () => get,
@@ -8,16 +8,18 @@ var messages_exports = /* @__PURE__ */ __exportAll({
8
8
  getStatus: () => getStatus,
9
9
  list: () => list,
10
10
  remove: () => remove,
11
- send: () => send
11
+ send: () => send,
12
+ validateEmail: () => validateEmail
12
13
  });
13
14
  const list = make("messagesList");
14
15
  const send = sendMessage;
16
+ const validateEmail = make("messagesValidateEmail");
15
17
  const get = make("messagesGet");
16
18
  const getEmail = make("messagesGetEmail");
17
19
  const remove = make("messagesRemove");
18
20
  const getStatus = make("messagesGetStatus");
19
21
  const getEvents = make("messagesGetEvents");
20
22
  //#endregion
21
- export { get, getEmail, getEvents, getStatus, list, remove, send, messages_exports as t };
23
+ export { get, getEmail, getEvents, getStatus, list, remove, send, messages_exports as t, validateEmail };
22
24
 
23
25
  //# sourceMappingURL=messages.js.map