samva 0.12.0 → 0.14.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 (75) hide show
  1. package/AGENTS.md +9 -0
  2. package/README.md +51 -6
  3. package/dist/{categories-DvsHUJtX.js → categories-BGUBFdH9.js} +13 -1
  4. package/dist/client/sdk.gen.d.ts +130 -32
  5. package/dist/client/types.gen.d.ts +979 -168
  6. package/dist/{client-Cj1bqIEe.js → client-CZjhOKPM.js} +898 -177
  7. package/dist/effect/analytics.d.ts +6 -6
  8. package/dist/effect/analytics.js +1 -1
  9. package/dist/effect/api-keys.d.ts +20 -20
  10. package/dist/effect/api-keys.js +1 -1
  11. package/dist/effect/attachments.js +1 -1
  12. package/dist/effect/brands.js +2 -2
  13. package/dist/effect/campaigns.d.ts +13 -13
  14. package/dist/effect/campaigns.js +1 -1
  15. package/dist/effect/categories.js +1 -1
  16. package/dist/effect/client.js +1 -1
  17. package/dist/effect/contact-groups.d.ts +9 -12
  18. package/dist/effect/contact-groups.js +1 -1
  19. package/dist/effect/contacts.d.ts +161 -76
  20. package/dist/effect/contacts.js +1 -1
  21. package/dist/effect/conversations.d.ts +20 -20
  22. package/dist/effect/conversations.js +1 -1
  23. package/dist/effect/custom-fields.d.ts +1 -1
  24. package/dist/effect/custom-fields.js +1 -1
  25. package/dist/effect/email.d.ts +27 -27
  26. package/dist/effect/email.js +2 -2
  27. package/dist/effect/extension-installations.d.ts +68 -2
  28. package/dist/effect/extension-installations.js +5 -3
  29. package/dist/effect/extensions.d.ts +3 -3
  30. package/dist/effect/extensions.js +1 -1
  31. package/dist/effect/feedback.d.ts +1 -1
  32. package/dist/effect/feedback.js +2 -2
  33. package/dist/effect/generated-metadata.d.ts +12 -0
  34. package/dist/effect/generated.d.ts +6502 -906
  35. package/dist/effect/index.d.ts +3 -1
  36. package/dist/effect/index.js +6 -4
  37. package/dist/effect/internal/client.d.ts +16 -2
  38. package/dist/effect/internal/operation.d.ts +14 -11
  39. package/dist/effect/mailboxes.d.ts +1725 -108
  40. package/dist/effect/mailboxes.js +3 -3
  41. package/dist/effect/media.d.ts +1 -1
  42. package/dist/effect/media.js +1 -1
  43. package/dist/effect/messages.d.ts +21 -19
  44. package/dist/effect/messages.js +1 -1
  45. package/dist/effect/namespaces.js +1 -1
  46. package/dist/effect/operations.d.ts +6 -6
  47. package/dist/effect/operations.js +1 -1
  48. package/dist/effect/organizations.d.ts +30 -0
  49. package/dist/effect/organizations.js +4 -2
  50. package/dist/effect/retry.js +1 -1
  51. package/dist/effect/scheduled-messages.d.ts +7 -7
  52. package/dist/effect/scheduled-messages.js +1 -1
  53. package/dist/effect/subscriptions.d.ts +15 -0
  54. package/dist/effect/subscriptions.js +9 -0
  55. package/dist/effect/templates.d.ts +52 -14
  56. package/dist/effect/templates.js +5 -3
  57. package/dist/effect/unsubscribe-groups.d.ts +1 -1
  58. package/dist/effect/unsubscribe-groups.js +1 -1
  59. package/dist/effect/webhooks.d.ts +15 -15
  60. package/dist/effect/webhooks.js +2 -2
  61. package/dist/index.js +4 -3
  62. package/dist/inline-attachments-BrNnSMF2.js +121 -0
  63. package/dist/inline-attachments.d.ts +65 -0
  64. package/dist/{mailbox-events-CsbF35vH.js → mailbox-events-VKR4f3qq.js} +6 -4
  65. package/dist/mailbox-events.d.ts +1 -1
  66. package/dist/{mailboxes-BtcktcNB.js → mailboxes-DT02zP7q.js} +13 -5
  67. package/dist/{operation-BEghYyLu.js → operation-g8nAzmIM.js} +63 -3
  68. package/dist/promises/errors.gen.d.ts +38 -2
  69. package/dist/promises/index.d.ts +7 -4
  70. package/dist/promises/index.js +4 -3
  71. package/dist/promises/types.gen.d.ts +1 -1
  72. package/dist/{promises-BzrwhHEW.js → promises-BFRKhpSS.js} +1070 -49
  73. package/dist/service-map.d.ts +40 -0
  74. package/package.json +7 -2
  75. package/dist/client-attribution-BTWYSXxo.js +0 -9
@@ -1,5 +1,5 @@
1
- import { n as clientAttribution, t as CLIENT_ATTRIBUTION_HEADER } from "./client-attribution-BTWYSXxo.js";
2
- import { Context, Effect, Layer, Schema, SchemaTransformation } from "effect";
1
+ import { i as uploadContentType, o as CLIENT_ATTRIBUTION_HEADER, s as clientAttribution, t as MediaUploadError } from "./inline-attachments-BrNnSMF2.js";
2
+ import { Context, Effect, Layer, Redacted, Schema, SchemaTransformation } from "effect";
3
3
  import { HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema, HttpApiSecurity, OpenApi } from "effect/http-api";
4
4
  import * as Schema$1 from "effect/Schema";
5
5
  import * as FetchHttpClient from "effect/http/FetchHttpClient";
@@ -227,6 +227,11 @@ var BrandAddressRequiredError = class extends Schema$1.TaggedError()("BrandAddre
227
227
  })) {};
228
228
  var CampaignFooterRequiredError = class extends Schema$1.TaggedError()("CampaignFooterRequiredError", Schema$1.Struct({ message: Schema$1.String })) {};
229
229
  var ExternalServiceError = class extends Schema$1.TaggedError()("ExternalServiceError", Schema$1.Struct({ message: Schema$1.String })) {};
230
+ var SenderNotReadyError = class extends Schema$1.TaggedError()("SenderNotReadyError", Schema$1.Struct({
231
+ message: Schema$1.String,
232
+ sender: Schema$1.String,
233
+ retryAfterSeconds: Schema$1.optionalKey(Schema$1.Union([Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })), Schema$1.Null]))
234
+ })) {};
230
235
  const CampaignRecipientId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^crcpt_[0-9a-hjkmnp-tv-z]{16,24}$", "u")).annotate({
231
236
  expected: "a string matching the RegExp ^crcpt_[0-9a-hjkmnp-tv-z]{16,24}$",
232
237
  identifier: "CampaignRecipientId"
@@ -235,6 +240,12 @@ const ContactIdentityId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__
235
240
  expected: "a string matching the RegExp ^cident_[0-9a-hjkmnp-tv-z]{16,24}$",
236
241
  identifier: "ContactIdentityId"
237
242
  })).pipe(Schema$1.brand("ContactIdentityId"));
243
+ const ContactCustomFields = Schema$1.Record(Schema$1.String, Schema$1.Union([
244
+ Schema$1.String,
245
+ Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
246
+ Schema$1.Boolean,
247
+ Schema$1.Null
248
+ ])).annotate({ identifier: "ContactCustomFields" });
238
249
  const ContactIdentityInput = Schema$1.Struct({
239
250
  channel: Schema$1.Literal("email"),
240
251
  identifier: Schema$1.String,
@@ -246,12 +257,6 @@ const ContactLocation = Schema$1.Struct({
246
257
  city: Schema$1.String,
247
258
  timezone: Schema$1.String
248
259
  }).annotate({ identifier: "ContactLocation" });
249
- const ContactCustomFields = Schema$1.Record(Schema$1.String, Schema$1.Union([
250
- Schema$1.String,
251
- Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
252
- Schema$1.Boolean,
253
- Schema$1.Null
254
- ])).annotate({ identifier: "ContactCustomFields" });
255
260
  const ContactPreferences = Schema$1.Struct({
256
261
  preferredChannels: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.Literal("email")), Schema$1.Null])),
257
262
  language: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
@@ -264,11 +269,25 @@ const ContactPreferences = Schema$1.Struct({
264
269
  }), Schema$1.Null]))
265
270
  }), Schema$1.Null]))
266
271
  }).annotate({ identifier: "ContactPreferences" });
267
- const UnknownRecord = Schema$1.Record(Schema$1.String, JsonValue).annotate({ identifier: "UnknownRecord" });
268
272
  const BulkUpdateResult = Schema$1.Struct({
269
273
  updated: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" })),
270
274
  failed: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }))
271
275
  }).annotate({ identifier: "BulkUpdateResult" });
276
+ const ContactLookup = Schema$1.Union([
277
+ Schema$1.Struct({
278
+ type: Schema$1.Literal("email"),
279
+ value: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" }))
280
+ }),
281
+ Schema$1.Struct({
282
+ type: Schema$1.Literal("phone"),
283
+ value: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" }))
284
+ }),
285
+ Schema$1.Struct({
286
+ type: Schema$1.Literal("externalId"),
287
+ value: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" }))
288
+ })
289
+ ]).annotate({ identifier: "ContactLookup" });
290
+ const UnknownRecord = Schema$1.Record(Schema$1.String, JsonValue).annotate({ identifier: "UnknownRecord" });
272
291
  const CustomFieldDefinitionId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^cfield_[0-9a-hjkmnp-tv-z]{16,24}$", "u")).annotate({
273
292
  expected: "a string matching the RegExp ^cfield_[0-9a-hjkmnp-tv-z]{16,24}$",
274
293
  identifier: "CustomFieldDefinitionId"
@@ -522,6 +541,36 @@ const ExtensionRun = Schema$1.Struct({
522
541
  error: Schema$1.Union([Schema$1.String, Schema$1.Null]),
523
542
  logs: Schema$1.Array(Schema$1.String)
524
543
  }).annotate({ identifier: "ExtensionRun" });
544
+ const ExtensionPermissionDiff = Schema$1.Struct({
545
+ added: Schema$1.Array(Schema$1.Union([
546
+ Schema$1.Literal("permission:read"),
547
+ Schema$1.Literal("permission:update"),
548
+ Schema$1.Literal("permission:send"),
549
+ Schema$1.Literal("permission:quarantine.read"),
550
+ Schema$1.Literal("event:mailbox.message.received"),
551
+ Schema$1.Literal("event:mailbox.message.sent"),
552
+ Schema$1.Literal("event:mailbox.action.pending_approval"),
553
+ Schema$1.Literal("event:mailbox.message.quarantined"),
554
+ Schema$1.Literal("event:mailbox.message.released"),
555
+ Schema$1.Literal("event:mailbox.message.discarded")
556
+ ])),
557
+ removed: Schema$1.Array(Schema$1.Union([
558
+ Schema$1.Literal("permission:read"),
559
+ Schema$1.Literal("permission:update"),
560
+ Schema$1.Literal("permission:send"),
561
+ Schema$1.Literal("permission:quarantine.read"),
562
+ Schema$1.Literal("event:mailbox.message.received"),
563
+ Schema$1.Literal("event:mailbox.message.sent"),
564
+ Schema$1.Literal("event:mailbox.action.pending_approval"),
565
+ Schema$1.Literal("event:mailbox.message.quarantined"),
566
+ Schema$1.Literal("event:mailbox.message.released"),
567
+ Schema$1.Literal("event:mailbox.message.discarded")
568
+ ]))
569
+ }).annotate({ identifier: "ExtensionPermissionDiff" });
570
+ const UserId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^user_[0-9a-hjkmnp-tv-z]{16,24}$", "u")).annotate({
571
+ expected: "a string matching the RegExp ^user_[0-9a-hjkmnp-tv-z]{16,24}$",
572
+ identifier: "UserId"
573
+ })).pipe(Schema$1.brand("UserId"));
525
574
  const ExtensionBundle = Schema$1.Struct({
526
575
  sha256: Schema$1.String,
527
576
  sizeBytes: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" }))
@@ -556,14 +605,14 @@ const MailboxMetadataPatch = Schema$1.Record(Schema$1.String, Schema$1.Union([Sc
556
605
  expected: "an object with property names matching the schema",
557
606
  identifier: "MailboxMetadataPatch"
558
607
  }));
559
- const MailboxActionId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^mbxact_[0-9a-hjkmnp-tv-z]{16,24}$", "u")).annotate({
560
- expected: "a string matching the RegExp ^mbxact_[0-9a-hjkmnp-tv-z]{16,24}$",
561
- identifier: "MailboxActionId"
562
- })).pipe(Schema$1.brand("MailboxActionId"));
563
608
  const MailboxThreadId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^thread_[0-9a-hjkmnp-tv-z]{16,24}$", "u")).annotate({
564
609
  expected: "a string matching the RegExp ^thread_[0-9a-hjkmnp-tv-z]{16,24}$",
565
610
  identifier: "MailboxThreadId"
566
611
  })).pipe(Schema$1.brand("MailboxThreadId"));
612
+ const MailboxActionId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^mbxact_[0-9a-hjkmnp-tv-z]{16,24}$", "u")).annotate({
613
+ expected: "a string matching the RegExp ^mbxact_[0-9a-hjkmnp-tv-z]{16,24}$",
614
+ identifier: "MailboxActionId"
615
+ })).pipe(Schema$1.brand("MailboxActionId"));
567
616
  const MailboxDraftId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^mdraft_[0-9a-hjkmnp-tv-z]{16,24}$", "u")).annotate({
568
617
  expected: "a string matching the RegExp ^mdraft_[0-9a-hjkmnp-tv-z]{16,24}$",
569
618
  identifier: "MailboxDraftId"
@@ -572,6 +621,106 @@ const MailboxPolicyId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */
572
621
  expected: "a string matching the RegExp ^mbxpol_[0-9a-hjkmnp-tv-z]{16,24}$",
573
622
  identifier: "MailboxPolicyId"
574
623
  })).pipe(Schema$1.brand("MailboxPolicyId"));
624
+ const MailboxSendError = Schema$1.Union([
625
+ Schema$1.Struct({
626
+ _tag: Schema$1.Literal("SenderNotReadyError"),
627
+ message: Schema$1.String,
628
+ sender: Schema$1.String,
629
+ retryAfterSeconds: Schema$1.optionalKey(Schema$1.Union([Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })), Schema$1.Null]))
630
+ }),
631
+ Schema$1.Struct({
632
+ _tag: Schema$1.Literal("RateLimitedError"),
633
+ message: Schema$1.String,
634
+ retryAfterSeconds: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" }))
635
+ }),
636
+ Schema$1.Struct({
637
+ _tag: Schema$1.Literal("OnboardingReviewRequiredError"),
638
+ message: Schema$1.String,
639
+ code: Schema$1.Union([
640
+ Schema$1.Literal("review_required"),
641
+ Schema$1.Literal("review_in_progress"),
642
+ Schema$1.Literal("information_required"),
643
+ Schema$1.Literal("review_rejected"),
644
+ Schema$1.Literal("identity_review_required"),
645
+ Schema$1.Literal("identity_review_rejected"),
646
+ Schema$1.Literal("identity_changed")
647
+ ]),
648
+ decision: Schema$1.Union([
649
+ Schema$1.Literal("undecided"),
650
+ Schema$1.Literal("approved"),
651
+ Schema$1.Literal("rejected")
652
+ ]),
653
+ stage: Schema$1.Union([
654
+ Schema$1.Literal("collecting"),
655
+ Schema$1.Literal("automated_review"),
656
+ Schema$1.Literal("manual_review"),
657
+ Schema$1.Literal("information_requested"),
658
+ Schema$1.Literal("complete")
659
+ ]),
660
+ nextAction: Schema$1.Union([
661
+ Schema$1.Literal("wait_for_review"),
662
+ Schema$1.Literal("provide_information"),
663
+ Schema$1.Literal("verify_sending_identity"),
664
+ Schema$1.Literal("reapply"),
665
+ Schema$1.Literal("contact_support")
666
+ ]),
667
+ identityId: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
668
+ }),
669
+ Schema$1.Struct({
670
+ _tag: Schema$1.Literal("PaymentRequiredError"),
671
+ message: Schema$1.String,
672
+ resource: Schema$1.String,
673
+ currentUsage: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
674
+ limit: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" }))
675
+ }),
676
+ Schema$1.Struct({
677
+ _tag: Schema$1.Literal("ValidationError"),
678
+ message: Schema$1.String,
679
+ fields: Schema$1.optionalKey(Schema$1.Union([Schema$1.Record(Schema$1.String, Schema$1.Array(Schema$1.String)), Schema$1.Null]))
680
+ }),
681
+ Schema$1.Struct({
682
+ _tag: Schema$1.Literal("ForbiddenError"),
683
+ message: Schema$1.String
684
+ }),
685
+ Schema$1.Struct({
686
+ _tag: Schema$1.Literal("ResourceNotFoundError"),
687
+ resource: Schema$1.String,
688
+ id: Schema$1.String,
689
+ message: Schema$1.String
690
+ })
691
+ ]).annotate({ identifier: "MailboxSendError" });
692
+ var OnboardingReviewRequiredError = class extends Schema$1.TaggedError()("OnboardingReviewRequiredError", Schema$1.Struct({
693
+ message: Schema$1.String,
694
+ code: Schema$1.Union([
695
+ Schema$1.Literal("review_required"),
696
+ Schema$1.Literal("review_in_progress"),
697
+ Schema$1.Literal("information_required"),
698
+ Schema$1.Literal("review_rejected"),
699
+ Schema$1.Literal("identity_review_required"),
700
+ Schema$1.Literal("identity_review_rejected"),
701
+ Schema$1.Literal("identity_changed")
702
+ ]),
703
+ decision: Schema$1.Union([
704
+ Schema$1.Literal("undecided"),
705
+ Schema$1.Literal("approved"),
706
+ Schema$1.Literal("rejected")
707
+ ]),
708
+ stage: Schema$1.Union([
709
+ Schema$1.Literal("collecting"),
710
+ Schema$1.Literal("automated_review"),
711
+ Schema$1.Literal("manual_review"),
712
+ Schema$1.Literal("information_requested"),
713
+ Schema$1.Literal("complete")
714
+ ]),
715
+ nextAction: Schema$1.Union([
716
+ Schema$1.Literal("wait_for_review"),
717
+ Schema$1.Literal("provide_information"),
718
+ Schema$1.Literal("verify_sending_identity"),
719
+ Schema$1.Literal("reapply"),
720
+ Schema$1.Literal("contact_support")
721
+ ]),
722
+ identityId: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
723
+ })) {};
575
724
  const MailboxAgentActivity = Schema$1.Struct({
576
725
  actions: Schema$1.Struct({
577
726
  byType: Schema$1.Array(Schema$1.Struct({
@@ -597,7 +746,12 @@ const MailboxAgentActivity = Schema$1.Struct({
597
746
  Schema$1.Literal("approvalDenied"),
598
747
  Schema$1.Literal("executing"),
599
748
  Schema$1.Literal("executed"),
600
- Schema$1.Literal("failed")
749
+ Schema$1.Literal("failed"),
750
+ Schema$1.Literal("queued"),
751
+ Schema$1.Literal("accepted"),
752
+ Schema$1.Literal("completed"),
753
+ Schema$1.Literal("notSent"),
754
+ Schema$1.Literal("uncertain")
601
755
  ]),
602
756
  count: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }))
603
757
  }))
@@ -610,13 +764,11 @@ const MailboxAgentActivity = Schema$1.Struct({
610
764
  Schema$1.Literal("email.released"),
611
765
  Schema$1.Literal("email.sent"),
612
766
  Schema$1.Literal("thread.created"),
613
- Schema$1.Literal("thread.updated"),
614
- Schema$1.Literal("draft.created"),
615
- Schema$1.Literal("draft.updated"),
616
767
  Schema$1.Literal("action.proposed"),
617
768
  Schema$1.Literal("action.policy_decided"),
618
769
  Schema$1.Literal("action.approval_requested"),
619
770
  Schema$1.Literal("action.approval_resolved"),
771
+ Schema$1.Literal("action.accepted"),
620
772
  Schema$1.Literal("action.executed"),
621
773
  Schema$1.Literal("action.failed")
622
774
  ]),
@@ -626,7 +778,7 @@ const MailboxAgentActivity = Schema$1.Struct({
626
778
  }).annotate({ identifier: "MailboxAgentActivity" });
627
779
  const MailboxDraftState = Schema$1.Union([
628
780
  Schema$1.Literal("saved"),
629
- Schema$1.Literal("approvalPending"),
781
+ Schema$1.Literal("locked"),
630
782
  Schema$1.Literal("sent")
631
783
  ]).annotate({ identifier: "MailboxDraftState" });
632
784
  const MailboxEventId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^mbxevt_[0-9a-hjkmnp-tv-z]{16,24}$", "u")).annotate({
@@ -645,10 +797,6 @@ const MailboxGrantId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */
645
797
  expected: "a string matching the RegExp ^mbxacl_[0-9a-hjkmnp-tv-z]{16,24}$",
646
798
  identifier: "MailboxGrantId"
647
799
  })).pipe(Schema$1.brand("MailboxGrantId"));
648
- const UserId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^user_[0-9a-hjkmnp-tv-z]{16,24}$", "u")).annotate({
649
- expected: "a string matching the RegExp ^user_[0-9a-hjkmnp-tv-z]{16,24}$",
650
- identifier: "UserId"
651
- })).pipe(Schema$1.brand("UserId"));
652
800
  const MailboxGrantRole = Schema$1.Union([
653
801
  Schema$1.Literal("admin"),
654
802
  Schema$1.Literal("collaborator"),
@@ -755,38 +903,6 @@ const EmailSender = Schema$1.Union([Schema$1.Struct({
755
903
  email: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })),
756
904
  name: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
757
905
  }), Schema$1.Null]).annotate({ identifier: "EmailSender" });
758
- var OnboardingReviewRequiredError = class extends Schema$1.TaggedError()("OnboardingReviewRequiredError", Schema$1.Struct({
759
- message: Schema$1.String,
760
- code: Schema$1.Union([
761
- Schema$1.Literal("review_required"),
762
- Schema$1.Literal("review_in_progress"),
763
- Schema$1.Literal("information_required"),
764
- Schema$1.Literal("review_rejected"),
765
- Schema$1.Literal("identity_review_required"),
766
- Schema$1.Literal("identity_review_rejected"),
767
- Schema$1.Literal("identity_changed")
768
- ]),
769
- decision: Schema$1.Union([
770
- Schema$1.Literal("undecided"),
771
- Schema$1.Literal("approved"),
772
- Schema$1.Literal("rejected")
773
- ]),
774
- stage: Schema$1.Union([
775
- Schema$1.Literal("collecting"),
776
- Schema$1.Literal("automated_review"),
777
- Schema$1.Literal("manual_review"),
778
- Schema$1.Literal("information_requested"),
779
- Schema$1.Literal("complete")
780
- ]),
781
- nextAction: Schema$1.Union([
782
- Schema$1.Literal("wait_for_review"),
783
- Schema$1.Literal("provide_information"),
784
- Schema$1.Literal("verify_sending_identity"),
785
- Schema$1.Literal("reapply"),
786
- Schema$1.Literal("contact_support")
787
- ]),
788
- identityId: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
789
- })) {};
790
906
  var DeliveryUnavailableError = class extends Schema$1.TaggedError()("DeliveryUnavailableError", Schema$1.Struct({
791
907
  message: Schema$1.String,
792
908
  retryAfterSeconds: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" }))
@@ -882,6 +998,10 @@ const Organization = Schema$1.Struct({
882
998
  teamMembersUsed: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
883
999
  messagesResetAt: Schema$1.Union([Schema$1.String, Schema$1.Null])
884
1000
  }).annotate({ identifier: "Organization" });
1001
+ const SubscribeResult = Schema$1.Struct({
1002
+ success: Schema$1.Boolean,
1003
+ expiresAt: Schema$1.String
1004
+ }).annotate({ identifier: "SubscribeResult" });
885
1005
  const TemplateProjectId = Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^tproj_[0-9a-hjkmnp-tv-z]{16,24}$", "u")).annotate({
886
1006
  expected: "a string matching the RegExp ^tproj_[0-9a-hjkmnp-tv-z]{16,24}$",
887
1007
  identifier: "TemplateProjectId"
@@ -904,6 +1024,12 @@ const BrandFooterBlock = Schema$1.Struct({
904
1024
  html: Schema$1.String,
905
1025
  text: Schema$1.String
906
1026
  }).annotate({ identifier: "BrandFooterBlock" });
1027
+ const TemplatePublicationRender = Schema$1.Struct({
1028
+ subject: Schema$1.String,
1029
+ preheader: Schema$1.optionalKey(Schema$1.String),
1030
+ html: Schema$1.String.check(Schema$1.isMaxCodePoints(2097152).annotate({ expected: "a string with at most 2097152 code points" })).check(Schema$1.isMaxLength(2097152).annotate({ expected: "a value with a length of at most 2097152" })),
1031
+ text: Schema$1.String.check(Schema$1.isMaxCodePoints(2097152).annotate({ expected: "a string with at most 2097152 code points" })).check(Schema$1.isMaxLength(2097152).annotate({ expected: "a value with a length of at most 2097152" }))
1032
+ }).annotate({ identifier: "TemplatePublicationRender" });
907
1033
  const UnsubscribeGroupMemberPage = Schema$1.Struct({
908
1034
  items: Schema$1.Array(Schema$1.Struct({
909
1035
  id: Schema$1.String,
@@ -1113,6 +1239,7 @@ const CreateWebhookPayload = Schema$1.Struct({
1113
1239
  Schema$1.Literal("contact.created"),
1114
1240
  Schema$1.Literal("contact.updated"),
1115
1241
  Schema$1.Literal("contact.deleted"),
1242
+ Schema$1.Literal("contact.subscribed"),
1116
1243
  Schema$1.Literal("contact.unsubscribed"),
1117
1244
  Schema$1.Literal("contact.resubscribed"),
1118
1245
  Schema$1.Literal("conversation.created"),
@@ -1167,6 +1294,7 @@ const UpdateWebhookPayload = Schema$1.Struct({
1167
1294
  Schema$1.Literal("contact.created"),
1168
1295
  Schema$1.Literal("contact.updated"),
1169
1296
  Schema$1.Literal("contact.deleted"),
1297
+ Schema$1.Literal("contact.subscribed"),
1170
1298
  Schema$1.Literal("contact.unsubscribed"),
1171
1299
  Schema$1.Literal("contact.resubscribed"),
1172
1300
  Schema$1.Literal("conversation.created"),
@@ -1231,7 +1359,8 @@ const MessageSummary = Schema$1.Struct({
1231
1359
  Schema$1.Literal("campaign-paused"),
1232
1360
  Schema$1.Literal("domain-warming"),
1233
1361
  Schema$1.Literal("onboarding-review"),
1234
- Schema$1.Literal("content-review")
1362
+ Schema$1.Literal("content-review"),
1363
+ Schema$1.Literal("screening-unavailable")
1235
1364
  ]), Schema$1.Null]),
1236
1365
  createdAt: Schema$1.String
1237
1366
  }).annotate({ identifier: "MessageSummary" });
@@ -1253,11 +1382,18 @@ const BrandFooter = Schema$1.Struct({
1253
1382
  }).annotate({ identifier: "BrandFooter" });
1254
1383
  const EmailAttachment = Schema$1.Struct({
1255
1384
  filename: Schema$1.String,
1256
- content: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$", "u")).annotate({ expected: "a string matching the RegExp ^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$" })), Schema$1.Null])),
1385
+ content: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
1257
1386
  mediaId: Schema$1.optionalKey(Schema$1.Union([MediaId, Schema$1.Null])),
1258
1387
  contentType: Schema$1.String,
1259
1388
  size: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isLessThanOrEqualTo(26214400).annotate({ expected: "a value less than or equal to 26214400" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" }))
1260
1389
  }).annotate({ identifier: "EmailAttachment" });
1390
+ const MailboxCopiedAttachment = Schema$1.Struct({
1391
+ filename: Schema$1.String,
1392
+ content: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
1393
+ mediaId: Schema$1.optionalKey(Schema$1.Union([MediaId, Schema$1.Null])),
1394
+ contentType: Schema$1.String,
1395
+ size: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isLessThanOrEqualTo(26214400).annotate({ expected: "a value less than or equal to 26214400" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" }))
1396
+ }).annotate({ identifier: "MailboxCopiedAttachment" });
1261
1397
  const Media = Schema$1.Struct({
1262
1398
  id: MediaId,
1263
1399
  organizationId: OrganizationId,
@@ -1320,6 +1456,11 @@ const TemplateFamilyMember = Schema$1.Struct({
1320
1456
  updatedAt: Schema$1.String
1321
1457
  }).annotate({ identifier: "TemplateFamilyMember" });
1322
1458
  const TemplateData = Schema$1.Union([JsonObject, Schema$1.Null]).annotate({ identifier: "TemplateData" });
1459
+ Schema$1.Struct({
1460
+ data: Schema$1.Record(Schema$1.String, JsonValue).annotate({ description: "The input to render with, validated against the publication's input schema." }),
1461
+ locale: Schema$1.optionalKey(RenderLocale),
1462
+ timeZone: Schema$1.optionalKey(RenderTimeZone)
1463
+ }).annotate({ identifier: "RenderTemplatePublicationPayload" });
1323
1464
  const CampaignPolicy = Schema$1.Struct({
1324
1465
  unsubscribeGroupId: Schema$1.optionalKey(Schema$1.Union([UnsubscribeId, Schema$1.Null])),
1325
1466
  pageSize: Schema$1.optionalKey(Schema$1.Union([Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isGreaterThanOrEqualTo(100).annotate({ expected: "a value greater than or equal to 100" })).check(Schema$1.isLessThanOrEqualTo(1e3).annotate({ expected: "a value less than or equal to 1000" })), Schema$1.Null]))
@@ -1357,6 +1498,8 @@ const MessageContent = Schema$1.Struct({
1357
1498
  tracking: Schema$1.optionalKey(EmailTrackingOverrideV1),
1358
1499
  attachments: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.Struct({
1359
1500
  filename: Schema$1.String,
1501
+ contentId: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
1502
+ isInline: Schema$1.optionalKey(Schema$1.Union([Schema$1.Boolean, Schema$1.Null])),
1360
1503
  content: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
1361
1504
  mediaId: Schema$1.optionalKey(Schema$1.Union([MediaId, Schema$1.Null])),
1362
1505
  contentType: Schema$1.String,
@@ -1491,6 +1634,18 @@ const ContactGroupMembershipPage = Schema$1.Struct({
1491
1634
  })),
1492
1635
  nextCursor: Schema$1.Union([Schema$1.String, Schema$1.Null])
1493
1636
  }).annotate({ identifier: "ContactGroupMembershipPage" });
1637
+ Schema$1.Struct({
1638
+ email: Schema$1.String.annotate({ description: "The recipient email address; confirmation proves consent for this address." }).check(Schema$1.isMaxCodePoints(320).annotate({ expected: "a string with at most 320 code points" })).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$", "u")).annotate({ expected: "a string matching the RegExp ^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$" })).check(Schema$1.isMaxLength(320).annotate({ expected: "a value with a length of at most 320" })),
1639
+ contactGroupId: ContactGroupId,
1640
+ from: Schema$1.Struct({
1641
+ email: Schema$1.String,
1642
+ name: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
1643
+ }).annotate({ description: "Your verified email sender. The ordinary send pipeline selects its domain and customer brand." }),
1644
+ unsubscribeGroupId: Schema$1.optionalKey(Schema$1.Union([UnsubscribeId, Schema$1.Null]).annotate({ description: "Clear this unsubscribe group after confirmation; all other opt-outs remain." })),
1645
+ templateSlug: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "A published email template slug receiving confirmUrl. Omit it to send the default confirmation email." }).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^(?=.{1,100}$)[a-z0-9]+(?:-[a-z0-9]+)*$", "u")).annotate({ expected: "a string matching the RegExp ^(?=.{1,100}$)[a-z0-9]+(?:-[a-z0-9]+)*$" })), Schema$1.Null])),
1646
+ consentIp: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "The recipient IP recorded by your server when they requested subscription." }).check(Schema$1.isMaxCodePoints(128).annotate({ expected: "a string with at most 128 code points" })).check(Schema$1.isMaxLength(128).annotate({ expected: "a value with a length of at most 128" })), Schema$1.Null])),
1647
+ consentSource: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "The signup page or source recorded by your server when consent was requested." }).check(Schema$1.isMaxCodePoints(512).annotate({ expected: "a string with at most 512 code points" })).check(Schema$1.isMaxLength(512).annotate({ expected: "a value with a length of at most 512" })), Schema$1.Null]))
1648
+ }).annotate({ identifier: "SubscribePayload" });
1494
1649
  const CampaignLatestRun = Schema$1.Struct({
1495
1650
  id: CampaignRunId,
1496
1651
  status: Schema$1.Union([
@@ -1740,6 +1895,7 @@ const WebhookEndpoint = Schema$1.Struct({
1740
1895
  Schema$1.Literal("contact.created"),
1741
1896
  Schema$1.Literal("contact.updated"),
1742
1897
  Schema$1.Literal("contact.deleted"),
1898
+ Schema$1.Literal("contact.subscribed"),
1743
1899
  Schema$1.Literal("contact.unsubscribed"),
1744
1900
  Schema$1.Literal("contact.resubscribed"),
1745
1901
  Schema$1.Literal("conversation.created"),
@@ -2069,6 +2225,22 @@ const ExtensionVersionRef = Schema$1.Struct({
2069
2225
  id: ExtensionVersionId,
2070
2226
  version: Schema$1.String
2071
2227
  }).annotate({ identifier: "ExtensionVersionRef" });
2228
+ Schema$1.Struct({
2229
+ version: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^\\d{1,6}\\.\\d{1,6}\\.\\d{1,6}(?:-[0-9A-Za-z.-]{1,64})?$", "u")).annotate({ expected: "a string matching the RegExp ^\\d{1,6}\\.\\d{1,6}\\.\\d{1,6}(?:-[0-9A-Za-z.-]{1,64})?$" })), ExtensionVersionId]), Schema$1.Null])),
2230
+ acceptPermissions: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.Union([
2231
+ Schema$1.Literal("permission:read"),
2232
+ Schema$1.Literal("permission:update"),
2233
+ Schema$1.Literal("permission:send"),
2234
+ Schema$1.Literal("permission:quarantine.read"),
2235
+ Schema$1.Literal("event:mailbox.message.received"),
2236
+ Schema$1.Literal("event:mailbox.message.sent"),
2237
+ Schema$1.Literal("event:mailbox.action.pending_approval"),
2238
+ Schema$1.Literal("event:mailbox.message.quarantined"),
2239
+ Schema$1.Literal("event:mailbox.message.released"),
2240
+ Schema$1.Literal("event:mailbox.message.discarded")
2241
+ ])), Schema$1.Null])),
2242
+ dryRun: Schema$1.optionalKey(Schema$1.Union([Schema$1.Boolean, Schema$1.Null]))
2243
+ }).annotate({ identifier: "UpgradeExtensionPayload" });
2072
2244
  const ExtensionRunList = Schema$1.Struct({ items: Schema$1.Array(ExtensionRunSummary) }).annotate({ identifier: "ExtensionRunList" });
2073
2245
  const ExtensionVersion = Schema$1.Struct({
2074
2246
  id: ExtensionVersionId,
@@ -2186,13 +2358,24 @@ const MailboxActionDecision = Schema$1.Struct({
2186
2358
  ]),
2187
2359
  reason: Schema$1.Union([Schema$1.String, Schema$1.Null]),
2188
2360
  policyId: Schema$1.Union([MailboxPolicyId, Schema$1.Null]),
2361
+ source: Schema$1.Union([Schema$1.Union([
2362
+ Schema$1.Literal("grant"),
2363
+ Schema$1.Literal("installation"),
2364
+ Schema$1.Literal("policy")
2365
+ ]), Schema$1.Null]),
2189
2366
  decidedAt: Schema$1.String
2190
2367
  }).annotate({ identifier: "MailboxActionDecision" });
2368
+ const MailboxSendOutcome = Schema$1.Struct({
2369
+ code: Schema$1.String,
2370
+ message: Schema$1.String,
2371
+ error: Schema$1.optionalKey(Schema$1.Union([MailboxSendError, Schema$1.Null]))
2372
+ }).annotate({ identifier: "MailboxSendOutcome" });
2191
2373
  const MailboxDraftSummary = Schema$1.Struct({
2192
2374
  id: MailboxDraftId,
2193
2375
  threadId: Schema$1.Union([MailboxThreadId, Schema$1.Null]),
2194
2376
  inReplyToMessageId: Schema$1.Union([MessageId, Schema$1.Null]),
2195
2377
  state: MailboxDraftState,
2378
+ lockedByActionId: Schema$1.Union([MailboxActionId, Schema$1.Null]),
2196
2379
  to: Schema$1.Array(Schema$1.String),
2197
2380
  subject: Schema$1.Union([Schema$1.String, Schema$1.Null]),
2198
2381
  createdAt: Schema$1.String,
@@ -2207,13 +2390,11 @@ const MailboxEvent = Schema$1.Struct({
2207
2390
  Schema$1.Literal("email.released"),
2208
2391
  Schema$1.Literal("email.sent"),
2209
2392
  Schema$1.Literal("thread.created"),
2210
- Schema$1.Literal("thread.updated"),
2211
- Schema$1.Literal("draft.created"),
2212
- Schema$1.Literal("draft.updated"),
2213
2393
  Schema$1.Literal("action.proposed"),
2214
2394
  Schema$1.Literal("action.policy_decided"),
2215
2395
  Schema$1.Literal("action.approval_requested"),
2216
2396
  Schema$1.Literal("action.approval_resolved"),
2397
+ Schema$1.Literal("action.accepted"),
2217
2398
  Schema$1.Literal("action.executed"),
2218
2399
  Schema$1.Literal("action.failed")
2219
2400
  ]),
@@ -2490,7 +2671,8 @@ const MessageDelivery = Schema$1.Struct({
2490
2671
  Schema$1.Literal("campaign-paused"),
2491
2672
  Schema$1.Literal("domain-warming"),
2492
2673
  Schema$1.Literal("onboarding-review"),
2493
- Schema$1.Literal("content-review")
2674
+ Schema$1.Literal("content-review"),
2675
+ Schema$1.Literal("screening-unavailable")
2494
2676
  ]), Schema$1.Null]),
2495
2677
  nextRetryAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
2496
2678
  sentAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
@@ -2682,6 +2864,7 @@ const WebhookEndpointListItem = Schema$1.Struct({
2682
2864
  Schema$1.Literal("contact.created"),
2683
2865
  Schema$1.Literal("contact.updated"),
2684
2866
  Schema$1.Literal("contact.deleted"),
2867
+ Schema$1.Literal("contact.subscribed"),
2685
2868
  Schema$1.Literal("contact.unsubscribed"),
2686
2869
  Schema$1.Literal("contact.resubscribed"),
2687
2870
  Schema$1.Literal("conversation.created"),
@@ -2815,11 +2998,28 @@ const UpdateBrand = Schema$1.Struct({
2815
2998
  footer: Schema$1.optionalKey(Schema$1.Union([BrandFooter, Schema$1.Null]))
2816
2999
  }).annotate({ identifier: "UpdateBrand" });
2817
3000
  const EmailAttachments = Schema$1.Union([Schema$1.Array(EmailAttachment).check(Schema$1.isMaxLength(10).annotate({ expected: "a value with a length of at most 10" })), Schema$1.Null]).annotate({ identifier: "EmailAttachments" });
3001
+ const MailboxSendSnapshot = Schema$1.Struct({
3002
+ draftRevision: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" })),
3003
+ from: Schema$1.String,
3004
+ fromName: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3005
+ to: Schema$1.TupleWithRest(Schema$1.Tuple([Schema$1.String]), [Schema$1.String]),
3006
+ cc: Schema$1.Array(Schema$1.String),
3007
+ bcc: Schema$1.Array(Schema$1.String),
3008
+ replyTo: Schema$1.Array(Schema$1.String),
3009
+ subject: Schema$1.String,
3010
+ text: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3011
+ html: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3012
+ attachments: Schema$1.Array(EmailAttachment).check(Schema$1.isMaxLength(10).annotate({ expected: "a value with a length of at most 10" })),
3013
+ threadId: Schema$1.Union([MailboxThreadId, Schema$1.Null]),
3014
+ conversationId: Schema$1.Union([ConversationId, Schema$1.Null]),
3015
+ inReplyToMessageId: Schema$1.Union([MessageId, Schema$1.Null])
3016
+ }).annotate({ identifier: "MailboxSendSnapshot" });
2818
3017
  const MailboxDraft = Schema$1.Struct({
2819
3018
  id: MailboxDraftId,
2820
3019
  threadId: Schema$1.Union([MailboxThreadId, Schema$1.Null]),
2821
3020
  inReplyToMessageId: Schema$1.Union([MessageId, Schema$1.Null]),
2822
3021
  state: MailboxDraftState,
3022
+ lockedByActionId: Schema$1.Union([MailboxActionId, Schema$1.Null]),
2823
3023
  to: Schema$1.Array(Schema$1.String),
2824
3024
  subject: Schema$1.Union([Schema$1.String, Schema$1.Null]),
2825
3025
  createdAt: Schema$1.String,
@@ -2888,27 +3088,6 @@ const TemplateFamily = Schema$1.Struct({
2888
3088
  createdAt: Schema$1.String,
2889
3089
  updatedAt: Schema$1.String
2890
3090
  }).annotate({ identifier: "TemplateFamily" });
2891
- const MailboxSendReceipt = Schema$1.Struct({
2892
- actionId: MailboxActionId,
2893
- messageId: Schema$1.Union([MessageId, Schema$1.Null]),
2894
- threadId: MailboxThreadId,
2895
- status: Schema$1.Union([Schema$1.Literal("sent"), Schema$1.Literal("pending_approval")]),
2896
- waitReason: Schema$1.Union([Schema$1.Union([
2897
- Schema$1.Literal("rate"),
2898
- Schema$1.Literal("daily-quota"),
2899
- Schema$1.Literal("domain-health"),
2900
- Schema$1.Literal("sending-paused"),
2901
- Schema$1.Literal("upstream-unavailable"),
2902
- Schema$1.Literal("retry"),
2903
- Schema$1.Literal("campaign-paused"),
2904
- Schema$1.Literal("domain-warming"),
2905
- Schema$1.Literal("onboarding-review"),
2906
- Schema$1.Literal("content-review")
2907
- ]), Schema$1.Null]),
2908
- reviewExpectedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
2909
- skippedRecipients: Schema$1.Array(SkippedRecipient),
2910
- createdAt: Schema$1.String
2911
- }).annotate({ identifier: "MailboxSendReceipt" });
2912
3091
  const MessageReceipt = Schema$1.Struct({
2913
3092
  id: MessageId,
2914
3093
  status: Schema$1.Union([
@@ -2933,7 +3112,8 @@ const MessageReceipt = Schema$1.Struct({
2933
3112
  Schema$1.Literal("campaign-paused"),
2934
3113
  Schema$1.Literal("domain-warming"),
2935
3114
  Schema$1.Literal("onboarding-review"),
2936
- Schema$1.Literal("content-review")
3115
+ Schema$1.Literal("content-review"),
3116
+ Schema$1.Literal("screening-unavailable")
2937
3117
  ]), Schema$1.Null]),
2938
3118
  reviewExpectedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
2939
3119
  skippedRecipients: Schema$1.Array(SkippedRecipient),
@@ -2963,6 +3143,7 @@ const ContactSummary = Schema$1.Struct({
2963
3143
  channels: Schema$1.Array(Schema$1.Literal("email")),
2964
3144
  tags: Schema$1.Array(Schema$1.String),
2965
3145
  lists: Schema$1.Array(ContactListMembership),
3146
+ customFields: Schema$1.optionalKey(Schema$1.Union([ContactCustomFields, Schema$1.Null])),
2966
3147
  lastActiveAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
2967
3148
  createdAt: Schema$1.String
2968
3149
  }).annotate({ identifier: "ContactSummary" });
@@ -3332,6 +3513,17 @@ const ExtensionInstallation = Schema$1.Struct({
3332
3513
  updatedAt: Schema$1.String,
3333
3514
  disabledAt: Schema$1.Union([Schema$1.String, Schema$1.Null])
3334
3515
  }).annotate({ identifier: "ExtensionInstallation" });
3516
+ const ExtensionVersionChange = Schema$1.Struct({
3517
+ id: Schema$1.String,
3518
+ organizationId: OrganizationId,
3519
+ installationId: ExtensionInstallationId,
3520
+ extensionId: ExtensionId,
3521
+ fromVersion: ExtensionVersionRef,
3522
+ toVersion: ExtensionVersionRef,
3523
+ permissionDiff: ExtensionPermissionDiff,
3524
+ changedBy: UserId,
3525
+ changedAt: Schema$1.String
3526
+ }).annotate({ identifier: "ExtensionVersionChange" });
3335
3527
  const Extension = Schema$1.Struct({
3336
3528
  id: ExtensionId,
3337
3529
  name: Schema$1.String,
@@ -3368,29 +3560,8 @@ const MailboxQuarantinePage = Schema$1.Struct({
3368
3560
  items: Schema$1.Array(MailboxQuarantinedMessage),
3369
3561
  nextCursor: Schema$1.Union([Schema$1.String, Schema$1.Null])
3370
3562
  }).annotate({ identifier: "MailboxQuarantinePage" });
3371
- const MailboxAction = Schema$1.Struct({
3563
+ const MailboxNonSendAction = Schema$1.Struct({
3372
3564
  id: MailboxActionId,
3373
- type: Schema$1.Union([
3374
- Schema$1.Literal("sendMessage"),
3375
- Schema$1.Literal("reply"),
3376
- Schema$1.Literal("updateDraft"),
3377
- Schema$1.Literal("createNote"),
3378
- Schema$1.Literal("assignThread"),
3379
- Schema$1.Literal("changeThreadState"),
3380
- Schema$1.Literal("call"),
3381
- Schema$1.Literal("extensionRequest")
3382
- ]),
3383
- state: Schema$1.Union([
3384
- Schema$1.Literal("proposed"),
3385
- Schema$1.Literal("allowed"),
3386
- Schema$1.Literal("approvalRequired"),
3387
- Schema$1.Literal("policyDenied"),
3388
- Schema$1.Literal("approved"),
3389
- Schema$1.Literal("approvalDenied"),
3390
- Schema$1.Literal("executing"),
3391
- Schema$1.Literal("executed"),
3392
- Schema$1.Literal("failed")
3393
- ]),
3394
3565
  source: Schema$1.Union([
3395
3566
  Schema$1.Literal("humanUi"),
3396
3567
  Schema$1.Literal("externalApi"),
@@ -3416,8 +3587,101 @@ const MailboxAction = Schema$1.Struct({
3416
3587
  draftId: Schema$1.Union([MailboxDraftId, Schema$1.Null]),
3417
3588
  decision: Schema$1.Union([MailboxActionDecision, Schema$1.Null]),
3418
3589
  createdAt: Schema$1.String,
3590
+ updatedAt: Schema$1.String,
3591
+ type: Schema$1.Union([
3592
+ Schema$1.Literal("updateDraft"),
3593
+ Schema$1.Literal("createNote"),
3594
+ Schema$1.Literal("assignThread"),
3595
+ Schema$1.Literal("changeThreadState"),
3596
+ Schema$1.Literal("call"),
3597
+ Schema$1.Literal("extensionRequest")
3598
+ ]),
3599
+ state: Schema$1.Union([
3600
+ Schema$1.Literal("proposed"),
3601
+ Schema$1.Literal("allowed"),
3602
+ Schema$1.Literal("approvalRequired"),
3603
+ Schema$1.Literal("policyDenied"),
3604
+ Schema$1.Literal("approved"),
3605
+ Schema$1.Literal("approvalDenied"),
3606
+ Schema$1.Literal("executing"),
3607
+ Schema$1.Literal("executed"),
3608
+ Schema$1.Literal("failed")
3609
+ ])
3610
+ }).annotate({ identifier: "MailboxNonSendAction" });
3611
+ const MailboxSendReceipt = Schema$1.Struct({
3612
+ actionId: MailboxActionId,
3613
+ draftId: Schema$1.Union([MailboxDraftId, Schema$1.Null]),
3614
+ messageId: Schema$1.Union([MessageId, Schema$1.Null]),
3615
+ threadId: Schema$1.Union([MailboxThreadId, Schema$1.Null]),
3616
+ state: Schema$1.Union([
3617
+ Schema$1.Literal("approvalRequired"),
3618
+ Schema$1.Literal("queued"),
3619
+ Schema$1.Literal("accepted"),
3620
+ Schema$1.Literal("completed"),
3621
+ Schema$1.Literal("notSent"),
3622
+ Schema$1.Literal("uncertain")
3623
+ ]),
3624
+ acceptedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3625
+ waitReason: Schema$1.Union([Schema$1.Union([
3626
+ Schema$1.Literal("rate"),
3627
+ Schema$1.Literal("daily-quota"),
3628
+ Schema$1.Literal("domain-health"),
3629
+ Schema$1.Literal("sending-paused"),
3630
+ Schema$1.Literal("upstream-unavailable"),
3631
+ Schema$1.Literal("retry"),
3632
+ Schema$1.Literal("campaign-paused"),
3633
+ Schema$1.Literal("domain-warming"),
3634
+ Schema$1.Literal("onboarding-review"),
3635
+ Schema$1.Literal("content-review"),
3636
+ Schema$1.Literal("screening-unavailable")
3637
+ ]), Schema$1.Null]),
3638
+ reviewExpectedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3639
+ skippedRecipients: Schema$1.Array(SkippedRecipient),
3640
+ executeUntil: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3641
+ retryAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3642
+ problem: Schema$1.Union([MailboxSendOutcome, Schema$1.Null]),
3643
+ retryEligible: Schema$1.Boolean,
3644
+ decision: Schema$1.Union([MailboxActionDecision, Schema$1.Null]),
3645
+ createdAt: Schema$1.String,
3646
+ updatedAt: Schema$1.String
3647
+ }).annotate({ identifier: "MailboxSendReceipt" });
3648
+ const MailboxPendingSendReceipt = Schema$1.Struct({
3649
+ actionId: MailboxActionId,
3650
+ draftId: Schema$1.Union([MailboxDraftId, Schema$1.Null]),
3651
+ messageId: Schema$1.Union([MessageId, Schema$1.Null]),
3652
+ threadId: Schema$1.Union([MailboxThreadId, Schema$1.Null]),
3653
+ state: Schema$1.Union([
3654
+ Schema$1.Literal("approvalRequired"),
3655
+ Schema$1.Literal("queued"),
3656
+ Schema$1.Literal("accepted"),
3657
+ Schema$1.Literal("completed"),
3658
+ Schema$1.Literal("notSent"),
3659
+ Schema$1.Literal("uncertain")
3660
+ ]),
3661
+ acceptedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3662
+ waitReason: Schema$1.Union([Schema$1.Union([
3663
+ Schema$1.Literal("rate"),
3664
+ Schema$1.Literal("daily-quota"),
3665
+ Schema$1.Literal("domain-health"),
3666
+ Schema$1.Literal("sending-paused"),
3667
+ Schema$1.Literal("upstream-unavailable"),
3668
+ Schema$1.Literal("retry"),
3669
+ Schema$1.Literal("campaign-paused"),
3670
+ Schema$1.Literal("domain-warming"),
3671
+ Schema$1.Literal("onboarding-review"),
3672
+ Schema$1.Literal("content-review"),
3673
+ Schema$1.Literal("screening-unavailable")
3674
+ ]), Schema$1.Null]),
3675
+ reviewExpectedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3676
+ skippedRecipients: Schema$1.Array(SkippedRecipient),
3677
+ executeUntil: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3678
+ retryAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3679
+ problem: Schema$1.Union([MailboxSendOutcome, Schema$1.Null]),
3680
+ retryEligible: Schema$1.Boolean,
3681
+ decision: Schema$1.Union([MailboxActionDecision, Schema$1.Null]),
3682
+ createdAt: Schema$1.String,
3419
3683
  updatedAt: Schema$1.String
3420
- }).annotate({ identifier: "MailboxAction" });
3684
+ }).annotate({ identifier: "MailboxPendingSendReceipt" });
3421
3685
  const MailboxDraftPage = Schema$1.Struct({
3422
3686
  items: Schema$1.Array(MailboxDraftSummary),
3423
3687
  nextCursor: Schema$1.Union([Schema$1.String, Schema$1.Null])
@@ -3534,7 +3798,8 @@ const Message = Schema$1.Struct({
3534
3798
  Schema$1.Literal("campaign-paused"),
3535
3799
  Schema$1.Literal("domain-warming"),
3536
3800
  Schema$1.Literal("onboarding-review"),
3537
- Schema$1.Literal("content-review")
3801
+ Schema$1.Literal("content-review"),
3802
+ Schema$1.Literal("screening-unavailable")
3538
3803
  ]), Schema$1.Null]),
3539
3804
  reviewExpectedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3540
3805
  skippedRecipients: Schema$1.Array(SkippedRecipient),
@@ -3556,7 +3821,7 @@ const EmailContent = Schema$1.Struct({
3556
3821
  timeZone: Schema$1.optionalKey(RenderTimeZone),
3557
3822
  inReplyToMessageId: Schema$1.optionalKey(Schema$1.Union([MessageId, Schema$1.Null])),
3558
3823
  replyTo: Schema$1.optionalKey(ReplyToAddresses),
3559
- unsubscribeGroupId: Schema$1.optionalKey(Schema$1.Union([UnsubscribeId, Schema$1.Null])),
3824
+ unsubscribeGroupId: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([UnsubscribeId, Schema$1.Null]), Schema$1.Null]).annotate({ description: "The unsubscribe group for this send. Omit to inherit the template group; null disables group inheritance for a direct send. Campaigns require a group." })),
3560
3825
  tracking: Schema$1.optionalKey(EmailTrackingOverrideV1),
3561
3826
  footer: Schema$1.optionalKey(EmailFooterOverride)
3562
3827
  }).annotate({ identifier: "EmailContent" });
@@ -3574,7 +3839,7 @@ const EmailDispatchContent = Schema$1.Struct({
3574
3839
  timeZone: Schema$1.optionalKey(RenderTimeZone),
3575
3840
  inReplyToMessageId: Schema$1.optionalKey(Schema$1.Union([MessageId, Schema$1.Null])),
3576
3841
  replyTo: Schema$1.optionalKey(ReplyToAddresses),
3577
- unsubscribeGroupId: Schema$1.optionalKey(Schema$1.Union([UnsubscribeId, Schema$1.Null])),
3842
+ unsubscribeGroupId: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([UnsubscribeId, Schema$1.Null]), Schema$1.Null]).annotate({ description: "The unsubscribe group for this send. Omit to inherit the template group; null disables group inheritance for a direct send. Campaigns require a group." })),
3578
3843
  tracking: Schema$1.optionalKey(EmailTrackingOverrideV1),
3579
3844
  footer: Schema$1.optionalKey(EmailFooterOverride)
3580
3845
  }).annotate({ identifier: "EmailDispatchContent" });
@@ -3597,6 +3862,14 @@ const InstallExtensionResponse = Schema$1.Struct({
3597
3862
  webhookSecret: SensitiveString
3598
3863
  }), Schema$1.Null])
3599
3864
  }).annotate({ identifier: "InstallExtensionResponse" });
3865
+ const UpgradeExtensionResponse = Schema$1.Struct({
3866
+ installation: ExtensionInstallation,
3867
+ fromVersion: ExtensionVersionRef,
3868
+ toVersion: ExtensionVersionRef,
3869
+ permissionDiff: ExtensionPermissionDiff,
3870
+ dryRun: Schema$1.Boolean,
3871
+ versionChange: Schema$1.Union([ExtensionVersionChange, Schema$1.Null])
3872
+ }).annotate({ identifier: "UpgradeExtensionResponse" });
3600
3873
  const ExtensionPage = Schema$1.Struct({
3601
3874
  items: Schema$1.Array(Extension),
3602
3875
  nextCursor: Schema$1.Union([Schema$1.String, Schema$1.Null])
@@ -3605,10 +3878,56 @@ const PublishExtensionVersionResponse = Schema$1.Struct({
3605
3878
  extension: Extension,
3606
3879
  version: ExtensionVersion
3607
3880
  }).annotate({ identifier: "PublishExtensionVersionResponse" });
3608
- const MailboxActionPage = Schema$1.Struct({
3609
- items: Schema$1.Array(MailboxAction),
3610
- nextCursor: Schema$1.Union([Schema$1.String, Schema$1.Null])
3611
- }).annotate({ identifier: "MailboxActionPage" });
3881
+ const MailboxSendAction = Schema$1.Struct({
3882
+ id: MailboxActionId,
3883
+ source: Schema$1.Union([
3884
+ Schema$1.Literal("humanUi"),
3885
+ Schema$1.Literal("externalApi"),
3886
+ Schema$1.Literal("aiSdkTool"),
3887
+ Schema$1.Literal("extension"),
3888
+ Schema$1.Literal("externalAgent"),
3889
+ Schema$1.Literal("samvaManagedAgent"),
3890
+ Schema$1.Literal("system")
3891
+ ]),
3892
+ proposedBy: Schema$1.Struct({
3893
+ kind: Schema$1.Union([
3894
+ Schema$1.Literal("user"),
3895
+ Schema$1.Literal("apiKey"),
3896
+ Schema$1.Literal("extension"),
3897
+ Schema$1.Literal("externalAgent"),
3898
+ Schema$1.Literal("samvaAgent"),
3899
+ Schema$1.Literal("system")
3900
+ ]),
3901
+ id: Schema$1.String,
3902
+ displayName: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
3903
+ }),
3904
+ threadId: Schema$1.Union([MailboxThreadId, Schema$1.Null]),
3905
+ draftId: Schema$1.Union([MailboxDraftId, Schema$1.Null]),
3906
+ decision: Schema$1.Union([MailboxActionDecision, Schema$1.Null]),
3907
+ createdAt: Schema$1.String,
3908
+ updatedAt: Schema$1.String,
3909
+ type: Schema$1.Union([Schema$1.Literal("sendMessage"), Schema$1.Literal("reply")]),
3910
+ state: Schema$1.Union([
3911
+ Schema$1.Literal("approvalRequired"),
3912
+ Schema$1.Literal("queued"),
3913
+ Schema$1.Literal("accepted"),
3914
+ Schema$1.Literal("completed"),
3915
+ Schema$1.Literal("notSent"),
3916
+ Schema$1.Literal("uncertain")
3917
+ ]),
3918
+ send: MailboxSendReceipt,
3919
+ intent: Schema$1.Union([MailboxSendSnapshot, Schema$1.Null])
3920
+ }).annotate({ identifier: "MailboxSendAction" });
3921
+ var MailboxSendRefusedError = class extends Schema$1.TaggedError()("MailboxSendRefusedError", Schema$1.Struct({
3922
+ message: Schema$1.String,
3923
+ receipt: MailboxSendReceipt
3924
+ })) {};
3925
+ var MailboxSendConflictError = class extends Schema$1.TaggedError()("MailboxSendConflictError", Schema$1.Struct({
3926
+ message: Schema$1.String,
3927
+ resource: Schema$1.String,
3928
+ id: MailboxActionId,
3929
+ receipt: MailboxSendReceipt
3930
+ })) {};
3612
3931
  const ApiKeyPage = Schema$1.Struct({
3613
3932
  items: Schema$1.Array(ApiKey),
3614
3933
  nextCursor: Schema$1.Union([Schema$1.String, Schema$1.Null])
@@ -3645,10 +3964,16 @@ const EmailDispatchSendMessagePayload = Schema$1.Struct({
3645
3964
  from: Schema$1.optionalKey(EmailSender),
3646
3965
  email: EmailDispatchContent
3647
3966
  }).annotate({ identifier: "EmailDispatchSendMessagePayload" });
3967
+ const MailboxAction = Schema$1.Union([MailboxSendAction, MailboxNonSendAction]).annotate({ identifier: "MailboxAction" });
3968
+ const MailboxPendingAction = Schema$1.Union([MailboxSendAction, MailboxNonSendAction]).annotate({ identifier: "MailboxPendingAction" });
3648
3969
  const CampaignContent = Schema$1.Union([EmailCampaignContent]).annotate({ identifier: "CampaignContent" });
3649
3970
  const SendMessagePayload = Schema$1.Union([EmailSendMessagePayload]).annotate({ identifier: "SendMessagePayload" });
3650
3971
  const CampaignContentInput = Schema$1.Union([EmailCampaignContentInput]).annotate({ identifier: "CampaignContentInput" });
3651
3972
  const DispatchSendMessagePayload = Schema$1.Union([EmailDispatchSendMessagePayload]).annotate({ identifier: "DispatchSendMessagePayload" });
3973
+ const MailboxActionPage = Schema$1.Struct({
3974
+ items: Schema$1.Array(MailboxAction),
3975
+ nextCursor: Schema$1.Union([Schema$1.String, Schema$1.Null])
3976
+ }).annotate({ identifier: "MailboxActionPage" });
3652
3977
  const CampaignListItem = Schema$1.Struct({
3653
3978
  id: CampaignId,
3654
3979
  name: Schema$1.String,
@@ -4188,6 +4513,7 @@ const CampaignsScheduleRun422 = Schema$1.Union([
4188
4513
  ]);
4189
4514
  const CampaignsScheduleRun500 = InternalError;
4190
4515
  const CampaignsScheduleRun502 = ExternalServiceError;
4516
+ const CampaignsScheduleRun503 = SenderNotReadyError;
4191
4517
  const CampaignsScheduleRun504 = GatewayTimeoutError;
4192
4518
  const CampaignsGetRunPathParams = Schema$1.Struct({
4193
4519
  id: CampaignId,
@@ -4484,8 +4810,6 @@ const ContactGroupsRemoveMembers422 = ValidationError;
4484
4810
  const ContactGroupsRemoveMembers500 = InternalError;
4485
4811
  const ContactGroupsRemoveMembers504 = GatewayTimeoutError;
4486
4812
  const ContactGroupsPreviewRequestJson = Schema$1.Struct({ criteria: Schema$1.Struct({
4487
- contactTypes: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null])),
4488
- capabilities: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null])),
4489
4813
  tags: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null])),
4490
4814
  channels: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null])),
4491
4815
  match: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.Literal("all"), Schema$1.Literal("any")]), Schema$1.Null])),
@@ -4500,7 +4824,6 @@ const ContactGroupsPreview200 = Schema$1.Struct({
4500
4824
  sample: Schema$1.Array(Schema$1.Struct({
4501
4825
  id: ContactId,
4502
4826
  name: Schema$1.String,
4503
- type: Schema$1.String,
4504
4827
  status: Schema$1.String
4505
4828
  }))
4506
4829
  });
@@ -4519,6 +4842,9 @@ const ContactsListQuery = Schema$1.Struct({
4519
4842
  Schema$1.Literal("blocked"),
4520
4843
  Schema$1.Literal("archived")
4521
4844
  ]), Schema$1.Null])),
4845
+ fields: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4846
+ customField: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4847
+ customFieldValue: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4522
4848
  after: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4523
4849
  before: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
4524
4850
  });
@@ -4695,16 +5021,23 @@ const ContactsBulkDelete504 = GatewayTimeoutError;
4695
5021
  const ContactsBulkImportRequestJson = Schema$1.Struct({
4696
5022
  contacts: Schema$1.Array(Schema$1.Struct({
4697
5023
  name: Schema$1.String,
4698
- email: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4699
- phone: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
5024
+ displayName: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.String, Schema$1.Null]), Schema$1.Null])),
5025
+ avatar: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.String, Schema$1.Null]), Schema$1.Null])),
5026
+ identities: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(ContactIdentityInput), Schema$1.Null])),
5027
+ profile: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([ContactProfile, Schema$1.Null]), Schema$1.Null])),
5028
+ preferences: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([ContactPreferences, Schema$1.Null]), Schema$1.Null])),
4700
5029
  tags: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null])),
4701
- firstName: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4702
- lastName: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4703
- company: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4704
- jobTitle: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4705
- customFields: Schema$1.optionalKey(Schema$1.Union([UnknownRecord, Schema$1.Null]))
5030
+ status: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([
5031
+ Schema$1.Literal("active"),
5032
+ Schema$1.Literal("paused"),
5033
+ Schema$1.Literal("blocked"),
5034
+ Schema$1.Literal("archived")
5035
+ ]), Schema$1.Null])),
5036
+ statusReason: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.String, Schema$1.Null]), Schema$1.Null])),
5037
+ externalId: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.String, Schema$1.Null]), Schema$1.Null])),
5038
+ metadata: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([JsonObject, Schema$1.Null]), Schema$1.Null]))
4706
5039
  })),
4707
- upsertByEmail: Schema$1.optionalKey(Schema$1.Union([Schema$1.Boolean, Schema$1.Null]))
5040
+ onConflict: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.Literal("skip"), Schema$1.Literal("update")]), Schema$1.Null]))
4708
5041
  });
4709
5042
  const ContactsBulkImport200 = Schema$1.Struct({
4710
5043
  total: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" })),
@@ -4800,13 +5133,20 @@ const ContactsFind422 = ValidationError;
4800
5133
  const ContactsFind500 = InternalError;
4801
5134
  const ContactsFind504 = GatewayTimeoutError;
4802
5135
  const ContactsFindOrCreateRequestJson = Schema$1.Struct({
4803
- email: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4804
- phone: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4805
- externalId: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4806
- name: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4807
- displayName: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.String, Schema$1.Null]), Schema$1.Null]))
5136
+ lookup: ContactLookup,
5137
+ create: Schema$1.optionalKey(Schema$1.Union([Schema$1.Struct({
5138
+ name: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
5139
+ displayName: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.String, Schema$1.Null]), Schema$1.Null])),
5140
+ avatar: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.String, Schema$1.Null]), Schema$1.Null])),
5141
+ identities: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(ContactIdentityInput), Schema$1.Null])),
5142
+ profile: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([ContactProfile, Schema$1.Null]), Schema$1.Null])),
5143
+ externalId: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.String, Schema$1.Null]), Schema$1.Null]))
5144
+ }), Schema$1.Null]))
5145
+ });
5146
+ const ContactsFindOrCreate200 = Schema$1.Struct({
5147
+ contact: Contact,
5148
+ created: Schema$1.Boolean
4808
5149
  });
4809
- const ContactsFindOrCreate200 = Contact;
4810
5150
  const ContactsFindOrCreate401 = UnauthorizedError;
4811
5151
  const ContactsFindOrCreate402 = PaymentRequiredError;
4812
5152
  const ContactsFindOrCreate403 = ForbiddenError;
@@ -5131,6 +5471,7 @@ const EmailAddBlock401 = UnauthorizedError;
5131
5471
  const EmailAddBlock403 = ForbiddenError;
5132
5472
  const EmailAddBlock409 = ConflictError;
5133
5473
  const EmailAddBlock422 = ValidationError;
5474
+ const EmailAddBlock500 = InternalError;
5134
5475
  const EmailAddBlock504 = GatewayTimeoutError;
5135
5476
  const EmailRemoveBlockPathParams = Schema$1.Struct({ id: BlockedEmailId });
5136
5477
  const EmailRemoveBlock200 = SuccessResult;
@@ -5275,6 +5616,7 @@ const EmailGetDomainById401 = UnauthorizedError;
5275
5616
  const EmailGetDomainById403 = ForbiddenError;
5276
5617
  const EmailGetDomainById404 = ResourceNotFoundError;
5277
5618
  const EmailGetDomainById422 = ValidationError;
5619
+ const EmailGetDomainById500 = InternalError;
5278
5620
  const EmailGetDomainById504 = GatewayTimeoutError;
5279
5621
  const EmailRemoveDomainPathParams = Schema$1.Struct({ id: EmailDomainId });
5280
5622
  const EmailRemoveDomain200 = SuccessResult;
@@ -5837,6 +6179,7 @@ const EmailCheckSenderVerification401 = UnauthorizedError;
5837
6179
  const EmailCheckSenderVerification403 = ForbiddenError;
5838
6180
  const EmailCheckSenderVerification404 = ResourceNotFoundError;
5839
6181
  const EmailCheckSenderVerification422 = ValidationError;
6182
+ const EmailCheckSenderVerification500 = InternalError;
5840
6183
  const EmailCheckSenderVerification502 = ExternalServiceError;
5841
6184
  const EmailCheckSenderVerification504 = GatewayTimeoutError;
5842
6185
  const EmailGetStatsQuery = Schema$1.Struct({
@@ -6014,6 +6357,31 @@ const ExtensionInstallationsGetRun404 = ResourceNotFoundError;
6014
6357
  const ExtensionInstallationsGetRun422 = ValidationError;
6015
6358
  const ExtensionInstallationsGetRun500 = InternalError;
6016
6359
  const ExtensionInstallationsGetRun504 = GatewayTimeoutError;
6360
+ const ExtensionInstallationsUpgradePathParams = Schema$1.Struct({ id: ExtensionInstallationId });
6361
+ const ExtensionInstallationsUpgradeRequestJson = Schema$1.Struct({
6362
+ version: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^\\d{1,6}\\.\\d{1,6}\\.\\d{1,6}(?:-[0-9A-Za-z.-]{1,64})?$", "u")).annotate({ expected: "a string matching the RegExp ^\\d{1,6}\\.\\d{1,6}\\.\\d{1,6}(?:-[0-9A-Za-z.-]{1,64})?$" })), ExtensionVersionId]), Schema$1.Null])),
6363
+ acceptPermissions: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.Union([
6364
+ Schema$1.Literal("permission:read"),
6365
+ Schema$1.Literal("permission:update"),
6366
+ Schema$1.Literal("permission:send"),
6367
+ Schema$1.Literal("permission:quarantine.read"),
6368
+ Schema$1.Literal("event:mailbox.message.received"),
6369
+ Schema$1.Literal("event:mailbox.message.sent"),
6370
+ Schema$1.Literal("event:mailbox.action.pending_approval"),
6371
+ Schema$1.Literal("event:mailbox.message.quarantined"),
6372
+ Schema$1.Literal("event:mailbox.message.released"),
6373
+ Schema$1.Literal("event:mailbox.message.discarded")
6374
+ ])), Schema$1.Null])),
6375
+ dryRun: Schema$1.optionalKey(Schema$1.Union([Schema$1.Boolean, Schema$1.Null]))
6376
+ });
6377
+ const ExtensionInstallationsUpgrade200 = UpgradeExtensionResponse;
6378
+ const ExtensionInstallationsUpgrade401 = UnauthorizedError;
6379
+ const ExtensionInstallationsUpgrade403 = ForbiddenError;
6380
+ const ExtensionInstallationsUpgrade404 = ResourceNotFoundError;
6381
+ const ExtensionInstallationsUpgrade409 = ConflictError;
6382
+ const ExtensionInstallationsUpgrade422 = ValidationError;
6383
+ const ExtensionInstallationsUpgrade500 = InternalError;
6384
+ const ExtensionInstallationsUpgrade504 = GatewayTimeoutError;
6017
6385
  const ExtensionsListQuery = Schema$1.Struct({
6018
6386
  limit: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
6019
6387
  cursor: Schema$1.optionalKey(Schema$1.Union([Cursor, Schema$1.Null])),
@@ -6176,6 +6544,7 @@ const MailboxesListActionsPathParams = Schema$1.Struct({ id: MailboxId });
6176
6544
  const MailboxesListActionsQuery = Schema$1.Struct({
6177
6545
  limit: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
6178
6546
  cursor: Schema$1.optionalKey(Schema$1.Union([Cursor, Schema$1.Null])),
6547
+ threadId: Schema$1.optionalKey(Schema$1.Union([MailboxThreadId, Schema$1.Null])),
6179
6548
  state: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([
6180
6549
  Schema$1.Literal("proposed"),
6181
6550
  Schema$1.Literal("allowed"),
@@ -6185,7 +6554,12 @@ const MailboxesListActionsQuery = Schema$1.Struct({
6185
6554
  Schema$1.Literal("approvalDenied"),
6186
6555
  Schema$1.Literal("executing"),
6187
6556
  Schema$1.Literal("executed"),
6188
- Schema$1.Literal("failed")
6557
+ Schema$1.Literal("failed"),
6558
+ Schema$1.Literal("queued"),
6559
+ Schema$1.Literal("accepted"),
6560
+ Schema$1.Literal("completed"),
6561
+ Schema$1.Literal("notSent"),
6562
+ Schema$1.Literal("uncertain")
6189
6563
  ]), Schema$1.Null])),
6190
6564
  after: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
6191
6565
  before: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
@@ -6197,20 +6571,59 @@ const MailboxesListActions404 = ResourceNotFoundError;
6197
6571
  const MailboxesListActions422 = ValidationError;
6198
6572
  const MailboxesListActions500 = InternalError;
6199
6573
  const MailboxesListActions504 = GatewayTimeoutError;
6574
+ const MailboxesGetActionPathParams = Schema$1.Struct({
6575
+ id: MailboxId,
6576
+ actionId: MailboxActionId
6577
+ });
6578
+ const MailboxesGetAction200 = MailboxAction;
6579
+ const MailboxesGetAction401 = UnauthorizedError;
6580
+ const MailboxesGetAction403 = ForbiddenError;
6581
+ const MailboxesGetAction404 = ResourceNotFoundError;
6582
+ const MailboxesGetAction422 = ValidationError;
6583
+ const MailboxesGetAction500 = InternalError;
6584
+ const MailboxesGetAction504 = GatewayTimeoutError;
6200
6585
  const MailboxesApproveActionPathParams = Schema$1.Struct({
6201
6586
  id: MailboxId,
6202
6587
  actionId: MailboxActionId
6203
6588
  });
6204
6589
  const MailboxesApproveAction200 = MailboxAction;
6590
+ const MailboxesApproveAction202 = MailboxPendingAction;
6205
6591
  const MailboxesApproveAction401 = UnauthorizedError;
6206
6592
  const MailboxesApproveAction402 = PaymentRequiredError;
6207
- const MailboxesApproveAction403 = ForbiddenError;
6593
+ const MailboxesApproveAction403 = Schema$1.Union([
6594
+ MailboxSendRefusedError,
6595
+ OnboardingReviewRequiredError,
6596
+ ForbiddenError
6597
+ ]);
6208
6598
  const MailboxesApproveAction404 = ResourceNotFoundError;
6209
- const MailboxesApproveAction409 = ConflictError;
6599
+ const MailboxesApproveAction409 = Schema$1.Union([MailboxSendConflictError, ConflictError]);
6210
6600
  const MailboxesApproveAction422 = ValidationError;
6601
+ const MailboxesApproveAction429 = RateLimitedError;
6211
6602
  const MailboxesApproveAction500 = InternalError;
6212
6603
  const MailboxesApproveAction502 = BillingProviderError;
6604
+ const MailboxesApproveAction503 = SenderNotReadyError;
6213
6605
  const MailboxesApproveAction504 = GatewayTimeoutError;
6606
+ const MailboxesCancelActionPathParams = Schema$1.Struct({
6607
+ id: MailboxId,
6608
+ actionId: MailboxActionId
6609
+ });
6610
+ const MailboxesCancelAction200 = MailboxSendReceipt;
6611
+ const MailboxesCancelAction202 = MailboxPendingSendReceipt;
6612
+ const MailboxesCancelAction401 = UnauthorizedError;
6613
+ const MailboxesCancelAction402 = PaymentRequiredError;
6614
+ const MailboxesCancelAction403 = Schema$1.Union([
6615
+ MailboxSendRefusedError,
6616
+ OnboardingReviewRequiredError,
6617
+ ForbiddenError
6618
+ ]);
6619
+ const MailboxesCancelAction404 = ResourceNotFoundError;
6620
+ const MailboxesCancelAction409 = Schema$1.Union([MailboxSendConflictError, ConflictError]);
6621
+ const MailboxesCancelAction422 = ValidationError;
6622
+ const MailboxesCancelAction429 = RateLimitedError;
6623
+ const MailboxesCancelAction500 = InternalError;
6624
+ const MailboxesCancelAction502 = BillingProviderError;
6625
+ const MailboxesCancelAction503 = SenderNotReadyError;
6626
+ const MailboxesCancelAction504 = GatewayTimeoutError;
6214
6627
  const MailboxesDenyActionPathParams = Schema$1.Struct({
6215
6628
  id: MailboxId,
6216
6629
  actionId: MailboxActionId
@@ -6220,10 +6633,31 @@ const MailboxesDenyAction200 = MailboxAction;
6220
6633
  const MailboxesDenyAction401 = UnauthorizedError;
6221
6634
  const MailboxesDenyAction403 = ForbiddenError;
6222
6635
  const MailboxesDenyAction404 = ResourceNotFoundError;
6223
- const MailboxesDenyAction409 = ConflictError;
6636
+ const MailboxesDenyAction409 = Schema$1.Union([ConflictError, MailboxSendConflictError]);
6224
6637
  const MailboxesDenyAction422 = ValidationError;
6225
6638
  const MailboxesDenyAction500 = InternalError;
6226
6639
  const MailboxesDenyAction504 = GatewayTimeoutError;
6640
+ const MailboxesRetryActionPathParams = Schema$1.Struct({
6641
+ id: MailboxId,
6642
+ actionId: MailboxActionId
6643
+ });
6644
+ const MailboxesRetryAction200 = MailboxSendReceipt;
6645
+ const MailboxesRetryAction202 = MailboxPendingSendReceipt;
6646
+ const MailboxesRetryAction401 = UnauthorizedError;
6647
+ const MailboxesRetryAction402 = PaymentRequiredError;
6648
+ const MailboxesRetryAction403 = Schema$1.Union([
6649
+ MailboxSendRefusedError,
6650
+ OnboardingReviewRequiredError,
6651
+ ForbiddenError
6652
+ ]);
6653
+ const MailboxesRetryAction404 = ResourceNotFoundError;
6654
+ const MailboxesRetryAction409 = Schema$1.Union([MailboxSendConflictError, ConflictError]);
6655
+ const MailboxesRetryAction422 = ValidationError;
6656
+ const MailboxesRetryAction429 = RateLimitedError;
6657
+ const MailboxesRetryAction500 = InternalError;
6658
+ const MailboxesRetryAction502 = BillingProviderError;
6659
+ const MailboxesRetryAction503 = SenderNotReadyError;
6660
+ const MailboxesRetryAction504 = GatewayTimeoutError;
6227
6661
  const MailboxesGetAgentActivityPathParams = Schema$1.Struct({ id: MailboxId });
6228
6662
  const MailboxesGetAgentActivityQuery = Schema$1.Struct({
6229
6663
  after: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
@@ -6316,16 +6750,23 @@ const MailboxesSendDraftPathParams = Schema$1.Struct({
6316
6750
  id: MailboxId,
6317
6751
  draftId: MailboxDraftId
6318
6752
  });
6319
- const MailboxesSendDraftHeaders = Schema$1.Struct({ "idempotency-key": Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "Optional key that makes a mailbox send idempotent for the calling key or member. Repeating the request with the same key and body returns the original result without sending again; the same key with a different body returns 409, as does a duplicate that arrives while the first is still sending." }).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^[\\s\\S]{1,255}$")).annotate({ expected: "a string matching the RegExp ^[\\s\\S]{1,255}$" })), Schema$1.Null])) });
6753
+ const MailboxesSendDraftHeaders = Schema$1.Struct({ "idempotency-key": Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "Optional key that makes a mailbox send idempotent for the calling key or member. Repeating the request with the same key and body returns the original action in its current state. Keep the key after a lost response. Reusing it with different content returns 409. Active actions retain their key; terminal receipts remain replayable for 24 hours." }).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^[\\s\\S]{1,255}$")).annotate({ expected: "a string matching the RegExp ^[\\s\\S]{1,255}$" })), Schema$1.Null])) });
6320
6754
  const MailboxesSendDraft200 = MailboxSendReceipt;
6755
+ const MailboxesSendDraft202 = MailboxPendingSendReceipt;
6321
6756
  const MailboxesSendDraft401 = UnauthorizedError;
6322
6757
  const MailboxesSendDraft402 = PaymentRequiredError;
6323
- const MailboxesSendDraft403 = ForbiddenError;
6758
+ const MailboxesSendDraft403 = Schema$1.Union([
6759
+ MailboxSendRefusedError,
6760
+ OnboardingReviewRequiredError,
6761
+ ForbiddenError
6762
+ ]);
6324
6763
  const MailboxesSendDraft404 = ResourceNotFoundError;
6325
- const MailboxesSendDraft409 = ConflictError;
6764
+ const MailboxesSendDraft409 = Schema$1.Union([MailboxSendConflictError, ConflictError]);
6326
6765
  const MailboxesSendDraft422 = ValidationError;
6766
+ const MailboxesSendDraft429 = RateLimitedError;
6327
6767
  const MailboxesSendDraft500 = InternalError;
6328
6768
  const MailboxesSendDraft502 = BillingProviderError;
6769
+ const MailboxesSendDraft503 = SenderNotReadyError;
6329
6770
  const MailboxesSendDraft504 = GatewayTimeoutError;
6330
6771
  const MailboxesListEventsPathParams = Schema$1.Struct({ id: MailboxId });
6331
6772
  const MailboxesListEventsQuery = Schema$1.Struct({
@@ -6466,7 +6907,7 @@ const MailboxesUpdateLabel422 = ValidationError;
6466
6907
  const MailboxesUpdateLabel500 = InternalError;
6467
6908
  const MailboxesUpdateLabel504 = GatewayTimeoutError;
6468
6909
  const MailboxesSendMessagePathParams = Schema$1.Struct({ id: MailboxId });
6469
- const MailboxesSendMessageHeaders = Schema$1.Struct({ "idempotency-key": Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "Optional key that makes a mailbox send idempotent for the calling key or member. Repeating the request with the same key and body returns the original result without sending again; the same key with a different body returns 409, as does a duplicate that arrives while the first is still sending." }).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^[\\s\\S]{1,255}$")).annotate({ expected: "a string matching the RegExp ^[\\s\\S]{1,255}$" })), Schema$1.Null])) });
6910
+ const MailboxesSendMessageHeaders = Schema$1.Struct({ "idempotency-key": Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "Optional key that makes a mailbox send idempotent for the calling key or member. Repeating the request with the same key and body returns the original action in its current state. Keep the key after a lost response. Reusing it with different content returns 409. Active actions retain their key; terminal receipts remain replayable for 24 hours." }).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^[\\s\\S]{1,255}$")).annotate({ expected: "a string matching the RegExp ^[\\s\\S]{1,255}$" })), Schema$1.Null])) });
6470
6911
  const MailboxesSendMessageRequestJson = Schema$1.Struct({
6471
6912
  to: Schema$1.TupleWithRest(Schema$1.Tuple([Schema$1.String]), [Schema$1.String]),
6472
6913
  cc: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null])),
@@ -6478,14 +6919,21 @@ const MailboxesSendMessageRequestJson = Schema$1.Struct({
6478
6919
  attachments: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(EmailAttachment).check(Schema$1.isMaxLength(10).annotate({ expected: "a value with a length of at most 10" })), Schema$1.Null]))
6479
6920
  });
6480
6921
  const MailboxesSendMessage200 = MailboxSendReceipt;
6922
+ const MailboxesSendMessage202 = MailboxPendingSendReceipt;
6481
6923
  const MailboxesSendMessage401 = UnauthorizedError;
6482
6924
  const MailboxesSendMessage402 = PaymentRequiredError;
6483
- const MailboxesSendMessage403 = ForbiddenError;
6925
+ const MailboxesSendMessage403 = Schema$1.Union([
6926
+ MailboxSendRefusedError,
6927
+ OnboardingReviewRequiredError,
6928
+ ForbiddenError
6929
+ ]);
6484
6930
  const MailboxesSendMessage404 = ResourceNotFoundError;
6485
- const MailboxesSendMessage409 = ConflictError;
6931
+ const MailboxesSendMessage409 = Schema$1.Union([MailboxSendConflictError, ConflictError]);
6486
6932
  const MailboxesSendMessage422 = ValidationError;
6933
+ const MailboxesSendMessage429 = RateLimitedError;
6487
6934
  const MailboxesSendMessage500 = InternalError;
6488
6935
  const MailboxesSendMessage502 = BillingProviderError;
6936
+ const MailboxesSendMessage503 = SenderNotReadyError;
6489
6937
  const MailboxesSendMessage504 = GatewayTimeoutError;
6490
6938
  const MailboxesGetMessagePathParams = Schema$1.Struct({
6491
6939
  id: MailboxId,
@@ -6510,6 +6958,19 @@ const MailboxesGetMessageAttachment404 = ResourceNotFoundError;
6510
6958
  const MailboxesGetMessageAttachment422 = ValidationError;
6511
6959
  const MailboxesGetMessageAttachment500 = InternalError;
6512
6960
  const MailboxesGetMessageAttachment504 = GatewayTimeoutError;
6961
+ const MailboxesCopyMessageAttachmentPathParams = Schema$1.Struct({
6962
+ id: MailboxId,
6963
+ messageId: MessageId,
6964
+ attachmentId: AttachmentId
6965
+ });
6966
+ const MailboxesCopyMessageAttachment201 = MailboxCopiedAttachment;
6967
+ const MailboxesCopyMessageAttachment401 = UnauthorizedError;
6968
+ const MailboxesCopyMessageAttachment403 = ForbiddenError;
6969
+ const MailboxesCopyMessageAttachment404 = ResourceNotFoundError;
6970
+ const MailboxesCopyMessageAttachment409 = ConflictError;
6971
+ const MailboxesCopyMessageAttachment422 = ValidationError;
6972
+ const MailboxesCopyMessageAttachment500 = InternalError;
6973
+ const MailboxesCopyMessageAttachment504 = GatewayTimeoutError;
6513
6974
  const MailboxesDiscardMessagePathParams = Schema$1.Struct({
6514
6975
  id: MailboxId,
6515
6976
  messageId: MessageId
@@ -6527,7 +6988,7 @@ const MailboxesForwardPathParams = Schema$1.Struct({
6527
6988
  id: MailboxId,
6528
6989
  messageId: MessageId
6529
6990
  });
6530
- const MailboxesForwardHeaders = Schema$1.Struct({ "idempotency-key": Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "Optional key that makes a mailbox send idempotent for the calling key or member. Repeating the request with the same key and body returns the original result without sending again; the same key with a different body returns 409, as does a duplicate that arrives while the first is still sending." }).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^[\\s\\S]{1,255}$")).annotate({ expected: "a string matching the RegExp ^[\\s\\S]{1,255}$" })), Schema$1.Null])) });
6991
+ const MailboxesForwardHeaders = Schema$1.Struct({ "idempotency-key": Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "Optional key that makes a mailbox send idempotent for the calling key or member. Repeating the request with the same key and body returns the original action in its current state. Keep the key after a lost response. Reusing it with different content returns 409. Active actions retain their key; terminal receipts remain replayable for 24 hours." }).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^[\\s\\S]{1,255}$")).annotate({ expected: "a string matching the RegExp ^[\\s\\S]{1,255}$" })), Schema$1.Null])) });
6531
6992
  const MailboxesForwardRequestJson = Schema$1.Struct({
6532
6993
  to: Schema$1.TupleWithRest(Schema$1.Tuple([Schema$1.String]), [Schema$1.String]),
6533
6994
  cc: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null])),
@@ -6537,14 +6998,21 @@ const MailboxesForwardRequestJson = Schema$1.Struct({
6537
6998
  attachments: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(EmailAttachment).check(Schema$1.isMaxLength(10).annotate({ expected: "a value with a length of at most 10" })), Schema$1.Null]))
6538
6999
  });
6539
7000
  const MailboxesForward200 = MailboxSendReceipt;
7001
+ const MailboxesForward202 = MailboxPendingSendReceipt;
6540
7002
  const MailboxesForward401 = UnauthorizedError;
6541
7003
  const MailboxesForward402 = PaymentRequiredError;
6542
- const MailboxesForward403 = ForbiddenError;
7004
+ const MailboxesForward403 = Schema$1.Union([
7005
+ MailboxSendRefusedError,
7006
+ OnboardingReviewRequiredError,
7007
+ ForbiddenError
7008
+ ]);
6543
7009
  const MailboxesForward404 = ResourceNotFoundError;
6544
- const MailboxesForward409 = ConflictError;
7010
+ const MailboxesForward409 = Schema$1.Union([MailboxSendConflictError, ConflictError]);
6545
7011
  const MailboxesForward422 = ValidationError;
7012
+ const MailboxesForward429 = RateLimitedError;
6546
7013
  const MailboxesForward500 = InternalError;
6547
7014
  const MailboxesForward502 = BillingProviderError;
7015
+ const MailboxesForward503 = SenderNotReadyError;
6548
7016
  const MailboxesForward504 = GatewayTimeoutError;
6549
7017
  const MailboxesGetMessageRawPathParams = Schema$1.Struct({
6550
7018
  id: MailboxId,
@@ -6573,7 +7041,7 @@ const MailboxesReplyPathParams = Schema$1.Struct({
6573
7041
  id: MailboxId,
6574
7042
  messageId: MessageId
6575
7043
  });
6576
- const MailboxesReplyHeaders = Schema$1.Struct({ "idempotency-key": Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "Optional key that makes a mailbox send idempotent for the calling key or member. Repeating the request with the same key and body returns the original result without sending again; the same key with a different body returns 409, as does a duplicate that arrives while the first is still sending." }).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^[\\s\\S]{1,255}$")).annotate({ expected: "a string matching the RegExp ^[\\s\\S]{1,255}$" })), Schema$1.Null])) });
7044
+ const MailboxesReplyHeaders = Schema$1.Struct({ "idempotency-key": Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "Optional key that makes a mailbox send idempotent for the calling key or member. Repeating the request with the same key and body returns the original action in its current state. Keep the key after a lost response. Reusing it with different content returns 409. Active actions retain their key; terminal receipts remain replayable for 24 hours." }).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^[\\s\\S]{1,255}$")).annotate({ expected: "a string matching the RegExp ^[\\s\\S]{1,255}$" })), Schema$1.Null])) });
6577
7045
  const MailboxesReplyRequestJson = Schema$1.Struct({
6578
7046
  cc: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null])),
6579
7047
  bcc: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null])),
@@ -6582,20 +7050,27 @@ const MailboxesReplyRequestJson = Schema$1.Struct({
6582
7050
  attachments: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(EmailAttachment).check(Schema$1.isMaxLength(10).annotate({ expected: "a value with a length of at most 10" })), Schema$1.Null]))
6583
7051
  });
6584
7052
  const MailboxesReply200 = MailboxSendReceipt;
7053
+ const MailboxesReply202 = MailboxPendingSendReceipt;
6585
7054
  const MailboxesReply401 = UnauthorizedError;
6586
7055
  const MailboxesReply402 = PaymentRequiredError;
6587
- const MailboxesReply403 = ForbiddenError;
7056
+ const MailboxesReply403 = Schema$1.Union([
7057
+ MailboxSendRefusedError,
7058
+ OnboardingReviewRequiredError,
7059
+ ForbiddenError
7060
+ ]);
6588
7061
  const MailboxesReply404 = ResourceNotFoundError;
6589
- const MailboxesReply409 = ConflictError;
7062
+ const MailboxesReply409 = Schema$1.Union([MailboxSendConflictError, ConflictError]);
6590
7063
  const MailboxesReply422 = ValidationError;
7064
+ const MailboxesReply429 = RateLimitedError;
6591
7065
  const MailboxesReply500 = InternalError;
6592
7066
  const MailboxesReply502 = BillingProviderError;
7067
+ const MailboxesReply503 = SenderNotReadyError;
6593
7068
  const MailboxesReply504 = GatewayTimeoutError;
6594
7069
  const MailboxesReplyAllPathParams = Schema$1.Struct({
6595
7070
  id: MailboxId,
6596
7071
  messageId: MessageId
6597
7072
  });
6598
- const MailboxesReplyAllHeaders = Schema$1.Struct({ "idempotency-key": Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "Optional key that makes a mailbox send idempotent for the calling key or member. Repeating the request with the same key and body returns the original result without sending again; the same key with a different body returns 409, as does a duplicate that arrives while the first is still sending." }).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^[\\s\\S]{1,255}$")).annotate({ expected: "a string matching the RegExp ^[\\s\\S]{1,255}$" })), Schema$1.Null])) });
7073
+ const MailboxesReplyAllHeaders = Schema$1.Struct({ "idempotency-key": Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "Optional key that makes a mailbox send idempotent for the calling key or member. Repeating the request with the same key and body returns the original action in its current state. Keep the key after a lost response. Reusing it with different content returns 409. Active actions retain their key; terminal receipts remain replayable for 24 hours." }).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^[\\s\\S]{1,255}$")).annotate({ expected: "a string matching the RegExp ^[\\s\\S]{1,255}$" })), Schema$1.Null])) });
6599
7074
  const MailboxesReplyAllRequestJson = Schema$1.Struct({
6600
7075
  cc: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null])),
6601
7076
  bcc: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null])),
@@ -6604,14 +7079,21 @@ const MailboxesReplyAllRequestJson = Schema$1.Struct({
6604
7079
  attachments: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(EmailAttachment).check(Schema$1.isMaxLength(10).annotate({ expected: "a value with a length of at most 10" })), Schema$1.Null]))
6605
7080
  });
6606
7081
  const MailboxesReplyAll200 = MailboxSendReceipt;
7082
+ const MailboxesReplyAll202 = MailboxPendingSendReceipt;
6607
7083
  const MailboxesReplyAll401 = UnauthorizedError;
6608
7084
  const MailboxesReplyAll402 = PaymentRequiredError;
6609
- const MailboxesReplyAll403 = ForbiddenError;
7085
+ const MailboxesReplyAll403 = Schema$1.Union([
7086
+ MailboxSendRefusedError,
7087
+ OnboardingReviewRequiredError,
7088
+ ForbiddenError
7089
+ ]);
6610
7090
  const MailboxesReplyAll404 = ResourceNotFoundError;
6611
- const MailboxesReplyAll409 = ConflictError;
7091
+ const MailboxesReplyAll409 = Schema$1.Union([MailboxSendConflictError, ConflictError]);
6612
7092
  const MailboxesReplyAll422 = ValidationError;
7093
+ const MailboxesReplyAll429 = RateLimitedError;
6613
7094
  const MailboxesReplyAll500 = InternalError;
6614
7095
  const MailboxesReplyAll502 = BillingProviderError;
7096
+ const MailboxesReplyAll503 = SenderNotReadyError;
6615
7097
  const MailboxesReplyAll504 = GatewayTimeoutError;
6616
7098
  const MailboxesPausePathParams = Schema$1.Struct({ id: MailboxId });
6617
7099
  const MailboxesPause200 = Mailbox;
@@ -6962,7 +7444,7 @@ const MessagesSend422 = ValidationError;
6962
7444
  const MessagesSend429 = RateLimitedError;
6963
7445
  const MessagesSend500 = InternalError;
6964
7446
  const MessagesSend502 = Schema$1.Union([BillingProviderError, ExternalServiceError]);
6965
- const MessagesSend503 = DeliveryUnavailableError;
7447
+ const MessagesSend503 = Schema$1.Union([SenderNotReadyError, DeliveryUnavailableError]);
6966
7448
  const MessagesSend504 = GatewayTimeoutError;
6967
7449
  const MessagesGetPathParams = Schema$1.Struct({ id: MessageId });
6968
7450
  const MessagesGet200 = Message;
@@ -7020,7 +7502,8 @@ const MessagesGetEmail200 = Schema$1.Struct({
7020
7502
  Schema$1.Literal("campaign-paused"),
7021
7503
  Schema$1.Literal("domain-warming"),
7022
7504
  Schema$1.Literal("onboarding-review"),
7023
- Schema$1.Literal("content-review")
7505
+ Schema$1.Literal("content-review"),
7506
+ Schema$1.Literal("screening-unavailable")
7024
7507
  ]), Schema$1.Null]),
7025
7508
  reviewExpectedAt: Schema$1.Union([Schema$1.String, Schema$1.Null])
7026
7509
  }), Schema$1.Null]),
@@ -7264,6 +7747,7 @@ const ScheduledMessagesResume409 = ConflictError;
7264
7747
  const ScheduledMessagesResume422 = ValidationError;
7265
7748
  const ScheduledMessagesResume500 = InternalError;
7266
7749
  const ScheduledMessagesResume502 = ExternalServiceError;
7750
+ const ScheduledMessagesResume503 = SenderNotReadyError;
7267
7751
  const ScheduledMessagesResume504 = GatewayTimeoutError;
7268
7752
  const MessagesValidateEmailRequestJson = Schema$1.Struct({
7269
7753
  conversationId: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([ConversationId, Schema$1.Null]), Schema$1.Null])),
@@ -7281,6 +7765,7 @@ const MessagesValidateEmail403 = ForbiddenError;
7281
7765
  const MessagesValidateEmail404 = ResourceNotFoundError;
7282
7766
  const MessagesValidateEmail422 = ValidationError;
7283
7767
  const MessagesValidateEmail500 = InternalError;
7768
+ const MessagesValidateEmail503 = SenderNotReadyError;
7284
7769
  const MessagesValidateEmail504 = GatewayTimeoutError;
7285
7770
  const NamespacesListQuery = Schema$1.Struct({
7286
7771
  limit: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
@@ -7421,6 +7906,53 @@ const OrganizationsDelete409 = ConflictError;
7421
7906
  const OrganizationsDelete422 = ValidationError;
7422
7907
  const OrganizationsDelete500 = InternalError;
7423
7908
  const OrganizationsDelete504 = GatewayTimeoutError;
7909
+ const OrganizationsGetTrustTier200 = Schema$1.Struct({
7910
+ tier: Schema$1.Union([
7911
+ Schema$1.Literal("screened"),
7912
+ Schema$1.Literal("probation"),
7913
+ Schema$1.Literal("established")
7914
+ ]),
7915
+ changedAt: Schema$1.String,
7916
+ sendingLimits: Schema$1.Struct({
7917
+ sendsPerSecond: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7918
+ dailySends: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7919
+ probation: Schema$1.Union([Schema$1.Struct({
7920
+ hourlyRecipients: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7921
+ dailyRecipients: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7922
+ domainShare: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7923
+ domainShareFloor: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" }))
7924
+ }), Schema$1.Null])
7925
+ }),
7926
+ graduation: Schema$1.Union([Schema$1.Struct({
7927
+ firstSentAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
7928
+ elapsedDays: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7929
+ sent: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7930
+ delivered: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7931
+ hardBounces: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7932
+ hardBounceRate: Schema$1.Union([Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })), Schema$1.Null]),
7933
+ complaints: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7934
+ holds: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7935
+ requirements: Schema$1.Struct({
7936
+ minimumDays: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7937
+ delivered: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
7938
+ maximumHardBounceRate: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" }))
7939
+ }),
7940
+ blockers: Schema$1.Array(Schema$1.Union([
7941
+ Schema$1.Literal("too_recent"),
7942
+ Schema$1.Literal("too_few_delivered"),
7943
+ Schema$1.Literal("held"),
7944
+ Schema$1.Literal("complaints"),
7945
+ Schema$1.Literal("bounce_rate")
7946
+ ]))
7947
+ }), Schema$1.Null])
7948
+ });
7949
+ const OrganizationsGetTrustTier401 = UnauthorizedError;
7950
+ const OrganizationsGetTrustTier403 = ForbiddenError;
7951
+ const OrganizationsGetTrustTier404 = ResourceNotFoundError;
7952
+ const OrganizationsGetTrustTier422 = ValidationError;
7953
+ const OrganizationsGetTrustTier500 = InternalError;
7954
+ const OrganizationsGetTrustTier502 = BillingProviderError;
7955
+ const OrganizationsGetTrustTier504 = GatewayTimeoutError;
7424
7956
  const OrganizationsGetUsageQuery = Schema$1.Struct({
7425
7957
  after: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
7426
7958
  before: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
@@ -7446,6 +7978,38 @@ const OrganizationsGetUsage403 = ForbiddenError;
7446
7978
  const OrganizationsGetUsage422 = ValidationError;
7447
7979
  const OrganizationsGetUsage500 = InternalError;
7448
7980
  const OrganizationsGetUsage504 = GatewayTimeoutError;
7981
+ const SubscriptionsSubscribeRequestJson = Schema$1.Struct({
7982
+ email: Schema$1.String.annotate({ description: "The recipient email address; confirmation proves consent for this address." }).check(Schema$1.isMaxCodePoints(320).annotate({ expected: "a string with at most 320 code points" })).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$", "u")).annotate({ expected: "a string matching the RegExp ^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$" })).check(Schema$1.isMaxLength(320).annotate({ expected: "a value with a length of at most 320" })),
7983
+ contactGroupId: ContactGroupId,
7984
+ from: Schema$1.Struct({
7985
+ email: Schema$1.String,
7986
+ name: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
7987
+ }).annotate({ description: "Your verified email sender. The ordinary send pipeline selects its domain and customer brand." }),
7988
+ unsubscribeGroupId: Schema$1.optionalKey(Schema$1.Union([UnsubscribeId, Schema$1.Null]).annotate({ description: "Clear this unsubscribe group after confirmation; all other opt-outs remain." })),
7989
+ templateSlug: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "A published email template slug receiving confirmUrl. Omit it to send the default confirmation email." }).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^(?=.{1,100}$)[a-z0-9]+(?:-[a-z0-9]+)*$", "u")).annotate({ expected: "a string matching the RegExp ^(?=.{1,100}$)[a-z0-9]+(?:-[a-z0-9]+)*$" })), Schema$1.Null])),
7990
+ consentIp: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "The recipient IP recorded by your server when they requested subscription." }).check(Schema$1.isMaxCodePoints(128).annotate({ expected: "a string with at most 128 code points" })).check(Schema$1.isMaxLength(128).annotate({ expected: "a value with a length of at most 128" })), Schema$1.Null])),
7991
+ consentSource: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ description: "The signup page or source recorded by your server when consent was requested." }).check(Schema$1.isMaxCodePoints(512).annotate({ expected: "a string with at most 512 code points" })).check(Schema$1.isMaxLength(512).annotate({ expected: "a value with a length of at most 512" })), Schema$1.Null]))
7992
+ });
7993
+ const SubscriptionsSubscribe200 = SubscribeResult;
7994
+ const SubscriptionsSubscribe401 = UnauthorizedError;
7995
+ const SubscriptionsSubscribe402 = PaymentRequiredError;
7996
+ const SubscriptionsSubscribe403 = Schema$1.Union([
7997
+ ForbiddenError,
7998
+ OnboardingReviewRequiredError,
7999
+ FlagDisabledError
8000
+ ]);
8001
+ const SubscriptionsSubscribe404 = ResourceNotFoundError;
8002
+ const SubscriptionsSubscribe409 = ConflictError;
8003
+ const SubscriptionsSubscribe422 = Schema$1.Union([
8004
+ ValidationError,
8005
+ BrandAddressRequiredError,
8006
+ CampaignFooterRequiredError
8007
+ ]);
8008
+ const SubscriptionsSubscribe429 = RateLimitedError;
8009
+ const SubscriptionsSubscribe500 = InternalError;
8010
+ const SubscriptionsSubscribe502 = Schema$1.Union([BillingProviderError, ExternalServiceError]);
8011
+ const SubscriptionsSubscribe503 = Schema$1.Union([SenderNotReadyError, DeliveryUnavailableError]);
8012
+ const SubscriptionsSubscribe504 = GatewayTimeoutError;
7449
8013
  const TemplatesListQuery = Schema$1.Struct({
7450
8014
  limit: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
7451
8015
  cursor: Schema$1.optionalKey(Schema$1.Union([Cursor, Schema$1.Null])),
@@ -7869,6 +8433,23 @@ const TemplatesGetPublication404 = ResourceNotFoundError;
7869
8433
  const TemplatesGetPublication422 = ValidationError;
7870
8434
  const TemplatesGetPublication500 = InternalError;
7871
8435
  const TemplatesGetPublication504 = GatewayTimeoutError;
8436
+ const TemplatesRenderPublicationPathParams = Schema$1.Struct({
8437
+ id: TemplateId,
8438
+ publicationId: TemplatePublicationId
8439
+ });
8440
+ const TemplatesRenderPublicationRequestJson = Schema$1.Struct({
8441
+ data: Schema$1.Record(Schema$1.String, JsonValue).annotate({ description: "The input to render with, validated against the publication's input schema." }),
8442
+ locale: Schema$1.optionalKey(RenderLocale),
8443
+ timeZone: Schema$1.optionalKey(RenderTimeZone)
8444
+ });
8445
+ const TemplatesRenderPublication200 = TemplatePublicationRender;
8446
+ const TemplatesRenderPublication401 = UnauthorizedError;
8447
+ const TemplatesRenderPublication403 = ForbiddenError;
8448
+ const TemplatesRenderPublication404 = ResourceNotFoundError;
8449
+ const TemplatesRenderPublication409 = ConflictError;
8450
+ const TemplatesRenderPublication422 = ValidationError;
8451
+ const TemplatesRenderPublication500 = InternalError;
8452
+ const TemplatesRenderPublication504 = GatewayTimeoutError;
7872
8453
  const TemplatesGetGitRepositoryPathParams = Schema$1.Struct({ id: TemplateId });
7873
8454
  const TemplatesGetGitRepository200 = Schema$1.Struct({
7874
8455
  remote: Schema$1.String.check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^https:\\/\\/", "u")).annotate({ expected: "a string matching the RegExp ^https:\\/\\/" })),
@@ -9249,6 +9830,7 @@ const WebhooksCreateRequestJson = Schema$1.Struct({
9249
9830
  Schema$1.Literal("contact.created"),
9250
9831
  Schema$1.Literal("contact.updated"),
9251
9832
  Schema$1.Literal("contact.deleted"),
9833
+ Schema$1.Literal("contact.subscribed"),
9252
9834
  Schema$1.Literal("contact.unsubscribed"),
9253
9835
  Schema$1.Literal("contact.resubscribed"),
9254
9836
  Schema$1.Literal("conversation.created"),
@@ -9320,6 +9902,7 @@ const WebhooksUpdateRequestJson = Schema$1.Struct({
9320
9902
  Schema$1.Literal("contact.created"),
9321
9903
  Schema$1.Literal("contact.updated"),
9322
9904
  Schema$1.Literal("contact.deleted"),
9905
+ Schema$1.Literal("contact.subscribed"),
9323
9906
  Schema$1.Literal("contact.unsubscribed"),
9324
9907
  Schema$1.Literal("contact.resubscribed"),
9325
9908
  Schema$1.Literal("conversation.created"),
@@ -9775,6 +10358,7 @@ var CampaignsGroup = class extends HttpApiGroup.make("Campaigns").add(HttpApiEnd
9775
10358
  CampaignsScheduleRun422.pipe(HttpApiSchema.status(422)),
9776
10359
  CampaignsScheduleRun500,
9777
10360
  CampaignsScheduleRun502.pipe(HttpApiSchema.status(502)),
10361
+ CampaignsScheduleRun503.pipe(HttpApiSchema.status(503)),
9778
10362
  CampaignsScheduleRun504.pipe(HttpApiSchema.status(504))
9779
10363
  ]
9780
10364
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "campaigns.scheduleRun").annotate(OpenApi.Summary, "Schedule a campaign run").annotate(OpenApi.Description, "Schedules an email campaign run at the absolute ISO-8601 instant in scheduledFor, or immediately when omitted. The optional idempotencyKey is scoped to the organization and replays return the original run. An email campaign must carry the brand footer: it is refused with CampaignFooterRequiredError when its footer is off and its template renders no BrandFooter, and with BrandAddressRequiredError when a brand that signs it off has no postal address."), HttpApiEndpoint.get("campaignsGetRun", "/v1/campaigns/:id/runs/:runId", {
@@ -9962,7 +10546,7 @@ var ContactsGroup = class extends HttpApiGroup.make("Contacts").add(HttpApiEndpo
9962
10546
  ContactsList500,
9963
10547
  ContactsList504.pipe(HttpApiSchema.status(504))
9964
10548
  ]
9965
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "contacts.list").annotate(OpenApi.Summary, "List contacts").annotate(OpenApi.Description, "Returns contact summaries for the organization, newest first, filterable by search term, status, and creation time (`after`, `before`). Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. Read a contact's identities, profile, and metadata with `GET /v1/contacts/{id}`."), HttpApiEndpoint.post("contactsCreate", "/v1/contacts", {
10549
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "contacts.list").annotate(OpenApi.Summary, "List contacts").annotate(OpenApi.Description, "Returns contact summaries for the organization, newest first, filterable by search term, status, and creation time (`after`, `before`). `fields` is a comma-separated list of defined custom field keys to return in each summary's `customFields`; omitted keys and unselected fields are not returned. Filter by one defined custom field with `customField` and a JSON-encoded scalar `customFieldValue` (for example, `\"creator\"`, `42`, or `true`). Both filter parameters are required together, and unknown keys or values of the wrong type are rejected. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. Read full identities, profile, and metadata with `GET /v1/contacts/{id}`."), HttpApiEndpoint.post("contactsCreate", "/v1/contacts", {
9966
10550
  payload: ContactsCreateRequestJson,
9967
10551
  success: ContactsCreate201.pipe(HttpApiSchema.status(201)),
9968
10552
  error: [
@@ -10118,7 +10702,7 @@ var ContactsGroup = class extends HttpApiGroup.make("Contacts").add(HttpApiEndpo
10118
10702
  ContactsBulkImport502.pipe(HttpApiSchema.status(502)),
10119
10703
  ContactsBulkImport504.pipe(HttpApiSchema.status(504))
10120
10704
  ]
10121
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "contacts.bulkImport").annotate(OpenApi.Summary, "Bulk import contacts").annotate(OpenApi.Description, "Creates or updates contacts in bulk from a list, returning per-entry results with created, updated, skipped, and error counts."), HttpApiEndpoint.post("contactsBulkUpdateStatus", "/v1/contacts/bulk-update-status", {
10705
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "contacts.bulkImport").annotate(OpenApi.Summary, "Bulk import contacts").annotate(OpenApi.Description, "Creates contacts in bulk from a list of entries shaped like a create request, returning per-entry results with created, updated, skipped, and error counts. An entry whose identities match an existing contact is skipped, or updates it with `onConflict: \"update\"`."), HttpApiEndpoint.post("contactsBulkUpdateStatus", "/v1/contacts/bulk-update-status", {
10122
10706
  payload: ContactsBulkUpdateStatusRequestJson,
10123
10707
  success: ContactsBulkUpdateStatus200,
10124
10708
  error: [
@@ -10174,7 +10758,7 @@ var ContactsGroup = class extends HttpApiGroup.make("Contacts").add(HttpApiEndpo
10174
10758
  ContactsFindOrCreate502.pipe(HttpApiSchema.status(502)),
10175
10759
  ContactsFindOrCreate504.pipe(HttpApiSchema.status(504))
10176
10760
  ]
10177
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "contacts.findOrCreate").annotate(OpenApi.Summary, "Find or create a contact").annotate(OpenApi.Description, "Returns an existing contact matching the given identifiers, or creates a new one when none exists.")).annotate(OpenApi.Description, "Contact CRUD, bulk operations, engagement metrics, and activity timeline") {};
10761
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "contacts.findOrCreate").annotate(OpenApi.Summary, "Find or create a contact").annotate(OpenApi.Description, "Looks up exactly one identifier through `lookup: { type, value }`. Returns `{ contact, created: false }` unchanged when it exists. Otherwise creates the lookup identity (or external ID), applies `create` attributes, and returns `{ contact, created: true }`. Additional addresses belong in `create.identities`, custom fields in `create.profile.customFields`; custom field keys must be defined and values must match their types. An external ID lookup cannot be contradicted by `create.externalId`. Creation returns HTTP 409 ConflictError if an externalId or address belongs to another contact; the conflicting field is named and no contact is created. Use the update endpoint to change an existing contact.")).annotate(OpenApi.Description, "Contact CRUD, bulk operations, engagement metrics, and activity timeline") {};
10178
10762
  var ConversationsGroup = class extends HttpApiGroup.make("Conversations").add(HttpApiEndpoint.get("conversationsList", "/v1/conversations", {
10179
10763
  query: ConversationsListQuery,
10180
10764
  success: ConversationsList200,
@@ -10389,6 +10973,7 @@ var EmailGroup = class extends HttpApiGroup.make("Email").add(HttpApiEndpoint.ge
10389
10973
  EmailAddBlock403.pipe(HttpApiSchema.status(403)),
10390
10974
  EmailAddBlock409.pipe(HttpApiSchema.status(409)),
10391
10975
  EmailAddBlock422.pipe(HttpApiSchema.status(422)),
10976
+ EmailAddBlock500,
10392
10977
  EmailAddBlock504.pipe(HttpApiSchema.status(504))
10393
10978
  ]
10394
10979
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.addBlock").annotate(OpenApi.Summary, "Add a block entry").annotate(OpenApi.Description, "Blocks an email address or domain from inbound receiving and returns the created block entry. Responds with 201."), HttpApiEndpoint.delete("emailRemoveBlock", "/v1/email/blocks/:id", {
@@ -10499,6 +11084,7 @@ var EmailGroup = class extends HttpApiGroup.make("Email").add(HttpApiEndpoint.ge
10499
11084
  EmailGetDomainById403.pipe(HttpApiSchema.status(403)),
10500
11085
  EmailGetDomainById404.pipe(HttpApiSchema.status(404)),
10501
11086
  EmailGetDomainById422.pipe(HttpApiSchema.status(422)),
11087
+ EmailGetDomainById500,
10502
11088
  EmailGetDomainById504.pipe(HttpApiSchema.status(504))
10503
11089
  ]
10504
11090
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.getDomainById").annotate(OpenApi.Summary, "Get a sending domain").annotate(OpenApi.Description, "Returns a single sending domain, including its DNS records and verification details."), HttpApiEndpoint.delete("emailRemoveDomain", "/v1/email/domains/:id", {
@@ -11018,6 +11604,7 @@ var EmailGroup = class extends HttpApiGroup.make("Email").add(HttpApiEndpoint.ge
11018
11604
  EmailCheckSenderVerification403.pipe(HttpApiSchema.status(403)),
11019
11605
  EmailCheckSenderVerification404.pipe(HttpApiSchema.status(404)),
11020
11606
  EmailCheckSenderVerification422.pipe(HttpApiSchema.status(422)),
11607
+ EmailCheckSenderVerification500,
11021
11608
  EmailCheckSenderVerification502.pipe(HttpApiSchema.status(502)),
11022
11609
  EmailCheckSenderVerification504.pipe(HttpApiSchema.status(504))
11023
11610
  ]
@@ -11196,7 +11783,20 @@ var ExtensionInstallationsGroup = class extends HttpApiGroup.make("Extension ins
11196
11783
  ExtensionInstallationsGetRun500,
11197
11784
  ExtensionInstallationsGetRun504.pipe(HttpApiSchema.status(504))
11198
11785
  ]
11199
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "extensionInstallations.getRun").annotate(OpenApi.Summary, "Get a hosted run").annotate(OpenApi.Description, "Returns one retained run with the lines its handler logged: at most 50 lines of 500 characters.")).annotate(OpenApi.Description, "Extension versions installed into the organization, each acting as its own principal") {};
11786
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "extensionInstallations.getRun").annotate(OpenApi.Summary, "Get a hosted run").annotate(OpenApi.Description, "Returns one retained run with the lines its handler logged: at most 50 lines of 500 characters."), HttpApiEndpoint.post("extensionInstallationsUpgrade", "/v1/extension-installations/:id/upgrade", {
11787
+ params: ExtensionInstallationsUpgradePathParams,
11788
+ payload: ExtensionInstallationsUpgradeRequestJson,
11789
+ success: ExtensionInstallationsUpgrade200,
11790
+ error: [
11791
+ ExtensionInstallationsUpgrade401.pipe(HttpApiSchema.status(401)),
11792
+ ExtensionInstallationsUpgrade403.pipe(HttpApiSchema.status(403)),
11793
+ ExtensionInstallationsUpgrade404.pipe(HttpApiSchema.status(404)),
11794
+ ExtensionInstallationsUpgrade409.pipe(HttpApiSchema.status(409)),
11795
+ ExtensionInstallationsUpgrade422.pipe(HttpApiSchema.status(422)),
11796
+ ExtensionInstallationsUpgrade500,
11797
+ ExtensionInstallationsUpgrade504.pipe(HttpApiSchema.status(504))
11798
+ ]
11799
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "extensionInstallations.upgrade").annotate(OpenApi.Summary, "Upgrade or roll back an installation").annotate(OpenApi.Description, "Changes the pinned version in place. Omit version for the latest publication, or name a version string or id, including an older version to roll back. Preview with dryRun; changing requires acceptPermissions to list exactly the added permission: and event: grants. Only a person can upgrade. Credentials, owner, scope, send mode, and status stay attached to the installation.")).annotate(OpenApi.Description, "Extension versions installed into the organization, each acting as its own principal") {};
11200
11800
  var ExtensionsGroup = class extends HttpApiGroup.make("Extensions").add(HttpApiEndpoint.get("extensionsList", "/v1/extensions", {
11201
11801
  query: ExtensionsListQuery,
11202
11802
  success: ExtensionsList200,
@@ -11337,9 +11937,20 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11337
11937
  MailboxesListActions500,
11338
11938
  MailboxesListActions504.pipe(HttpApiSchema.status(504))
11339
11939
  ]
11340
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.listActions").annotate(OpenApi.Summary, "List mailbox actions").annotate(OpenApi.Description, "Returns the actions proposed on a mailbox, newest first, filterable by `state` (`approvalRequired` lists the sends waiting for a person) and creation time (`after`, `before`). Pass `nextCursor` back as `cursor` for the next page; it is null on the last page."), HttpApiEndpoint.post("mailboxesApproveAction", "/v1/mailboxes/:id/actions/:actionId/approve", {
11940
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.listActions").annotate(OpenApi.Summary, "List mailbox actions").annotate(OpenApi.Description, "Returns the actions proposed on a mailbox, newest first, filterable by `threadId`, `state` (`approvalRequired` lists the sends waiting for a person), and creation time (`after`, `before`). Filters apply together within the mailbox. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page."), HttpApiEndpoint.get("mailboxesGetAction", "/v1/mailboxes/:id/actions/:actionId", {
11941
+ params: MailboxesGetActionPathParams,
11942
+ success: MailboxesGetAction200,
11943
+ error: [
11944
+ MailboxesGetAction401.pipe(HttpApiSchema.status(401)),
11945
+ MailboxesGetAction403.pipe(HttpApiSchema.status(403)),
11946
+ MailboxesGetAction404.pipe(HttpApiSchema.status(404)),
11947
+ MailboxesGetAction422.pipe(HttpApiSchema.status(422)),
11948
+ MailboxesGetAction500,
11949
+ MailboxesGetAction504.pipe(HttpApiSchema.status(504))
11950
+ ]
11951
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.getAction").annotate(OpenApi.Summary, "Get a mailbox action").annotate(OpenApi.Description, "Returns one action with its current progress. Send actions expose their immutable approved content, deadline, problem, and accepted receipt. A caller with mailbox read access may inspect actions; send-only callers may inspect only their own proposals. Acceptance and mailbox completion do not mean recipient delivery."), HttpApiEndpoint.post("mailboxesApproveAction", "/v1/mailboxes/:id/actions/:actionId/approve", {
11341
11952
  params: MailboxesApproveActionPathParams,
11342
- success: MailboxesApproveAction200,
11953
+ success: [MailboxesApproveAction200, MailboxesApproveAction202.pipe(HttpApiSchema.status(202))],
11343
11954
  error: [
11344
11955
  MailboxesApproveAction401.pipe(HttpApiSchema.status(401)),
11345
11956
  MailboxesApproveAction402.pipe(HttpApiSchema.status(402)),
@@ -11347,11 +11958,29 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11347
11958
  MailboxesApproveAction404.pipe(HttpApiSchema.status(404)),
11348
11959
  MailboxesApproveAction409.pipe(HttpApiSchema.status(409)),
11349
11960
  MailboxesApproveAction422.pipe(HttpApiSchema.status(422)),
11961
+ MailboxesApproveAction429.pipe(HttpApiSchema.status(429)),
11350
11962
  MailboxesApproveAction500,
11351
11963
  MailboxesApproveAction502.pipe(HttpApiSchema.status(502)),
11964
+ MailboxesApproveAction503.pipe(HttpApiSchema.status(503)),
11352
11965
  MailboxesApproveAction504.pipe(HttpApiSchema.status(504))
11353
11966
  ]
11354
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.approveAction").annotate(OpenApi.Summary, "Approve a mailbox action").annotate(OpenApi.Description, "Approves an action waiting for approval, executes it, and returns the executed action. Only a person signed in or through OAuth may approve, and never the one who proposed it."), HttpApiEndpoint.post("mailboxesDenyAction", "/v1/mailboxes/:id/actions/:actionId/deny", {
11967
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.approveAction").annotate(OpenApi.Summary, "Approve a mailbox action").annotate(OpenApi.Description, "Records approval of a send and returns 202 while it is pending. A send is queued for automatic retry within 15 minutes of approval; repeating approval does not extend this deadline. Accepted, completed, and notSent replays return 200. No expiry applies before approval. Only a person signed in or through OAuth may approve, and never the proposer. Non-send approvals execute synchronously and return 200 with their own execution states."), HttpApiEndpoint.post("mailboxesCancelAction", "/v1/mailboxes/:id/actions/:actionId/cancel", {
11968
+ params: MailboxesCancelActionPathParams,
11969
+ success: [MailboxesCancelAction200, MailboxesCancelAction202.pipe(HttpApiSchema.status(202))],
11970
+ error: [
11971
+ MailboxesCancelAction401.pipe(HttpApiSchema.status(401)),
11972
+ MailboxesCancelAction402.pipe(HttpApiSchema.status(402)),
11973
+ MailboxesCancelAction403.pipe(HttpApiSchema.status(403)),
11974
+ MailboxesCancelAction404.pipe(HttpApiSchema.status(404)),
11975
+ MailboxesCancelAction409.pipe(HttpApiSchema.status(409)),
11976
+ MailboxesCancelAction422.pipe(HttpApiSchema.status(422)),
11977
+ MailboxesCancelAction429.pipe(HttpApiSchema.status(429)),
11978
+ MailboxesCancelAction500,
11979
+ MailboxesCancelAction502.pipe(HttpApiSchema.status(502)),
11980
+ MailboxesCancelAction503.pipe(HttpApiSchema.status(503)),
11981
+ MailboxesCancelAction504.pipe(HttpApiSchema.status(504))
11982
+ ]
11983
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.cancelAction").annotate(OpenApi.Summary, "Cancel a mailbox send").annotate(OpenApi.Description, "Cancels a definitely unsent action and reopens its draft atomically. Only an authorized person who proposed the send or can approve actions may cancel. Accepted sends return 409 with their winning receipt and cannot be withdrawn. An uncertain send requires reconciliation and cannot be cancelled as unsent."), HttpApiEndpoint.post("mailboxesDenyAction", "/v1/mailboxes/:id/actions/:actionId/deny", {
11355
11984
  params: MailboxesDenyActionPathParams,
11356
11985
  payload: MailboxesDenyActionRequestJson,
11357
11986
  success: MailboxesDenyAction200,
@@ -11364,7 +11993,23 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11364
11993
  MailboxesDenyAction500,
11365
11994
  MailboxesDenyAction504.pipe(HttpApiSchema.status(504))
11366
11995
  ]
11367
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.denyAction").annotate(OpenApi.Summary, "Deny a mailbox action").annotate(OpenApi.Description, "Denies an action waiting for approval with a reason and returns it without executing it. Only a person signed in or through OAuth may deny, and never the one who proposed it."), HttpApiEndpoint.get("mailboxesGetAgentActivity", "/v1/mailboxes/:id/agent-activity", {
11996
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.denyAction").annotate(OpenApi.Summary, "Deny a mailbox action").annotate(OpenApi.Description, "Denies an action waiting for approval with a reason and returns it without executing it. Only a person signed in or through OAuth may deny, and never the one who proposed it."), HttpApiEndpoint.post("mailboxesRetryAction", "/v1/mailboxes/:id/actions/:actionId/retry", {
11997
+ params: MailboxesRetryActionPathParams,
11998
+ success: [MailboxesRetryAction200, MailboxesRetryAction202.pipe(HttpApiSchema.status(202))],
11999
+ error: [
12000
+ MailboxesRetryAction401.pipe(HttpApiSchema.status(401)),
12001
+ MailboxesRetryAction402.pipe(HttpApiSchema.status(402)),
12002
+ MailboxesRetryAction403.pipe(HttpApiSchema.status(403)),
12003
+ MailboxesRetryAction404.pipe(HttpApiSchema.status(404)),
12004
+ MailboxesRetryAction409.pipe(HttpApiSchema.status(409)),
12005
+ MailboxesRetryAction422.pipe(HttpApiSchema.status(422)),
12006
+ MailboxesRetryAction429.pipe(HttpApiSchema.status(429)),
12007
+ MailboxesRetryAction500,
12008
+ MailboxesRetryAction502.pipe(HttpApiSchema.status(502)),
12009
+ MailboxesRetryAction503.pipe(HttpApiSchema.status(503)),
12010
+ MailboxesRetryAction504.pipe(HttpApiSchema.status(504))
12011
+ ]
12012
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.retryAction").annotate(OpenApi.Summary, "Resume a mailbox send").annotate(OpenApi.Description, "Resumes the same action only after its previous execution is confirmed ended and safe continuation is possible. Only an authorized person who proposed the send or can approve actions may retry. Automatic waits need no manual Retry. This does not grant new approval, reset the original deadline, replace the message identity, or resubmit an accepted or uncertain send."), HttpApiEndpoint.get("mailboxesGetAgentActivity", "/v1/mailboxes/:id/agent-activity", {
11368
12013
  params: MailboxesGetAgentActivityPathParams,
11369
12014
  query: MailboxesGetAgentActivityQuery,
11370
12015
  success: MailboxesGetAgentActivity200,
@@ -11438,7 +12083,7 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11438
12083
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.updateDraft").annotate(OpenApi.Summary, "Update a draft").annotate(OpenApi.Description, "Updates the fields you name and keeps the rest; `null` clears an optional field. A draft whose send waits for approval cannot change and conflicts."), HttpApiEndpoint.post("mailboxesSendDraft", "/v1/mailboxes/:id/drafts/:draftId/send", {
11439
12084
  params: MailboxesSendDraftPathParams,
11440
12085
  headers: MailboxesSendDraftHeaders,
11441
- success: MailboxesSendDraft200,
12086
+ success: [MailboxesSendDraft200, MailboxesSendDraft202.pipe(HttpApiSchema.status(202))],
11442
12087
  error: [
11443
12088
  MailboxesSendDraft401.pipe(HttpApiSchema.status(401)),
11444
12089
  MailboxesSendDraft402.pipe(HttpApiSchema.status(402)),
@@ -11446,8 +12091,10 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11446
12091
  MailboxesSendDraft404.pipe(HttpApiSchema.status(404)),
11447
12092
  MailboxesSendDraft409.pipe(HttpApiSchema.status(409)),
11448
12093
  MailboxesSendDraft422.pipe(HttpApiSchema.status(422)),
12094
+ MailboxesSendDraft429.pipe(HttpApiSchema.status(429)),
11449
12095
  MailboxesSendDraft500,
11450
12096
  MailboxesSendDraft502.pipe(HttpApiSchema.status(502)),
12097
+ MailboxesSendDraft503.pipe(HttpApiSchema.status(503)),
11451
12098
  MailboxesSendDraft504.pipe(HttpApiSchema.status(504))
11452
12099
  ]
11453
12100
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.sendDraft").annotate(OpenApi.Summary, "Send a draft").annotate(OpenApi.Description, "Sends one of the caller's drafts: a reply draft in its thread, any other draft as a new conversation. A draft needs recipients, a subject, and a body."), HttpApiEndpoint.get("mailboxesListEvents", "/v1/mailboxes/:id/events", {
@@ -11462,7 +12109,7 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11462
12109
  MailboxesListEvents500,
11463
12110
  MailboxesListEvents504.pipe(HttpApiSchema.status(504))
11464
12111
  ]
11465
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.listEvents").annotate(OpenApi.Summary, "List mailbox events").annotate(OpenApi.Description, "Returns what happened on a mailbox, newest first, filterable by when it happened (`after`, `before`). Pass `nextCursor` back as `cursor` for the next page; it is null on the last page."), HttpApiEndpoint.get("mailboxesListFolders", "/v1/mailboxes/:id/folders", {
12112
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.listEvents").annotate(OpenApi.Summary, "List mailbox events").annotate(OpenApi.Description, "Returns mailbox audit records, newest first, filterable by when they happened (`after`, `before`). Audit event types: `mailbox.created`, `address.attached`, `email.received`, `email.released`, `email.sent`, `thread.created`, `action.proposed`, `action.policy_decided`, `action.approval_requested`, `action.approval_resolved`, `action.accepted`, `action.executed`, `action.failed`. Thread and draft changes have no dedicated audit event types. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page."), HttpApiEndpoint.get("mailboxesListFolders", "/v1/mailboxes/:id/folders", {
11466
12113
  params: MailboxesListFoldersPathParams,
11467
12114
  success: MailboxesListFolders200,
11468
12115
  error: [
@@ -11574,7 +12221,7 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11574
12221
  params: MailboxesSendMessagePathParams,
11575
12222
  headers: MailboxesSendMessageHeaders,
11576
12223
  payload: MailboxesSendMessageRequestJson,
11577
- success: MailboxesSendMessage200,
12224
+ success: [MailboxesSendMessage200, MailboxesSendMessage202.pipe(HttpApiSchema.status(202))],
11578
12225
  error: [
11579
12226
  MailboxesSendMessage401.pipe(HttpApiSchema.status(401)),
11580
12227
  MailboxesSendMessage402.pipe(HttpApiSchema.status(402)),
@@ -11582,11 +12229,13 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11582
12229
  MailboxesSendMessage404.pipe(HttpApiSchema.status(404)),
11583
12230
  MailboxesSendMessage409.pipe(HttpApiSchema.status(409)),
11584
12231
  MailboxesSendMessage422.pipe(HttpApiSchema.status(422)),
12232
+ MailboxesSendMessage429.pipe(HttpApiSchema.status(429)),
11585
12233
  MailboxesSendMessage500,
11586
12234
  MailboxesSendMessage502.pipe(HttpApiSchema.status(502)),
12235
+ MailboxesSendMessage503.pipe(HttpApiSchema.status(503)),
11587
12236
  MailboxesSendMessage504.pipe(HttpApiSchema.status(504))
11588
12237
  ]
11589
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.sendMessage").annotate(OpenApi.Summary, "Send a new message").annotate(OpenApi.Description, "Starts a new conversation from the mailbox's default From address. `status` is `sent`, or `pending_approval` when the caller's grant or a mailbox policy holds sends for a person's approval; a policy that denies sends refuses it with 403."), HttpApiEndpoint.get("mailboxesGetMessage", "/v1/mailboxes/:id/messages/:messageId", {
12238
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.sendMessage").annotate(OpenApi.Summary, "Send a new message").annotate(OpenApi.Description, "Records a send action and returns 202 with its current receipt and a Location for action status. An installation, grant, or policy may require approval; otherwise the send is queued. Observe the same action through acceptance and mailbox completion. A policy refusal returns 403 with the recorded receipt."), HttpApiEndpoint.get("mailboxesGetMessage", "/v1/mailboxes/:id/messages/:messageId", {
11590
12239
  params: MailboxesGetMessagePathParams,
11591
12240
  success: MailboxesGetMessage200,
11592
12241
  error: [
@@ -11608,7 +12257,19 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11608
12257
  MailboxesGetMessageAttachment500,
11609
12258
  MailboxesGetMessageAttachment504.pipe(HttpApiSchema.status(504))
11610
12259
  ]
11611
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.getMessageAttachment").annotate(OpenApi.Summary, "Get a message attachment").annotate(OpenApi.Description, "Returns a short-lived download URL for one of the message's attachments."), HttpApiEndpoint.post("mailboxesDiscardMessage", "/v1/mailboxes/:id/messages/:messageId/discard", {
12260
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.getMessageAttachment").annotate(OpenApi.Summary, "Get a message attachment").annotate(OpenApi.Description, "Returns a short-lived download URL for one of the message's attachments."), HttpApiEndpoint.post("mailboxesCopyMessageAttachment", "/v1/mailboxes/:id/messages/:messageId/attachments/:attachmentId/copy", {
12261
+ params: MailboxesCopyMessageAttachmentPathParams,
12262
+ success: MailboxesCopyMessageAttachment201.pipe(HttpApiSchema.status(201)),
12263
+ error: [
12264
+ MailboxesCopyMessageAttachment401.pipe(HttpApiSchema.status(401)),
12265
+ MailboxesCopyMessageAttachment403.pipe(HttpApiSchema.status(403)),
12266
+ MailboxesCopyMessageAttachment404.pipe(HttpApiSchema.status(404)),
12267
+ MailboxesCopyMessageAttachment409.pipe(HttpApiSchema.status(409)),
12268
+ MailboxesCopyMessageAttachment422.pipe(HttpApiSchema.status(422)),
12269
+ MailboxesCopyMessageAttachment500,
12270
+ MailboxesCopyMessageAttachment504.pipe(HttpApiSchema.status(504))
12271
+ ]
12272
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.copyMessageAttachment").annotate(OpenApi.Summary, "Copy a message attachment").annotate(OpenApi.Description, "Copies one of a received message's attachments into the organization's media and returns it as a draft attachment (`mediaId`), so a draft can carry it. A draft that forwards a message saves each original attachment this way."), HttpApiEndpoint.post("mailboxesDiscardMessage", "/v1/mailboxes/:id/messages/:messageId/discard", {
11612
12273
  params: MailboxesDiscardMessagePathParams,
11613
12274
  success: MailboxesDiscardMessage200,
11614
12275
  error: [
@@ -11625,7 +12286,7 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11625
12286
  params: MailboxesForwardPathParams,
11626
12287
  headers: MailboxesForwardHeaders,
11627
12288
  payload: MailboxesForwardRequestJson,
11628
- success: MailboxesForward200,
12289
+ success: [MailboxesForward200, MailboxesForward202.pipe(HttpApiSchema.status(202))],
11629
12290
  error: [
11630
12291
  MailboxesForward401.pipe(HttpApiSchema.status(401)),
11631
12292
  MailboxesForward402.pipe(HttpApiSchema.status(402)),
@@ -11633,8 +12294,10 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11633
12294
  MailboxesForward404.pipe(HttpApiSchema.status(404)),
11634
12295
  MailboxesForward409.pipe(HttpApiSchema.status(409)),
11635
12296
  MailboxesForward422.pipe(HttpApiSchema.status(422)),
12297
+ MailboxesForward429.pipe(HttpApiSchema.status(429)),
11636
12298
  MailboxesForward500,
11637
12299
  MailboxesForward502.pipe(HttpApiSchema.status(502)),
12300
+ MailboxesForward503.pipe(HttpApiSchema.status(503)),
11638
12301
  MailboxesForward504.pipe(HttpApiSchema.status(504))
11639
12302
  ]
11640
12303
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.forward").annotate(OpenApi.Summary, "Forward a message").annotate(OpenApi.Description, "Forwards the message to new recipients as a new conversation, with the original quoted below the caller's text and its attachments attached ahead of any the caller adds. The combined attachments must fit the email attachment limits."), HttpApiEndpoint.get("mailboxesGetMessageRaw", "/v1/mailboxes/:id/messages/:messageId/raw", {
@@ -11664,7 +12327,7 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11664
12327
  params: MailboxesReplyPathParams,
11665
12328
  headers: MailboxesReplyHeaders,
11666
12329
  payload: MailboxesReplyRequestJson,
11667
- success: MailboxesReply200,
12330
+ success: [MailboxesReply200, MailboxesReply202.pipe(HttpApiSchema.status(202))],
11668
12331
  error: [
11669
12332
  MailboxesReply401.pipe(HttpApiSchema.status(401)),
11670
12333
  MailboxesReply402.pipe(HttpApiSchema.status(402)),
@@ -11672,15 +12335,17 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11672
12335
  MailboxesReply404.pipe(HttpApiSchema.status(404)),
11673
12336
  MailboxesReply409.pipe(HttpApiSchema.status(409)),
11674
12337
  MailboxesReply422.pipe(HttpApiSchema.status(422)),
12338
+ MailboxesReply429.pipe(HttpApiSchema.status(429)),
11675
12339
  MailboxesReply500,
11676
12340
  MailboxesReply502.pipe(HttpApiSchema.status(502)),
12341
+ MailboxesReply503.pipe(HttpApiSchema.status(503)),
11677
12342
  MailboxesReply504.pipe(HttpApiSchema.status(504))
11678
12343
  ]
11679
12344
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.reply").annotate(OpenApi.Summary, "Reply to a message").annotate(OpenApi.Description, "Replies to the message's Reply-To address, or its sender, in the same thread. The server sets the recipients, subject, and threading headers."), HttpApiEndpoint.post("mailboxesReplyAll", "/v1/mailboxes/:id/messages/:messageId/reply-all", {
11680
12345
  params: MailboxesReplyAllPathParams,
11681
12346
  headers: MailboxesReplyAllHeaders,
11682
12347
  payload: MailboxesReplyAllRequestJson,
11683
- success: MailboxesReplyAll200,
12348
+ success: [MailboxesReplyAll200, MailboxesReplyAll202.pipe(HttpApiSchema.status(202))],
11684
12349
  error: [
11685
12350
  MailboxesReplyAll401.pipe(HttpApiSchema.status(401)),
11686
12351
  MailboxesReplyAll402.pipe(HttpApiSchema.status(402)),
@@ -11688,8 +12353,10 @@ var MailboxesGroup = class extends HttpApiGroup.make("Mailboxes").add(HttpApiEnd
11688
12353
  MailboxesReplyAll404.pipe(HttpApiSchema.status(404)),
11689
12354
  MailboxesReplyAll409.pipe(HttpApiSchema.status(409)),
11690
12355
  MailboxesReplyAll422.pipe(HttpApiSchema.status(422)),
12356
+ MailboxesReplyAll429.pipe(HttpApiSchema.status(429)),
11691
12357
  MailboxesReplyAll500,
11692
12358
  MailboxesReplyAll502.pipe(HttpApiSchema.status(502)),
12359
+ MailboxesReplyAll503.pipe(HttpApiSchema.status(503)),
11693
12360
  MailboxesReplyAll504.pipe(HttpApiSchema.status(504))
11694
12361
  ]
11695
12362
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "mailboxes.replyAll").annotate(OpenApi.Summary, "Reply to all recipients of a message").annotate(OpenApi.Description, "Replies to the sender and every other recipient of the message except the mailbox itself, in the same thread."), HttpApiEndpoint.post("mailboxesPause", "/v1/mailboxes/:id/pause", {
@@ -11925,7 +12592,7 @@ var MediaGroup = class extends HttpApiGroup.make("Media").add(HttpApiEndpoint.po
11925
12592
  MediaCreate500,
11926
12593
  MediaCreate504.pipe(HttpApiSchema.status(504))
11927
12594
  ]
11928
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "media.create").annotate(OpenApi.Summary, "Create a media object").annotate(OpenApi.Description, "Creates the media object in the pending state and returns it with the upload instruction — URL, method, and headers — for putting its bytes into storage."), HttpApiEndpoint.get("mediaGetById", "/v1/media/:id", {
12595
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "media.create").annotate(OpenApi.Summary, "Create a media object").annotate(OpenApi.Description, "Creates the media object in the pending state and returns it with the upload instruction — URL, method, and headers — for putting its bytes into storage. Requires `messages:create`, or `email:send` for `attachment` media."), HttpApiEndpoint.get("mediaGetById", "/v1/media/:id", {
11929
12596
  params: MediaGetByIdPathParams,
11930
12597
  success: MediaGetById200,
11931
12598
  error: [
@@ -11958,7 +12625,7 @@ var MediaGroup = class extends HttpApiGroup.make("Media").add(HttpApiEndpoint.po
11958
12625
  MediaComplete500,
11959
12626
  MediaComplete504.pipe(HttpApiSchema.status(504))
11960
12627
  ]
11961
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "media.complete").annotate(OpenApi.Summary, "Complete a media upload").annotate(OpenApi.Description, "Verifies the uploaded object exists in storage, marks the media object ready, and returns it with a download URL."), HttpApiEndpoint.get("mediaDownloadUrl", "/v1/media/:id/url", {
12628
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "media.complete").annotate(OpenApi.Summary, "Complete a media upload").annotate(OpenApi.Description, "Verifies the uploaded object exists in storage, marks the media object ready, and returns it with a download URL. Requires the permission that creating the media object did."), HttpApiEndpoint.get("mediaDownloadUrl", "/v1/media/:id/url", {
11962
12629
  params: MediaDownloadUrlPathParams,
11963
12630
  success: MediaDownloadUrl200,
11964
12631
  error: [
@@ -12086,6 +12753,7 @@ var MessagesGroup = class extends HttpApiGroup.make("Messages").add(HttpApiEndpo
12086
12753
  MessagesValidateEmail404.pipe(HttpApiSchema.status(404)),
12087
12754
  MessagesValidateEmail422.pipe(HttpApiSchema.status(422)),
12088
12755
  MessagesValidateEmail500,
12756
+ MessagesValidateEmail503.pipe(HttpApiSchema.status(503)),
12089
12757
  MessagesValidateEmail504.pipe(HttpApiSchema.status(504))
12090
12758
  ]
12091
12759
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "messages.validateEmail").annotate(OpenApi.Summary, "Validate an email message").annotate(OpenApi.Description, "Resolves recipients, sender, and inline or published-template content without sending anything, creating contacts or messages, or counting toward your quota.")).annotate(OpenApi.Description, "Send messages and read their delivery state and timeline.") {};
@@ -12146,6 +12814,7 @@ var ScheduledMessagesGroup = class extends HttpApiGroup.make("Scheduled Messages
12146
12814
  ScheduledMessagesResume422.pipe(HttpApiSchema.status(422)),
12147
12815
  ScheduledMessagesResume500,
12148
12816
  ScheduledMessagesResume502.pipe(HttpApiSchema.status(502)),
12817
+ ScheduledMessagesResume503.pipe(HttpApiSchema.status(503)),
12149
12818
  ScheduledMessagesResume504.pipe(HttpApiSchema.status(504))
12150
12819
  ]
12151
12820
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "scheduledMessages.resume").annotate(OpenApi.Summary, "Resume a review-paused scheduled message").annotate(OpenApi.Description, "Explicitly resumes a scheduled message after onboarding review clearance. An overdue message requires either send_now or a new future scheduledFor value.")).annotate(OpenApi.Description, "One-off scheduled message timers") {};
@@ -12193,7 +12862,7 @@ var NamespacesGroup = class extends HttpApiGroup.make("Namespaces").add(HttpApiE
12193
12862
  NamespacesRemove500,
12194
12863
  NamespacesRemove504.pipe(HttpApiSchema.status(504))
12195
12864
  ]
12196
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "namespaces.remove").annotate(OpenApi.Summary, "Delete a namespace").annotate(OpenApi.Description, "Deletes an empty namespace. A namespace that still holds mailboxes or API keys conflicts: remove or move them first."), HttpApiEndpoint.patch("namespacesUpdate", "/v1/namespaces/:id", {
12865
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "namespaces.remove").annotate(OpenApi.Summary, "Delete a namespace").annotate(OpenApi.Description, "Deletes an empty namespace. A namespace that still holds mailboxes, API keys, or webhook endpoints conflicts: remove them first."), HttpApiEndpoint.patch("namespacesUpdate", "/v1/namespaces/:id", {
12197
12866
  params: NamespacesUpdatePathParams,
12198
12867
  payload: NamespacesUpdateRequestJson,
12199
12868
  success: NamespacesUpdate200,
@@ -12295,7 +12964,18 @@ var OrganizationsGroup = class extends HttpApiGroup.make("Organizations").add(Ht
12295
12964
  OrganizationsDelete500,
12296
12965
  OrganizationsDelete504.pipe(HttpApiSchema.status(504))
12297
12966
  ]
12298
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "organizations.delete").annotate(OpenApi.Summary, "Delete the current organization").annotate(OpenApi.Description, "Starts an owner-authorized organization deletion operation, confirming the organization name in the request. Repeating the same request with the same Idempotency-Key returns the existing organization-scoped operation."), HttpApiEndpoint.get("organizationsGetUsage", "/v1/organizations/usage", {
12967
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "organizations.delete").annotate(OpenApi.Summary, "Delete the current organization").annotate(OpenApi.Description, "Starts an owner-authorized organization deletion operation, confirming the organization name in the request. Repeating the same request with the same Idempotency-Key returns the existing organization-scoped operation."), HttpApiEndpoint.get("organizationsGetTrustTier", "/v1/organizations/trust-tier", {
12968
+ success: OrganizationsGetTrustTier200,
12969
+ error: [
12970
+ OrganizationsGetTrustTier401.pipe(HttpApiSchema.status(401)),
12971
+ OrganizationsGetTrustTier403.pipe(HttpApiSchema.status(403)),
12972
+ OrganizationsGetTrustTier404.pipe(HttpApiSchema.status(404)),
12973
+ OrganizationsGetTrustTier422.pipe(HttpApiSchema.status(422)),
12974
+ OrganizationsGetTrustTier500,
12975
+ OrganizationsGetTrustTier502.pipe(HttpApiSchema.status(502)),
12976
+ OrganizationsGetTrustTier504.pipe(HttpApiSchema.status(504))
12977
+ ]
12978
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "organizations.getTrustTier").annotate(OpenApi.Summary, "Get organization trust tier and sending limits").annotate(OpenApi.Description, "Returns the current trust tier, plan and probation sending limits, and measured probation graduation progress. Limits are additional to billing allowance, domain readiness, and enforcement. Graduation is evaluated on delivery events."), HttpApiEndpoint.get("organizationsGetUsage", "/v1/organizations/usage", {
12299
12979
  query: OrganizationsGetUsageQuery,
12300
12980
  success: OrganizationsGetUsage200,
12301
12981
  error: [
@@ -12306,6 +12986,23 @@ var OrganizationsGroup = class extends HttpApiGroup.make("Organizations").add(Ht
12306
12986
  OrganizationsGetUsage504.pipe(HttpApiSchema.status(504))
12307
12987
  ]
12308
12988
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "organizations.getUsage").annotate(OpenApi.Summary, "Get organization usage").annotate(OpenApi.Description, "Returns usage statistics for the current organization between `after` and `before`, which default to the current calendar month so far. `usage.periodStart` and `usage.periodEnd` echo the window counted.")).annotate(OpenApi.Description, "Organization management and usage statistics") {};
12989
+ var SubscriptionsGroup = class extends HttpApiGroup.make("Subscriptions").add(HttpApiEndpoint.post("subscriptionsSubscribe", "/v1/subscriptions", {
12990
+ payload: SubscriptionsSubscribeRequestJson,
12991
+ success: SubscriptionsSubscribe200,
12992
+ error: [
12993
+ SubscriptionsSubscribe401.pipe(HttpApiSchema.status(401)),
12994
+ SubscriptionsSubscribe402.pipe(HttpApiSchema.status(402)),
12995
+ SubscriptionsSubscribe403.pipe(HttpApiSchema.status(403)),
12996
+ SubscriptionsSubscribe404.pipe(HttpApiSchema.status(404)),
12997
+ SubscriptionsSubscribe409.pipe(HttpApiSchema.status(409)),
12998
+ SubscriptionsSubscribe422.pipe(HttpApiSchema.status(422)),
12999
+ SubscriptionsSubscribe429.pipe(HttpApiSchema.status(429)),
13000
+ SubscriptionsSubscribe500,
13001
+ SubscriptionsSubscribe502.pipe(HttpApiSchema.status(502)),
13002
+ SubscriptionsSubscribe503.pipe(HttpApiSchema.status(503)),
13003
+ SubscriptionsSubscribe504.pipe(HttpApiSchema.status(504))
13004
+ ]
13005
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "subscriptions.subscribe").annotate(OpenApi.Summary, "Request subscription confirmation").annotate(OpenApi.Description, "Sends a confirmation email from your sender. Only the recipient's explicit confirmation adds them to the active static contact group and clears the optional unsubscribe group. The link expires after seven days and can be used once. A custom published email template receives confirmUrl. Sending follows ordinary sender, admission, billing, and brand-footer settings. Requires email send authority in addition to the declared contact grants, including the optional unsubscribe preference change.")).annotate(OpenApi.Description, "Recipient-confirmed contact list subscriptions") {};
12309
13006
  var TemplatesGroup = class extends HttpApiGroup.make("Templates").add(HttpApiEndpoint.get("templatesList", "/v1/templates", {
12310
13007
  query: TemplatesListQuery,
12311
13008
  success: TemplatesList200,
@@ -12409,7 +13106,20 @@ var TemplatesGroup = class extends HttpApiGroup.make("Templates").add(HttpApiEnd
12409
13106
  TemplatesGetPublication500,
12410
13107
  TemplatesGetPublication504.pipe(HttpApiSchema.status(504))
12411
13108
  ]
12412
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "templates.getPublication").annotate(OpenApi.Summary, "Get a template publication").annotate(OpenApi.Description, "Returns one immutable publication and its exact build receipt."), HttpApiEndpoint.get("templatesGetGitRepository", "/v1/templates/:id/repository", {
13109
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "templates.getPublication").annotate(OpenApi.Summary, "Get a template publication").annotate(OpenApi.Description, "Returns one immutable publication and its exact build receipt."), HttpApiEndpoint.post("templatesRenderPublication", "/v1/templates/:id/publications/:publicationId/render", {
13110
+ params: TemplatesRenderPublicationPathParams,
13111
+ payload: TemplatesRenderPublicationRequestJson,
13112
+ success: TemplatesRenderPublication200,
13113
+ error: [
13114
+ TemplatesRenderPublication401.pipe(HttpApiSchema.status(401)),
13115
+ TemplatesRenderPublication403.pipe(HttpApiSchema.status(403)),
13116
+ TemplatesRenderPublication404.pipe(HttpApiSchema.status(404)),
13117
+ TemplatesRenderPublication409.pipe(HttpApiSchema.status(409)),
13118
+ TemplatesRenderPublication422.pipe(HttpApiSchema.status(422)),
13119
+ TemplatesRenderPublication500,
13120
+ TemplatesRenderPublication504.pipe(HttpApiSchema.status(504))
13121
+ ]
13122
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "templates.renderPublication").annotate(OpenApi.Summary, "Render a template publication").annotate(OpenApi.Description, "Renders one immutable publication against the `data` you pass, formatted in the `locale` and `timeZone` you name as a send formats them, and returns the subject, preheader, HTML and plain text a send would produce. `data` is validated against the publication's input schema exactly as a send validates it; invalid input returns a validation error that names each failing field. Nothing is sent or stored. Unpublished workspace edits are never rendered: only a publication id renders."), HttpApiEndpoint.get("templatesGetGitRepository", "/v1/templates/:id/repository", {
12413
13123
  params: TemplatesGetGitRepositoryPathParams,
12414
13124
  success: TemplatesGetGitRepository200,
12415
13125
  error: [
@@ -12820,7 +13530,7 @@ var WebhooksGroup = class extends HttpApiGroup.make("Webhooks").add(HttpApiEndpo
12820
13530
  WebhooksCreate502.pipe(HttpApiSchema.status(502)),
12821
13531
  WebhooksCreate504.pipe(HttpApiSchema.status(504))
12822
13532
  ]
12823
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "webhooks.create").annotate(OpenApi.Summary, "Create a webhook").annotate(OpenApi.Description, "Creates a signed webhook endpoint for Samva delivery and inbound events, stores subscriptions, and returns the endpoint and signing secret with a 201 response."), HttpApiEndpoint.get("webhooksGet", "/v1/webhooks/:id", {
13533
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "webhooks.create").annotate(OpenApi.Summary, "Create a webhook").annotate(OpenApi.Description, "Creates a signed webhook endpoint for Samva delivery and inbound events, stores subscriptions, and returns the endpoint and signing secret with a 201 response. `mailboxIds` and `namespaceId` confine mailbox events; when both are set, every mailbox must belong to the namespace."), HttpApiEndpoint.get("webhooksGet", "/v1/webhooks/:id", {
12824
13534
  params: WebhooksGetPathParams,
12825
13535
  success: WebhooksGet200,
12826
13536
  error: [
@@ -12856,7 +13566,7 @@ var WebhooksGroup = class extends HttpApiGroup.make("Webhooks").add(HttpApiEndpo
12856
13566
  WebhooksUpdate500,
12857
13567
  WebhooksUpdate504.pipe(HttpApiSchema.status(504))
12858
13568
  ]
12859
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "webhooks.update").annotate(OpenApi.Summary, "Update a webhook").annotate(OpenApi.Description, "Updates a webhook's name, URL, subscribed events, channels, custom headers, or status and returns the updated endpoint."), HttpApiEndpoint.post("webhooksRetryDelivery", "/v1/webhooks/:id/deliveries/:deliveryId/redeliver", {
13569
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "webhooks.update").annotate(OpenApi.Summary, "Update a webhook").annotate(OpenApi.Description, "Updates a webhook's name, URL, subscribed events, channels, custom headers, mailbox scope, or status and returns the updated endpoint. A change to `mailboxIds` or `namespaceId` is checked as the endpoint will stand afterward: every mailbox must belong to the namespace when both are set."), HttpApiEndpoint.post("webhooksRetryDelivery", "/v1/webhooks/:id/deliveries/:deliveryId/redeliver", {
12860
13570
  params: WebhooksRetryDeliveryPathParams,
12861
13571
  success: WebhooksRetryDelivery200,
12862
13572
  error: [
@@ -12916,12 +13626,12 @@ var WebhooksGroup = class extends HttpApiGroup.make("Webhooks").add(HttpApiEndpo
12916
13626
  WebhooksTest504.pipe(HttpApiSchema.status(504))
12917
13627
  ]
12918
13628
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "webhooks.test").annotate(OpenApi.Summary, "Send a test webhook delivery").annotate(OpenApi.Description, "Queues a signed webhook.test event through the normal delivery and retry lifecycle.")).annotate(OpenApi.Description, "Customer event webhook management, testing, and delivery logs") {};
12919
- var SamvaApi = class extends HttpApi.make("SamvaApi").annotate(OpenApi.Title, "Samva API").annotate(OpenApi.Version, "1.0.0").annotate(OpenApi.Description, "Samva is the email API for your app. Send transactional email in one typed call. Delivery events and customer replies come back as signed webhooks, and replies thread to the email they answer.").annotate(OpenApi.Servers, [{ url: "https://api.samva.dev" }]).add(AnalyticsGroup, APIKeysGroup, AttachmentsGroup, BrandsGroup, CampaignsGroup, ContactGroupsGroup, ContactsGroup, ConversationsGroup, CustomFieldsGroup, EmailGroup, ExtensionInstallationsGroup, ExtensionsGroup, FeedbackGroup, MailboxesGroup, MediaGroup, MessagesGroup, ScheduledMessagesGroup, NamespacesGroup, OperationsGroup, OrganizationsGroup, TemplatesGroup, UnsubscribeGroupsGroup, WebhooksGroup) {};
13629
+ var SamvaApi = class extends HttpApi.make("SamvaApi").annotate(OpenApi.Title, "Samva API").annotate(OpenApi.Version, "1.0.0").annotate(OpenApi.Description, "Samva is the email API for your app. Send transactional email in one typed call. Delivery events and customer replies come back as signed webhooks, and replies thread to the email they answer.").annotate(OpenApi.Servers, [{ url: "https://api.samva.dev" }]).add(AnalyticsGroup, APIKeysGroup, AttachmentsGroup, BrandsGroup, CampaignsGroup, ContactGroupsGroup, ContactsGroup, ConversationsGroup, CustomFieldsGroup, EmailGroup, ExtensionInstallationsGroup, ExtensionsGroup, FeedbackGroup, MailboxesGroup, MediaGroup, MessagesGroup, ScheduledMessagesGroup, NamespacesGroup, OperationsGroup, OrganizationsGroup, SubscriptionsGroup, TemplatesGroup, UnsubscribeGroupsGroup, WebhooksGroup) {};
12920
13630
  //#endregion
12921
13631
  //#region src/effect/internal/client.ts
12922
13632
  const DEFAULT_BASE_URL = "https://api.samva.dev";
12923
13633
  var Service = class extends Context.Service()("samva/Client") {};
12924
- const authHeaders = (config) => "authToken" in config ? { Authorization: `Bearer ${config.authToken}` } : { "x-api-key": config.apiKey };
13634
+ const authHeaders = (config) => config.authToken !== void 0 ? { Authorization: `Bearer ${config.authToken}` } : { "x-api-key": Redacted.isRedacted(config.apiKey) ? Redacted.value(config.apiKey) : config.apiKey };
12925
13635
  const flatten = (nested) => {
12926
13636
  const flat = {};
12927
13637
  for (const endpoints of Object.values(nested)) for (const [endpoint, call] of Object.entries(endpoints)) flat[endpoint] = call;
@@ -12943,7 +13653,18 @@ const make = (config) => Effect.gen(function* () {
12943
13653
  const flat = flatten(raw);
12944
13654
  const headers = removesAttribution ? {} : { [CLIENT_ATTRIBUTION_HEADER]: clientAttribution("typescript-effect") };
12945
13655
  for (const [name, value] of Object.entries(config.headers ?? {})) if (value !== void 0) headers[name] = value;
13656
+ const storage = yield* HttpClient.HttpClient;
13657
+ const putUpload = (input) => storage.execute(HttpClientRequest.make(input.method)(input.url).pipe(HttpClientRequest.bodyUint8Array(input.bytes, uploadContentType(input.headers)), HttpClientRequest.setHeaders(input.headers))).pipe(Effect.mapError((cause) => new MediaUploadError({
13658
+ filename: input.filename,
13659
+ mediaId: input.mediaId,
13660
+ cause
13661
+ })), Effect.flatMap((response) => response.status >= 200 && response.status < 300 ? Effect.void : Effect.fail(new MediaUploadError({
13662
+ filename: input.filename,
13663
+ mediaId: input.mediaId,
13664
+ status: response.status
13665
+ }))));
12946
13666
  return Service.of({
13667
+ putUpload,
12947
13668
  raw,
12948
13669
  operation: (name) => flat[name],
12949
13670
  connection: {
@@ -12959,6 +13680,6 @@ const layer = (config) => Layer.effect(Service, make(config));
12959
13680
  const layerFetch = (config) => layer(config).pipe(Layer.provide(FetchHttpClient.layer));
12960
13681
  const raw = Effect.map(Service, (client) => client.raw);
12961
13682
  //#endregion
12962
- export { UpdateTemplatePayload as A, ResourceNotFoundError as C, TrackingRecipientEmail as D, TestWebhookPayload as E, ValidationError as M, UnauthorizedError as O, RateLimitedError as S, SendFeedback as T, ForbiddenError as _, AnalyticsQueryError as a, OnboardingReviewRequiredError as b, CampaignFooterRequiredError as c, CreateTemplatePayload as d, CreateWebhookPayload as f, FlagDisabledError as g, ExternalServiceError as h, raw as i, UpdateWebhookPayload as j, UpdateBrand as k, ConflictError as l, EmailChannelError as m, layer as n, BillingProviderError as o, DeliveryUnavailableError as p, layerFetch as r, BrandAddressRequiredError as s, Service as t, CreateBrand as u, GatewayTimeoutError as v, SamvaApi as w, PaymentRequiredError as x, InternalError as y };
13683
+ export { TrackingRecipientEmail as A, PaymentRequiredError as C, SendFeedback as D, SamvaApi as E, ValidationError as F, UpdateBrand as M, UpdateTemplatePayload as N, SenderNotReadyError as O, UpdateWebhookPayload as P, OnboardingReviewRequiredError as S, ResourceNotFoundError as T, ForbiddenError as _, AnalyticsQueryError as a, MailboxSendConflictError as b, CampaignFooterRequiredError as c, CreateTemplatePayload as d, CreateWebhookPayload as f, FlagDisabledError as g, ExternalServiceError as h, raw as i, UnauthorizedError as j, TestWebhookPayload as k, ConflictError as l, EmailChannelError as m, layer as n, BillingProviderError as o, DeliveryUnavailableError as p, layerFetch as r, BrandAddressRequiredError as s, Service as t, CreateBrand as u, GatewayTimeoutError as v, RateLimitedError as w, MailboxSendRefusedError as x, InternalError as y };
12963
13684
 
12964
- //# sourceMappingURL=client-Cj1bqIEe.js.map
13685
+ //# sourceMappingURL=client-CZjhOKPM.js.map