samva 0.18.0 → 0.19.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 (47) hide show
  1. package/README.md +2 -0
  2. package/dist/client/sdk.gen.d.ts +39 -23
  3. package/dist/client/sdk.gen.js +83 -21
  4. package/dist/client/types.gen.d.ts +175 -44
  5. package/dist/effect/contact-groups.d.ts +39 -3
  6. package/dist/effect/contacts.d.ts +216 -13
  7. package/dist/effect/contacts.js +3 -1
  8. package/dist/effect/conversations.d.ts +11 -11
  9. package/dist/effect/extension-installations.d.ts +12 -12
  10. package/dist/effect/extensions.d.ts +3 -3
  11. package/dist/effect/generated/contact-groups.d.ts +33 -3
  12. package/dist/effect/generated/contacts.d.ts +477 -54
  13. package/dist/effect/generated/contacts.js +39 -9
  14. package/dist/effect/generated/conversations.d.ts +25 -25
  15. package/dist/effect/generated/conversations.js +1 -1
  16. package/dist/effect/generated/extension-installations.d.ts +44 -44
  17. package/dist/effect/generated/extension-installations.js +6 -0
  18. package/dist/effect/generated/extensions.d.ts +10 -10
  19. package/dist/effect/generated/extensions.js +2 -0
  20. package/dist/effect/generated/mailboxes.d.ts +310 -0
  21. package/dist/effect/generated/mailboxes.js +37 -4
  22. package/dist/effect/generated/messages.d.ts +31 -0
  23. package/dist/effect/generated/messages.js +7 -1
  24. package/dist/effect/generated/organizations.d.ts +13 -11
  25. package/dist/effect/generated/organizations.js +7 -3
  26. package/dist/effect/generated/shared.d.ts +70 -20
  27. package/dist/effect/generated/shared.js +27 -7
  28. package/dist/effect/generated/unsubscribe-groups.d.ts +173 -78
  29. package/dist/effect/generated/unsubscribe-groups.js +75 -58
  30. package/dist/effect/generated/webhooks.d.ts +19 -19
  31. package/dist/effect/generated/webhooks.js +8 -0
  32. package/dist/effect/generated-metadata.d.ts +7 -2
  33. package/dist/effect/generated-metadata.js +331 -325
  34. package/dist/effect/mailboxes.d.ts +133 -1
  35. package/dist/effect/messages.d.ts +5 -0
  36. package/dist/effect/organizations.d.ts +4 -4
  37. package/dist/effect/unsubscribe-groups.d.ts +29 -18
  38. package/dist/effect/unsubscribe-groups.js +5 -5
  39. package/dist/effect/webhooks.d.ts +8 -8
  40. package/dist/mailbox-events.d.ts +31 -4
  41. package/dist/mailbox-events.js +39 -11
  42. package/dist/package.js +1 -1
  43. package/dist/promises/index.d.ts +1 -1
  44. package/dist/promises/types.gen.d.ts +1 -1
  45. package/dist/service-map.d.ts +9 -4
  46. package/dist/service-map.js +10 -2
  47. package/package.json +2 -2
@@ -97,7 +97,7 @@ export declare const create: (input: {
97
97
  readonly displayName?: string | null | undefined;
98
98
  readonly avatar?: string | null | undefined;
99
99
  readonly identities?: readonly {
100
- readonly channel: "email";
100
+ readonly type: "email" | "phone";
101
101
  readonly identifier: string;
102
102
  readonly verified?: boolean | null | undefined;
103
103
  }[] | null | undefined;
@@ -170,9 +170,21 @@ export declare const create: (input: {
170
170
  readonly externalId: string | null;
171
171
  readonly identities: readonly {
172
172
  readonly id: string & import("effect/Brand").Brand<"ContactIdentityId">;
173
- readonly channel: "email";
173
+ readonly type: "email" | "phone";
174
174
  readonly identifier: string;
175
175
  readonly verified: boolean;
176
+ readonly channels: readonly {
177
+ readonly channel: "email";
178
+ readonly reachability: "reachable" | "unknown" | "unreachable";
179
+ readonly consent: {
180
+ readonly status: "opted_in" | "opted_out";
181
+ readonly source: string;
182
+ readonly capturedAt: string;
183
+ readonly proof: {
184
+ readonly [x: string]: import("./generated").JsonValue;
185
+ } | null;
186
+ } | null;
187
+ }[];
176
188
  }[];
177
189
  readonly profile: {
178
190
  readonly firstName?: string | null;
@@ -223,9 +235,21 @@ export declare const find: (input?: {
223
235
  readonly externalId: string | null;
224
236
  readonly identities: readonly {
225
237
  readonly id: string & import("effect/Brand").Brand<"ContactIdentityId">;
226
- readonly channel: "email";
238
+ readonly type: "email" | "phone";
227
239
  readonly identifier: string;
228
240
  readonly verified: boolean;
241
+ readonly channels: readonly {
242
+ readonly channel: "email";
243
+ readonly reachability: "reachable" | "unknown" | "unreachable";
244
+ readonly consent: {
245
+ readonly status: "opted_in" | "opted_out";
246
+ readonly source: string;
247
+ readonly capturedAt: string;
248
+ readonly proof: {
249
+ readonly [x: string]: import("./generated").JsonValue;
250
+ } | null;
251
+ } | null;
252
+ }[];
229
253
  }[];
230
254
  readonly profile: {
231
255
  readonly firstName?: string | null;
@@ -278,7 +302,7 @@ export declare const findOrCreate: (input: {
278
302
  readonly displayName?: string | null | undefined;
279
303
  readonly avatar?: string | null | undefined;
280
304
  readonly identities?: readonly {
281
- readonly channel: "email";
305
+ readonly type: "email" | "phone";
282
306
  readonly identifier: string;
283
307
  readonly verified?: boolean | null | undefined;
284
308
  }[] | null | undefined;
@@ -311,9 +335,21 @@ export declare const findOrCreate: (input: {
311
335
  readonly externalId: string | null;
312
336
  readonly identities: readonly {
313
337
  readonly id: string & import("effect/Brand").Brand<"ContactIdentityId">;
314
- readonly channel: "email";
338
+ readonly type: "email" | "phone";
315
339
  readonly identifier: string;
316
340
  readonly verified: boolean;
341
+ readonly channels: readonly {
342
+ readonly channel: "email";
343
+ readonly reachability: "reachable" | "unknown" | "unreachable";
344
+ readonly consent: {
345
+ readonly status: "opted_in" | "opted_out";
346
+ readonly source: string;
347
+ readonly capturedAt: string;
348
+ readonly proof: {
349
+ readonly [x: string]: import("./generated").JsonValue;
350
+ } | null;
351
+ } | null;
352
+ }[];
317
353
  }[];
318
354
  readonly profile: {
319
355
  readonly firstName?: string | null;
@@ -364,9 +400,21 @@ export declare const get: (input: {
364
400
  readonly externalId: string | null;
365
401
  readonly identities: readonly {
366
402
  readonly id: string & import("effect/Brand").Brand<"ContactIdentityId">;
367
- readonly channel: "email";
403
+ readonly type: "email" | "phone";
368
404
  readonly identifier: string;
369
405
  readonly verified: boolean;
406
+ readonly channels: readonly {
407
+ readonly channel: "email";
408
+ readonly reachability: "reachable" | "unknown" | "unreachable";
409
+ readonly consent: {
410
+ readonly status: "opted_in" | "opted_out";
411
+ readonly source: string;
412
+ readonly capturedAt: string;
413
+ readonly proof: {
414
+ readonly [x: string]: import("./generated").JsonValue;
415
+ } | null;
416
+ } | null;
417
+ }[];
370
418
  }[];
371
419
  readonly profile: {
372
420
  readonly firstName?: string | null;
@@ -480,9 +528,21 @@ export declare const update: (input: {
480
528
  readonly externalId: string | null;
481
529
  readonly identities: readonly {
482
530
  readonly id: string & import("effect/Brand").Brand<"ContactIdentityId">;
483
- readonly channel: "email";
531
+ readonly type: "email" | "phone";
484
532
  readonly identifier: string;
485
533
  readonly verified: boolean;
534
+ readonly channels: readonly {
535
+ readonly channel: "email";
536
+ readonly reachability: "reachable" | "unknown" | "unreachable";
537
+ readonly consent: {
538
+ readonly status: "opted_in" | "opted_out";
539
+ readonly source: string;
540
+ readonly capturedAt: string;
541
+ readonly proof: {
542
+ readonly [x: string]: import("./generated").JsonValue;
543
+ } | null;
544
+ } | null;
545
+ }[];
486
546
  }[];
487
547
  readonly profile: {
488
548
  readonly firstName?: string | null;
@@ -521,7 +581,7 @@ export declare const update: (input: {
521
581
  }, import("./errors").BillingProviderError | import("./errors").ForbiddenError | import("./errors").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./errors").InternalError | import("./errors").PaymentRequiredError | import("./errors").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./errors").UnauthorizedError | import("./errors").ValidationError, import("./client").Service>;
522
582
  export declare const addIdentity: (input: {
523
583
  readonly id: string;
524
- readonly channel: "email";
584
+ readonly type: "email" | "phone";
525
585
  readonly identifier: string;
526
586
  readonly verified?: boolean | null | undefined;
527
587
  }) => import("effect/Effect").Effect<{
@@ -534,9 +594,21 @@ export declare const addIdentity: (input: {
534
594
  readonly externalId: string | null;
535
595
  readonly identities: readonly {
536
596
  readonly id: string & import("effect/Brand").Brand<"ContactIdentityId">;
537
- readonly channel: "email";
597
+ readonly type: "email" | "phone";
538
598
  readonly identifier: string;
539
599
  readonly verified: boolean;
600
+ readonly channels: readonly {
601
+ readonly channel: "email";
602
+ readonly reachability: "reachable" | "unknown" | "unreachable";
603
+ readonly consent: {
604
+ readonly status: "opted_in" | "opted_out";
605
+ readonly source: string;
606
+ readonly capturedAt: string;
607
+ readonly proof: {
608
+ readonly [x: string]: import("./generated").JsonValue;
609
+ } | null;
610
+ } | null;
611
+ }[];
540
612
  }[];
541
613
  readonly profile: {
542
614
  readonly firstName?: string | null;
@@ -586,9 +658,116 @@ export declare const removeIdentity: (input: {
586
658
  readonly externalId: string | null;
587
659
  readonly identities: readonly {
588
660
  readonly id: string & import("effect/Brand").Brand<"ContactIdentityId">;
589
- readonly channel: "email";
661
+ readonly type: "email" | "phone";
590
662
  readonly identifier: string;
591
663
  readonly verified: boolean;
664
+ readonly channels: readonly {
665
+ readonly channel: "email";
666
+ readonly reachability: "reachable" | "unknown" | "unreachable";
667
+ readonly consent: {
668
+ readonly status: "opted_in" | "opted_out";
669
+ readonly source: string;
670
+ readonly capturedAt: string;
671
+ readonly proof: {
672
+ readonly [x: string]: import("./generated").JsonValue;
673
+ } | null;
674
+ } | null;
675
+ }[];
676
+ }[];
677
+ readonly profile: {
678
+ readonly firstName?: string | null;
679
+ readonly lastName?: string | null;
680
+ readonly company?: string | null;
681
+ readonly jobTitle?: string | null;
682
+ readonly location?: {
683
+ readonly country: string;
684
+ readonly state: string;
685
+ readonly city: string;
686
+ readonly timezone: string;
687
+ } | null;
688
+ readonly customFields?: {
689
+ readonly [x: string]: string | number | boolean | null;
690
+ } | null;
691
+ readonly source?: "api" | "form" | "import" | "manual" | null;
692
+ } | null;
693
+ readonly preferences: {
694
+ readonly preferredChannels?: readonly "email"[] | null;
695
+ readonly language?: string | null;
696
+ readonly timezone?: string | null;
697
+ readonly notifications?: {
698
+ readonly email?: boolean | null;
699
+ readonly quiet_hours?: {
700
+ readonly start: string;
701
+ readonly end: string;
702
+ } | null;
703
+ } | null;
704
+ } | null;
705
+ readonly tags: readonly string[];
706
+ readonly metadata: {
707
+ readonly [x: string]: import("./generated").JsonValue;
708
+ } | null;
709
+ readonly createdAt: string;
710
+ readonly updatedAt: string;
711
+ }, import("./errors").ForbiddenError | import("./errors").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./errors").InternalError | import("./errors").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./errors").UnauthorizedError | import("./errors").ValidationError, import("./client").Service>;
712
+ export declare const setConsent: (input: {
713
+ readonly id: string;
714
+ readonly identityId: string;
715
+ readonly channel: "email";
716
+ readonly status: "opted_in" | "opted_out";
717
+ readonly source: string;
718
+ readonly capturedAt: string;
719
+ readonly proof?: {
720
+ 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 | {
721
+ readonly [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null | undefined;
722
+ } | null)[] | {
723
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
724
+ } | null)[] | {
725
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
726
+ } | null)[] | {
727
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
728
+ } | null)[] | {
729
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
730
+ } | null)[] | {
731
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
732
+ } | null)[] | {
733
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
734
+ } | null)[] | {
735
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
736
+ } | null)[] | {
737
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
738
+ } | null)[] | {
739
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
740
+ } | null)[] | {
741
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
742
+ } | null)[] | {
743
+ readonly [x: string]: string | number | boolean | any | any | null | undefined;
744
+ } | null | undefined;
745
+ } | null | undefined;
746
+ }) => import("effect/Effect").Effect<{
747
+ readonly id: string & import("effect/Brand").Brand<"ContactId">;
748
+ readonly name: string;
749
+ readonly displayName: string | null;
750
+ readonly avatar: string | null;
751
+ readonly status: "active" | "archived" | "blocked" | "paused";
752
+ readonly statusReason: string | null;
753
+ readonly externalId: string | null;
754
+ readonly identities: readonly {
755
+ readonly id: string & import("effect/Brand").Brand<"ContactIdentityId">;
756
+ readonly type: "email" | "phone";
757
+ readonly identifier: string;
758
+ readonly verified: boolean;
759
+ readonly channels: readonly {
760
+ readonly channel: "email";
761
+ readonly reachability: "reachable" | "unknown" | "unreachable";
762
+ readonly consent: {
763
+ readonly status: "opted_in" | "opted_out";
764
+ readonly source: string;
765
+ readonly capturedAt: string;
766
+ readonly proof: {
767
+ readonly [x: string]: import("./generated").JsonValue;
768
+ } | null;
769
+ } | null;
770
+ }[];
592
771
  }[];
593
772
  readonly profile: {
594
773
  readonly firstName?: string | null;
@@ -638,9 +817,21 @@ export declare const addTags: (input: {
638
817
  readonly externalId: string | null;
639
818
  readonly identities: readonly {
640
819
  readonly id: string & import("effect/Brand").Brand<"ContactIdentityId">;
641
- readonly channel: "email";
820
+ readonly type: "email" | "phone";
642
821
  readonly identifier: string;
643
822
  readonly verified: boolean;
823
+ readonly channels: readonly {
824
+ readonly channel: "email";
825
+ readonly reachability: "reachable" | "unknown" | "unreachable";
826
+ readonly consent: {
827
+ readonly status: "opted_in" | "opted_out";
828
+ readonly source: string;
829
+ readonly capturedAt: string;
830
+ readonly proof: {
831
+ readonly [x: string]: import("./generated").JsonValue;
832
+ } | null;
833
+ } | null;
834
+ }[];
644
835
  }[];
645
836
  readonly profile: {
646
837
  readonly firstName?: string | null;
@@ -690,9 +881,21 @@ export declare const removeTags: (input: {
690
881
  readonly externalId: string | null;
691
882
  readonly identities: readonly {
692
883
  readonly id: string & import("effect/Brand").Brand<"ContactIdentityId">;
693
- readonly channel: "email";
884
+ readonly type: "email" | "phone";
694
885
  readonly identifier: string;
695
886
  readonly verified: boolean;
887
+ readonly channels: readonly {
888
+ readonly channel: "email";
889
+ readonly reachability: "reachable" | "unknown" | "unreachable";
890
+ readonly consent: {
891
+ readonly status: "opted_in" | "opted_out";
892
+ readonly source: string;
893
+ readonly capturedAt: string;
894
+ readonly proof: {
895
+ readonly [x: string]: import("./generated").JsonValue;
896
+ } | null;
897
+ } | null;
898
+ }[];
696
899
  }[];
697
900
  readonly profile: {
698
901
  readonly firstName?: string | null;
@@ -747,7 +950,7 @@ export declare const bulkImport: (input: {
747
950
  readonly displayName?: string | null | undefined;
748
951
  readonly avatar?: string | null | undefined;
749
952
  readonly identities?: readonly {
750
- readonly channel: "email";
953
+ readonly type: "email" | "phone";
751
954
  readonly identifier: string;
752
955
  readonly verified?: boolean | null | undefined;
753
956
  }[] | null | undefined;
@@ -23,6 +23,7 @@ var contacts_exports = /* @__PURE__ */ __exportAll({
23
23
  remove: () => remove,
24
24
  removeIdentity: () => removeIdentity,
25
25
  removeTags: () => removeTags,
26
+ setConsent: () => setConsent,
26
27
  update: () => update
27
28
  });
28
29
  const make = /* @__PURE__ */ forGroup(ContactsGroup);
@@ -35,6 +36,7 @@ const remove = /* @__PURE__ */ make("contactsRemove");
35
36
  const update = /* @__PURE__ */ make("contactsUpdate");
36
37
  const addIdentity = /* @__PURE__ */ make("contactsAddIdentity");
37
38
  const removeIdentity = /* @__PURE__ */ make("contactsRemoveIdentity");
39
+ const setConsent = /* @__PURE__ */ make("contactsSetConsent");
38
40
  const addTags = /* @__PURE__ */ make("contactsAddTags");
39
41
  const removeTags = /* @__PURE__ */ make("contactsRemoveTags");
40
42
  const getEngagement = /* @__PURE__ */ make("contactsGetEngagement");
@@ -47,6 +49,6 @@ const getActivityTimeline = /* @__PURE__ */ make("contactsGetActivityTimeline");
47
49
  const getGroupMemberships = /* @__PURE__ */ make("contactsGetGroupMemberships");
48
50
  const listEvents = /* @__PURE__ */ forGroup(ContactEventsGroup)("contactEventsListEvents");
49
51
  //#endregion
50
- export { addIdentity, addTags, bulkDelete, bulkImport, bulkUpdateStatus, bulkUpdateTags, contacts_exports, create, exportContacts as export, find, findOrCreate, get, getActivityTimeline, getEngagement, getGroupMemberships, list, listEvents, remove, removeIdentity, removeTags, update };
52
+ export { addIdentity, addTags, bulkDelete, bulkImport, bulkUpdateStatus, bulkUpdateTags, contacts_exports, create, exportContacts as export, find, findOrCreate, get, getActivityTimeline, getEngagement, getGroupMemberships, list, listEvents, remove, removeIdentity, removeTags, setConsent, update };
51
53
 
52
54
  //# sourceMappingURL=contacts.js.map
@@ -253,7 +253,7 @@ export declare const create: (input: {
253
253
  readonly name: string;
254
254
  readonly displayName: string | null;
255
255
  readonly identities: readonly {
256
- readonly channel: "email";
256
+ readonly type: "email" | "phone";
257
257
  readonly identifier: string;
258
258
  readonly verified: boolean;
259
259
  }[];
@@ -314,7 +314,7 @@ export declare const getById: (input: {
314
314
  readonly name: string;
315
315
  readonly displayName: string | null;
316
316
  readonly identities: readonly {
317
- readonly channel: "email";
317
+ readonly type: "email" | "phone";
318
318
  readonly identifier: string;
319
319
  readonly verified: boolean;
320
320
  }[];
@@ -562,7 +562,7 @@ export declare const update: (input: {
562
562
  readonly name: string;
563
563
  readonly displayName: string | null;
564
564
  readonly identities: readonly {
565
- readonly channel: "email";
565
+ readonly type: "email" | "phone";
566
566
  readonly identifier: string;
567
567
  readonly verified: boolean;
568
568
  }[];
@@ -624,7 +624,7 @@ export declare const addTags: (input: {
624
624
  readonly name: string;
625
625
  readonly displayName: string | null;
626
626
  readonly identities: readonly {
627
- readonly channel: "email";
627
+ readonly type: "email" | "phone";
628
628
  readonly identifier: string;
629
629
  readonly verified: boolean;
630
630
  }[];
@@ -686,7 +686,7 @@ export declare const removeTags: (input: {
686
686
  readonly name: string;
687
687
  readonly displayName: string | null;
688
688
  readonly identities: readonly {
689
- readonly channel: "email";
689
+ readonly type: "email" | "phone";
690
690
  readonly identifier: string;
691
691
  readonly verified: boolean;
692
692
  }[];
@@ -748,7 +748,7 @@ export declare const addCategories: (input: {
748
748
  readonly name: string;
749
749
  readonly displayName: string | null;
750
750
  readonly identities: readonly {
751
- readonly channel: "email";
751
+ readonly type: "email" | "phone";
752
752
  readonly identifier: string;
753
753
  readonly verified: boolean;
754
754
  }[];
@@ -810,7 +810,7 @@ export declare const removeCategories: (input: {
810
810
  readonly name: string;
811
811
  readonly displayName: string | null;
812
812
  readonly identities: readonly {
813
- readonly channel: "email";
813
+ readonly type: "email" | "phone";
814
814
  readonly identifier: string;
815
815
  readonly verified: boolean;
816
816
  }[];
@@ -872,7 +872,7 @@ export declare const addChannels: (input: {
872
872
  readonly name: string;
873
873
  readonly displayName: string | null;
874
874
  readonly identities: readonly {
875
- readonly channel: "email";
875
+ readonly type: "email" | "phone";
876
876
  readonly identifier: string;
877
877
  readonly verified: boolean;
878
878
  }[];
@@ -934,7 +934,7 @@ export declare const removeChannels: (input: {
934
934
  readonly name: string;
935
935
  readonly displayName: string | null;
936
936
  readonly identities: readonly {
937
- readonly channel: "email";
937
+ readonly type: "email" | "phone";
938
938
  readonly identifier: string;
939
939
  readonly verified: boolean;
940
940
  }[];
@@ -996,7 +996,7 @@ export declare const addContacts: (input: {
996
996
  readonly name: string;
997
997
  readonly displayName: string | null;
998
998
  readonly identities: readonly {
999
- readonly channel: "email";
999
+ readonly type: "email" | "phone";
1000
1000
  readonly identifier: string;
1001
1001
  readonly verified: boolean;
1002
1002
  }[];
@@ -1058,7 +1058,7 @@ export declare const removeContacts: (input: {
1058
1058
  readonly name: string;
1059
1059
  readonly displayName: string | null;
1060
1060
  readonly identities: readonly {
1061
- readonly channel: "email";
1061
+ readonly type: "email" | "phone";
1062
1062
  readonly identifier: string;
1063
1063
  readonly verified: boolean;
1064
1064
  }[];
@@ -80,7 +80,7 @@ export declare const install: (input: {
80
80
  readonly runtime: "hosted" | "webhook";
81
81
  readonly status: "active" | "disabled";
82
82
  readonly createdAt: string;
83
- readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
83
+ readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.action.resolved" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
84
84
  readonly permissions: readonly ("quarantine.read" | "read" | "send" | "update")[];
85
85
  readonly sendMode: "approval" | "send";
86
86
  readonly scope: {
@@ -102,7 +102,7 @@ export declare const install: (input: {
102
102
  export declare const upgrade: (input: {
103
103
  readonly id: string;
104
104
  readonly version?: string | null | undefined;
105
- readonly acceptPermissions?: readonly ("event:mailbox.action.pending_approval" | "event:mailbox.message.discarded" | "event:mailbox.message.quarantined" | "event:mailbox.message.received" | "event:mailbox.message.released" | "event:mailbox.message.sent" | "permission:quarantine.read" | "permission:read" | "permission:send" | "permission:update")[] | null | undefined;
105
+ readonly acceptPermissions?: readonly ("event:mailbox.action.pending_approval" | "event:mailbox.action.resolved" | "event:mailbox.message.discarded" | "event:mailbox.message.quarantined" | "event:mailbox.message.received" | "event:mailbox.message.released" | "event:mailbox.message.sent" | "permission:quarantine.read" | "permission:read" | "permission:send" | "permission:update")[] | null | undefined;
106
106
  readonly dryRun?: boolean | null | undefined;
107
107
  }) => import("effect/Effect").Effect<{
108
108
  readonly installation: {
@@ -117,7 +117,7 @@ export declare const upgrade: (input: {
117
117
  readonly runtime: "hosted" | "webhook";
118
118
  readonly status: "active" | "disabled";
119
119
  readonly createdAt: string;
120
- readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
120
+ readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.action.resolved" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
121
121
  readonly permissions: readonly ("quarantine.read" | "read" | "send" | "update")[];
122
122
  readonly sendMode: "approval" | "send";
123
123
  readonly scope: {
@@ -140,8 +140,8 @@ export declare const upgrade: (input: {
140
140
  readonly version: string;
141
141
  };
142
142
  readonly permissionDiff: {
143
- readonly added: readonly ("event:mailbox.action.pending_approval" | "event:mailbox.message.discarded" | "event:mailbox.message.quarantined" | "event:mailbox.message.received" | "event:mailbox.message.released" | "event:mailbox.message.sent" | "permission:quarantine.read" | "permission:read" | "permission:send" | "permission:update")[];
144
- readonly removed: readonly ("event:mailbox.action.pending_approval" | "event:mailbox.message.discarded" | "event:mailbox.message.quarantined" | "event:mailbox.message.received" | "event:mailbox.message.released" | "event:mailbox.message.sent" | "permission:quarantine.read" | "permission:read" | "permission:send" | "permission:update")[];
143
+ readonly added: readonly ("event:mailbox.action.pending_approval" | "event:mailbox.action.resolved" | "event:mailbox.message.discarded" | "event:mailbox.message.quarantined" | "event:mailbox.message.received" | "event:mailbox.message.released" | "event:mailbox.message.sent" | "permission:quarantine.read" | "permission:read" | "permission:send" | "permission:update")[];
144
+ readonly removed: readonly ("event:mailbox.action.pending_approval" | "event:mailbox.action.resolved" | "event:mailbox.message.discarded" | "event:mailbox.message.quarantined" | "event:mailbox.message.received" | "event:mailbox.message.released" | "event:mailbox.message.sent" | "permission:quarantine.read" | "permission:read" | "permission:send" | "permission:update")[];
145
145
  };
146
146
  readonly dryRun: boolean;
147
147
  readonly versionChange: {
@@ -158,8 +158,8 @@ export declare const upgrade: (input: {
158
158
  readonly version: string;
159
159
  };
160
160
  readonly permissionDiff: {
161
- readonly added: readonly ("event:mailbox.action.pending_approval" | "event:mailbox.message.discarded" | "event:mailbox.message.quarantined" | "event:mailbox.message.received" | "event:mailbox.message.released" | "event:mailbox.message.sent" | "permission:quarantine.read" | "permission:read" | "permission:send" | "permission:update")[];
162
- readonly removed: readonly ("event:mailbox.action.pending_approval" | "event:mailbox.message.discarded" | "event:mailbox.message.quarantined" | "event:mailbox.message.received" | "event:mailbox.message.released" | "event:mailbox.message.sent" | "permission:quarantine.read" | "permission:read" | "permission:send" | "permission:update")[];
161
+ readonly added: readonly ("event:mailbox.action.pending_approval" | "event:mailbox.action.resolved" | "event:mailbox.message.discarded" | "event:mailbox.message.quarantined" | "event:mailbox.message.received" | "event:mailbox.message.released" | "event:mailbox.message.sent" | "permission:quarantine.read" | "permission:read" | "permission:send" | "permission:update")[];
162
+ readonly removed: readonly ("event:mailbox.action.pending_approval" | "event:mailbox.action.resolved" | "event:mailbox.message.discarded" | "event:mailbox.message.quarantined" | "event:mailbox.message.received" | "event:mailbox.message.released" | "event:mailbox.message.sent" | "permission:quarantine.read" | "permission:read" | "permission:send" | "permission:update")[];
163
163
  };
164
164
  readonly changedBy: string & import("effect/Brand").Brand<"UserId">;
165
165
  readonly changedAt: string;
@@ -179,7 +179,7 @@ export declare const get: (input: {
179
179
  readonly runtime: "hosted" | "webhook";
180
180
  readonly status: "active" | "disabled";
181
181
  readonly createdAt: string;
182
- readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
182
+ readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.action.resolved" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
183
183
  readonly permissions: readonly ("quarantine.read" | "read" | "send" | "update")[];
184
184
  readonly sendMode: "approval" | "send";
185
185
  readonly scope: {
@@ -212,7 +212,7 @@ export declare const disable: (input: {
212
212
  readonly runtime: "hosted" | "webhook";
213
213
  readonly status: "active" | "disabled";
214
214
  readonly createdAt: string;
215
- readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
215
+ readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.action.resolved" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
216
216
  readonly permissions: readonly ("quarantine.read" | "read" | "send" | "update")[];
217
217
  readonly sendMode: "approval" | "send";
218
218
  readonly scope: {
@@ -240,7 +240,7 @@ export declare const enable: (input: {
240
240
  readonly runtime: "hosted" | "webhook";
241
241
  readonly status: "active" | "disabled";
242
242
  readonly createdAt: string;
243
- readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
243
+ readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.action.resolved" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
244
244
  readonly permissions: readonly ("quarantine.read" | "read" | "send" | "update")[];
245
245
  readonly sendMode: "approval" | "send";
246
246
  readonly scope: {
@@ -260,7 +260,7 @@ export declare const listRuns: (input: {
260
260
  readonly items: readonly {
261
261
  readonly id: string;
262
262
  readonly eventId: string;
263
- readonly eventType: "mailbox.action.pending_approval" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent";
263
+ readonly eventType: "mailbox.action.pending_approval" | "mailbox.action.resolved" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent";
264
264
  readonly attempt: number;
265
265
  readonly startedAt: string;
266
266
  readonly durationMs: number;
@@ -274,7 +274,7 @@ export declare const getRun: (input: {
274
274
  }) => import("effect/Effect").Effect<{
275
275
  readonly id: string;
276
276
  readonly eventId: string;
277
- readonly eventType: "mailbox.action.pending_approval" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent";
277
+ readonly eventType: "mailbox.action.pending_approval" | "mailbox.action.resolved" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent";
278
278
  readonly attempt: number;
279
279
  readonly startedAt: string;
280
280
  readonly durationMs: number;
@@ -66,7 +66,7 @@ export declare const publish: (input: {
66
66
  readonly description?: string | null | undefined;
67
67
  readonly version: string;
68
68
  readonly runtime: "hosted" | "webhook";
69
- readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
69
+ readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.action.resolved" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
70
70
  readonly permissions: readonly ("quarantine.read" | "read" | "send" | "update")[];
71
71
  };
72
72
  readonly bundle?: string | null | undefined;
@@ -99,7 +99,7 @@ export declare const publish: (input: {
99
99
  readonly description?: string | null;
100
100
  readonly version: string;
101
101
  readonly runtime: "hosted" | "webhook";
102
- readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
102
+ readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.action.resolved" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
103
103
  readonly permissions: readonly ("quarantine.read" | "read" | "send" | "update")[];
104
104
  };
105
105
  };
@@ -186,7 +186,7 @@ export declare const getVersion: (input: {
186
186
  readonly description?: string | null;
187
187
  readonly version: string;
188
188
  readonly runtime: "hosted" | "webhook";
189
- readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
189
+ readonly events: readonly ("mailbox.action.pending_approval" | "mailbox.action.resolved" | "mailbox.message.discarded" | "mailbox.message.quarantined" | "mailbox.message.received" | "mailbox.message.released" | "mailbox.message.sent")[];
190
190
  readonly permissions: readonly ("quarantine.read" | "read" | "send" | "update")[];
191
191
  };
192
192
  }, import("./errors").ForbiddenError | import("./errors").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./errors").InternalError | import("./errors").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./errors").UnauthorizedError | import("./errors").ValidationError, import("./client").Service>;
@@ -78,9 +78,19 @@ export declare const ContactGroupMemberPage: Schema.Struct<{
78
78
  readonly type: Schema.String;
79
79
  readonly identities: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.Struct<{
80
80
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
81
- readonly channel: Schema.Literal<"email">;
81
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
82
82
  readonly identifier: Schema.String;
83
83
  readonly verified: Schema.Boolean;
84
+ readonly channels: Schema.$Array<Schema.Struct<{
85
+ readonly channel: Schema.Literal<"email">;
86
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
87
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
88
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
89
+ readonly source: Schema.String;
90
+ readonly capturedAt: Schema.String;
91
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<JsonValue, JsonValue, never, never>>>, Schema.Null]>;
92
+ }>, Schema.Null]>;
93
+ }>>;
84
94
  }>>, Schema.Null]>>;
85
95
  }>, Schema.Null]>;
86
96
  }>>;
@@ -404,9 +414,19 @@ export declare const ContactGroupsGetMembers200: Schema.Struct<{
404
414
  readonly type: Schema.String;
405
415
  readonly identities: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.Struct<{
406
416
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
407
- readonly channel: Schema.Literal<"email">;
417
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
408
418
  readonly identifier: Schema.String;
409
419
  readonly verified: Schema.Boolean;
420
+ readonly channels: Schema.$Array<Schema.Struct<{
421
+ readonly channel: Schema.Literal<"email">;
422
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
423
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
424
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
425
+ readonly source: Schema.String;
426
+ readonly capturedAt: Schema.String;
427
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<JsonValue, JsonValue, never, never>>>, Schema.Null]>;
428
+ }>, Schema.Null]>;
429
+ }>>;
410
430
  }>>, Schema.Null]>>;
411
431
  }>, Schema.Null]>;
412
432
  }>>;
@@ -915,9 +935,19 @@ declare const ContactGroupsGroup_base: HttpApiGroup.HttpApiGroup<"Contact Groups
915
935
  readonly type: Schema.String;
916
936
  readonly identities: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.Struct<{
917
937
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
918
- readonly channel: Schema.Literal<"email">;
938
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
919
939
  readonly identifier: Schema.String;
920
940
  readonly verified: Schema.Boolean;
941
+ readonly channels: Schema.$Array<Schema.Struct<{
942
+ readonly channel: Schema.Literal<"email">;
943
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
944
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
945
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
946
+ readonly source: Schema.String;
947
+ readonly capturedAt: Schema.String;
948
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<JsonValue, JsonValue, never, never>>>, Schema.Null]>;
949
+ }>, Schema.Null]>;
950
+ }>>;
921
951
  }>>, Schema.Null]>>;
922
952
  }>, Schema.Null]>;
923
953
  }>>;