@marlinjai/mail-contract 0.22.0 → 0.24.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.
package/dist/index.mjs CHANGED
@@ -3048,8 +3048,15 @@ var AUDIT_ACTIONS = [
3048
3048
  "domain_order.ready",
3049
3049
  "domain_order.needs_attention",
3050
3050
  "domain_order.kind_changed",
3051
+ "domain_order.no_charge",
3051
3052
  "domain_order.refunded",
3052
3053
  "domain_order.cancelled",
3054
+ // Bought domains, managed by their holder
3055
+ "domain_record.created",
3056
+ "domain_record.updated",
3057
+ "domain_record.deleted",
3058
+ "domain_leave.requested",
3059
+ "domain_leave.done",
3053
3060
  // A1: automations
3054
3061
  "automation.created",
3055
3062
  "automation.updated",
@@ -4355,36 +4362,136 @@ var DomainOrder = z16.object({
4355
4362
  updated_at: Timestamp
4356
4363
  });
4357
4364
 
4358
- // src/contacts.ts
4365
+ // src/bought-domains.ts
4359
4366
  import { z as z17 } from "zod";
4360
- var Topic = z17.object({
4367
+ var DOMAIN_LEAVE_WAYS = ["cloudflare_account", "transfer"];
4368
+ var DomainLeaveWay = z17.enum(DOMAIN_LEAVE_WAYS);
4369
+ var DOMAIN_LEAVE_STATES = ["requested", "done", "cancelled"];
4370
+ var DomainLeaveState = z17.enum(DOMAIN_LEAVE_STATES);
4371
+ var DomainLeave = z17.object({
4372
+ id: Id,
4373
+ way: DomainLeaveWay,
4374
+ state: DomainLeaveState,
4375
+ /** The Cloudflare account the domain moves into (way `cloudflare_account`). */
4376
+ target_account_id: z17.string().nullable(),
4377
+ /** The transfer code, once support has it (way `transfer`, state `done`); only owners and admins read it. */
4378
+ auth_code: z17.string().nullable(),
4379
+ requested_at: Timestamp,
4380
+ done_at: Timestamp.nullable()
4381
+ });
4382
+ var DOMAIN_RENEWAL_STATES = ["invoiced", "failed", "paid", "stopped", "lapsed"];
4383
+ var DomainRenewalState = z17.enum(DOMAIN_RENEWAL_STATES);
4384
+ var DomainRenewal = z17.object({
4385
+ state: DomainRenewalState,
4386
+ amount_cents: z17.number().int().min(0),
4387
+ /** Stripe's hosted page to pay the renewal by hand; null until Stripe has made it. */
4388
+ pay_url: z17.string().url().nullable()
4389
+ });
4390
+ var BoughtDomain = z17.object({
4391
+ /** The order the domain was bought with. */
4392
+ id: Id,
4393
+ domain: z17.string(),
4394
+ kind: DomainOrderKind,
4395
+ registrant_name: z17.string(),
4396
+ registered_at: Timestamp,
4397
+ /** When the paid year ends. */
4398
+ expires_at: Timestamp.nullable(),
4399
+ /** Each further year, final, in euro cents; 0 for a domain registered without a charge. */
4400
+ renewal_price_cents: z17.number().int().min(0),
4401
+ currency: z17.literal("EUR"),
4402
+ /** Registered for one of Lumitra's own companies, never charged. */
4403
+ no_charge: z17.boolean(),
4404
+ /** When the next year is charged (45 days before expiry); null when it is never charged. */
4405
+ next_charge_at: Timestamp.nullable(),
4406
+ /** The current year's renewal, once it was charged; null before. */
4407
+ renewal: DomainRenewal.nullable(),
4408
+ /** The earliest moment each way of leaving is possible. */
4409
+ move_account_from: Timestamp,
4410
+ transfer_from: Timestamp,
4411
+ /** The latest request to leave, if any. */
4412
+ leave: DomainLeave.nullable(),
4413
+ /** True once the domain has left: its records are no longer Lumitra Mail's to edit. */
4414
+ left: z17.boolean()
4415
+ });
4416
+ var DNS_RECORD_TYPES = ["A", "AAAA", "CNAME", "TXT", "MX", "NS"];
4417
+ var DnsRecordType = z17.enum(DNS_RECORD_TYPES);
4418
+ var DomainRecord = z17.object({
4419
+ id: z17.string(),
4420
+ type: z17.string(),
4421
+ /** The full name (www.example.com). */
4422
+ name: z17.string(),
4423
+ content: z17.string(),
4424
+ /** Seconds; 1 is automatic. */
4425
+ ttl: z17.number().int(),
4426
+ /** Served through Cloudflare's proxy (A, AAAA, CNAME only). */
4427
+ proxied: z17.boolean(),
4428
+ priority: z17.number().int().nullable(),
4429
+ /**
4430
+ * Not the holder's to change: a record Lumitra Mail wrote for sending (it
4431
+ * keeps those right itself), or a type the dashboard does not edit.
4432
+ */
4433
+ locked: z17.boolean()
4434
+ });
4435
+ var IPV4 = /^(25[0-5]|2[0-4]\d|1?\d?\d)(\.(25[0-5]|2[0-4]\d|1?\d?\d)){3}$/;
4436
+ var HOSTNAME = /^(?=.{1,253}\.?$)([a-z0-9_](?:[a-z0-9_-]{0,61}[a-z0-9])?\.)*[a-z0-9_](?:[a-z0-9_-]{0,61}[a-z0-9])?\.?$/i;
4437
+ var DomainRecordInput = z17.object({
4438
+ type: DnsRecordType,
4439
+ name: z17.string().trim().min(1).max(253),
4440
+ content: z17.string().trim().min(1).max(2048),
4441
+ ttl: z17.union([z17.literal(1), z17.number().int().min(60).max(86400)]).default(1),
4442
+ proxied: z17.boolean().default(false),
4443
+ priority: z17.number().int().min(0).max(65535).nullable().optional()
4444
+ }).superRefine((r, ctx) => {
4445
+ const bad = (path, message) => ctx.addIssue({ code: z17.ZodIssueCode.custom, path: [path], message });
4446
+ if (r.type === "A" && !IPV4.test(r.content)) bad("content", "must be an IPv4 address, such as 192.0.2.10");
4447
+ if (r.type === "AAAA" && (!r.content.includes(":") || !/^[0-9a-f:.]+$/i.test(r.content))) bad("content", "must be an IPv6 address, such as 2001:db8::10");
4448
+ if ((r.type === "CNAME" || r.type === "MX" || r.type === "NS") && !HOSTNAME.test(r.content)) bad("content", "must be a host name, such as host.example.com");
4449
+ if (r.type === "MX" && (r.priority === void 0 || r.priority === null)) bad("priority", "is needed for an MX record");
4450
+ if (r.type !== "MX" && r.priority !== void 0 && r.priority !== null) bad("priority", "is only for an MX record");
4451
+ if (r.proxied && !["A", "AAAA", "CNAME"].includes(r.type)) bad("proxied", "is only for A, AAAA and CNAME records");
4452
+ });
4453
+ var BoughtDomainRecordParams = z17.object({ id: Id, record_id: z17.string().regex(/^[0-9a-f]{32}$/, "must be a record id") });
4454
+ var DomainLeaveCreate = z17.object({
4455
+ way: DomainLeaveWay,
4456
+ /** The holder's own Cloudflare account id (32 hex characters), for `cloudflare_account`. */
4457
+ target_account_id: z17.string().trim().toLowerCase().regex(/^[0-9a-f]{32}$/, "must be a Cloudflare account id: 32 letters and digits, from the account\u2019s overview page").optional()
4458
+ }).superRefine((r, ctx) => {
4459
+ if (r.way === "cloudflare_account" && !r.target_account_id) {
4460
+ ctx.addIssue({ code: z17.ZodIssueCode.custom, path: ["target_account_id"], message: "is needed to move the domain into your Cloudflare account" });
4461
+ }
4462
+ });
4463
+ var ZoneFile = z17.object({ domain: z17.string(), zone_file: z17.string() });
4464
+
4465
+ // src/contacts.ts
4466
+ import { z as z18 } from "zod";
4467
+ var Topic = z18.object({
4361
4468
  id: Id,
4362
4469
  slug: Slug,
4363
- name: z17.string().min(1).max(120),
4470
+ name: z18.string().min(1).max(120),
4364
4471
  /** Shown on the hosted preference page. */
4365
- description: z17.string().max(1e3).nullable(),
4472
+ description: z18.string().max(1e3).nullable(),
4366
4473
  /** Translations of `name` and `description` per locale, for the hosted page. */
4367
- translations: z17.record(
4368
- z17.object({ name: z17.string().min(1).max(120), description: z17.string().max(1e3).nullable() })
4474
+ translations: z18.record(
4475
+ z18.object({ name: z18.string().min(1).max(120), description: z18.string().max(1e3).nullable() })
4369
4476
  ),
4370
4477
  created_at: Timestamp,
4371
4478
  updated_at: Timestamp
4372
4479
  });
4373
- var TopicCreate = z17.object({
4480
+ var TopicCreate = z18.object({
4374
4481
  slug: Slug,
4375
- name: z17.string().min(1).max(120),
4376
- description: z17.string().max(1e3).optional(),
4482
+ name: z18.string().min(1).max(120),
4483
+ description: z18.string().max(1e3).optional(),
4377
4484
  translations: Topic.shape.translations.optional()
4378
4485
  });
4379
4486
  var TopicUpdate = TopicCreate.omit({ slug: true }).partial().refine((v) => Object.keys(v).length > 0, "at least one field");
4380
- var Contact = z17.object({
4487
+ var Contact = z18.object({
4381
4488
  id: Id,
4382
- external_id: z17.string().min(1).max(255).nullable(),
4489
+ external_id: z18.string().min(1).max(255).nullable(),
4383
4490
  /** Stored lowercased, unique per workspace. */
4384
4491
  email: Email,
4385
- first_name: z17.string().max(200).nullable(),
4386
- last_name: z17.string().max(200).nullable(),
4387
- locale: z17.string().min(2).max(35).nullable(),
4492
+ first_name: z18.string().max(200).nullable(),
4493
+ last_name: z18.string().max(200).nullable(),
4494
+ locale: z18.string().min(2).max(35).nullable(),
4388
4495
  /**
4389
4496
  * The person's own time zone, an IANA name such as `Europe/Berlin` (A1).
4390
4497
  * Every wall clock an automation waits for is read in it, falling back to the
@@ -4392,65 +4499,65 @@ var Contact = z17.object({
4392
4499
  */
4393
4500
  timezone: TimezoneName.nullable(),
4394
4501
  properties: Properties,
4395
- topics: z17.array(Slug),
4502
+ topics: z18.array(Slug),
4396
4503
  /** The slugs of the contact's tags (S4). */
4397
- tags: z17.array(Slug),
4504
+ tags: z18.array(Slug),
4398
4505
  created_at: Timestamp,
4399
4506
  updated_at: Timestamp
4400
4507
  });
4401
- var ContactUpsert = z17.object({
4402
- external_id: z17.string().min(1).max(255).optional(),
4508
+ var ContactUpsert = z18.object({
4509
+ external_id: z18.string().min(1).max(255).optional(),
4403
4510
  email: Email.optional(),
4404
- first_name: z17.string().max(200).nullable().optional(),
4405
- last_name: z17.string().max(200).nullable().optional(),
4406
- locale: z17.string().min(2).max(35).nullable().optional(),
4511
+ first_name: z18.string().max(200).nullable().optional(),
4512
+ last_name: z18.string().max(200).nullable().optional(),
4513
+ locale: z18.string().min(2).max(35).nullable().optional(),
4407
4514
  timezone: TimezoneName.nullable().optional(),
4408
4515
  properties: Properties.optional(),
4409
- topics: z17.array(Slug).max(100).optional()
4516
+ topics: z18.array(Slug).max(100).optional()
4410
4517
  }).refine((v) => v.external_id !== void 0 || v.email !== void 0, {
4411
4518
  message: "external_id or email is required",
4412
4519
  path: ["email"]
4413
4520
  });
4414
- var ContactUpsertResult = z17.object({
4521
+ var ContactUpsertResult = z18.object({
4415
4522
  contact: Contact,
4416
- created: z17.boolean()
4523
+ created: z18.boolean()
4417
4524
  });
4418
4525
  var ContactListQuery = PageQuery.extend({
4419
- email: z17.string().min(1).max(254).optional(),
4420
- external_id: z17.string().min(1).max(255).optional(),
4526
+ email: z18.string().min(1).max(254).optional(),
4527
+ external_id: z18.string().min(1).max(255).optional(),
4421
4528
  topic: Slug.optional()
4422
4529
  });
4423
- var ContactErased = z17.object({
4424
- ok: z17.literal(true),
4425
- erased_messages: z17.number().int().min(0),
4426
- erased_recipients: z17.number().int().min(0),
4427
- suppressions_kept: z17.number().int().min(0)
4530
+ var ContactErased = z18.object({
4531
+ ok: z18.literal(true),
4532
+ erased_messages: z18.number().int().min(0),
4533
+ erased_recipients: z18.number().int().min(0),
4534
+ suppressions_kept: z18.number().int().min(0)
4428
4535
  });
4429
4536
  var SUPPRESSION_REASONS = ["unsubscribed", "bounced", "complained", "manual"];
4430
- var SuppressionReason = z17.enum(SUPPRESSION_REASONS);
4431
- var Suppression = z17.object({
4537
+ var SuppressionReason = z18.enum(SUPPRESSION_REASONS);
4538
+ var Suppression = z18.object({
4432
4539
  id: Id,
4433
4540
  email: Email,
4434
4541
  reason: SuppressionReason,
4435
4542
  topic: Slug.nullable(),
4436
4543
  source_message_id: Id.nullable(),
4437
- note: z17.string().max(1e3).nullable(),
4544
+ note: z18.string().max(1e3).nullable(),
4438
4545
  created_at: Timestamp
4439
4546
  });
4440
- var SuppressionCreate = z17.object({
4547
+ var SuppressionCreate = z18.object({
4441
4548
  email: Email,
4442
- reason: z17.enum(["manual", "unsubscribed"]),
4549
+ reason: z18.enum(["manual", "unsubscribed"]),
4443
4550
  topic: Slug.nullable().optional(),
4444
- note: z17.string().max(1e3).optional()
4551
+ note: z18.string().max(1e3).optional()
4445
4552
  });
4446
4553
  var SuppressionListQuery = PageQuery.extend({
4447
- email: z17.string().min(1).max(254).optional(),
4554
+ email: z18.string().min(1).max(254).optional(),
4448
4555
  reason: SuppressionReason.optional(),
4449
4556
  topic: Slug.optional()
4450
4557
  });
4451
4558
 
4452
4559
  // src/webhooks.ts
4453
- import { z as z18 } from "zod";
4560
+ import { z as z19 } from "zod";
4454
4561
  var WEBHOOK_EVENT_TYPES = [
4455
4562
  "message.sent",
4456
4563
  "message.failed",
@@ -4494,23 +4601,23 @@ var WEBHOOK_EVENT_TYPES = [
4494
4601
  "template.updated",
4495
4602
  "template.deleted"
4496
4603
  ];
4497
- var WebhookEventType = z18.enum(WEBHOOK_EVENT_TYPES);
4498
- var MessageEventBase = z18.object({
4604
+ var WebhookEventType = z19.enum(WEBHOOK_EVENT_TYPES);
4605
+ var MessageEventBase = z19.object({
4499
4606
  message_id: Id,
4500
4607
  mailing_id: Id.nullable(),
4501
4608
  mailing_metadata: MailingMetadata.nullable(),
4502
4609
  recipient_id: Id.nullable(),
4503
4610
  contact_id: Id.nullable(),
4504
- external_id: z18.string().nullable(),
4611
+ external_id: z19.string().nullable(),
4505
4612
  email: Email,
4506
- subject: z18.string(),
4613
+ subject: z19.string(),
4507
4614
  topic: Slug.nullable(),
4508
- provider_message_id: z18.string().nullable(),
4509
- is_test: z18.boolean()
4615
+ provider_message_id: z19.string().nullable(),
4616
+ is_test: z19.boolean()
4510
4617
  });
4511
4618
  var MessageSentData = MessageEventBase.extend({
4512
4619
  /** The final HTML as sent, so the client can archive it beside its own records. */
4513
- html: z18.string(),
4620
+ html: z19.string(),
4514
4621
  sent_at: Timestamp,
4515
4622
  /**
4516
4623
  * The choice each insertion made (see `Message.insertions`); absent or null
@@ -4521,20 +4628,20 @@ var MessageSentData = MessageEventBase.extend({
4521
4628
  insertions: InsertionChoices.nullish()
4522
4629
  });
4523
4630
  var MessageFailedData = MessageEventBase.extend({
4524
- error: z18.string(),
4631
+ error: z19.string(),
4525
4632
  /** False when the provider rejected permanently; the recipient will not be retried. */
4526
- retryable: z18.boolean(),
4633
+ retryable: z19.boolean(),
4527
4634
  failed_at: Timestamp
4528
4635
  });
4529
4636
  var UNSUBSCRIBE_SOURCES = ["hosted_page", "one_click", "api", "dashboard", "signup_form"];
4530
- var ContactUnsubscribedData = z18.object({
4637
+ var ContactUnsubscribedData = z19.object({
4531
4638
  contact_id: Id.nullable(),
4532
- external_id: z18.string().nullable(),
4639
+ external_id: z19.string().nullable(),
4533
4640
  email: Email,
4534
4641
  /** The topic unsubscribed from; null means every topic. */
4535
4642
  topic: Slug.nullable(),
4536
4643
  mailing_id: Id.nullable(),
4537
- source: z18.enum(UNSUBSCRIBE_SOURCES),
4644
+ source: z19.enum(UNSUBSCRIBE_SOURCES),
4538
4645
  unsubscribed_at: Timestamp
4539
4646
  });
4540
4647
  var ContactResubscribedData = ContactUnsubscribedData.omit({ unsubscribed_at: true }).extend({
@@ -4543,142 +4650,142 @@ var ContactResubscribedData = ContactUnsubscribedData.omit({ unsubscribed_at: tr
4543
4650
  * breaker undid a `bounced` block it judged false (a `contact.bounced` for the
4544
4651
  * same address and mailing went out before); `topic` is null.
4545
4652
  */
4546
- source: z18.enum([...UNSUBSCRIBE_SOURCES, "bounce_reverted"]),
4653
+ source: z19.enum([...UNSUBSCRIBE_SOURCES, "bounce_reverted"]),
4547
4654
  resubscribed_at: Timestamp
4548
4655
  });
4549
- var ContactBouncedData = z18.object({
4656
+ var ContactBouncedData = z19.object({
4550
4657
  contact_id: Id.nullable(),
4551
- external_id: z18.string().nullable(),
4658
+ external_id: z19.string().nullable(),
4552
4659
  email: Email,
4553
4660
  /** `bounced` for a hard bounce, `complained` for a spam complaint. */
4554
- reason: z18.enum(["bounced", "complained"]),
4661
+ reason: z19.enum(["bounced", "complained"]),
4555
4662
  message_id: Id.nullable(),
4556
- diagnostic: z18.string().nullable(),
4663
+ diagnostic: z19.string().nullable(),
4557
4664
  bounced_at: Timestamp
4558
4665
  });
4559
- var MailingFinishedData = z18.object({
4666
+ var MailingFinishedData = z19.object({
4560
4667
  mailing_id: Id,
4561
4668
  mailing_metadata: MailingMetadata,
4562
- status: z18.enum(["sent", "partially_failed", "cancelled"]),
4669
+ status: z19.enum(["sent", "partially_failed", "cancelled"]),
4563
4670
  counts: MailingCounts,
4564
4671
  finished_at: Timestamp
4565
4672
  });
4566
- var ContactSubscribedData = z18.object({
4673
+ var ContactSubscribedData = z19.object({
4567
4674
  contact_id: Id,
4568
- external_id: z18.string().nullable(),
4675
+ external_id: z19.string().nullable(),
4569
4676
  email: Email,
4570
- topics: z18.array(Slug),
4571
- source: z18.enum(["signup_form", "api", "dashboard", "automation"]),
4677
+ topics: z19.array(Slug),
4678
+ source: z19.enum(["signup_form", "api", "dashboard", "automation"]),
4572
4679
  signup_form_id: Id.nullable(),
4573
- signup_form_version: z18.number().int().min(1).nullable(),
4680
+ signup_form_version: z19.number().int().min(1).nullable(),
4574
4681
  subscribed_at: Timestamp
4575
4682
  });
4576
- var ImportFinishedData = z18.object({
4683
+ var ImportFinishedData = z19.object({
4577
4684
  import_id: Id,
4578
- status: z18.enum(["completed", "cancelled", "failed"]),
4685
+ status: z19.enum(["completed", "cancelled", "failed"]),
4579
4686
  result: ImportReport.nullable(),
4580
- error: z18.string().nullable(),
4687
+ error: z19.string().nullable(),
4581
4688
  finished_at: Timestamp
4582
4689
  });
4583
- var MailingScheduledData = z18.object({
4690
+ var MailingScheduledData = z19.object({
4584
4691
  mailing_id: Id,
4585
4692
  mailing_metadata: MailingMetadata,
4586
4693
  scheduled_at: Timestamp.nullable()
4587
4694
  });
4588
- var MailingStartedData = z18.object({
4695
+ var MailingStartedData = z19.object({
4589
4696
  mailing_id: Id,
4590
4697
  mailing_metadata: MailingMetadata,
4591
- trigger: z18.enum(["send", "schedule"]),
4592
- recipients: z18.number().int().min(0),
4698
+ trigger: z19.enum(["send", "schedule"]),
4699
+ recipients: z19.number().int().min(0),
4593
4700
  started_at: Timestamp
4594
4701
  });
4595
- var MailingScheduleFailedData = z18.object({
4702
+ var MailingScheduleFailedData = z19.object({
4596
4703
  mailing_id: Id,
4597
4704
  mailing_metadata: MailingMetadata,
4598
- code: z18.string(),
4599
- message: z18.string(),
4705
+ code: z19.string(),
4706
+ message: z19.string(),
4600
4707
  failed_at: Timestamp
4601
4708
  });
4602
- var MailingAbWinnerSelectedData = z18.object({
4709
+ var MailingAbWinnerSelectedData = z19.object({
4603
4710
  mailing_id: Id,
4604
4711
  mailing_metadata: MailingMetadata,
4605
- winner: z18.string(),
4606
- decided_by: z18.enum(["metric", "manual"]),
4607
- variants: z18.array(VariantAnalytics),
4712
+ winner: z19.string(),
4713
+ decided_by: z19.enum(["metric", "manual"]),
4714
+ variants: z19.array(VariantAnalytics),
4608
4715
  decided_at: Timestamp
4609
4716
  });
4610
- var ContactTaggedData = z18.object({
4717
+ var ContactTaggedData = z19.object({
4611
4718
  contact_id: Id,
4612
- external_id: z18.string().nullable(),
4719
+ external_id: z19.string().nullable(),
4613
4720
  email: Email,
4614
4721
  /** Only the tags the contact did not already have. */
4615
- tags: z18.array(Slug).min(1),
4616
- source: z18.enum(["api", "dashboard", "signup_form", "import", "automation"]),
4722
+ tags: z19.array(Slug).min(1),
4723
+ source: z19.enum(["api", "dashboard", "signup_form", "import", "automation"]),
4617
4724
  tagged_at: Timestamp
4618
4725
  });
4619
- var ContactUpdatedData = z18.object({
4726
+ var ContactUpdatedData = z19.object({
4620
4727
  contact_id: Id,
4621
- external_id: z18.string().nullable(),
4728
+ external_id: z19.string().nullable(),
4622
4729
  email: Email,
4623
- changed: z18.array(z18.string()).min(1),
4730
+ changed: z19.array(z19.string()).min(1),
4624
4731
  properties: Properties,
4625
- source: z18.enum(["api", "dashboard", "signup_form", "import", "automation"]),
4732
+ source: z19.enum(["api", "dashboard", "signup_form", "import", "automation"]),
4626
4733
  updated_at: Timestamp
4627
4734
  });
4628
- var AutomationRunEventBase = z18.object({
4735
+ var AutomationRunEventBase = z19.object({
4629
4736
  automation_id: Id,
4630
- automation_name: z18.string(),
4737
+ automation_name: z19.string(),
4631
4738
  run_id: Id,
4632
- version: z18.number().int().min(1),
4739
+ version: z19.number().int().min(1),
4633
4740
  contact_id: Id,
4634
- external_id: z18.string().nullable(),
4741
+ external_id: z19.string().nullable(),
4635
4742
  email: Email
4636
4743
  });
4637
4744
  var AutomationRunStartedData = AutomationRunEventBase.extend({
4638
4745
  /** What let them in: a trigger kind, or `manual` for an explicit enrolment. */
4639
- trigger_kind: z18.string(),
4746
+ trigger_kind: z19.string(),
4640
4747
  entered_at: Timestamp
4641
4748
  });
4642
4749
  var AutomationRunCompletedData = AutomationRunEventBase.extend({
4643
- last_step_id: z18.string().nullable(),
4750
+ last_step_id: z19.string().nullable(),
4644
4751
  completed_at: Timestamp
4645
4752
  });
4646
4753
  var AutomationRunExitedData = AutomationRunEventBase.extend({
4647
4754
  reason: AutomationEndReason,
4648
- step_id: z18.string().nullable(),
4755
+ step_id: z19.string().nullable(),
4649
4756
  exited_at: Timestamp
4650
4757
  });
4651
4758
  var AutomationRunFailedData = AutomationRunEventBase.extend({
4652
- reason: z18.string(),
4653
- step_id: z18.string().nullable(),
4759
+ reason: z19.string(),
4760
+ step_id: z19.string().nullable(),
4654
4761
  failed_at: Timestamp
4655
4762
  });
4656
4763
  var AutomationWebhookData = AutomationRunEventBase.extend({
4657
- step_id: z18.string(),
4764
+ step_id: z19.string(),
4658
4765
  /** The step's own label, when it was given one, so a receiver can branch on a name. */
4659
- step_label: z18.string().nullable(),
4766
+ step_label: z19.string().nullable(),
4660
4767
  /** Whatever the step carries, verbatim. Null when it carries nothing. */
4661
4768
  payload: JsonValue.nullable(),
4662
4769
  fired_at: Timestamp
4663
4770
  });
4664
- var TemplateEventBase = z18.object({
4771
+ var TemplateEventBase = z19.object({
4665
4772
  template_id: Id,
4666
- name: z18.string().min(1).max(200),
4667
- version: z18.number().int().min(1),
4668
- source: z18.enum(["api", "dashboard", "mjml_import"])
4773
+ name: z19.string().min(1).max(200),
4774
+ version: z19.number().int().min(1),
4775
+ source: z19.enum(["api", "dashboard", "mjml_import"])
4669
4776
  });
4670
4777
  var TemplateCreatedData = TemplateEventBase.extend({ created_at: Timestamp });
4671
- var TemplateUpdatedData = TemplateEventBase.extend({ archived: z18.boolean(), updated_at: Timestamp });
4778
+ var TemplateUpdatedData = TemplateEventBase.extend({ archived: z19.boolean(), updated_at: Timestamp });
4672
4779
  var TemplateDeletedData = TemplateEventBase.extend({ deleted_at: Timestamp });
4673
- var envelope = (type, data) => z18.object({
4780
+ var envelope = (type, data) => z19.object({
4674
4781
  /** Unique per event: a receiver deduplicates on it (deliveries may repeat). */
4675
4782
  id: Id,
4676
- type: z18.literal(type),
4783
+ type: z19.literal(type),
4677
4784
  created_at: Timestamp,
4678
4785
  workspace_id: Id,
4679
4786
  data
4680
4787
  });
4681
- var WebhookEvent = z18.discriminatedUnion("type", [
4788
+ var WebhookEvent = z19.discriminatedUnion("type", [
4682
4789
  envelope("message.sent", MessageSentData),
4683
4790
  envelope("message.failed", MessageFailedData),
4684
4791
  envelope("contact.unsubscribed", ContactUnsubscribedData),
@@ -4702,16 +4809,16 @@ var WebhookEvent = z18.discriminatedUnion("type", [
4702
4809
  envelope("template.updated", TemplateUpdatedData),
4703
4810
  envelope("template.deleted", TemplateDeletedData)
4704
4811
  ]);
4705
- var WebhookEndpoint = z18.object({
4812
+ var WebhookEndpoint = z19.object({
4706
4813
  id: Id,
4707
- url: z18.string().url(),
4708
- description: z18.string().max(500).nullable(),
4709
- events: z18.array(WebhookEventType).min(1),
4710
- enabled: z18.boolean(),
4814
+ url: z19.string().url(),
4815
+ description: z19.string().max(500).nullable(),
4816
+ events: z19.array(WebhookEventType).min(1),
4817
+ enabled: z19.boolean(),
4711
4818
  created_at: Timestamp,
4712
4819
  updated_at: Timestamp
4713
4820
  });
4714
- var WebhookUrl = z18.string().url().refine((u) => {
4821
+ var WebhookUrl = z19.string().url().refine((u) => {
4715
4822
  try {
4716
4823
  const url = new URL(u);
4717
4824
  if (url.protocol === "https:") return true;
@@ -4720,35 +4827,35 @@ var WebhookUrl = z18.string().url().refine((u) => {
4720
4827
  return false;
4721
4828
  }
4722
4829
  }, "must be https (http only for localhost)");
4723
- var WebhookEndpointCreate = z18.object({
4830
+ var WebhookEndpointCreate = z19.object({
4724
4831
  url: WebhookUrl,
4725
- description: z18.string().max(500).optional(),
4726
- events: z18.array(WebhookEventType).min(1),
4727
- enabled: z18.boolean().optional()
4832
+ description: z19.string().max(500).optional(),
4833
+ events: z19.array(WebhookEventType).min(1),
4834
+ enabled: z19.boolean().optional()
4728
4835
  });
4729
- var WebhookEndpointUpdate = z18.object({
4836
+ var WebhookEndpointUpdate = z19.object({
4730
4837
  url: WebhookUrl,
4731
- description: z18.string().max(500).nullable(),
4732
- events: z18.array(WebhookEventType).min(1),
4733
- enabled: z18.boolean()
4838
+ description: z19.string().max(500).nullable(),
4839
+ events: z19.array(WebhookEventType).min(1),
4840
+ enabled: z19.boolean()
4734
4841
  }).partial().refine((v) => Object.keys(v).length > 0, "at least one field");
4735
- var WebhookEndpointWithSecret = z18.object({
4842
+ var WebhookEndpointWithSecret = z19.object({
4736
4843
  endpoint: WebhookEndpoint,
4737
- secret: z18.string().min(32)
4844
+ secret: z19.string().min(32)
4738
4845
  });
4739
4846
  var WEBHOOK_DELIVERY_STATUSES = ["pending", "succeeded", "failed"];
4740
- var WebhookDeliveryStatus = z18.enum(WEBHOOK_DELIVERY_STATUSES);
4847
+ var WebhookDeliveryStatus = z19.enum(WEBHOOK_DELIVERY_STATUSES);
4741
4848
  var WEBHOOK_MAX_ATTEMPTS = 8;
4742
4849
  var WEBHOOK_RETRY_DELAYS_SECONDS = [30, 120, 600, 1800, 3600, 7200, 21600];
4743
- var WebhookDelivery = z18.object({
4850
+ var WebhookDelivery = z19.object({
4744
4851
  id: Id,
4745
4852
  endpoint_id: Id,
4746
4853
  event_id: Id,
4747
4854
  event_type: WebhookEventType,
4748
4855
  status: WebhookDeliveryStatus,
4749
- attempts: z18.number().int().min(0),
4750
- last_status_code: z18.number().int().min(100).max(599).nullable(),
4751
- last_error: z18.string().nullable(),
4856
+ attempts: z19.number().int().min(0),
4857
+ last_status_code: z19.number().int().min(100).max(599).nullable(),
4858
+ last_error: z19.string().nullable(),
4752
4859
  next_attempt_at: Timestamp.nullable(),
4753
4860
  delivered_at: Timestamp.nullable(),
4754
4861
  created_at: Timestamp
@@ -4757,7 +4864,7 @@ var WebhookDeliveryListQuery = PageQuery.extend({
4757
4864
  status: WebhookDeliveryStatus.optional(),
4758
4865
  event_type: WebhookEventType.optional()
4759
4866
  });
4760
- var WebhookDeliveryParams = z18.object({ id: Id, delivery_id: Id });
4867
+ var WebhookDeliveryParams = z19.object({ id: Id, delivery_id: Id });
4761
4868
 
4762
4869
  // src/webhook-signing.ts
4763
4870
  var WEBHOOK_SIGNATURE_HEADER = "x-mail-signature";
@@ -4824,99 +4931,99 @@ async function verifyWebhook(input) {
4824
4931
  }
4825
4932
 
4826
4933
  // src/billing.ts
4827
- import { z as z19 } from "zod";
4934
+ import { z as z20 } from "zod";
4828
4935
  var PLAN_IDS = ["free", "starter", "growth", "design_partner"];
4829
- var PlanId = z19.enum(PLAN_IDS);
4830
- var PlanLimits = z19.object({
4831
- monthly_messages: z19.number().int().min(0).nullable(),
4832
- contacts: z19.number().int().min(0).nullable(),
4833
- members: z19.number().int().min(1).nullable(),
4834
- providers: z19.number().int().min(1).nullable(),
4835
- webhook_endpoints: z19.number().int().min(0).nullable(),
4936
+ var PlanId = z20.enum(PLAN_IDS);
4937
+ var PlanLimits = z20.object({
4938
+ monthly_messages: z20.number().int().min(0).nullable(),
4939
+ contacts: z20.number().int().min(0).nullable(),
4940
+ members: z20.number().int().min(1).nullable(),
4941
+ providers: z20.number().int().min(1).nullable(),
4942
+ webhook_endpoints: z20.number().int().min(0).nullable(),
4836
4943
  /** Automations that may be live (active or paused) at once (A1). */
4837
- active_automations: z19.number().int().min(0).nullable(),
4944
+ active_automations: z20.number().int().min(0).nullable(),
4838
4945
  /** Steps one automation may hold. Null is the flow's own cap, not unlimited. */
4839
- automation_steps: z19.number().int().min(1).nullable(),
4946
+ automation_steps: z20.number().int().min(1).nullable(),
4840
4947
  /** Own domains Lumitra Mail sends from (managed sending domains); 0 when the plan has none. */
4841
- sending_domains: z19.number().int().min(0).nullable()
4948
+ sending_domains: z20.number().int().min(0).nullable()
4842
4949
  });
4843
- var PlanFeatures = z19.object({
4950
+ var PlanFeatures = z20.object({
4844
4951
  /** A/B tests of subject and content on a mailing (S4). */
4845
- ab_testing: z19.boolean(),
4952
+ ab_testing: z20.boolean(),
4846
4953
  /** Open and click tracking, still off until a workspace turns it on (`settings.tracking_enabled`). */
4847
- tracking: z19.boolean(),
4954
+ tracking: z20.boolean(),
4848
4955
  /** Automations: flows a person walks through step by step (A1). */
4849
- automations: z19.boolean()
4956
+ automations: z20.boolean()
4850
4957
  });
4851
4958
  var PLAN_FEATURES = ["ab_testing", "tracking", "automations"];
4852
- var Plan = z19.object({
4959
+ var Plan = z20.object({
4853
4960
  id: PlanId,
4854
- name: z19.string().min(1),
4961
+ name: z20.string().min(1),
4855
4962
  /** Price in the smallest currency unit per month; null for plans not sold. */
4856
- monthly_price_cents: z19.number().int().min(0).nullable(),
4857
- currency: z19.string().length(3),
4963
+ monthly_price_cents: z20.number().int().min(0).nullable(),
4964
+ currency: z20.string().length(3),
4858
4965
  limits: PlanLimits,
4859
4966
  features: PlanFeatures
4860
4967
  });
4861
- var CatalogPlan = Plan.extend({ sellable: z19.boolean() });
4862
- var Subscription = z19.object({
4968
+ var CatalogPlan = Plan.extend({ sellable: z20.boolean() });
4969
+ var Subscription = z20.object({
4863
4970
  workspace_id: Id,
4864
4971
  plan: PlanId,
4865
- status: z19.enum(["active", "trialing", "past_due", "cancelled"]),
4972
+ status: z20.enum(["active", "trialing", "past_due", "cancelled"]),
4866
4973
  current_period_start: Timestamp,
4867
4974
  current_period_end: Timestamp,
4868
- cancel_at_period_end: z19.boolean(),
4975
+ cancel_at_period_end: z20.boolean(),
4869
4976
  /**
4870
4977
  * A design partner outside billing (plan `design_partner`, no limits, no
4871
4978
  * checkout). Set only by an operator, never through the API.
4872
4979
  */
4873
- billing_exempt: z19.boolean(),
4980
+ billing_exempt: z20.boolean(),
4874
4981
  /**
4875
4982
  * Own sending domains bought on top of the plan's included ones (the
4876
4983
  * add-on), each a monthly charge on the same subscription. 0 without the
4877
4984
  * add-on; the usage limit `sending_domains` is the plan's plus these.
4878
4985
  */
4879
- extra_sending_domains: z19.number().int().min(0)
4986
+ extra_sending_domains: z20.number().int().min(0)
4880
4987
  });
4881
- var BillingAddons = z19.object({
4882
- sending_domain: z19.object({
4883
- monthly_price_cents: z19.number().int().min(0),
4884
- currency: z19.string().length(3),
4885
- sellable: z19.boolean()
4988
+ var BillingAddons = z20.object({
4989
+ sending_domain: z20.object({
4990
+ monthly_price_cents: z20.number().int().min(0),
4991
+ currency: z20.string().length(3),
4992
+ sellable: z20.boolean()
4886
4993
  })
4887
4994
  });
4888
4995
  var MAX_EXTRA_SENDING_DOMAINS = 100;
4889
- var ExtraSendingDomainsUpdate = z19.object({ quantity: z19.number().int().min(0).max(MAX_EXTRA_SENDING_DOMAINS) });
4996
+ var ExtraSendingDomainsUpdate = z20.object({ quantity: z20.number().int().min(0).max(MAX_EXTRA_SENDING_DOMAINS) });
4890
4997
  var USAGE_METRICS = ["messages", "contacts", "members", "providers", "webhook_endpoints", "active_automations", "sending_domains"];
4891
- var UsageMetric = z19.enum(USAGE_METRICS);
4998
+ var UsageMetric = z20.enum(USAGE_METRICS);
4892
4999
  var USAGE_WARNING_RATIO = 0.8;
4893
- var UsageWarning = z19.object({
5000
+ var UsageWarning = z20.object({
4894
5001
  metric: UsageMetric,
4895
- used: z19.number().int().min(0),
4896
- limit: z19.number().int().min(0),
5002
+ used: z20.number().int().min(0),
5003
+ limit: z20.number().int().min(0),
4897
5004
  /** `approaching`: at or above USAGE_WARNING_RATIO of the limit; `reached`: at or above the limit. */
4898
- level: z19.enum(["approaching", "reached"])
5005
+ level: z20.enum(["approaching", "reached"])
4899
5006
  });
4900
- var TermsStatus = z19.object({ accepted_version: z19.string().nullable(), current_version: z19.string() });
4901
- var Usage = z19.object({
5007
+ var TermsStatus = z20.object({ accepted_version: z20.string().nullable(), current_version: z20.string() });
5008
+ var Usage = z20.object({
4902
5009
  plan: PlanId,
4903
5010
  period_start: Timestamp,
4904
5011
  period_end: Timestamp,
4905
- metrics: z19.record(UsageMetric, z19.object({ used: z19.number().int().min(0), limit: z19.number().int().min(0).nullable() })),
4906
- warnings: z19.array(UsageWarning),
5012
+ metrics: z20.record(UsageMetric, z20.object({ used: z20.number().int().min(0), limit: z20.number().int().min(0).nullable() })),
5013
+ warnings: z20.array(UsageWarning),
4907
5014
  terms: TermsStatus
4908
5015
  });
4909
- var TermsAcceptance = z19.object({ accept_terms: AcceptTerms });
4910
- var CheckoutRequest = z19.object({
4911
- plan: z19.enum(["starter", "growth"]),
4912
- success_url: z19.string().url(),
4913
- cancel_url: z19.string().url(),
5016
+ var TermsAcceptance = z20.object({ accept_terms: AcceptTerms });
5017
+ var CheckoutRequest = z20.object({
5018
+ plan: z20.enum(["starter", "growth"]),
5019
+ success_url: z20.string().url(),
5020
+ cancel_url: z20.string().url(),
4914
5021
  /** The buyer accepted the terms of service and the processing agreement of this version. */
4915
5022
  accept_terms: AcceptTerms
4916
5023
  });
4917
- var CheckoutSession = z19.object({ url: z19.string().url() });
4918
- var PortalRequest = z19.object({ return_url: z19.string().url() });
4919
- var PortalSession = z19.object({ url: z19.string().url() });
5024
+ var CheckoutSession = z20.object({ url: z20.string().url() });
5025
+ var PortalRequest = z20.object({ return_url: z20.string().url() });
5026
+ var PortalSession = z20.object({ url: z20.string().url() });
4920
5027
  var USAGE_WARNING_HEADER = "x-mail-usage-warning";
4921
5028
  function formatUsageWarningHeader(warnings) {
4922
5029
  if (warnings.length === 0) return null;
@@ -4936,7 +5043,7 @@ function parseUsageWarningHeader(value) {
4936
5043
  }
4937
5044
 
4938
5045
  // src/routes.ts
4939
- import { z as z20 } from "zod";
5046
+ import { z as z21 } from "zod";
4940
5047
  var list = (item) => page(item);
4941
5048
  var foundationRoutes = {
4942
5049
  "workspaces.create": {
@@ -5182,7 +5289,7 @@ var templateRoutes = {
5182
5289
  path: "/v1/templates/:id/export",
5183
5290
  params: IdParams,
5184
5291
  query: TemplateExportQuery,
5185
- response: z20.string(),
5292
+ response: z21.string(),
5186
5293
  responseType: "text",
5187
5294
  status: 200,
5188
5295
  access: "read",
@@ -5562,7 +5669,7 @@ var sendingRoutes = {
5562
5669
  path: "/v1/mailings/:id/export",
5563
5670
  params: IdParams,
5564
5671
  query: MailingExportQuery,
5565
- response: z20.string(),
5672
+ response: z21.string(),
5566
5673
  responseType: "text",
5567
5674
  status: 200,
5568
5675
  access: "read",
@@ -5829,7 +5936,7 @@ var platformRoutes = {
5829
5936
  "contactProperties.list": {
5830
5937
  method: "GET",
5831
5938
  path: "/v1/contact-properties",
5832
- response: z20.object({ data: z20.array(ContactPropertyDefinition) }),
5939
+ response: z21.object({ data: z21.array(ContactPropertyDefinition) }),
5833
5940
  status: 200,
5834
5941
  access: "read",
5835
5942
  phase: "S4"
@@ -6128,7 +6235,7 @@ var billingRoutes = {
6128
6235
  "billing.plans": {
6129
6236
  method: "GET",
6130
6237
  path: "/v1/billing/plans",
6131
- response: z20.object({ data: z20.array(CatalogPlan), addons: BillingAddons }),
6238
+ response: z21.object({ data: z21.array(CatalogPlan), addons: BillingAddons }),
6132
6239
  status: 200,
6133
6240
  access: "read",
6134
6241
  phase: "S5"
@@ -6217,6 +6324,73 @@ var domainBuyingRoutes = {
6217
6324
  phase: "S5"
6218
6325
  }
6219
6326
  };
6327
+ var boughtDomainRoutes = {
6328
+ "boughtDomains.list": {
6329
+ method: "GET",
6330
+ path: "/v1/bought-domains",
6331
+ response: z21.object({ data: z21.array(BoughtDomain) }),
6332
+ status: 200,
6333
+ access: "admin",
6334
+ phase: "S5"
6335
+ },
6336
+ "boughtDomains.records": {
6337
+ method: "GET",
6338
+ path: "/v1/bought-domains/:id/records",
6339
+ params: IdParams,
6340
+ response: z21.object({ data: z21.array(DomainRecord) }),
6341
+ status: 200,
6342
+ access: "admin",
6343
+ phase: "S5"
6344
+ },
6345
+ "boughtDomains.createRecord": {
6346
+ method: "POST",
6347
+ path: "/v1/bought-domains/:id/records",
6348
+ params: IdParams,
6349
+ body: DomainRecordInput,
6350
+ response: DomainRecord,
6351
+ status: 201,
6352
+ access: "admin",
6353
+ phase: "S5"
6354
+ },
6355
+ "boughtDomains.updateRecord": {
6356
+ method: "PATCH",
6357
+ path: "/v1/bought-domains/:id/records/:record_id",
6358
+ params: BoughtDomainRecordParams,
6359
+ body: DomainRecordInput,
6360
+ response: DomainRecord,
6361
+ status: 200,
6362
+ access: "admin",
6363
+ phase: "S5"
6364
+ },
6365
+ "boughtDomains.deleteRecord": {
6366
+ method: "DELETE",
6367
+ path: "/v1/bought-domains/:id/records/:record_id",
6368
+ params: BoughtDomainRecordParams,
6369
+ response: Ok,
6370
+ status: 200,
6371
+ access: "admin",
6372
+ phase: "S5"
6373
+ },
6374
+ "boughtDomains.zoneFile": {
6375
+ method: "GET",
6376
+ path: "/v1/bought-domains/:id/zone-file",
6377
+ params: IdParams,
6378
+ response: ZoneFile,
6379
+ status: 200,
6380
+ access: "admin",
6381
+ phase: "S5"
6382
+ },
6383
+ "boughtDomains.leave": {
6384
+ method: "POST",
6385
+ path: "/v1/bought-domains/:id/leave",
6386
+ params: IdParams,
6387
+ body: DomainLeaveCreate,
6388
+ response: BoughtDomain,
6389
+ status: 201,
6390
+ access: "admin",
6391
+ phase: "S5"
6392
+ }
6393
+ };
6220
6394
  var inviteRoutes = {
6221
6395
  "invites.create": {
6222
6396
  method: "POST",
@@ -6326,7 +6500,7 @@ var automationRoutes = {
6326
6500
  method: "POST",
6327
6501
  path: "/v1/automations/:id/pause",
6328
6502
  params: IdParams,
6329
- body: z20.object({}).strict(),
6503
+ body: z21.object({}).strict(),
6330
6504
  response: Automation,
6331
6505
  status: 200,
6332
6506
  access: "write",
@@ -6336,7 +6510,7 @@ var automationRoutes = {
6336
6510
  method: "POST",
6337
6511
  path: "/v1/automations/:id/resume",
6338
6512
  params: IdParams,
6339
- body: z20.object({}).strict(),
6513
+ body: z21.object({}).strict(),
6340
6514
  response: Automation,
6341
6515
  status: 200,
6342
6516
  access: "write",
@@ -6346,7 +6520,7 @@ var automationRoutes = {
6346
6520
  method: "POST",
6347
6521
  path: "/v1/automations/:id/archive",
6348
6522
  params: IdParams,
6349
- body: z20.object({}).strict(),
6523
+ body: z21.object({}).strict(),
6350
6524
  response: Automation,
6351
6525
  status: 200,
6352
6526
  access: "write",
@@ -6462,6 +6636,7 @@ var routes = {
6462
6636
  ...platformRoutes,
6463
6637
  ...billingRoutes,
6464
6638
  ...domainBuyingRoutes,
6639
+ ...boughtDomainRoutes,
6465
6640
  ...automationRoutes
6466
6641
  };
6467
6642
  var TRUSTED_APP_OPERATIONS = {
@@ -6593,6 +6768,8 @@ export {
6593
6768
  BEARER_PREFIX,
6594
6769
  BILLING_NOT_CONFIGURED_REASON,
6595
6770
  BillingAddons,
6771
+ BoughtDomain,
6772
+ BoughtDomainRecordParams,
6596
6773
  BoundedAutomationFilter,
6597
6774
  BoundedSegmentFilter,
6598
6775
  COMPANY_GRANT_ROLES,
@@ -6627,24 +6804,37 @@ export {
6627
6804
  DATE_PASSED_ANSWERS,
6628
6805
  DEFAULT_INVITE_TTL_DAYS,
6629
6806
  DEFAULT_PAGE_LIMIT,
6807
+ DNS_RECORD_TYPES,
6630
6808
  DOCUMENT_SCHEMA_VERSIONS,
6631
6809
  DOMAIN_BUYING_BLOCKS,
6632
6810
  DOMAIN_BUYING_NOT_CONFIGURED_REASON,
6811
+ DOMAIN_LEAVE_STATES,
6812
+ DOMAIN_LEAVE_WAYS,
6633
6813
  DOMAIN_ORDER_KINDS,
6634
6814
  DOMAIN_ORDER_STATES,
6635
6815
  DOMAIN_PRICE_CHANGED_REASON,
6816
+ DOMAIN_RENEWAL_STATES,
6636
6817
  DOMAIN_UNAVAILABLE_REASONS,
6637
6818
  DateOnly,
6638
6819
  DatePassedAnswer,
6639
6820
  DelayStep,
6821
+ DnsRecordType,
6640
6822
  DocumentSchemaVersion,
6641
6823
  DomainBuyingBlock,
6824
+ DomainLeave,
6825
+ DomainLeaveCreate,
6826
+ DomainLeaveState,
6827
+ DomainLeaveWay,
6642
6828
  DomainOffer,
6643
6829
  DomainOrder,
6644
6830
  DomainOrderCreate,
6645
6831
  DomainOrderKind,
6646
6832
  DomainOrderState,
6833
+ DomainRecord,
6834
+ DomainRecordInput,
6647
6835
  DomainRegistrant,
6836
+ DomainRenewal,
6837
+ DomainRenewalState,
6648
6838
  DomainSearchQuery,
6649
6839
  DomainSearchResult,
6650
6840
  DomainUnavailableReason,
@@ -7021,6 +7211,7 @@ export {
7021
7211
  WorkspaceMove,
7022
7212
  WorkspaceSettings,
7023
7213
  WorkspaceUpdate,
7214
+ ZoneFile,
7024
7215
  acceptsIdempotencyKey,
7025
7216
  addInsertion,
7026
7217
  addInsertionChoice,
@@ -7030,6 +7221,7 @@ export {
7030
7221
  automationFilterFamily,
7031
7222
  automationRoutes,
7032
7223
  billingRoutes,
7224
+ boughtDomainRoutes,
7033
7225
  buildPath,
7034
7226
  buildTemplatePatch,
7035
7227
  canDeleteMailing,