samva 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/{categories-CsUa8ojo.js → categories-B9Nw2v_F.js} +5 -1
  2. package/dist/client/sdk.gen.d.ts +150 -11
  3. package/dist/client/types.gen.d.ts +893 -37
  4. package/dist/{client-BmZK_uCt.js → client-B7gEkvEq.js} +952 -110
  5. package/dist/{client-attribution-BslSOa_8.js → client-attribution-B2yJBXdZ.js} +2 -2
  6. package/dist/effect/api-keys.js +1 -1
  7. package/dist/effect/campaigns.d.ts +16 -0
  8. package/dist/effect/campaigns.js +1 -1
  9. package/dist/effect/categories.js +1 -1
  10. package/dist/effect/client.js +1 -1
  11. package/dist/effect/contacts.js +1 -1
  12. package/dist/effect/conversations.d.ts +15 -0
  13. package/dist/effect/conversations.js +1 -1
  14. package/dist/effect/design.js +1 -1
  15. package/dist/effect/email.d.ts +700 -2
  16. package/dist/effect/email.js +27 -3
  17. package/dist/effect/generated-metadata.d.ts +4 -0
  18. package/dist/effect/generated.d.ts +4102 -359
  19. package/dist/effect/index.js +2 -2
  20. package/dist/effect/internal/operation.d.ts +13 -3
  21. package/dist/effect/media.d.ts +3 -3
  22. package/dist/effect/media.js +1 -1
  23. package/dist/effect/messages.d.ts +180 -1
  24. package/dist/effect/messages.js +5 -3
  25. package/dist/effect/operations.js +1 -1
  26. package/dist/effect/organizations.js +1 -1
  27. package/dist/effect/retry.js +1 -1
  28. package/dist/effect/scheduled-messages.d.ts +90 -6
  29. package/dist/effect/scheduled-messages.js +5 -3
  30. package/dist/effect/templates.d.ts +12 -0
  31. package/dist/effect/templates.js +2 -2
  32. package/dist/effect/webhooks.d.ts +40 -6
  33. package/dist/effect/webhooks.js +2 -2
  34. package/dist/index.js +2 -2
  35. package/dist/{operation-B1knNlxk.js → operation-B4FjN6wq.js} +50 -2
  36. package/dist/promises/errors.gen.d.ts +21 -2
  37. package/dist/promises/index.d.ts +1 -0
  38. package/dist/promises/index.js +2 -2
  39. package/dist/promises/types.gen.d.ts +1 -1
  40. package/dist/{promises-n1opem5V.js → promises-CP_nxUus.js} +502 -11
  41. package/dist/service-map.d.ts +66 -0
  42. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import { n as clientAttribution, t as CLIENT_ATTRIBUTION_HEADER } from "./client-attribution-BslSOa_8.js";
1
+ import { n as clientAttribution, t as CLIENT_ATTRIBUTION_HEADER } from "./client-attribution-B2yJBXdZ.js";
2
2
  import { Context, Effect, Layer, Schema, SchemaTransformation } from "effect";
3
3
  import * as Schema$1 from "effect/Schema";
4
4
  import { HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema, HttpApiSecurity, OpenApi } from "effect/unstable/httpapi";
@@ -145,6 +145,10 @@ var ConflictError = class extends Schema$1.TaggedError()("ConflictError", Schema
145
145
  resource: Schema$1.String,
146
146
  id: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
147
147
  })) {};
148
+ const EmailDomainId = Schema$1.String.pipe(Schema$1.brand("EmailDomainId")).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^dom_[0-9a-hjkmnp-tv-z]{16,24}$")).annotate({
149
+ expected: "a string matching the RegExp ^dom_[0-9a-hjkmnp-tv-z]{16,24}$",
150
+ identifier: "EmailDomainId"
151
+ }));
148
152
  var ExternalServiceError = class extends Schema$1.TaggedError()("ExternalServiceError", Schema$1.Struct({
149
153
  operation: Schema$1.String,
150
154
  message: Schema$1.String
@@ -224,10 +228,6 @@ const BlockedEmailLogId = Schema$1.String.pipe(Schema$1.brand("BlockedEmailLogId
224
228
  expected: "a string matching the RegExp ^blklog_[0-9a-hjkmnp-tv-z]{16,24}$",
225
229
  identifier: "BlockedEmailLogId"
226
230
  }));
227
- const EmailDomainId = Schema$1.String.pipe(Schema$1.brand("EmailDomainId")).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^dom_[0-9a-hjkmnp-tv-z]{16,24}$")).annotate({
228
- expected: "a string matching the RegExp ^dom_[0-9a-hjkmnp-tv-z]{16,24}$",
229
- identifier: "EmailDomainId"
230
- }));
231
231
  const WebhookEndpointId = Schema$1.String.pipe(Schema$1.brand("WebhookEndpointId")).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^wep_[0-9a-hjkmnp-tv-z]{16,24}$")).annotate({
232
232
  expected: "a string matching the RegExp ^wep_[0-9a-hjkmnp-tv-z]{16,24}$",
233
233
  identifier: "WebhookEndpointId"
@@ -295,6 +295,33 @@ var RateLimitedError = class extends Schema$1.TaggedError()("RateLimitedError",
295
295
  operation: Schema$1.String,
296
296
  retryAfterSeconds: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" }))
297
297
  })) {};
298
+ const EmailDomainWarmingPlanId = Schema$1.String.pipe(Schema$1.brand("EmailDomainWarmingPlanId")).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^warm_[0-9a-hjkmnp-tv-z]{16,24}$")).annotate({
299
+ expected: "a string matching the RegExp ^warm_[0-9a-hjkmnp-tv-z]{16,24}$",
300
+ identifier: "EmailDomainWarmingPlanId"
301
+ }));
302
+ const EmailDomainWarmingBatchId = Schema$1.String.pipe(Schema$1.brand("EmailDomainWarmingBatchId")).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^wbatch_[0-9a-hjkmnp-tv-z]{16,24}$")).annotate({
303
+ expected: "a string matching the RegExp ^wbatch_[0-9a-hjkmnp-tv-z]{16,24}$",
304
+ identifier: "EmailDomainWarmingBatchId"
305
+ }));
306
+ const EmailDomainWarmingDecisionId = Schema$1.String.pipe(Schema$1.brand("EmailDomainWarmingDecisionId")).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^wdec_[0-9a-hjkmnp-tv-z]{16,24}$")).annotate({
307
+ expected: "a string matching the RegExp ^wdec_[0-9a-hjkmnp-tv-z]{16,24}$",
308
+ identifier: "EmailDomainWarmingDecisionId"
309
+ }));
310
+ const DomainWarmingWindowHour = Schema$1.Struct({
311
+ sent: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
312
+ bounced: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
313
+ complained: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" }))
314
+ }).annotate({ identifier: "DomainWarmingWindowHour" });
315
+ const DomainWarmingHolds = Schema$1.Struct({
316
+ workspacePausedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
317
+ workspacePauseReason: Schema$1.Union([Schema$1.String, Schema$1.Null]),
318
+ sendingStatus: Schema$1.Literals([
319
+ "enabled",
320
+ "disabled",
321
+ "reinstated",
322
+ "unknown"
323
+ ])
324
+ }).annotate({ identifier: "DomainWarmingHolds" });
298
325
  const EmailForwardingRuleId = Schema$1.String.pipe(Schema$1.brand("EmailForwardingRuleId")).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^fwd_[0-9a-hjkmnp-tv-z]{16,24}$")).annotate({
299
326
  expected: "a string matching the RegExp ^fwd_[0-9a-hjkmnp-tv-z]{16,24}$",
300
327
  identifier: "EmailForwardingRuleId"
@@ -304,6 +331,32 @@ const ForwardingConditions = Schema$1.Struct({
304
331
  fromContains: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null])),
305
332
  hasAttachments: Schema$1.optionalKey(Schema$1.Union([Schema$1.Boolean, Schema$1.Null]))
306
333
  }).annotate({ identifier: "ForwardingConditions" });
334
+ const IdentityClearanceStatus = Schema$1.Struct({
335
+ identityId: Schema$1.String,
336
+ decision: Schema$1.Literals([
337
+ "undecided",
338
+ "approved",
339
+ "rejected"
340
+ ]),
341
+ generation: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })),
342
+ code: Schema$1.Union([Schema$1.Literals([
343
+ "review_required",
344
+ "review_in_progress",
345
+ "information_required",
346
+ "review_rejected",
347
+ "identity_review_required",
348
+ "identity_review_rejected",
349
+ "identity_changed"
350
+ ]), Schema$1.Null]),
351
+ nextAction: Schema$1.Union([Schema$1.Literals([
352
+ "wait_for_review",
353
+ "provide_information",
354
+ "verify_sending_identity",
355
+ "reapply",
356
+ "contact_support"
357
+ ]), Schema$1.Null]),
358
+ updatedAt: Schema$1.String
359
+ }).annotate({ identifier: "IdentityClearanceStatus" });
307
360
  const SuppressionId = Schema$1.String.pipe(Schema$1.brand("SuppressionId")).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^supp_[0-9a-hjkmnp-tv-z]{16,24}$")).annotate({
308
361
  expected: "a string matching the RegExp ^supp_[0-9a-hjkmnp-tv-z]{16,24}$",
309
362
  identifier: "SuppressionId"
@@ -331,6 +384,39 @@ const EmailSender = Schema$1.Union([Schema$1.Struct({
331
384
  email: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })),
332
385
  name: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
333
386
  }), Schema$1.Null]).annotate({ identifier: "EmailSender" });
387
+ var OnboardingReviewRequiredError = class extends Schema$1.TaggedError()("OnboardingReviewRequiredError", Schema$1.Struct({
388
+ operation: Schema$1.String,
389
+ code: Schema$1.Literals([
390
+ "review_required",
391
+ "review_in_progress",
392
+ "information_required",
393
+ "review_rejected",
394
+ "identity_review_required",
395
+ "identity_review_rejected",
396
+ "identity_changed"
397
+ ]),
398
+ decision: Schema$1.Literals([
399
+ "undecided",
400
+ "approved",
401
+ "rejected",
402
+ "exempt"
403
+ ]),
404
+ stage: Schema$1.Literals([
405
+ "collecting",
406
+ "automated_review",
407
+ "manual_review",
408
+ "information_requested",
409
+ "complete"
410
+ ]),
411
+ nextAction: Schema$1.Literals([
412
+ "wait_for_review",
413
+ "provide_information",
414
+ "verify_sending_identity",
415
+ "reapply",
416
+ "contact_support"
417
+ ]),
418
+ identityId: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
419
+ })) {};
334
420
  var WebhookEnqueueError = class extends Schema$1.TaggedError()("WebhookEnqueueError", Schema$1.Struct({
335
421
  operation: Schema$1.String,
336
422
  reason: Schema$1.String,
@@ -352,6 +438,21 @@ const ScheduledMessageId = Schema$1.String.pipe(Schema$1.brand("ScheduledMessage
352
438
  expected: "a string matching the RegExp ^sched_[0-9a-hjkmnp-tv-z]{16,24}$",
353
439
  identifier: "ScheduledMessageId"
354
440
  }));
441
+ const IanaTimezone = Schema$1.String.annotate({ identifier: "IanaTimezone" });
442
+ const ValidateEmailResponse = Schema$1.Struct({
443
+ valid: Schema$1.Literal(true),
444
+ from: Schema$1.Struct({
445
+ email: Schema$1.String,
446
+ name: Schema$1.Union([Schema$1.String, Schema$1.Null])
447
+ }),
448
+ recipientCount: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })),
449
+ content: Schema$1.Struct({
450
+ source: Schema$1.Literals(["inline", "template"]),
451
+ subject: Schema$1.String,
452
+ hasHtml: Schema$1.Boolean,
453
+ hasText: Schema$1.Boolean
454
+ })
455
+ }).annotate({ identifier: "ValidateEmailResponse" });
355
456
  const OperationResource = Schema$1.Struct({
356
457
  type: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })).check(Schema$1.isMaxLength(80).annotate({ expected: "a value with a length of at most 80" })),
357
458
  id: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })).check(Schema$1.isMaxLength(255).annotate({ expected: "a value with a length of at most 255" }))
@@ -372,6 +473,13 @@ const UserId = Schema$1.String.pipe(Schema$1.brand("UserId")).check(Schema$1.isP
372
473
  expected: "a string matching the RegExp ^user_[0-9a-hjkmnp-tv-z]{16,24}$",
373
474
  identifier: "UserId"
374
475
  }));
476
+ const WebhookDeliveryCounts = Schema$1.Struct({
477
+ 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" })),
478
+ pending: 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" })),
479
+ delivered: 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" })),
480
+ exhausted: 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" })),
481
+ cancelled: 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" }))
482
+ }).annotate({ identifier: "WebhookDeliveryCounts" });
375
483
  const WebhookEventId = Schema$1.String.pipe(Schema$1.brand("WebhookEventId")).check(Schema$1.isPattern(/* @__PURE__ */ new RegExp("^whevt_[0-9a-hjkmnp-tv-z]{16,24}$")).annotate({
376
484
  expected: "a string matching the RegExp ^whevt_[0-9a-hjkmnp-tv-z]{16,24}$",
377
485
  identifier: "WebhookEventId"
@@ -384,11 +492,32 @@ const WebhookAttemptId = Schema$1.String.pipe(Schema$1.brand("WebhookAttemptId")
384
492
  expected: "a string matching the RegExp ^whatt_[0-9a-hjkmnp-tv-z]{16,24}$",
385
493
  identifier: "WebhookAttemptId"
386
494
  }));
495
+ const WebhookDailyDeliveries = Schema$1.Struct({
496
+ date: Schema$1.String,
497
+ pending: 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" })),
498
+ delivered: 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" })),
499
+ exhausted: 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" })),
500
+ cancelled: 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" }))
501
+ }).annotate({ identifier: "WebhookDailyDeliveries" });
502
+ Schema$1.Struct({
503
+ identity: Schema$1.Literals([
504
+ "new",
505
+ "migrating",
506
+ "returning"
507
+ ]),
508
+ initialDailyRecipients: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isLessThanOrEqualTo(1e6).annotate({ expected: "a value less than or equal to 1000000" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" })),
509
+ dailyGrowthPercent: 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" })).check(Schema$1.isLessThanOrEqualTo(1e4).annotate({ expected: "a value less than or equal to 10000" })),
510
+ targetDailyRecipients: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isLessThanOrEqualTo(1e6).annotate({ expected: "a value less than or equal to 1000000" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" }))
511
+ }).annotate({ identifier: "CreateDomainWarmingPlanPayload" });
387
512
  Schema$1.Struct({
388
513
  filename: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })).check(Schema$1.isMaxLength(255).annotate({ expected: "a value with a length of at most 255" })),
389
514
  contentType: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })).check(Schema$1.isMaxLength(127).annotate({ expected: "a value with a length of at most 127" })),
390
515
  sizeBytes: 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" })),
391
- purpose: Schema$1.Literals(["attachment", "avatar"]),
516
+ purpose: Schema$1.Literals([
517
+ "attachment",
518
+ "avatar",
519
+ "review_evidence"
520
+ ]),
392
521
  checksumSha256: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
393
522
  }).annotate({ identifier: "CreateMediaPayload" });
394
523
  const CreateTemplatePayload = Schema$1.Struct({
@@ -437,14 +566,22 @@ const CreateWebhookPayload = Schema$1.Struct({
437
566
  "webhook.updated",
438
567
  "webhook.deleted",
439
568
  "webhook.test",
440
- "domain.updated"
569
+ "domain.updated",
570
+ "domain.warming.updated"
441
571
  ])).check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })),
442
572
  channels: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.Literal("email")).check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })), Schema$1.Null])),
443
573
  headers: Schema$1.optionalKey(Schema$1.Union([Schema$1.Record(Schema$1.String, Schema$1.String), Schema$1.Null])),
444
574
  status: Schema$1.optionalKey(Schema$1.Union([Schema$1.Literals(["active", "disabled"]), Schema$1.Null]))
445
575
  }).annotate({ identifier: "CreateWebhookPayload" });
576
+ Schema$1.Struct({ note: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.check(Schema$1.isMaxLength(500).annotate({ expected: "a value with a length of at most 500" })), Schema$1.Null])) }).annotate({ identifier: "DomainWarmingNotePayload" });
577
+ Schema$1.Struct({ expectedGeneration: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })) }).annotate({ identifier: "ReapplyOnboardingReviewInput" });
446
578
  Schema$1.Struct({ name: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })) }).annotate({ identifier: "TemplateFamilyName" });
447
579
  const TestWebhookPayload = Schema$1.Struct({ data: Schema$1.optionalKey(Schema$1.Union([Schema$1.Record(Schema$1.String, JsonValue), Schema$1.Null])) }).annotate({ identifier: "TestWebhookPayload" });
580
+ Schema$1.Struct({
581
+ dailyGrowthPercent: 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" })).check(Schema$1.isLessThanOrEqualTo(1e4).annotate({ expected: "a value less than or equal to 10000" })),
582
+ targetDailyRecipients: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isLessThanOrEqualTo(1e6).annotate({ expected: "a value less than or equal to 1000000" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" })),
583
+ note: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.check(Schema$1.isMaxLength(500).annotate({ expected: "a value with a length of at most 500" })), Schema$1.Null]))
584
+ }).annotate({ identifier: "UpdateDomainWarmingPolicyPayload" });
448
585
  const UpdateWebhookPayload = Schema$1.Struct({
449
586
  name: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })).check(Schema$1.isMaxLength(100).annotate({ expected: "a value with a length of at most 100" })), Schema$1.Null])),
450
587
  url: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
@@ -473,7 +610,8 @@ const UpdateWebhookPayload = Schema$1.Struct({
473
610
  "webhook.updated",
474
611
  "webhook.deleted",
475
612
  "webhook.test",
476
- "domain.updated"
613
+ "domain.updated",
614
+ "domain.warming.updated"
477
615
  ])).check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })), Schema$1.Null])),
478
616
  channels: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.Array(Schema$1.Literal("email")).check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })), Schema$1.Null]), Schema$1.Null])),
479
617
  headers: Schema$1.optionalKey(Schema$1.Union([Schema$1.Record(Schema$1.String, Schema$1.String), Schema$1.Null])),
@@ -512,6 +650,11 @@ const EmailAttachment = Schema$1.Struct({
512
650
  contentType: Schema$1.String,
513
651
  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" }))
514
652
  }).annotate({ identifier: "EmailAttachment" });
653
+ Schema$1.Struct({
654
+ expectedGeneration: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" })),
655
+ responseText: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })).check(Schema$1.isMaxLength(4e3).annotate({ expected: "a value with a length of at most 4000" })),
656
+ evidenceMediaIds: Schema$1.Array(MediaId).check(Schema$1.isMaxLength(3).annotate({ expected: "a value with a length of at most 3" }))
657
+ }).annotate({ identifier: "RespondToOnboardingInformationRequestInput" });
515
658
  const TemplateSummary = Schema$1.Struct({
516
659
  id: TemplateId,
517
660
  name: Schema$1.String,
@@ -537,6 +680,8 @@ const TemplateSummary = Schema$1.Struct({
537
680
  ]),
538
681
  usageCount: 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" })),
539
682
  lastUsedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
683
+ workspaceRevision: Schema$1.Union([Schema$1.String, Schema$1.Null]),
684
+ previewFixture: Schema$1.Union([Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })).check(Schema$1.isMaxLength(128).annotate({ expected: "a value with a length of at most 128" })), Schema$1.Null]),
540
685
  createdAt: Schema$1.String,
541
686
  updatedAt: Schema$1.String
542
687
  }).annotate({ identifier: "TemplateSummary" });
@@ -600,6 +745,32 @@ const CampaignLatestRun = Schema$1.Struct({
600
745
  failedCount: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
601
746
  skippedCount: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" }))
602
747
  }).annotate({ identifier: "CampaignLatestRun" });
748
+ const EmailDkimRotation = Schema$1.Struct({
749
+ id: Schema$1.String,
750
+ domainId: EmailDomainId,
751
+ phase: Schema$1.Literals([
752
+ "staged",
753
+ "cutover",
754
+ "complete"
755
+ ]),
756
+ selector: Schema$1.String,
757
+ record: Schema$1.Struct({
758
+ name: Schema$1.String,
759
+ type: Schema$1.Literal("TXT"),
760
+ value: Schema$1.String,
761
+ ttl: Schema$1.String
762
+ }),
763
+ formerRecord: Schema$1.Struct({
764
+ name: Schema$1.String,
765
+ type: Schema$1.Literal("TXT"),
766
+ value: Schema$1.String
767
+ }),
768
+ minimumRetainUntil: Schema$1.Union([Schema$1.String, Schema$1.Null]).annotate({ description: "Earliest minimum retention horizon only. The former public key remains published indefinitely until a separately approved retirement verifies at least two actual former-record TTLs have elapsed." })
769
+ }).annotate({ identifier: "EmailDkimRotation" });
770
+ const DomainWarmingDomainRef = Schema$1.Struct({
771
+ id: EmailDomainId,
772
+ domain: Schema$1.String
773
+ }).annotate({ identifier: "DomainWarmingDomainRef" });
603
774
  const Media = Schema$1.Struct({
604
775
  id: MediaId,
605
776
  organizationId: OrganizationId,
@@ -617,7 +788,11 @@ const Media = Schema$1.Struct({
617
788
  width: Schema$1.Union([Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" })), Schema$1.Null]),
618
789
  height: Schema$1.Union([Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" })), Schema$1.Null]),
619
790
  durationMs: Schema$1.Union([Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })).check(Schema$1.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" })), Schema$1.Null]),
620
- purpose: Schema$1.Literals(["attachment", "avatar"]),
791
+ purpose: Schema$1.Literals([
792
+ "attachment",
793
+ "avatar",
794
+ "review_evidence"
795
+ ]),
621
796
  checksumSha256: Schema$1.Union([Schema$1.String, Schema$1.Null]),
622
797
  expiresAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
623
798
  createdAt: Schema$1.String,
@@ -766,6 +941,21 @@ const Message = Schema$1.Struct({
766
941
  contact: Schema$1.Union([MessageContact, Schema$1.Null])
767
942
  })),
768
943
  deliveries: Schema$1.Array(Schema$1.Struct({
944
+ scheduling: Schema$1.Union([Schema$1.Struct({
945
+ dueAt: Schema$1.String,
946
+ expiresAt: Schema$1.String,
947
+ waitReason: Schema$1.Union([Schema$1.Literals([
948
+ "rate",
949
+ "daily-quota",
950
+ "domain-health",
951
+ "tenant-health",
952
+ "provider-unavailable",
953
+ "retry",
954
+ "campaign-paused",
955
+ "domain-warming",
956
+ "onboarding-review"
957
+ ]), Schema$1.Null])
958
+ }), Schema$1.Null]),
769
959
  id: Schema$1.String,
770
960
  messageId: Schema$1.String,
771
961
  recipientId: Schema$1.Union([Schema$1.String, Schema$1.Null]),
@@ -924,7 +1114,8 @@ const WebhookEndpoint = Schema$1.Struct({
924
1114
  "webhook.updated",
925
1115
  "webhook.deleted",
926
1116
  "webhook.test",
927
- "domain.updated"
1117
+ "domain.updated",
1118
+ "domain.warming.updated"
928
1119
  ])),
929
1120
  channels: Schema$1.Union([Schema$1.Array(Schema$1.Literal("email")), Schema$1.Null]),
930
1121
  status: Schema$1.Literals(["active", "disabled"]),
@@ -996,79 +1187,123 @@ const CustomTrackingStatus = Schema$1.Struct({
996
1187
  teardownScheduledAt: Schema$1.Union([Schema$1.String, Schema$1.Null])
997
1188
  }), Schema$1.Null])
998
1189
  }).annotate({ identifier: "CustomTrackingStatus" });
999
- const EmailDomainVerification = Schema$1.Struct({
1000
- domainId: EmailDomainId,
1001
- domain: Schema$1.String,
1002
- phase: Schema$1.Literals([
1003
- "dns-setup",
1004
- "provider-setup",
1005
- "provider-verification",
1006
- "ready",
1007
- "degraded",
1008
- "failed"
1190
+ const DomainWarmingPlan = Schema$1.Struct({
1191
+ id: EmailDomainWarmingPlanId,
1192
+ status: Schema$1.Literals([
1193
+ "active",
1194
+ "paused",
1195
+ "completed"
1009
1196
  ]),
1010
- records: Schema$1.Array(Schema$1.Struct({
1011
- record: Schema$1.Struct({
1012
- type: Schema$1.Literals([
1013
- "A",
1014
- "AAAA",
1015
- "CNAME",
1016
- "MX",
1017
- "NS",
1018
- "SOA",
1019
- "PTR",
1020
- "SRV",
1021
- "TXT",
1022
- "CAA"
1023
- ]),
1024
- name: Schema$1.String,
1025
- value: Schema$1.String,
1026
- ttl: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
1027
- description: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
1028
- priority: Schema$1.optionalKey(Schema$1.Union([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" })), Schema$1.Null]))
1029
- }),
1030
- status: Schema$1.Literals([
1031
- "unchecked",
1032
- "missing",
1033
- "mismatch",
1034
- "found"
1035
- ]),
1036
- observedValues: Schema$1.Array(Schema$1.String),
1037
- checkedAt: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
1038
- resolutionFailure: Schema$1.optionalKey(Schema$1.Union([Schema$1.Struct({
1039
- code: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
1040
- message: Schema$1.String
1041
- }), Schema$1.Null]))
1042
- })),
1043
- provider: Schema$1.Union([Schema$1.Struct({
1044
- identity: Schema$1.Literals([
1045
- "pending",
1046
- "verified",
1047
- "failed",
1048
- "unknown"
1049
- ]),
1050
- dkim: Schema$1.optionalKey(Schema$1.Union([Schema$1.Literals([
1051
- "pending",
1052
- "verified",
1053
- "failed",
1054
- "unknown"
1055
- ]), Schema$1.Null])),
1056
- mailFrom: Schema$1.optionalKey(Schema$1.Union([Schema$1.Literals([
1057
- "pending",
1058
- "verified",
1059
- "failed",
1060
- "unknown"
1061
- ]), Schema$1.Null]))
1197
+ identity: Schema$1.Literals([
1198
+ "new",
1199
+ "migrating",
1200
+ "returning"
1201
+ ]),
1202
+ initialDailyRecipients: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1203
+ dailyGrowthPercent: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1204
+ targetDailyRecipients: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1205
+ holdReason: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1206
+ heldAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1207
+ pausedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1208
+ completedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1209
+ createdAt: Schema$1.String,
1210
+ updatedAt: Schema$1.String
1211
+ }).annotate({ identifier: "DomainWarmingPlan" });
1212
+ const DomainWarmingBatch = Schema$1.Struct({
1213
+ id: EmailDomainWarmingBatchId,
1214
+ sequence: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1215
+ state: Schema$1.Literals([
1216
+ "scheduled",
1217
+ "open",
1218
+ "closed",
1219
+ "cancelled"
1220
+ ]),
1221
+ startsAt: Schema$1.String,
1222
+ endsAt: Schema$1.String,
1223
+ allowanceRecipients: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1224
+ dailyGrowthPercent: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1225
+ targetDailyRecipients: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1226
+ reservedRecipients: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1227
+ acceptedRecipients: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1228
+ cancelledAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1229
+ createdAt: Schema$1.String
1230
+ }).annotate({ identifier: "DomainWarmingBatch" });
1231
+ const DomainWarmingDecision = Schema$1.Struct({
1232
+ id: EmailDomainWarmingDecisionId,
1233
+ kind: Schema$1.Literals([
1234
+ "plan-created",
1235
+ "policy-updated",
1236
+ "window-opened",
1237
+ "window-cancelled",
1238
+ "paused",
1239
+ "resumed",
1240
+ "held",
1241
+ "completed"
1242
+ ]),
1243
+ batchId: Schema$1.Union([EmailDomainWarmingBatchId, Schema$1.Null]),
1244
+ actor: Schema$1.String,
1245
+ note: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1246
+ createdAt: Schema$1.String
1247
+ }).annotate({ identifier: "DomainWarmingDecision" });
1248
+ const DomainWarmingEvidence = Schema$1.Struct({
1249
+ observedAt: Schema$1.String,
1250
+ windowHours: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1251
+ minimumSends: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1252
+ sent: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1253
+ bounced: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1254
+ complained: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1255
+ hourly: Schema$1.Array(DomainWarmingWindowHour),
1256
+ bounceThreshold: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1257
+ complaintThreshold: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1258
+ verdict: Schema$1.Literals([
1259
+ "insufficient-evidence",
1260
+ "healthy",
1261
+ "over-threshold"
1262
+ ]),
1263
+ thresholdReason: Schema$1.Union([Schema$1.String, Schema$1.Null])
1264
+ }).annotate({ identifier: "DomainWarmingEvidence" });
1265
+ const OnboardingReviewStatus = Schema$1.Struct({
1266
+ decision: Schema$1.Literals([
1267
+ "undecided",
1268
+ "approved",
1269
+ "rejected",
1270
+ "exempt"
1271
+ ]),
1272
+ stage: Schema$1.Literals([
1273
+ "collecting",
1274
+ "automated_review",
1275
+ "manual_review",
1276
+ "information_requested",
1277
+ "complete"
1278
+ ]),
1279
+ generation: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })),
1280
+ canSend: Schema$1.Boolean,
1281
+ code: Schema$1.Union([Schema$1.Literals([
1282
+ "review_required",
1283
+ "review_in_progress",
1284
+ "information_required",
1285
+ "review_rejected",
1286
+ "identity_review_required",
1287
+ "identity_review_rejected",
1288
+ "identity_changed"
1289
+ ]), Schema$1.Null]),
1290
+ nextAction: Schema$1.Union([Schema$1.Literals([
1291
+ "wait_for_review",
1292
+ "provide_information",
1293
+ "verify_sending_identity",
1294
+ "reapply",
1295
+ "contact_support"
1296
+ ]), Schema$1.Null]),
1297
+ canReapply: Schema$1.Boolean,
1298
+ informationRequest: Schema$1.Union([Schema$1.Struct({
1299
+ id: Schema$1.String,
1300
+ requestedFields: Schema$1.Array(Schema$1.String),
1301
+ requestedAt: Schema$1.String,
1302
+ canRespond: Schema$1.Boolean
1062
1303
  }), Schema$1.Null]),
1063
- operationId: Schema$1.Union([OperationId, Schema$1.Null]),
1064
- checkedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1065
- nextCheckAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1066
- failure: Schema$1.Union([Schema$1.Struct({
1067
- code: Schema$1.String,
1068
- message: Schema$1.String,
1069
- failedAt: Schema$1.String
1070
- }), Schema$1.Null])
1071
- }).annotate({ identifier: "EmailDomainVerification" });
1304
+ identities: Schema$1.Array(IdentityClearanceStatus),
1305
+ updatedAt: Schema$1.Union([Schema$1.String, Schema$1.Null])
1306
+ }).annotate({ identifier: "OnboardingReviewStatus" });
1072
1307
  const SuppressionEntry = Schema$1.Struct({
1073
1308
  id: SuppressionId,
1074
1309
  email: Schema$1.String,
@@ -1110,7 +1345,11 @@ const CreatedMedia = Schema$1.Struct({
1110
1345
  width: Schema$1.Union([Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" })), Schema$1.Null]),
1111
1346
  height: Schema$1.Union([Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" })), Schema$1.Null]),
1112
1347
  durationMs: Schema$1.Union([Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })).check(Schema$1.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" })), Schema$1.Null]),
1113
- purpose: Schema$1.Literals(["attachment", "avatar"]),
1348
+ purpose: Schema$1.Literals([
1349
+ "attachment",
1350
+ "avatar",
1351
+ "review_evidence"
1352
+ ]),
1114
1353
  checksumSha256: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1115
1354
  expiresAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1116
1355
  createdAt: Schema$1.String,
@@ -1234,6 +1473,55 @@ const TemplateCompliance = Schema$1.Struct({
1234
1473
  notes: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
1235
1474
  })), Schema$1.Null]))
1236
1475
  }).annotate({ identifier: "TemplateCompliance" });
1476
+ const WebhookEndpointListItem = Schema$1.Struct({
1477
+ id: WebhookEndpointId,
1478
+ name: Schema$1.String,
1479
+ url: Schema$1.String,
1480
+ eventTypes: Schema$1.Array(Schema$1.Literals([
1481
+ "message.sent",
1482
+ "message.delivered",
1483
+ "message.read",
1484
+ "message.failed",
1485
+ "message.bounced",
1486
+ "message.complained",
1487
+ "message.received",
1488
+ "contact.created",
1489
+ "contact.updated",
1490
+ "contact.deleted",
1491
+ "conversation.started",
1492
+ "conversation.ended",
1493
+ "conversation.created",
1494
+ "conversation.updated",
1495
+ "conversation.archived",
1496
+ "template.created",
1497
+ "template.updated",
1498
+ "template.deleted",
1499
+ "template.approved",
1500
+ "template.rejected",
1501
+ "webhook.created",
1502
+ "webhook.updated",
1503
+ "webhook.deleted",
1504
+ "webhook.test",
1505
+ "domain.updated",
1506
+ "domain.warming.updated"
1507
+ ])),
1508
+ channels: Schema$1.Union([Schema$1.Array(Schema$1.Literal("email")), Schema$1.Null]),
1509
+ status: Schema$1.Literals(["active", "disabled"]),
1510
+ hasCustomHeaders: Schema$1.Boolean,
1511
+ failureStartedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1512
+ lastSucceededAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1513
+ createdAt: Schema$1.String,
1514
+ updatedAt: Schema$1.String,
1515
+ deliveries: WebhookDeliveryCounts
1516
+ }).annotate({ identifier: "WebhookEndpointListItem" });
1517
+ const WebhookStatsResponse = Schema$1.Struct({
1518
+ 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" })),
1519
+ pending: 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" })),
1520
+ delivered: 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" })),
1521
+ exhausted: 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" })),
1522
+ cancelled: 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" })),
1523
+ daily: Schema$1.Array(WebhookDailyDeliveries)
1524
+ }).annotate({ identifier: "WebhookStatsResponse" });
1237
1525
  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" });
1238
1526
  const EmailRecipients = Schema$1.Array(EmailRecipient).check(Schema$1.isMinLength(1).annotate({
1239
1527
  expected: "a value with a length of at least 1",
@@ -1241,6 +1529,174 @@ const EmailRecipients = Schema$1.Array(EmailRecipient).check(Schema$1.isMinLengt
1241
1529
  }));
1242
1530
  const EmailCcRecipients = Schema$1.Union([Schema$1.Union([Schema$1.Array(EmailRecipient), Schema$1.Null]), Schema$1.Null]).annotate({ identifier: "EmailCcRecipients" });
1243
1531
  const EmailBccRecipients = Schema$1.Union([Schema$1.Union([Schema$1.Array(EmailRecipient), Schema$1.Null]), Schema$1.Null]).annotate({ identifier: "EmailBccRecipients" });
1532
+ const EmailDomainVerification = Schema$1.Struct({
1533
+ domainId: EmailDomainId,
1534
+ domain: Schema$1.String,
1535
+ phase: Schema$1.Literals([
1536
+ "dns-setup",
1537
+ "provider-setup",
1538
+ "provider-verification",
1539
+ "ready",
1540
+ "degraded",
1541
+ "failed"
1542
+ ]),
1543
+ records: Schema$1.Array(Schema$1.Struct({
1544
+ record: Schema$1.Struct({
1545
+ type: Schema$1.Literals([
1546
+ "A",
1547
+ "AAAA",
1548
+ "CNAME",
1549
+ "MX",
1550
+ "NS",
1551
+ "SOA",
1552
+ "PTR",
1553
+ "SRV",
1554
+ "TXT",
1555
+ "CAA"
1556
+ ]),
1557
+ name: Schema$1.String,
1558
+ value: Schema$1.String,
1559
+ ttl: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
1560
+ description: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
1561
+ priority: Schema$1.optionalKey(Schema$1.Union([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" })), Schema$1.Null]))
1562
+ }),
1563
+ status: Schema$1.Literals([
1564
+ "unchecked",
1565
+ "missing",
1566
+ "mismatch",
1567
+ "found"
1568
+ ]),
1569
+ observedValues: Schema$1.Array(Schema$1.String),
1570
+ checkedAt: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
1571
+ resolutionFailure: Schema$1.optionalKey(Schema$1.Union([Schema$1.Struct({
1572
+ code: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
1573
+ message: Schema$1.String
1574
+ }), Schema$1.Null]))
1575
+ })),
1576
+ provider: Schema$1.Union([Schema$1.Struct({
1577
+ identity: Schema$1.Literals([
1578
+ "pending",
1579
+ "verified",
1580
+ "failed",
1581
+ "unknown"
1582
+ ]),
1583
+ dkim: Schema$1.optionalKey(Schema$1.Union([Schema$1.Literals([
1584
+ "pending",
1585
+ "verified",
1586
+ "failed",
1587
+ "unknown"
1588
+ ]), Schema$1.Null])),
1589
+ mailFrom: Schema$1.optionalKey(Schema$1.Union([Schema$1.Literals([
1590
+ "pending",
1591
+ "verified",
1592
+ "failed",
1593
+ "unknown"
1594
+ ]), Schema$1.Null]))
1595
+ }), Schema$1.Null]),
1596
+ operationId: Schema$1.Union([OperationId, Schema$1.Null]),
1597
+ checkedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1598
+ nextCheckAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1599
+ failure: Schema$1.Union([Schema$1.Struct({
1600
+ code: Schema$1.String,
1601
+ message: Schema$1.String,
1602
+ failedAt: Schema$1.String
1603
+ }), Schema$1.Null]),
1604
+ health: Schema$1.Struct({
1605
+ actionOwner: Schema$1.Literals([
1606
+ "customer",
1607
+ "samva",
1608
+ "provider",
1609
+ "none"
1610
+ ]),
1611
+ action: Schema$1.String,
1612
+ freshness: Schema$1.Literals([
1613
+ "current",
1614
+ "stale",
1615
+ "unknown"
1616
+ ]),
1617
+ observedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1618
+ staleAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1619
+ nextRetryAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1620
+ reason: Schema$1.Literals([
1621
+ "ready",
1622
+ "dns-action-required",
1623
+ "dns-unavailable",
1624
+ "provider-pending",
1625
+ "provider-failed",
1626
+ "samva-repair",
1627
+ "signing-custody-action-required",
1628
+ "provider-ownership-action-required",
1629
+ "inactive",
1630
+ "observation-stale",
1631
+ "observation-unknown"
1632
+ ])
1633
+ }),
1634
+ sending: Schema$1.Struct({
1635
+ actionOwner: Schema$1.Literals([
1636
+ "customer",
1637
+ "samva",
1638
+ "provider",
1639
+ "none"
1640
+ ]),
1641
+ action: Schema$1.String,
1642
+ freshness: Schema$1.Literals([
1643
+ "current",
1644
+ "stale",
1645
+ "unknown"
1646
+ ]),
1647
+ observedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1648
+ staleAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1649
+ nextRetryAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1650
+ status: Schema$1.Literals([
1651
+ "ready",
1652
+ "blocked",
1653
+ "unknown"
1654
+ ]),
1655
+ reason: Schema$1.Literals([
1656
+ "domain-not-ready",
1657
+ "domain-observation-stale",
1658
+ "operator-paused",
1659
+ "provider-paused",
1660
+ "tenant-health-stale",
1661
+ "tenant-health-unknown",
1662
+ "ready"
1663
+ ])
1664
+ }).annotate({ description: "Stored domain, tenant and workspace health. Ready does not guarantee send acceptance or report configuration-set/account pauses." }),
1665
+ dmarc: Schema$1.Struct({
1666
+ status: Schema$1.Literals([
1667
+ "valid",
1668
+ "missing",
1669
+ "invalid",
1670
+ "multiple",
1671
+ "unknown"
1672
+ ]),
1673
+ source: Schema$1.Literals([
1674
+ "direct",
1675
+ "organizational",
1676
+ "none"
1677
+ ]),
1678
+ policyDomain: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1679
+ policy: Schema$1.Union([Schema$1.Literals([
1680
+ "none",
1681
+ "quarantine",
1682
+ "reject"
1683
+ ]), Schema$1.Null]),
1684
+ subdomainPolicy: Schema$1.Union([Schema$1.Literals([
1685
+ "none",
1686
+ "quarantine",
1687
+ "reject"
1688
+ ]), Schema$1.Null]),
1689
+ effectivePolicy: Schema$1.Union([Schema$1.Literals([
1690
+ "none",
1691
+ "quarantine",
1692
+ "reject"
1693
+ ]), Schema$1.Null]),
1694
+ observedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1695
+ staleAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1696
+ guidance: Schema$1.String
1697
+ }),
1698
+ rotation: Schema$1.Union([EmailDkimRotation, Schema$1.Null])
1699
+ }).annotate({ identifier: "EmailDomainVerification" });
1244
1700
  const CompletedMedia = Schema$1.Struct({
1245
1701
  media: Media,
1246
1702
  downloadUrl: Schema$1.String
@@ -1456,6 +1912,14 @@ const Organization = Schema$1.Struct({
1456
1912
  teamMembersUsed: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1457
1913
  messagesResetAt: Schema$1.Union([Schema$1.String, Schema$1.Null])
1458
1914
  }).annotate({ identifier: "Organization" });
1915
+ const DomainWarming = Schema$1.Struct({
1916
+ domain: DomainWarmingDomainRef,
1917
+ plan: Schema$1.Union([DomainWarmingPlan, Schema$1.Null]),
1918
+ batches: Schema$1.Array(DomainWarmingBatch),
1919
+ decisions: Schema$1.Array(DomainWarmingDecision),
1920
+ evidence: DomainWarmingEvidence,
1921
+ holds: DomainWarmingHolds
1922
+ }).annotate({ identifier: "DomainWarming" });
1459
1923
  const OperationAccepted = Schema$1.Struct({
1460
1924
  operation: Operation,
1461
1925
  links: Schema$1.Struct({
@@ -1606,6 +2070,8 @@ const CampaignRun = Schema$1.Struct({
1606
2070
  failedCount: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1607
2071
  skippedCount: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
1608
2072
  failureReason: Schema$1.Union([Schema$1.String, Schema$1.Null]),
2073
+ holdReason: Schema$1.Union([Schema$1.String, Schema$1.Null]),
2074
+ holdDomainId: Schema$1.Union([EmailDomainId, Schema$1.Null]),
1609
2075
  lastContactId: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1610
2076
  createdBy: Schema$1.Union([Schema$1.String, Schema$1.Null]),
1611
2077
  actorEmail: Schema$1.String,
@@ -1618,6 +2084,7 @@ const ScheduledMessage = Schema$1.Struct({
1618
2084
  status: Schema$1.Literals([
1619
2085
  "pending",
1620
2086
  "dispatching",
2087
+ "paused",
1621
2088
  "dispatched",
1622
2089
  "cancelled",
1623
2090
  "failed"
@@ -2679,6 +3146,15 @@ const EmailClearDomainDefaultSender401 = UnauthorizedError;
2679
3146
  const EmailClearDomainDefaultSender403 = ForbiddenError;
2680
3147
  const EmailClearDomainDefaultSender404 = ResourceNotFoundError;
2681
3148
  const EmailClearDomainDefaultSender500 = InternalError;
3149
+ const EmailRotateDomainDkimPathParams = Schema$1.Struct({ id: EmailDomainId });
3150
+ const EmailRotateDomainDkimHeaders = Schema$1.Struct({ "idempotency-key": Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })).check(Schema$1.isMaxLength(255).annotate({ expected: "a value with a length of at most 255" })) });
3151
+ const EmailRotateDomainDkim200 = EmailDkimRotation;
3152
+ const EmailRotateDomainDkim401 = UnauthorizedError;
3153
+ const EmailRotateDomainDkim403 = ForbiddenError;
3154
+ const EmailRotateDomainDkim404 = ResourceNotFoundError;
3155
+ const EmailRotateDomainDkim409 = ConflictError;
3156
+ const EmailRotateDomainDkim500 = InternalError;
3157
+ const EmailRotateDomainDkim502 = EmailChannelError;
2682
3158
  const EmailGetDomainConnectPathParams = Schema$1.Struct({ id: EmailDomainId });
2683
3159
  const EmailGetDomainConnectQuery = Schema$1.Struct({ mode: Schema$1.Literals(["send-only", "send-and-receive"]) });
2684
3160
  const EmailGetDomainConnect200 = DomainConnectEligibility;
@@ -2750,6 +3226,77 @@ const EmailAdvanceDomainVerification422 = ValidationError;
2750
3226
  const EmailAdvanceDomainVerification429 = RateLimitedError;
2751
3227
  const EmailAdvanceDomainVerification500 = InternalError;
2752
3228
  const EmailAdvanceDomainVerification502 = EmailChannelError;
3229
+ const EmailGetDomainWarmingPathParams = Schema$1.Struct({ id: EmailDomainId });
3230
+ const EmailGetDomainWarming200 = DomainWarming;
3231
+ const EmailGetDomainWarming401 = UnauthorizedError;
3232
+ const EmailGetDomainWarming403 = ForbiddenError;
3233
+ const EmailGetDomainWarming404 = ResourceNotFoundError;
3234
+ const EmailGetDomainWarming500 = InternalError;
3235
+ const EmailCreateDomainWarmingPlanPathParams = Schema$1.Struct({ id: EmailDomainId });
3236
+ const EmailCreateDomainWarmingPlanRequestJson = Schema$1.Struct({
3237
+ identity: Schema$1.Literals([
3238
+ "new",
3239
+ "migrating",
3240
+ "returning"
3241
+ ]),
3242
+ initialDailyRecipients: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isLessThanOrEqualTo(1e6).annotate({ expected: "a value less than or equal to 1000000" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" })),
3243
+ dailyGrowthPercent: 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" })).check(Schema$1.isLessThanOrEqualTo(1e4).annotate({ expected: "a value less than or equal to 10000" })),
3244
+ targetDailyRecipients: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isLessThanOrEqualTo(1e6).annotate({ expected: "a value less than or equal to 1000000" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" }))
3245
+ });
3246
+ const EmailCreateDomainWarmingPlan201 = DomainWarming;
3247
+ const EmailCreateDomainWarmingPlan401 = UnauthorizedError;
3248
+ const EmailCreateDomainWarmingPlan403 = ForbiddenError;
3249
+ const EmailCreateDomainWarmingPlan404 = ResourceNotFoundError;
3250
+ const EmailCreateDomainWarmingPlan409 = ConflictError;
3251
+ const EmailCreateDomainWarmingPlan422 = ValidationError;
3252
+ const EmailCreateDomainWarmingPlan500 = InternalError;
3253
+ const EmailCancelDomainWarmingBatchPathParams = Schema$1.Struct({
3254
+ id: EmailDomainId,
3255
+ batchId: EmailDomainWarmingBatchId
3256
+ });
3257
+ const EmailCancelDomainWarmingBatch200 = DomainWarming;
3258
+ const EmailCancelDomainWarmingBatch401 = UnauthorizedError;
3259
+ const EmailCancelDomainWarmingBatch403 = ForbiddenError;
3260
+ const EmailCancelDomainWarmingBatch404 = ResourceNotFoundError;
3261
+ const EmailCancelDomainWarmingBatch409 = ConflictError;
3262
+ const EmailCancelDomainWarmingBatch500 = InternalError;
3263
+ const EmailCompleteDomainWarmingPathParams = Schema$1.Struct({ id: EmailDomainId });
3264
+ const EmailCompleteDomainWarmingRequestJson = Schema$1.Struct({ note: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.check(Schema$1.isMaxLength(500).annotate({ expected: "a value with a length of at most 500" })), Schema$1.Null])) });
3265
+ const EmailCompleteDomainWarming200 = DomainWarming;
3266
+ const EmailCompleteDomainWarming401 = UnauthorizedError;
3267
+ const EmailCompleteDomainWarming403 = ForbiddenError;
3268
+ const EmailCompleteDomainWarming404 = ResourceNotFoundError;
3269
+ const EmailCompleteDomainWarming409 = ConflictError;
3270
+ const EmailCompleteDomainWarming500 = InternalError;
3271
+ const EmailPauseDomainWarmingPathParams = Schema$1.Struct({ id: EmailDomainId });
3272
+ const EmailPauseDomainWarmingRequestJson = Schema$1.Struct({ note: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.check(Schema$1.isMaxLength(500).annotate({ expected: "a value with a length of at most 500" })), Schema$1.Null])) });
3273
+ const EmailPauseDomainWarming200 = DomainWarming;
3274
+ const EmailPauseDomainWarming401 = UnauthorizedError;
3275
+ const EmailPauseDomainWarming403 = ForbiddenError;
3276
+ const EmailPauseDomainWarming404 = ResourceNotFoundError;
3277
+ const EmailPauseDomainWarming409 = ConflictError;
3278
+ const EmailPauseDomainWarming500 = InternalError;
3279
+ const EmailUpdateDomainWarmingPolicyPathParams = Schema$1.Struct({ id: EmailDomainId });
3280
+ const EmailUpdateDomainWarmingPolicyRequestJson = Schema$1.Struct({
3281
+ dailyGrowthPercent: 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" })).check(Schema$1.isLessThanOrEqualTo(1e4).annotate({ expected: "a value less than or equal to 10000" })),
3282
+ targetDailyRecipients: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isLessThanOrEqualTo(1e6).annotate({ expected: "a value less than or equal to 1000000" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" })),
3283
+ note: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.check(Schema$1.isMaxLength(500).annotate({ expected: "a value with a length of at most 500" })), Schema$1.Null]))
3284
+ });
3285
+ const EmailUpdateDomainWarmingPolicy200 = DomainWarming;
3286
+ const EmailUpdateDomainWarmingPolicy401 = UnauthorizedError;
3287
+ const EmailUpdateDomainWarmingPolicy403 = ForbiddenError;
3288
+ const EmailUpdateDomainWarmingPolicy404 = ResourceNotFoundError;
3289
+ const EmailUpdateDomainWarmingPolicy409 = ConflictError;
3290
+ const EmailUpdateDomainWarmingPolicy422 = ValidationError;
3291
+ const EmailUpdateDomainWarmingPolicy500 = InternalError;
3292
+ const EmailResumeDomainWarmingPathParams = Schema$1.Struct({ id: EmailDomainId });
3293
+ const EmailResumeDomainWarmingRequestJson = Schema$1.Struct({ note: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.check(Schema$1.isMaxLength(500).annotate({ expected: "a value with a length of at most 500" })), Schema$1.Null])) });
3294
+ const EmailResumeDomainWarming200 = DomainWarming;
3295
+ const EmailResumeDomainWarming401 = UnauthorizedError;
3296
+ const EmailResumeDomainWarming403 = ForbiddenError;
3297
+ const EmailResumeDomainWarming404 = ResourceNotFoundError;
3298
+ const EmailResumeDomainWarming409 = ConflictError;
3299
+ const EmailResumeDomainWarming500 = InternalError;
2753
3300
  const EmailListForwardingRulesQuery = Schema$1.Struct({
2754
3301
  domainId: Schema$1.optionalKey(Schema$1.Union([EmailDomainId, Schema$1.Null])),
2755
3302
  isActive: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.annotate({ contentMediaType: "application/json" }), Schema$1.Null])),
@@ -2799,6 +3346,7 @@ const EmailCreateForwardingRule201 = Schema$1.Struct({
2799
3346
  });
2800
3347
  const EmailCreateForwardingRule401 = UnauthorizedError;
2801
3348
  const EmailCreateForwardingRule403 = ForbiddenError;
3349
+ const EmailCreateForwardingRule404 = ResourceNotFoundError;
2802
3350
  const EmailCreateForwardingRule422 = ValidationError;
2803
3351
  const EmailCreateForwardingRule500 = InternalError;
2804
3352
  const EmailDeleteForwardingRulePathParams = Schema$1.Struct({ id: EmailForwardingRuleId });
@@ -2873,6 +3421,26 @@ const EmailGetForwardingLog200 = Schema$1.Struct({
2873
3421
  const EmailGetForwardingLog401 = UnauthorizedError;
2874
3422
  const EmailGetForwardingLog403 = ForbiddenError;
2875
3423
  const EmailGetForwardingLog500 = InternalError;
3424
+ const EmailGetOnboardingReview200 = OnboardingReviewStatus;
3425
+ const EmailGetOnboardingReview401 = UnauthorizedError;
3426
+ const EmailGetOnboardingReview403 = ForbiddenError;
3427
+ const EmailGetOnboardingReview500 = InternalError;
3428
+ const EmailReapplyOnboardingReviewRequestJson = Schema$1.Struct({ expectedGeneration: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })) });
3429
+ const EmailReapplyOnboardingReview200 = OnboardingReviewStatus;
3430
+ const EmailReapplyOnboardingReview401 = UnauthorizedError;
3431
+ const EmailReapplyOnboardingReview403 = Schema$1.Union([ForbiddenError]);
3432
+ const EmailReapplyOnboardingReview409 = ConflictError;
3433
+ const EmailReapplyOnboardingReview500 = InternalError;
3434
+ const EmailRespondToOnboardingInformationRequestRequestJson = Schema$1.Struct({
3435
+ expectedGeneration: Schema$1.Finite.check(Schema$1.isInt().annotate({ expected: "an integer" })).check(Schema$1.isGreaterThan(0).annotate({ expected: "a value greater than 0" })),
3436
+ responseText: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })).check(Schema$1.isMaxLength(4e3).annotate({ expected: "a value with a length of at most 4000" })),
3437
+ evidenceMediaIds: Schema$1.Array(MediaId).check(Schema$1.isMaxLength(3).annotate({ expected: "a value with a length of at most 3" }))
3438
+ });
3439
+ const EmailRespondToOnboardingInformationRequest200 = OnboardingReviewStatus;
3440
+ const EmailRespondToOnboardingInformationRequest401 = UnauthorizedError;
3441
+ const EmailRespondToOnboardingInformationRequest403 = Schema$1.Union([ForbiddenError]);
3442
+ const EmailRespondToOnboardingInformationRequest409 = ConflictError;
3443
+ const EmailRespondToOnboardingInformationRequest500 = InternalError;
2876
3444
  const EmailListSendersQuery = Schema$1.Struct({
2877
3445
  page: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
2878
3446
  limit: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
@@ -2948,6 +3516,38 @@ const EmailAddSender409 = ConflictError;
2948
3516
  const EmailAddSender422 = ValidationError;
2949
3517
  const EmailAddSender500 = InternalError;
2950
3518
  const EmailAddSender502 = ExternalServiceError;
3519
+ const EmailGetSenderPathParams = Schema$1.Struct({ id: EmailSenderId });
3520
+ const EmailGetSender200 = Schema$1.Struct({
3521
+ id: EmailSenderId,
3522
+ organizationId: Schema$1.String,
3523
+ email: Schema$1.String,
3524
+ name: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3525
+ domainId: Schema$1.Union([EmailDomainId, Schema$1.Null]),
3526
+ verificationStatus: Schema$1.Literals([
3527
+ "pending",
3528
+ "verified",
3529
+ "failed"
3530
+ ]),
3531
+ verifiedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3532
+ verificationToken: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3533
+ providerLifecycle: Schema$1.Literals([
3534
+ "provisioning",
3535
+ "active",
3536
+ "deleting",
3537
+ "failed"
3538
+ ]),
3539
+ providerFailureCode: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3540
+ isDefault: Schema$1.Boolean,
3541
+ replyToEmails: Schema$1.Union([Schema$1.Array(Schema$1.String), Schema$1.Null]),
3542
+ deliverability: DeliverabilityFacts,
3543
+ isActive: Schema$1.Boolean,
3544
+ createdAt: Schema$1.String,
3545
+ updatedAt: Schema$1.String
3546
+ });
3547
+ const EmailGetSender401 = UnauthorizedError;
3548
+ const EmailGetSender403 = ForbiddenError;
3549
+ const EmailGetSender404 = ResourceNotFoundError;
3550
+ const EmailGetSender500 = InternalError;
2951
3551
  const EmailRemoveSenderPathParams = Schema$1.Struct({ id: EmailSenderId });
2952
3552
  const EmailRemoveSender200 = SuccessResult;
2953
3553
  const EmailRemoveSender401 = UnauthorizedError;
@@ -3001,7 +3601,7 @@ const EmailListSuppressionsQuery = Schema$1.Struct({
3001
3601
  "manual"
3002
3602
  ]), Schema$1.Null])),
3003
3603
  status: Schema$1.optionalKey(Schema$1.Union([Schema$1.Literals(["active", "expired"]), Schema$1.Null])),
3004
- search: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
3604
+ search: Schema$1.optionalKey(Schema$1.Union([Schema$1.String.check(Schema$1.isMaxLength(256).annotate({ expected: "a value with a length of at most 256" })), Schema$1.Null])),
3005
3605
  limit: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
3006
3606
  offset: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
3007
3607
  });
@@ -3053,7 +3653,11 @@ const MediaCreateRequestJson = Schema$1.Struct({
3053
3653
  filename: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })).check(Schema$1.isMaxLength(255).annotate({ expected: "a value with a length of at most 255" })),
3054
3654
  contentType: Schema$1.String.check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })).check(Schema$1.isMaxLength(127).annotate({ expected: "a value with a length of at most 127" })),
3055
3655
  sizeBytes: 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" })),
3056
- purpose: Schema$1.Literals(["attachment", "avatar"]),
3656
+ purpose: Schema$1.Literals([
3657
+ "attachment",
3658
+ "avatar",
3659
+ "review_evidence"
3660
+ ]),
3057
3661
  checksumSha256: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
3058
3662
  });
3059
3663
  const MediaCreate201 = CreatedMedia;
@@ -3122,7 +3726,11 @@ const MessagesSendRequestJson = Schema$1.Union([EmailSendMessagePayload]);
3122
3726
  const MessagesSend201 = Message;
3123
3727
  const MessagesSend401 = UnauthorizedError;
3124
3728
  const MessagesSend402 = PaymentRequiredError;
3125
- const MessagesSend403 = Schema$1.Union([FlagDisabledError, ForbiddenError]);
3729
+ const MessagesSend403 = Schema$1.Union([
3730
+ OnboardingReviewRequiredError,
3731
+ FlagDisabledError,
3732
+ ForbiddenError
3733
+ ]);
3126
3734
  const MessagesSend404 = ResourceNotFoundError;
3127
3735
  const MessagesSend409 = ConflictError;
3128
3736
  const MessagesSend422 = ValidationError;
@@ -3150,6 +3758,59 @@ const MessagesGetEmailQuery = Schema$1.Struct({
3150
3758
  urlExpiresIn: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
3151
3759
  });
3152
3760
  const MessagesGetEmail200 = Schema$1.Struct({
3761
+ deliveries: Schema$1.Array(Schema$1.Struct({
3762
+ scheduling: Schema$1.Union([Schema$1.Struct({
3763
+ dueAt: Schema$1.String,
3764
+ expiresAt: Schema$1.String,
3765
+ waitReason: Schema$1.Union([Schema$1.Literals([
3766
+ "rate",
3767
+ "daily-quota",
3768
+ "domain-health",
3769
+ "tenant-health",
3770
+ "provider-unavailable",
3771
+ "retry",
3772
+ "campaign-paused",
3773
+ "domain-warming",
3774
+ "onboarding-review"
3775
+ ]), Schema$1.Null])
3776
+ }), Schema$1.Null]),
3777
+ id: Schema$1.String,
3778
+ messageId: Schema$1.String,
3779
+ recipientId: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3780
+ channel: Schema$1.Literal("email"),
3781
+ status: Schema$1.Literals([
3782
+ "pending",
3783
+ "scheduled",
3784
+ "queued",
3785
+ "processing",
3786
+ "sent",
3787
+ "delivered",
3788
+ "read",
3789
+ "failed",
3790
+ "bounced",
3791
+ "complained"
3792
+ ]),
3793
+ attemptCount: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
3794
+ maxAttempts: Schema$1.Finite.check(Schema$1.isFinite().annotate({ expected: "a finite number" })),
3795
+ queuedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3796
+ claimedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3797
+ lastAttemptAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3798
+ nextRetryAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3799
+ sentAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3800
+ deliveredAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3801
+ readAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3802
+ failedAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3803
+ terminalAt: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3804
+ errorCode: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3805
+ errorMessage: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3806
+ errorDetails: Schema$1.Union([JsonValue, Schema$1.Null]),
3807
+ cost: Schema$1.String,
3808
+ currency: Schema$1.String,
3809
+ idempotencyKey: Schema$1.Union([Schema$1.String, Schema$1.Null]),
3810
+ metadata: Schema$1.Union([JsonValue, Schema$1.Null]),
3811
+ createdAt: Schema$1.String,
3812
+ updatedAt: Schema$1.String
3813
+ })),
3153
3814
  id: MessageId,
3154
3815
  organizationId: Schema$1.String,
3155
3816
  conversationId: Schema$1.Union([ConversationId, Schema$1.Null]),
@@ -3289,6 +3950,7 @@ const ScheduledMessagesListQuery = Schema$1.Struct({
3289
3950
  status: Schema$1.optionalKey(Schema$1.Union([Schema$1.Literals([
3290
3951
  "pending",
3291
3952
  "dispatching",
3953
+ "paused",
3292
3954
  "dispatched",
3293
3955
  "cancelled",
3294
3956
  "failed"
@@ -3306,7 +3968,7 @@ const ScheduledMessagesList500 = InternalError;
3306
3968
  const ScheduledMessagesCreateRequestJson = Schema$1.Struct({
3307
3969
  send: DispatchSendMessagePayload,
3308
3970
  scheduledFor: AbsoluteInstant,
3309
- timezone: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
3971
+ timezone: Schema$1.optionalKey(Schema$1.Union([IanaTimezone, Schema$1.Null])),
3310
3972
  idempotencyKey: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
3311
3973
  referenceId: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
3312
3974
  });
@@ -3333,6 +3995,35 @@ const ScheduledMessagesCancel403 = ForbiddenError;
3333
3995
  const ScheduledMessagesCancel404 = ResourceNotFoundError;
3334
3996
  const ScheduledMessagesCancel409 = ConflictError;
3335
3997
  const ScheduledMessagesCancel500 = InternalError;
3998
+ const ScheduledMessagesResumePathParams = Schema$1.Struct({ id: ScheduledMessageId });
3999
+ const ScheduledMessagesResumeRequestJson = Schema$1.Union([Schema$1.Struct({ choice: Schema$1.Literal("send_now") }), Schema$1.Struct({
4000
+ choice: Schema$1.Literal("new_time"),
4001
+ scheduledFor: AbsoluteInstant
4002
+ })]);
4003
+ const ScheduledMessagesResume200 = ScheduledMessage;
4004
+ const ScheduledMessagesResume401 = UnauthorizedError;
4005
+ const ScheduledMessagesResume403 = ForbiddenError;
4006
+ const ScheduledMessagesResume404 = ResourceNotFoundError;
4007
+ const ScheduledMessagesResume409 = ConflictError;
4008
+ const ScheduledMessagesResume422 = ValidationError;
4009
+ const ScheduledMessagesResume500 = InternalError;
4010
+ const ScheduledMessagesResume502 = ExternalServiceError;
4011
+ const MessagesValidateEmailRequestJson = Schema$1.Struct({
4012
+ conversationId: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([ConversationId, Schema$1.Null]), Schema$1.Null])),
4013
+ metadata: Schema$1.optionalKey(MessageMetadata),
4014
+ channel: Schema$1.Literal("email"),
4015
+ to: EmailRecipients,
4016
+ cc: Schema$1.optionalKey(EmailCcRecipients),
4017
+ bcc: Schema$1.optionalKey(EmailBccRecipients),
4018
+ from: Schema$1.optionalKey(EmailSender),
4019
+ email: EmailContent
4020
+ });
4021
+ const MessagesValidateEmail200 = ValidateEmailResponse;
4022
+ const MessagesValidateEmail401 = UnauthorizedError;
4023
+ const MessagesValidateEmail403 = Schema$1.Union([ForbiddenError]);
4024
+ const MessagesValidateEmail404 = ResourceNotFoundError;
4025
+ const MessagesValidateEmail422 = ValidationError;
4026
+ const MessagesValidateEmail500 = InternalError;
3336
4027
  const OperationsListQuery = Schema$1.Struct({
3337
4028
  page: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
3338
4029
  limit: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
@@ -3394,7 +4085,7 @@ const OrganizationsUpdateRequestJson = Schema$1.Struct({
3394
4085
  billingEmail: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
3395
4086
  countryCode: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
3396
4087
  currency: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
3397
- timezone: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
4088
+ timezone: Schema$1.optionalKey(Schema$1.Union([IanaTimezone, Schema$1.Null])),
3398
4089
  isActive: Schema$1.optionalKey(Schema$1.Union([Schema$1.Boolean, Schema$1.Null])),
3399
4090
  metadata: Schema$1.optionalKey(Schema$1.Union([Schema$1.Record(Schema$1.String, JsonValue), Schema$1.Null])),
3400
4091
  design: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Design, Schema$1.Null]), Schema$1.Null])),
@@ -5074,10 +5765,11 @@ const TemplatesCreateFamilyFromTemplate500 = InternalError;
5074
5765
  const WebhooksListQuery = Schema$1.Struct({
5075
5766
  page: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
5076
5767
  limit: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
5077
- search: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null]))
5768
+ search: Schema$1.optionalKey(Schema$1.Union([Schema$1.String, Schema$1.Null])),
5769
+ status: Schema$1.optionalKey(Schema$1.Union([Schema$1.Literals(["active", "disabled"]), Schema$1.Null]))
5078
5770
  });
5079
5771
  const WebhooksList200 = Schema$1.Struct({
5080
- items: Schema$1.Array(WebhookEndpoint),
5772
+ items: Schema$1.Array(WebhookEndpointListItem),
5081
5773
  pagination: PaginationMeta
5082
5774
  });
5083
5775
  const WebhooksList401 = UnauthorizedError;
@@ -5111,7 +5803,8 @@ const WebhooksCreateRequestJson = Schema$1.Struct({
5111
5803
  "webhook.updated",
5112
5804
  "webhook.deleted",
5113
5805
  "webhook.test",
5114
- "domain.updated"
5806
+ "domain.updated",
5807
+ "domain.warming.updated"
5115
5808
  ])).check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })),
5116
5809
  channels: Schema$1.optionalKey(Schema$1.Union([Schema$1.Array(Schema$1.Literal("email")).check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })), Schema$1.Null])),
5117
5810
  headers: Schema$1.optionalKey(Schema$1.Union([Schema$1.Record(Schema$1.String, Schema$1.String), Schema$1.Null])),
@@ -5170,7 +5863,8 @@ const WebhooksUpdateRequestJson = Schema$1.Struct({
5170
5863
  "webhook.updated",
5171
5864
  "webhook.deleted",
5172
5865
  "webhook.test",
5173
- "domain.updated"
5866
+ "domain.updated",
5867
+ "domain.warming.updated"
5174
5868
  ])).check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })), Schema$1.Null])),
5175
5869
  channels: Schema$1.optionalKey(Schema$1.Union([Schema$1.Union([Schema$1.Array(Schema$1.Literal("email")).check(Schema$1.isMinLength(1).annotate({ expected: "a value with a length of at least 1" })), Schema$1.Null]), Schema$1.Null])),
5176
5870
  headers: Schema$1.optionalKey(Schema$1.Union([Schema$1.Record(Schema$1.String, Schema$1.String), Schema$1.Null])),
@@ -5215,6 +5909,8 @@ const WebhooksGetLogs200 = Schema$1.Struct({
5215
5909
  data: Schema$1.Array(Schema$1.Struct({
5216
5910
  id: WebhookDeliveryId,
5217
5911
  eventId: WebhookEventId,
5912
+ eventType: Schema$1.String,
5913
+ occurredAt: Schema$1.String,
5218
5914
  endpointId: WebhookEndpointId,
5219
5915
  status: Schema$1.Literals([
5220
5916
  "pending",
@@ -5262,13 +5958,12 @@ const WebhooksRegenerateSecret404 = ResourceNotFoundError;
5262
5958
  const WebhooksRegenerateSecret422 = ValidationError;
5263
5959
  const WebhooksRegenerateSecret500 = InternalError;
5264
5960
  const WebhooksGetStatsPathParams = Schema$1.Struct({ webhookId: WebhookEndpointId });
5265
- const WebhooksGetStats200 = Schema$1.Struct({
5266
- 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" })),
5267
- pending: 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" })),
5268
- delivered: 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" })),
5269
- exhausted: 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" })),
5270
- cancelled: 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" }))
5271
- });
5961
+ const WebhooksGetStatsQuery = Schema$1.Struct({ period: Schema$1.optionalKey(Schema$1.Union([Schema$1.Literals([
5962
+ "7d",
5963
+ "30d",
5964
+ "90d"
5965
+ ]), Schema$1.Null])) });
5966
+ const WebhooksGetStats200 = WebhookStatsResponse;
5272
5967
  const WebhooksGetStats401 = UnauthorizedError;
5273
5968
  const WebhooksGetStats403 = ForbiddenError;
5274
5969
  const WebhooksGetStats404 = ResourceNotFoundError;
@@ -5965,7 +6660,19 @@ var EmailGroup = class extends HttpApiGroup.make("Email").add(HttpApiEndpoint.ge
5965
6660
  EmailClearDomainDefaultSender404.pipe(HttpApiSchema.status(404)),
5966
6661
  EmailClearDomainDefaultSender500
5967
6662
  ]
5968
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.clearDomainDefaultSender").annotate(OpenApi.Summary, "Clear a domain's default sender").annotate(OpenApi.Description, "Removes the domain's default sender so omitted-`from` sends fall through to the organization default sender."), HttpApiEndpoint.get("emailGetDomainConnect", "/v1/email/domains/:id/domain-connect", {
6663
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.clearDomainDefaultSender").annotate(OpenApi.Summary, "Clear a domain's default sender").annotate(OpenApi.Description, "Removes the domain's default sender so omitted-`from` sends fall through to the organization default sender."), HttpApiEndpoint.post("emailRotateDomainDkim", "/v1/email/domains/:id/dkim-rotation", {
6664
+ params: EmailRotateDomainDkimPathParams,
6665
+ headers: EmailRotateDomainDkimHeaders,
6666
+ success: EmailRotateDomainDkim200,
6667
+ error: [
6668
+ EmailRotateDomainDkim401.pipe(HttpApiSchema.status(401)),
6669
+ EmailRotateDomainDkim403.pipe(HttpApiSchema.status(403)),
6670
+ EmailRotateDomainDkim404.pipe(HttpApiSchema.status(404)),
6671
+ EmailRotateDomainDkim409.pipe(HttpApiSchema.status(409)),
6672
+ EmailRotateDomainDkim500,
6673
+ EmailRotateDomainDkim502.pipe(HttpApiSchema.status(502))
6674
+ ]
6675
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.rotateDomainDkim").annotate(OpenApi.Summary, "Stage a DKIM selector rotation").annotate(OpenApi.Description, "Creates encrypted signing custody and returns a new public DKIM record. Publish it, then advance domain verification to cut over. Retain the former record until separately approved retirement."), HttpApiEndpoint.get("emailGetDomainConnect", "/v1/email/domains/:id/domain-connect", {
5969
6676
  params: EmailGetDomainConnectPathParams,
5970
6677
  query: EmailGetDomainConnectQuery,
5971
6678
  success: EmailGetDomainConnect200,
@@ -6040,7 +6747,83 @@ var EmailGroup = class extends HttpApiGroup.make("Email").add(HttpApiEndpoint.ge
6040
6747
  EmailAdvanceDomainVerification500,
6041
6748
  EmailAdvanceDomainVerification502.pipe(HttpApiSchema.status(502))
6042
6749
  ]
6043
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.advanceDomainVerification").annotate(OpenApi.Summary, "Advance domain verification").annotate(OpenApi.Description, "Observes the required DNS records and, once they match, idempotently starts provider provisioning for the staged domain."), HttpApiEndpoint.get("emailListForwardingRules", "/v1/email/forwarding", {
6750
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.advanceDomainVerification").annotate(OpenApi.Summary, "Advance domain verification").annotate(OpenApi.Description, "Observes the required DNS records and, once they match, idempotently starts provider provisioning for the staged domain."), HttpApiEndpoint.get("emailGetDomainWarming", "/v1/email/domains/:id/warming", {
6751
+ params: EmailGetDomainWarmingPathParams,
6752
+ success: EmailGetDomainWarming200,
6753
+ error: [
6754
+ EmailGetDomainWarming401.pipe(HttpApiSchema.status(401)),
6755
+ EmailGetDomainWarming403.pipe(HttpApiSchema.status(403)),
6756
+ EmailGetDomainWarming404.pipe(HttpApiSchema.status(404)),
6757
+ EmailGetDomainWarming500
6758
+ ]
6759
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.getDomainWarming").annotate(OpenApi.Summary, "Get domain warming").annotate(OpenApi.Description, "Returns the domain's automated warming policy, its system-created 24-hour windows and policy snapshots, the rolling bounce and complaint window the safety rule reads, every pause above the plan, and the decision history. A domain without a plan returns the evidence and a null plan."), HttpApiEndpoint.post("emailCreateDomainWarmingPlan", "/v1/email/domains/:id/warming", {
6760
+ params: EmailCreateDomainWarmingPlanPathParams,
6761
+ payload: EmailCreateDomainWarmingPlanRequestJson,
6762
+ success: EmailCreateDomainWarmingPlan201.pipe(HttpApiSchema.status(201)),
6763
+ error: [
6764
+ EmailCreateDomainWarmingPlan401.pipe(HttpApiSchema.status(401)),
6765
+ EmailCreateDomainWarmingPlan403.pipe(HttpApiSchema.status(403)),
6766
+ EmailCreateDomainWarmingPlan404.pipe(HttpApiSchema.status(404)),
6767
+ EmailCreateDomainWarmingPlan409.pipe(HttpApiSchema.status(409)),
6768
+ EmailCreateDomainWarmingPlan422.pipe(HttpApiSchema.status(422)),
6769
+ EmailCreateDomainWarmingPlan500
6770
+ ]
6771
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.createDomainWarmingPlan").annotate(OpenApi.Summary, "Start domain warming").annotate(OpenApi.Description, "Starts an automated warming policy on a verified sending domain. Samva opens the first 24-hour campaign window immediately, then opens later windows from the saved growth policy after safe windows close. Direct sends are counted in the domain's window but never delayed. Responds with 201."), HttpApiEndpoint.delete("emailCancelDomainWarmingBatch", "/v1/email/domains/:id/warming/batches/:batchId", {
6772
+ params: EmailCancelDomainWarmingBatchPathParams,
6773
+ success: EmailCancelDomainWarmingBatch200,
6774
+ error: [
6775
+ EmailCancelDomainWarmingBatch401.pipe(HttpApiSchema.status(401)),
6776
+ EmailCancelDomainWarmingBatch403.pipe(HttpApiSchema.status(403)),
6777
+ EmailCancelDomainWarmingBatch404.pipe(HttpApiSchema.status(404)),
6778
+ EmailCancelDomainWarmingBatch409.pipe(HttpApiSchema.status(409)),
6779
+ EmailCancelDomainWarmingBatch500
6780
+ ]
6781
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.cancelDomainWarmingBatch").annotate(OpenApi.Summary, "Cancel a warming window").annotate(OpenApi.Description, "Cancels a scheduled or open system-created warming window. Recipients a campaign run already reserved from it stay reserved; no further runs draw from it."), HttpApiEndpoint.post("emailCompleteDomainWarming", "/v1/email/domains/:id/warming/complete", {
6782
+ params: EmailCompleteDomainWarmingPathParams,
6783
+ payload: EmailCompleteDomainWarmingRequestJson,
6784
+ success: EmailCompleteDomainWarming200,
6785
+ error: [
6786
+ EmailCompleteDomainWarming401.pipe(HttpApiSchema.status(401)),
6787
+ EmailCompleteDomainWarming403.pipe(HttpApiSchema.status(403)),
6788
+ EmailCompleteDomainWarming404.pipe(HttpApiSchema.status(404)),
6789
+ EmailCompleteDomainWarming409.pipe(HttpApiSchema.status(409)),
6790
+ EmailCompleteDomainWarming500
6791
+ ]
6792
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.completeDomainWarming").annotate(OpenApi.Summary, "Complete domain warming").annotate(OpenApi.Description, "Ends the policy. Campaign runs from the domain are no longer gated by warming windows; the workspace safeguards still apply."), HttpApiEndpoint.post("emailPauseDomainWarming", "/v1/email/domains/:id/warming/pause", {
6793
+ params: EmailPauseDomainWarmingPathParams,
6794
+ payload: EmailPauseDomainWarmingRequestJson,
6795
+ success: EmailPauseDomainWarming200,
6796
+ error: [
6797
+ EmailPauseDomainWarming401.pipe(HttpApiSchema.status(401)),
6798
+ EmailPauseDomainWarming403.pipe(HttpApiSchema.status(403)),
6799
+ EmailPauseDomainWarming404.pipe(HttpApiSchema.status(404)),
6800
+ EmailPauseDomainWarming409.pipe(HttpApiSchema.status(409)),
6801
+ EmailPauseDomainWarming500
6802
+ ]
6803
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.pauseDomainWarming").annotate(OpenApi.Summary, "Pause domain warming").annotate(OpenApi.Description, "Pauses the plan. Campaign runs from the domain stop at their next page and queued campaign email waits until it expires; direct sends are unaffected."), HttpApiEndpoint.patch("emailUpdateDomainWarmingPolicy", "/v1/email/domains/:id/warming/policy", {
6804
+ params: EmailUpdateDomainWarmingPolicyPathParams,
6805
+ payload: EmailUpdateDomainWarmingPolicyRequestJson,
6806
+ success: EmailUpdateDomainWarmingPolicy200,
6807
+ error: [
6808
+ EmailUpdateDomainWarmingPolicy401.pipe(HttpApiSchema.status(401)),
6809
+ EmailUpdateDomainWarmingPolicy403.pipe(HttpApiSchema.status(403)),
6810
+ EmailUpdateDomainWarmingPolicy404.pipe(HttpApiSchema.status(404)),
6811
+ EmailUpdateDomainWarmingPolicy409.pipe(HttpApiSchema.status(409)),
6812
+ EmailUpdateDomainWarmingPolicy422.pipe(HttpApiSchema.status(422)),
6813
+ EmailUpdateDomainWarmingPolicy500
6814
+ ]
6815
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.updateDomainWarmingPolicy").annotate(OpenApi.Summary, "Update domain warming policy").annotate(OpenApi.Description, "Updates the growth percentage and daily target Samva uses for future 24-hour warming windows. Existing windows keep their policy snapshot, including a scheduled window, so prior authorization remains auditable."), HttpApiEndpoint.post("emailResumeDomainWarming", "/v1/email/domains/:id/warming/resume", {
6816
+ params: EmailResumeDomainWarmingPathParams,
6817
+ payload: EmailResumeDomainWarmingRequestJson,
6818
+ success: EmailResumeDomainWarming200,
6819
+ error: [
6820
+ EmailResumeDomainWarming401.pipe(HttpApiSchema.status(401)),
6821
+ EmailResumeDomainWarming403.pipe(HttpApiSchema.status(403)),
6822
+ EmailResumeDomainWarming404.pipe(HttpApiSchema.status(404)),
6823
+ EmailResumeDomainWarming409.pipe(HttpApiSchema.status(409)),
6824
+ EmailResumeDomainWarming500
6825
+ ]
6826
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.resumeDomainWarming").annotate(OpenApi.Summary, "Resume domain warming").annotate(OpenApi.Description, "Resumes a paused or held plan and the campaign runs it was holding. A plan the domain rule held resumes only once the domain's rolling window is under both limits again; until then the request is refused with the observed rate."), HttpApiEndpoint.get("emailListForwardingRules", "/v1/email/forwarding", {
6044
6827
  query: EmailListForwardingRulesQuery,
6045
6828
  success: EmailListForwardingRules200,
6046
6829
  error: [
@@ -6054,6 +6837,7 @@ var EmailGroup = class extends HttpApiGroup.make("Email").add(HttpApiEndpoint.ge
6054
6837
  error: [
6055
6838
  EmailCreateForwardingRule401.pipe(HttpApiSchema.status(401)),
6056
6839
  EmailCreateForwardingRule403.pipe(HttpApiSchema.status(403)),
6840
+ EmailCreateForwardingRule404.pipe(HttpApiSchema.status(404)),
6057
6841
  EmailCreateForwardingRule422.pipe(HttpApiSchema.status(422)),
6058
6842
  EmailCreateForwardingRule500
6059
6843
  ]
@@ -6084,7 +6868,32 @@ var EmailGroup = class extends HttpApiGroup.make("Email").add(HttpApiEndpoint.ge
6084
6868
  EmailGetForwardingLog403.pipe(HttpApiSchema.status(403)),
6085
6869
  EmailGetForwardingLog500
6086
6870
  ]
6087
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.getForwardingLog").annotate(OpenApi.Summary, "List email forwarding logs").annotate(OpenApi.Description, "Returns a log of forwarded inbound emails with their delivery outcomes, optionally filtered by rule, status, or date range."), HttpApiEndpoint.get("emailListSenders", "/v1/email/senders", {
6871
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.getForwardingLog").annotate(OpenApi.Summary, "List email forwarding logs").annotate(OpenApi.Description, "Returns a log of forwarded inbound emails with their delivery outcomes, optionally filtered by rule, status, or date range."), HttpApiEndpoint.get("emailGetOnboardingReview", "/v1/email/onboarding-review", {
6872
+ success: EmailGetOnboardingReview200,
6873
+ error: [
6874
+ EmailGetOnboardingReview401.pipe(HttpApiSchema.status(401)),
6875
+ EmailGetOnboardingReview403.pipe(HttpApiSchema.status(403)),
6876
+ EmailGetOnboardingReview500
6877
+ ]
6878
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.getOnboardingReview").annotate(OpenApi.Summary, "Get email onboarding review status").annotate(OpenApi.Description, "Returns the customer-safe workspace review decision, workflow stage, next action, and current sending-identity clearances. A missing authority row is returned as a blocked initial state."), HttpApiEndpoint.post("emailReapplyOnboardingReview", "/v1/email/onboarding-review/reapply", {
6879
+ payload: EmailReapplyOnboardingReviewRequestJson,
6880
+ success: EmailReapplyOnboardingReview200,
6881
+ error: [
6882
+ EmailReapplyOnboardingReview401.pipe(HttpApiSchema.status(401)),
6883
+ EmailReapplyOnboardingReview403.pipe(HttpApiSchema.status(403)),
6884
+ EmailReapplyOnboardingReview409.pipe(HttpApiSchema.status(409)),
6885
+ EmailReapplyOnboardingReview500
6886
+ ]
6887
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.reapplyOnboardingReview").annotate(OpenApi.Summary, "Reapply for email onboarding review").annotate(OpenApi.Description, "Allows a workspace owner or admin to submit a rejected workspace for review again. The expected generation prevents acting on stale status."), HttpApiEndpoint.post("emailRespondToOnboardingInformationRequest", "/v1/email/onboarding-review/respond", {
6888
+ payload: EmailRespondToOnboardingInformationRequestRequestJson,
6889
+ success: EmailRespondToOnboardingInformationRequest200,
6890
+ error: [
6891
+ EmailRespondToOnboardingInformationRequest401.pipe(HttpApiSchema.status(401)),
6892
+ EmailRespondToOnboardingInformationRequest403.pipe(HttpApiSchema.status(403)),
6893
+ EmailRespondToOnboardingInformationRequest409.pipe(HttpApiSchema.status(409)),
6894
+ EmailRespondToOnboardingInformationRequest500
6895
+ ]
6896
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.respondToOnboardingInformationRequest").annotate(OpenApi.Summary, "Respond to an email onboarding information request").annotate(OpenApi.Description, "Allows workspace owners and admins to submit bounded text and up to three pending-scanned evidence uploads for the current review generation."), HttpApiEndpoint.get("emailListSenders", "/v1/email/senders", {
6088
6897
  query: EmailListSendersQuery,
6089
6898
  success: EmailListSenders200,
6090
6899
  error: [
@@ -6105,7 +6914,16 @@ var EmailGroup = class extends HttpApiGroup.make("Email").add(HttpApiEndpoint.ge
6105
6914
  EmailAddSender500,
6106
6915
  EmailAddSender502.pipe(HttpApiSchema.status(502))
6107
6916
  ]
6108
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.addSender").annotate(OpenApi.Summary, "Add a sender identity").annotate(OpenApi.Description, "Durably creates a sender identity. The required Idempotency-Key replays the original sender for an identical request and conflicts when reused with different input."), HttpApiEndpoint.delete("emailRemoveSender", "/v1/email/senders/:id", {
6917
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.addSender").annotate(OpenApi.Summary, "Add a sender identity").annotate(OpenApi.Description, "Durably creates a sender identity. The required Idempotency-Key replays the original sender for an identical request and conflicts when reused with different input."), HttpApiEndpoint.get("emailGetSender", "/v1/email/senders/:id", {
6918
+ params: EmailGetSenderPathParams,
6919
+ success: EmailGetSender200,
6920
+ error: [
6921
+ EmailGetSender401.pipe(HttpApiSchema.status(401)),
6922
+ EmailGetSender403.pipe(HttpApiSchema.status(403)),
6923
+ EmailGetSender404.pipe(HttpApiSchema.status(404)),
6924
+ EmailGetSender500
6925
+ ]
6926
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "email.getSender").annotate(OpenApi.Summary, "Get a sender identity").annotate(OpenApi.Description, "Returns one sender identity owned by the authenticated organization. Other organizations' ids are reported as not found."), HttpApiEndpoint.delete("emailRemoveSender", "/v1/email/senders/:id", {
6109
6927
  params: EmailRemoveSenderPathParams,
6110
6928
  success: EmailRemoveSender200,
6111
6929
  error: [
@@ -6254,7 +7072,7 @@ var MessagesGroup = class extends HttpApiGroup.make("Messages").add(HttpApiEndpo
6254
7072
  MessagesList403.pipe(HttpApiSchema.status(403)),
6255
7073
  MessagesList500
6256
7074
  ]
6257
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "messages.list").annotate(OpenApi.Summary, "List messages").annotate(OpenApi.Description, "Returns a paginated list of messages across all channels, with optional filters for channel, direction, status, conversation, contact, and date range."), HttpApiEndpoint.post("messagesSend", "/v1/messages", {
7075
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "messages.list").annotate(OpenApi.Summary, "List messages").annotate(OpenApi.Description, "Returns a paginated list of messages, with optional filters for channel, direction, status, conversation, contact, and date range."), HttpApiEndpoint.post("messagesSend", "/v1/messages", {
6258
7076
  headers: MessagesSendHeaders,
6259
7077
  payload: MessagesSendRequestJson,
6260
7078
  success: MessagesSend201.pipe(HttpApiSchema.status(201)),
@@ -6315,7 +7133,17 @@ var MessagesGroup = class extends HttpApiGroup.make("Messages").add(HttpApiEndpo
6315
7133
  MessagesGetStatus404.pipe(HttpApiSchema.status(404)),
6316
7134
  MessagesGetStatus500
6317
7135
  ]
6318
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "messages.getStatus").annotate(OpenApi.Summary, "Get message delivery status").annotate(OpenApi.Description, "Returns the current delivery status of a message by its ID.")).annotate(OpenApi.Description, "Samva API operation.") {};
7136
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "messages.getStatus").annotate(OpenApi.Summary, "Get message delivery status").annotate(OpenApi.Description, "Returns the current delivery status of a message by its ID."), HttpApiEndpoint.post("messagesValidateEmail", "/v1/messages/validate/email", {
7137
+ payload: MessagesValidateEmailRequestJson,
7138
+ success: MessagesValidateEmail200,
7139
+ error: [
7140
+ MessagesValidateEmail401.pipe(HttpApiSchema.status(401)),
7141
+ MessagesValidateEmail403.pipe(HttpApiSchema.status(403)),
7142
+ MessagesValidateEmail404.pipe(HttpApiSchema.status(404)),
7143
+ MessagesValidateEmail422.pipe(HttpApiSchema.status(422)),
7144
+ MessagesValidateEmail500
7145
+ ]
7146
+ }).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 creating contacts, messages, billing reservations, quota draws, queue work, or provider calls.")).annotate(OpenApi.Description, "Samva API operation.") {};
6319
7147
  var ScheduledMessagesGroup = class extends HttpApiGroup.make("Scheduled Messages").add(HttpApiEndpoint.get("scheduledMessagesList", "/v1/messages/scheduled", {
6320
7148
  query: ScheduledMessagesListQuery,
6321
7149
  success: ScheduledMessagesList200,
@@ -6354,7 +7182,20 @@ var ScheduledMessagesGroup = class extends HttpApiGroup.make("Scheduled Messages
6354
7182
  ScheduledMessagesCancel409.pipe(HttpApiSchema.status(409)),
6355
7183
  ScheduledMessagesCancel500
6356
7184
  ]
6357
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "scheduledMessages.cancel").annotate(OpenApi.Summary, "Cancel a scheduled message").annotate(OpenApi.Description, "Cancels a pending scheduled message so it will not be sent, and returns the updated scheduled message.")).annotate(OpenApi.Description, "One-off scheduled message timers") {};
7185
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "scheduledMessages.cancel").annotate(OpenApi.Summary, "Cancel a scheduled message").annotate(OpenApi.Description, "Cancels a pending scheduled message so it will not be sent, and returns the updated scheduled message."), HttpApiEndpoint.post("scheduledMessagesResume", "/v1/messages/scheduled/:id/resume", {
7186
+ params: ScheduledMessagesResumePathParams,
7187
+ payload: ScheduledMessagesResumeRequestJson,
7188
+ success: ScheduledMessagesResume200,
7189
+ error: [
7190
+ ScheduledMessagesResume401.pipe(HttpApiSchema.status(401)),
7191
+ ScheduledMessagesResume403.pipe(HttpApiSchema.status(403)),
7192
+ ScheduledMessagesResume404.pipe(HttpApiSchema.status(404)),
7193
+ ScheduledMessagesResume409.pipe(HttpApiSchema.status(409)),
7194
+ ScheduledMessagesResume422.pipe(HttpApiSchema.status(422)),
7195
+ ScheduledMessagesResume500,
7196
+ ScheduledMessagesResume502.pipe(HttpApiSchema.status(502))
7197
+ ]
7198
+ }).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") {};
6358
7199
  var OperationsGroup = class extends HttpApiGroup.make("Operations").add(HttpApiEndpoint.get("operationsList", "/v1/operations", {
6359
7200
  query: OperationsListQuery,
6360
7201
  success: OperationsList200,
@@ -6777,7 +7618,7 @@ var WebhooksGroup = class extends HttpApiGroup.make("Webhooks").add(HttpApiEndpo
6777
7618
  WebhooksList403.pipe(HttpApiSchema.status(403)),
6778
7619
  WebhooksList500
6779
7620
  ]
6780
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "webhooks.list").annotate(OpenApi.Summary, "List webhooks").annotate(OpenApi.Description, "Returns a paginated list of the organization's webhook endpoints, optionally filtered by a name search."), HttpApiEndpoint.post("webhooksCreate", "/v1/webhooks", {
7621
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "webhooks.list").annotate(OpenApi.Summary, "List webhooks").annotate(OpenApi.Description, "Returns a paginated list of the organization's webhook endpoints with each endpoint's delivery counts, optionally filtered by name search and status."), HttpApiEndpoint.post("webhooksCreate", "/v1/webhooks", {
6781
7622
  payload: WebhooksCreateRequestJson,
6782
7623
  success: WebhooksCreate201.pipe(HttpApiSchema.status(201)),
6783
7624
  error: [
@@ -6850,7 +7691,7 @@ var WebhooksGroup = class extends HttpApiGroup.make("Webhooks").add(HttpApiEndpo
6850
7691
  WebhooksGetLogs404.pipe(HttpApiSchema.status(404)),
6851
7692
  WebhooksGetLogs500
6852
7693
  ]
6853
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "webhooks.getLogs").annotate(OpenApi.Summary, "List webhook delivery logs").annotate(OpenApi.Description, "Returns recent deliveries and their nested attempt diagnostics for a webhook endpoint."), HttpApiEndpoint.post("webhooksRegenerateSecret", "/v1/webhooks/:webhookId/rotate-secret", {
7694
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "webhooks.getLogs").annotate(OpenApi.Summary, "List webhook delivery logs").annotate(OpenApi.Description, "Returns recent deliveries for a webhook endpoint, each naming the event type and time it was made for, with its nested attempt diagnostics."), HttpApiEndpoint.post("webhooksRegenerateSecret", "/v1/webhooks/:webhookId/rotate-secret", {
6854
7695
  params: WebhooksRegenerateSecretPathParams,
6855
7696
  success: WebhooksRegenerateSecret200,
6856
7697
  error: [
@@ -6862,6 +7703,7 @@ var WebhooksGroup = class extends HttpApiGroup.make("Webhooks").add(HttpApiEndpo
6862
7703
  ]
6863
7704
  }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "webhooks.regenerateSecret").annotate(OpenApi.Summary, "Rotate a webhook signing secret").annotate(OpenApi.Description, "Generates and returns a new signing secret. The previous secret remains valid for a 24-hour rotation overlap."), HttpApiEndpoint.get("webhooksGetStats", "/v1/webhooks/:webhookId/stats", {
6864
7705
  params: WebhooksGetStatsPathParams,
7706
+ query: WebhooksGetStatsQuery,
6865
7707
  success: WebhooksGetStats200,
6866
7708
  error: [
6867
7709
  WebhooksGetStats401.pipe(HttpApiSchema.status(401)),
@@ -6869,8 +7711,8 @@ var WebhooksGroup = class extends HttpApiGroup.make("Webhooks").add(HttpApiEndpo
6869
7711
  WebhooksGetStats404.pipe(HttpApiSchema.status(404)),
6870
7712
  WebhooksGetStats500
6871
7713
  ]
6872
- }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "webhooks.getStats").annotate(OpenApi.Summary, "Get webhook delivery statistics").annotate(OpenApi.Description, "Returns aggregate pending, delivered, exhausted, and cancelled delivery counts for a webhook endpoint.")).annotate(OpenApi.Description, "Customer event webhook management, testing, and delivery logs") {};
6873
- var SamvaApi = class extends HttpApi.make("SamvaApi").annotate(OpenApi.Title, "Samva SDK").annotate(OpenApi.Version, "1.0.0").annotate(OpenApi.Description, "Samva email API for programmatic email delivery").add(APIKeysGroup, CampaignsGroup, ContactsGroup, ConversationsGroup, DesignGroup, EmailGroup, MediaGroup, MessagesGroup, ScheduledMessagesGroup, OperationsGroup, OrganizationsGroup, TemplatesGroup, WebhooksGroup) {};
7714
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "webhooks.getStats").annotate(OpenApi.Summary, "Get webhook delivery statistics").annotate(OpenApi.Description, "Returns aggregate pending, delivered, exhausted, and cancelled delivery counts for a webhook endpoint, plus the same counts per workspace-local calendar day over the selected period of 7, 30, or 90 days. Deliveries are retained for 90 days, so 90d is the whole history.")).annotate(OpenApi.Description, "Customer event webhook management, testing, and delivery logs") {};
7715
+ var SamvaApi = class extends HttpApi.make("SamvaApi").annotate(OpenApi.Title, "Samva SDK").annotate(OpenApi.Version, "1.0.0").annotate(OpenApi.Description, "Samva email API for programmatic email delivery").annotate(OpenApi.Servers, [{ url: "https://api.samva.dev" }]).add(APIKeysGroup, CampaignsGroup, ContactsGroup, ConversationsGroup, DesignGroup, EmailGroup, MediaGroup, MessagesGroup, ScheduledMessagesGroup, OperationsGroup, OrganizationsGroup, TemplatesGroup, WebhooksGroup) {};
6874
7716
  //#endregion
6875
7717
  //#region src/effect/internal/client.ts
6876
7718
  const DEFAULT_BASE_URL = "https://api.samva.dev";
@@ -6906,4 +7748,4 @@ const raw = Effect.map(Service, (client) => client.raw);
6906
7748
  //#endregion
6907
7749
  export { ValidationError as C, UpdateWebhookPayload as S, SamvaApi as _, BillingProviderError as a, UnauthorizedError as b, CreateWebhookPayload as c, FlagDisabledError as d, ForbiddenError as f, ResourceNotFoundError as g, RateLimitedError as h, raw as i, EmailChannelError as l, PaymentRequiredError as m, layer as n, ConflictError as o, InternalError as p, layerFetch as r, CreateTemplatePayload as s, Service as t, ExternalServiceError as u, TestWebhookPayload as v, WebhookEnqueueError as w, UpdateTemplatePayload as x, TrackingRecipientEmail as y };
6908
7750
 
6909
- //# sourceMappingURL=client-BmZK_uCt.js.map
7751
+ //# sourceMappingURL=client-B7gEkvEq.js.map