@madewithremy/admin 0.1.38 → 0.1.39

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.d.ts CHANGED
@@ -3031,7 +3031,7 @@ interface SearchParams {
3031
3031
  * query: 'what are the payment terms?',
3032
3032
  * });
3033
3033
  */
3034
- declare function search(ctx: AdminContext, params: SearchParams): Promise<DataSourcesSearchResult>;
3034
+ declare function search$1(ctx: AdminContext, params: SearchParams): Promise<DataSourcesSearchResult>;
3035
3035
  interface CountParams {
3036
3036
  /** Data source slug. */
3037
3037
  slug: string;
@@ -3466,14 +3466,13 @@ declare const dataSources_revectorize: typeof revectorize;
3466
3466
  declare const dataSources_rm: typeof rm;
3467
3467
  declare const dataSources_rmWhere: typeof rmWhere;
3468
3468
  declare const dataSources_rmWhereAll: typeof rmWhereAll;
3469
- declare const dataSources_search: typeof search;
3470
3469
  declare const dataSources_stopMove: typeof stopMove;
3471
3470
  declare const dataSources_summarize: typeof summarize;
3472
3471
  declare const dataSources_waitForCandidate: typeof waitForCandidate;
3473
3472
  declare const dataSources_waitForIngest: typeof waitForIngest;
3474
3473
  declare const dataSources_waitForMove: typeof waitForMove;
3475
3474
  declare namespace dataSources {
3476
- export { type dataSources_AddDocumentParams as AddDocumentParams, type dataSources_AddDocumentResult as AddDocumentResult, type dataSources_ConfigSetParams as ConfigSetParams, type dataSources_CountParams as CountParams, type dataSources_CreateParams as CreateParams, DEFAULT_WAIT_TIMEOUT_MS$3 as DEFAULT_WAIT_TIMEOUT_MS, dataSources_DOCUMENTS_IDS_MAX as DOCUMENTS_IDS_MAX, type dataSources_DictionaryEntryInput as DictionaryEntryInput, type dataSources_DocumentsParams as DocumentsParams, type dataSources_DropParams as DropParams, type dataSources_EntitiesParams as EntitiesParams, dataSources_FAILURES_PAGE as FAILURES_PAGE, type dataSources_MoveParams as MoveParams, type dataSources_PassagesParams as PassagesParams, type dataSources_PromoteParams as PromoteParams, type dataSources_RevectorizeParams as RevectorizeParams, type dataSources_RmParams as RmParams, type dataSources_RmWhereParams as RmWhereParams, type dataSources_SearchParams as SearchParams, type dataSources_SummarizedDocument as SummarizedDocument, type dataSources_WaitForCandidateParams as WaitForCandidateParams, type dataSources_WaitForCandidateResult as WaitForCandidateResult, type dataSources_WaitForIngestParams as WaitForIngestParams, type dataSources_WaitForIngestResult as WaitForIngestResult, type dataSources_WaitForMoveParams as WaitForMoveParams, type dataSources_WaitForMoveResult as WaitForMoveResult, dataSources_addDocument as addDocument, dataSources_allDocuments as allDocuments, dataSources_configGet as configGet, dataSources_configSet as configSet, dataSources_count as count, create$1 as create, dataSources_deleteSource as deleteSource, dataSources_dictionary as dictionary, dataSources_documents as documents, dataSources_drop as drop, dataSources_entities as entities, dataSources_link as link, list$8 as list, dataSources_move as move, dataSources_passages as passages, dataSources_promote as promote, dataSources_pushDictionary as pushDictionary, dataSources_revectorize as revectorize, dataSources_rm as rm, dataSources_rmWhere as rmWhere, dataSources_rmWhereAll as rmWhereAll, dataSources_search as search, dataSources_stopMove as stopMove, dataSources_summarize as summarize, dataSources_waitForCandidate as waitForCandidate, dataSources_waitForIngest as waitForIngest, dataSources_waitForMove as waitForMove };
3475
+ export { type dataSources_AddDocumentParams as AddDocumentParams, type dataSources_AddDocumentResult as AddDocumentResult, type dataSources_ConfigSetParams as ConfigSetParams, type dataSources_CountParams as CountParams, type dataSources_CreateParams as CreateParams, DEFAULT_WAIT_TIMEOUT_MS$3 as DEFAULT_WAIT_TIMEOUT_MS, dataSources_DOCUMENTS_IDS_MAX as DOCUMENTS_IDS_MAX, type dataSources_DictionaryEntryInput as DictionaryEntryInput, type dataSources_DocumentsParams as DocumentsParams, type dataSources_DropParams as DropParams, type dataSources_EntitiesParams as EntitiesParams, dataSources_FAILURES_PAGE as FAILURES_PAGE, type dataSources_MoveParams as MoveParams, type dataSources_PassagesParams as PassagesParams, type dataSources_PromoteParams as PromoteParams, type dataSources_RevectorizeParams as RevectorizeParams, type dataSources_RmParams as RmParams, type dataSources_RmWhereParams as RmWhereParams, type dataSources_SearchParams as SearchParams, type dataSources_SummarizedDocument as SummarizedDocument, type dataSources_WaitForCandidateParams as WaitForCandidateParams, type dataSources_WaitForCandidateResult as WaitForCandidateResult, type dataSources_WaitForIngestParams as WaitForIngestParams, type dataSources_WaitForIngestResult as WaitForIngestResult, type dataSources_WaitForMoveParams as WaitForMoveParams, type dataSources_WaitForMoveResult as WaitForMoveResult, dataSources_addDocument as addDocument, dataSources_allDocuments as allDocuments, dataSources_configGet as configGet, dataSources_configSet as configSet, dataSources_count as count, create$1 as create, dataSources_deleteSource as deleteSource, dataSources_dictionary as dictionary, dataSources_documents as documents, dataSources_drop as drop, dataSources_entities as entities, dataSources_link as link, list$8 as list, dataSources_move as move, dataSources_passages as passages, dataSources_promote as promote, dataSources_pushDictionary as pushDictionary, dataSources_revectorize as revectorize, dataSources_rm as rm, dataSources_rmWhere as rmWhere, dataSources_rmWhereAll as rmWhereAll, search$1 as search, dataSources_stopMove as stopMove, dataSources_summarize as summarize, dataSources_waitForCandidate as waitForCandidate, dataSources_waitForIngest as waitForIngest, dataSources_waitForMove as waitForMove };
3477
3476
  }
3478
3477
 
3479
3478
  /**
@@ -4386,7 +4385,10 @@ interface DomainsCheckResult {
4386
4385
  }
4387
4386
  /** GET /_internal/v2/apps/:appId/settings/custom-domains */
4388
4387
  interface DomainsCustomListResult {
4389
- hostnames: DomainsCustomHostnameView[];
4388
+ hostnames: Array<DomainsCustomHostnameView & {
4389
+ /** The domain the workspace bought that this hostname is on, whose records the platform writes. */
4390
+ boughtDomain: BoughtDomain | null;
4391
+ }>;
4390
4392
  }
4391
4393
  /**
4392
4394
  * POST /_internal/v2/apps/:appId/settings/custom-domains — register a hostname.
@@ -4394,6 +4396,8 @@ interface DomainsCustomListResult {
4394
4396
  */
4395
4397
  interface DomainsCustomAddResult {
4396
4398
  hostnames: DomainsCustomHostnameView[];
4399
+ /** Set when the hostname is on a domain the workspace bought: the records the platform wrote for it. */
4400
+ registeredDomain: RegisteredDomainRecords | null;
4397
4401
  }
4398
4402
  /** POST /_internal/v2/apps/:appId/settings/custom-domains/check-domain */
4399
4403
  interface DomainsCustomCheckResult {
@@ -4412,9 +4416,178 @@ interface DomainsCustomRemoveResult {
4412
4416
  interface DomainsCustomRetryResult {
4413
4417
  hostname: DomainsCustomHostnameView;
4414
4418
  }
4419
+ /** A domain the workspace bought, as a connection's list names it. */
4420
+ interface BoughtDomain {
4421
+ id: string;
4422
+ name: string;
4423
+ }
4424
+ /** What the platform wrote on a bought domain for a connection (web, sending or inbound). */
4425
+ interface RegisteredDomainRecords {
4426
+ domain: string;
4427
+ /** How many records were written. */
4428
+ written: number;
4429
+ /** Records the connection needs that would break the zone, left unwritten. */
4430
+ conflicts: Array<{
4431
+ host: string;
4432
+ type: string;
4433
+ answer: string;
4434
+ existing: {
4435
+ type: string;
4436
+ answer: string;
4437
+ };
4438
+ }>;
4439
+ /** Set when Name.com couldn't be reached: add the records by hand, or retry. */
4440
+ error?: 'records_not_written';
4441
+ }
4442
+ type RegisteredDomainStatus = 'pending' | 'active' | 'expired' | 'failed' | 'ended';
4443
+ /** Where one of the workspace's apps uses a bought domain. */
4444
+ interface RegisteredDomainConnection {
4445
+ kind: 'web' | 'sending' | 'receiving';
4446
+ /** Null for the workspace's own sending domain. */
4447
+ appId: string | null;
4448
+ appName: string | null;
4449
+ /** The app's icon, when it has one. */
4450
+ appIconUrl: string | null;
4451
+ hostname: string;
4452
+ }
4453
+ /** One of the workspace's bought domains. Money is USD. */
4454
+ interface RegisteredDomainView {
4455
+ id: string;
4456
+ /** ASCII (punycode). */
4457
+ name: string;
4458
+ status: RegisteredDomainStatus;
4459
+ /** The registration term, in years. */
4460
+ years: number;
4461
+ premium: boolean;
4462
+ /** What the registration cost. */
4463
+ price: number;
4464
+ /** Why a purchase failed: `registrar_payment`, `throttled`, `refused`, `never_registered`. */
4465
+ failure: string | null;
4466
+ registeredAt: string | null;
4467
+ expiresAt: string | null;
4468
+ autoRenew: boolean;
4469
+ locked: boolean;
4470
+ privacy: boolean;
4471
+ /** New registrations can't transfer away until then. */
4472
+ transferLockExpiresAt: string | null;
4473
+ /** Name.com's locks on the domain, `clientHold` among them. */
4474
+ locks: string[];
4475
+ renewalPrice: number | null;
4476
+ /** The status code of a renewal the registrar refused, until one succeeds. */
4477
+ renewalFailure: string | null;
4478
+ transferOutRequestedAt: string | null;
4479
+ endedReason: 'lapsed' | 'transferred' | 'removed' | null;
4480
+ endedAt: string | null;
4481
+ /** Set while ICANN's email verification of the registrant is owed: the domain stops resolving after it. */
4482
+ verifyBy: string | null;
4483
+ createdAt: string;
4484
+ connections: RegisteredDomainConnection[];
4485
+ }
4486
+ /** A search suggestion. */
4487
+ interface RegisteredDomainOffer {
4488
+ name: string;
4489
+ purchasable: boolean;
4490
+ /** Purchasable, and in a TLD Remy sells. */
4491
+ sellable: boolean;
4492
+ premium: boolean;
4493
+ purchaseType: string | null;
4494
+ /** The minimum term's price. */
4495
+ price: number | null;
4496
+ renewalPrice: number | null;
4497
+ reason: string | null;
4498
+ }
4499
+ /** The definitive answer for one name. */
4500
+ interface RegisteredDomainQuote {
4501
+ name: string;
4502
+ /** Null when the name can be bought. */
4503
+ refusal: 'unavailable' | 'tld_not_supported' | 'trademark_claim' | null;
4504
+ /** The registration term: the TLD's minimum (1 year for most, 2 for `.ai`). */
4505
+ years: number;
4506
+ premium: boolean;
4507
+ /** The price for the term: what `buy --price` must match. */
4508
+ price: number | null;
4509
+ /** What renewing for the same term costs. */
4510
+ renewalPrice: number | null;
4511
+ }
4512
+ /** The registrant: the domain's legal owner, whom ICANN emails. */
4513
+ interface RegistrantContact {
4514
+ firstName: string;
4515
+ lastName: string;
4516
+ /** Filled in, the organization owns the domains. Blank for a person. */
4517
+ companyName?: string;
4518
+ address1: string;
4519
+ address2?: string;
4520
+ city: string;
4521
+ state: string;
4522
+ zip: string;
4523
+ /** ISO 3166-1 alpha-2, like `US`. */
4524
+ country: string;
4525
+ email: string;
4526
+ /** E.164, like `+14155550123`. */
4527
+ phone: string;
4528
+ }
4529
+ interface WorkspaceRegistrantContact extends RegistrantContact {
4530
+ id: string;
4531
+ organizationId: string;
4532
+ updatedAt: string;
4533
+ }
4534
+ type RegisteredDomainRecordType = 'A' | 'AAAA' | 'ANAME' | 'CNAME' | 'MX' | 'NS' | 'SRV' | 'TXT';
4535
+ /** A record on a bought domain's zone. */
4536
+ interface RegisteredDomainZoneRecord {
4537
+ id: number;
4538
+ /** Relative to the zone, and empty for the apex. */
4539
+ host: string;
4540
+ type: RegisteredDomainRecordType;
4541
+ answer: string;
4542
+ ttl: number;
4543
+ /** MX and SRV only. */
4544
+ priority: number | null;
4545
+ /** What the platform wrote it for (locked), or null when it's the owner's. */
4546
+ managed: string | null;
4547
+ }
4548
+ /** GET /_internal/v2/apps/:appId/settings/registered-domains */
4549
+ interface RegisteredDomainsListResult {
4550
+ /** Empty where this deployment doesn't sell domains. */
4551
+ domains: RegisteredDomainView[];
4552
+ }
4553
+ /** POST …/registered-domains/search */
4554
+ interface RegisteredDomainsSearchResult {
4555
+ offers: RegisteredDomainOffer[];
4556
+ }
4557
+ /** POST …/registered-domains/quote */
4558
+ interface RegisteredDomainsQuoteResult {
4559
+ quote: RegisteredDomainQuote;
4560
+ }
4561
+ /** POST …/registered-domains/purchase */
4562
+ interface RegisteredDomainsBuyResult {
4563
+ domain: RegisteredDomainView;
4564
+ }
4565
+ /** GET …/registered-domains/contact */
4566
+ interface RegisteredDomainsContactResult {
4567
+ contact: WorkspaceRegistrantContact | null;
4568
+ }
4569
+ /** POST …/registered-domains/contact */
4570
+ interface RegisteredDomainsContactSetResult {
4571
+ contact: WorkspaceRegistrantContact;
4572
+ /** Held domains Name.com wouldn't take the new contact on. */
4573
+ notUpdated: string[];
4574
+ }
4575
+ /** GET …/registered-domains/:domainId/records */
4576
+ interface RegisteredDomainsZoneResult {
4577
+ records: RegisteredDomainZoneRecord[];
4578
+ }
4579
+ /** POST …/registered-domains/:domainId/records[/:recordId] */
4580
+ interface RegisteredDomainsRecordResult {
4581
+ record: Omit<RegisteredDomainZoneRecord, 'managed'>;
4582
+ }
4583
+ /** POST …/registered-domains/:domainId/records/:recordId/delete */
4584
+ interface RegisteredDomainsRecordDeleteResult {
4585
+ deleted: true;
4586
+ }
4415
4587
 
4416
4588
  /**
4417
- * App domain operations: platform subdomain + custom hostnames.
4589
+ * App domain operations: platform subdomain, custom hostnames, and the
4590
+ * domains the workspace buys through Remy.
4418
4591
  *
4419
4592
  * `findHostname` resolves a user-supplied hostname to its row id and full
4420
4593
  * entry (list → match → id). It throws a plain Error with the exact
@@ -4467,7 +4640,9 @@ declare function customList(ctx: AdminContext): Promise<DomainsCustomListResult>
4467
4640
  *
4468
4641
  * Apex input (e.g. `acme.com`) auto-creates the `www.acme.com` pair and
4469
4642
  * returns both entries. `dnsInstructions` on each returned entry contains
4470
- * the DNS records the customer must add to their provider.
4643
+ * the DNS records the customer must add to their provider, except on a domain
4644
+ * the workspace bought through Remy, where `registeredDomain` says which
4645
+ * records the platform wrote itself and any it couldn't.
4471
4646
  *
4472
4647
  * @throws AdminApiError `invalid_hostname` (400) — the hostname failed format
4473
4648
  * validation; `hostname_in_use` (400) — the hostname (or its auto-paired
@@ -4525,16 +4700,162 @@ declare function customRemove(ctx: AdminContext, hostname: string): Promise<Doma
4525
4700
  * const { hostname: updated } = await admin.domains.customRetry('app.acme.com');
4526
4701
  */
4527
4702
  declare function customRetry(ctx: AdminContext, hostname: string): Promise<DomainsCustomRetryResult>;
4703
+ /**
4704
+ * Suggest domains for a keyword or a whole name, each with its price and
4705
+ * renewal price. Only `sellable` ones can be bought; the others say why.
4706
+ *
4707
+ * @throws AdminApiError `invalid_query` (400); `namecom_not_configured` (400)
4708
+ * — this deployment doesn't sell domains.
4709
+ * @example
4710
+ * const { offers } = await admin.domains.search('acme bakery');
4711
+ */
4712
+ declare function search(ctx: AdminContext, query: string): Promise<RegisteredDomainsSearchResult>;
4713
+ /**
4714
+ * The definitive answer for one name: whether it can be bought, its term,
4715
+ * its price and its renewal price. The price is what `buy` must be given.
4716
+ *
4717
+ * @throws AdminApiError `invalid_domain` (400) — not a whole registrable
4718
+ * domain; `namecom_not_configured` (400).
4719
+ * @example
4720
+ * const { quote } = await admin.domains.quote('acmebakery.com');
4721
+ */
4722
+ declare function quote(ctx: AdminContext, name: string): Promise<RegisteredDomainsQuoteResult>;
4723
+ interface BuyParams {
4724
+ /** The whole domain, like `acmebakery.com`. */
4725
+ name: string;
4726
+ /** The price the user confirmed: `quote`'s. A price that has moved is refused. */
4727
+ price: number;
4728
+ }
4729
+ /**
4730
+ * Buy a domain for the workspace, registered to its registrant contact, at
4731
+ * the confirmed price, which is charged at once and isn't refundable. It
4732
+ * renews yearly at its renewal price while auto-renew is on. Only call this
4733
+ * after the user has explicitly confirmed the name, the price and the renewal
4734
+ * price. The domain is usually `active` on return; a `pending` one settles
4735
+ * within minutes (poll `owned`). It connects to nothing by itself.
4736
+ *
4737
+ * @throws AdminApiError `registrant_contact_required` (400) — set the contact
4738
+ * first; `price_changed` (409) — the message has the new price, to confirm
4739
+ * again; `insufficient_credits/*` (402);
4740
+ * `entitlement_required:registered_domains` (422) — the workspace's plan
4741
+ * holds no more domains, with what would unlock more in `details`;
4742
+ * `domain_registration_rate` (429);
4743
+ * `domain_unavailable`, `tld_not_supported`, `trademark_claim` (400);
4744
+ * `registrar_busy` (429); `registrar_payment` — temporarily unavailable;
4745
+ * `namecom_not_configured` (400).
4746
+ * @example
4747
+ * const { domain } = await admin.domains.buy({ name: 'acmebakery.com', price: 11.99 });
4748
+ */
4749
+ declare function buy(ctx: AdminContext, params: BuyParams): Promise<RegisteredDomainsBuyResult>;
4750
+ /**
4751
+ * The workspace's bought domains, newest first: status, expiry, auto-renew,
4752
+ * whether ICANN's verification is owed, and the apps connected to each.
4753
+ * Empty where the deployment doesn't sell domains.
4754
+ *
4755
+ * @example
4756
+ * const { domains } = await admin.domains.owned();
4757
+ */
4758
+ declare function owned(ctx: AdminContext): Promise<RegisteredDomainsListResult>;
4759
+ /**
4760
+ * Resolve one of the workspace's domains by name (lists and matches).
4761
+ *
4762
+ * @throws Error `No domain "${name}" in this workspace` when it holds none by
4763
+ * that name.
4764
+ * @internal
4765
+ */
4766
+ declare function findOwned(ctx: AdminContext, name: string): Promise<RegisteredDomainView>;
4767
+ /**
4768
+ * The workspace's registrant contact, which every domain it buys is
4769
+ * registered to, or null before the first purchase.
4770
+ *
4771
+ * @example
4772
+ * const { contact } = await admin.domains.contactGet();
4773
+ */
4774
+ declare function contactGet(ctx: AdminContext): Promise<RegisteredDomainsContactResult>;
4775
+ /**
4776
+ * Set the registrant contact: the legal owner of the workspace's domains
4777
+ * (the organization when `companyName` is set, the person otherwise), whom
4778
+ * ICANN emails to verify. It's put on every domain the workspace holds;
4779
+ * `notUpdated` lists any Name.com wouldn't take it on.
4780
+ *
4781
+ * @throws AdminApiError `invalid_contact` (400) — the message names what's
4782
+ * missing or malformed; `namecom_not_configured` (400).
4783
+ * @example
4784
+ * await admin.domains.contactSet({
4785
+ * firstName: 'Ada', lastName: 'Lovelace', address1: '1 Main St', city: 'Austin',
4786
+ * state: 'TX', zip: '78701', country: 'US', email: 'ada@acme.com', phone: '+15125550123',
4787
+ * });
4788
+ */
4789
+ declare function contactSet(ctx: AdminContext, contact: RegistrantContact): Promise<RegisteredDomainsContactSetResult>;
4790
+ interface ZoneRecordParams {
4791
+ /** Relative to the zone: `www`, `_dmarc`, or `` for the apex. */
4792
+ host: string;
4793
+ type: RegisteredDomainRecordType;
4794
+ answer: string;
4795
+ /** Seconds, at least 300. */
4796
+ ttl?: number;
4797
+ /** MX and SRV only. */
4798
+ priority?: number;
4799
+ }
4800
+ /**
4801
+ * Every DNS record on a bought domain's zone. The ones the platform wrote for
4802
+ * a connection carry `managed` (what they're for) and can't be changed here;
4803
+ * the rest are the owner's.
4804
+ *
4805
+ * @throws Error `No domain "${name}" in this workspace`; AdminApiError
4806
+ * `domain_not_found` (404) — not active.
4807
+ * @example
4808
+ * const { records } = await admin.domains.zone('acmebakery.com');
4809
+ */
4810
+ declare function zone(ctx: AdminContext, name: string): Promise<RegisteredDomainsZoneResult>;
4811
+ /**
4812
+ * Add a record to a bought domain's zone, like a site verification TXT.
4813
+ *
4814
+ * @throws AdminApiError `invalid_record` (400); `domain_not_found` (404).
4815
+ * @example
4816
+ * await admin.domains.zoneAdd('acmebakery.com', { host: '', type: 'TXT', answer: 'google-site-verification=abc' });
4817
+ */
4818
+ declare function zoneAdd(ctx: AdminContext, name: string, record: ZoneRecordParams): Promise<RegisteredDomainsRecordResult>;
4819
+ /**
4820
+ * Replace one of the owner's records (by the id `zone` lists).
4821
+ *
4822
+ * @throws AdminApiError `record_managed` (409) — the platform wrote it for a
4823
+ * connection; `invalid_record` (400); `domain_not_found` (404).
4824
+ * @example
4825
+ * await admin.domains.zoneUpdate('acmebakery.com', 123, { host: 'www', type: 'CNAME', answer: 'acme.example.net' });
4826
+ */
4827
+ declare function zoneUpdate(ctx: AdminContext, name: string, recordId: number, record: ZoneRecordParams): Promise<RegisteredDomainsRecordResult>;
4828
+ /**
4829
+ * Delete one of the owner's records.
4830
+ *
4831
+ * @throws AdminApiError `record_managed` (409); `domain_not_found` (404).
4832
+ * @example
4833
+ * await admin.domains.zoneDelete('acmebakery.com', 123);
4834
+ */
4835
+ declare function zoneDelete(ctx: AdminContext, name: string, recordId: number): Promise<RegisteredDomainsRecordDeleteResult>;
4528
4836
 
4837
+ type domains_BuyParams = BuyParams;
4838
+ type domains_ZoneRecordParams = ZoneRecordParams;
4839
+ declare const domains_buy: typeof buy;
4529
4840
  declare const domains_check: typeof check;
4841
+ declare const domains_contactGet: typeof contactGet;
4842
+ declare const domains_contactSet: typeof contactSet;
4530
4843
  declare const domains_customAdd: typeof customAdd;
4531
4844
  declare const domains_customCheck: typeof customCheck;
4532
4845
  declare const domains_customList: typeof customList;
4533
4846
  declare const domains_customRemove: typeof customRemove;
4534
4847
  declare const domains_customRetry: typeof customRetry;
4535
4848
  declare const domains_findHostname: typeof findHostname;
4849
+ declare const domains_findOwned: typeof findOwned;
4850
+ declare const domains_owned: typeof owned;
4851
+ declare const domains_quote: typeof quote;
4852
+ declare const domains_search: typeof search;
4853
+ declare const domains_zone: typeof zone;
4854
+ declare const domains_zoneAdd: typeof zoneAdd;
4855
+ declare const domains_zoneDelete: typeof zoneDelete;
4856
+ declare const domains_zoneUpdate: typeof zoneUpdate;
4536
4857
  declare namespace domains {
4537
- export { domains_check as check, domains_customAdd as customAdd, domains_customCheck as customCheck, domains_customList as customList, domains_customRemove as customRemove, domains_customRetry as customRetry, domains_findHostname as findHostname, get$5 as get, set$1 as set };
4858
+ export { type domains_BuyParams as BuyParams, type domains_ZoneRecordParams as ZoneRecordParams, domains_buy as buy, domains_check as check, domains_contactGet as contactGet, domains_contactSet as contactSet, domains_customAdd as customAdd, domains_customCheck as customCheck, domains_customList as customList, domains_customRemove as customRemove, domains_customRetry as customRetry, domains_findHostname as findHostname, domains_findOwned as findOwned, get$5 as get, domains_owned as owned, domains_quote as quote, domains_search as search, set$1 as set, domains_zone as zone, domains_zoneAdd as zoneAdd, domains_zoneDelete as zoneDelete, domains_zoneUpdate as zoneUpdate };
4538
4859
  }
4539
4860
 
4540
4861
  /**
@@ -4554,6 +4875,7 @@ declare namespace domains {
4554
4875
  * customerApps/AppOutboundEmail/batchView.ts
4555
4876
  * core/EmailTransport/drivers/index.ts
4556
4877
  */
4878
+
4557
4879
  /** Per-recipient outbound delivery status. */
4558
4880
  type EmailMessageStatus = 'suppressed' | 'failed' | 'sent' | 'delivered' | 'blocked' | 'bounced' | 'complained' | 'delayed' | 'rejected';
4559
4881
  /** Origin of the outbound message. */
@@ -4866,7 +5188,10 @@ interface EmailInboxResult {
4866
5188
  }
4867
5189
  /** email domains list → GET /settings/outbound-email-domains */
4868
5190
  interface OutboundEmailDomainsListResult {
4869
- domains: OutboundEmailDomainView[];
5191
+ /** `boughtDomain`: the domain the workspace bought that this one is on, whose records the platform writes. */
5192
+ domains: Array<OutboundEmailDomainView & {
5193
+ boughtDomain: BoughtDomain | null;
5194
+ }>;
4870
5195
  /** Null where the deployment sends no email (`emailConfigured` false). */
4871
5196
  effectiveSender: EmailEffectiveSender | null;
4872
5197
  emailConfigured: boolean;
@@ -4881,6 +5206,8 @@ interface OutboundEmailDomainCheckResult {
4881
5206
  /** email domains add → POST /settings/outbound-email-domains */
4882
5207
  interface OutboundEmailDomainAddResult {
4883
5208
  domain: OutboundEmailDomainView;
5209
+ /** Set on add when the domain is one the workspace bought: the records the platform wrote. */
5210
+ registeredDomain?: RegisteredDomainRecords | null;
4884
5211
  }
4885
5212
  /** email domains verify → POST /settings/outbound-email-domains/:id/retry */
4886
5213
  type OutboundEmailDomainVerifyResult = OutboundEmailDomainAddResult;
@@ -4890,7 +5217,10 @@ interface OutboundEmailDomainDeleteResult {
4890
5217
  }
4891
5218
  /** email inbound-domains list → GET /settings/email-domains */
4892
5219
  interface InboundEmailDomainsListResult {
4893
- domains: InboundEmailDomainView[];
5220
+ /** `boughtDomain`: the domain the workspace bought that this one is on, whose records the platform writes. */
5221
+ domains: Array<InboundEmailDomainView & {
5222
+ boughtDomain: BoughtDomain | null;
5223
+ }>;
4894
5224
  }
4895
5225
  /**
4896
5226
  * email inbound-domains check → POST /settings/email-domains/check-domain
@@ -4905,6 +5235,8 @@ interface InboundEmailDomainCheckResult {
4905
5235
  /** email inbound-domains add → POST /settings/email-domains */
4906
5236
  interface InboundEmailDomainAddResult {
4907
5237
  domain: InboundEmailDomainView;
5238
+ /** Set on add when the domain is one the workspace bought: the records the platform wrote. */
5239
+ registeredDomain?: RegisteredDomainRecords | null;
4908
5240
  }
4909
5241
  /** email inbound-domains verify → POST /settings/email-domains/:id/retry */
4910
5242
  type InboundEmailDomainVerifyResult = InboundEmailDomainAddResult;
@@ -8422,4 +8754,4 @@ declare class AdminTimeoutError extends Error {
8422
8754
 
8423
8755
  declare const admin: AdminClient;
8424
8756
 
8425
- export { AdminApiError, type AdminClient, type AdminClientOptions, type AdminContext, AdminTimeoutError, type AgentThreadDetail, type AgentThreadListItem, type AgentThreadsGetResult, type AgentThreadsListResult, type AgentToolCall, type AgentTranscriptMessage, type AgentTurnError, type AnalyticsAiHostRow, type AnalyticsAiSourcesResult, type AnalyticsAiVendorRow, type AnalyticsBatchResult, type AnalyticsCrawlersOverviewResult, type AnalyticsCrawlersRecentResult, type AnalyticsCrawlersRecentRow, type AnalyticsCrawlersResult, type AnalyticsCrawlersTimeseriesBucket, type AnalyticsCrawlersTimeseriesResult, type AnalyticsLiveResult, type AnalyticsMapPoint, type AnalyticsMapResult, type AnalyticsMetric, type AnalyticsQueryResult, type AnalyticsQueryResultRow, type AnalyticsSourceRow, type AnalyticsSourcesResult, type AppCronJobStatus, type AppCronJobStatusReason, type AppCronRunState, type AppEmailSuppression, type AppSecretRow, type CrashGroup, type CrashOccurrenceRow, type CrashesGetResult, type CrashesListResult, type CrashesOccurrencesResult, type CrashesStatsBucket, type CrashesStatsResult, type CronJobDecorated, type CronOverviewResult, type CronRunResult, type CronRunSummary, type DashboardLiveRelease, type DashboardReleaseMethod, type DashboardResult, type DataLiftFromDevResult, type DataLiftFromLiveResult, type DataSourceConnector, type DataSourceConnectorCredentials, type DataSourceConnectorDeletions, type DataSourceConnectorGetResult, type DataSourceConnectorPolicy, type DataSourceConnectorResult, type DataSourceInspectReport, type DataSourceInspectResult, type DataSourceJob, type DataSourceJobGetResult, type DataSourceJobManifestTokenResult, type DataSourceJobPlan, type DataSourceJobResult, type DataSourceJobSource, type DataSourceJobState, type DataSourceJobsListResult, type DataSourceMapDeployResult, type DataSourceMapTestDocument, type DataSourceMapTestOutcome, type DataSourceMapTestResult, type DataSourceMapper, type DataSourceObjectSelection, type DataSourceQuarantineResult, type DataSourceQuarantinedObject, type DataSourceReader, type DataSourceReaderDeliveries, type DataSourceReaderRetryResult, type DataSourceReaderStatusResult, type DataSourceReaderTestDocument, type DataSourceReaderTestResult, type DataSourceRemapResult, type DataSourceRereadResult, type DataSourceSyncResult, type DataSourcesBuildProgress, type DataSourcesChunkingConfig, type DataSourcesChunkingStrategy, type DataSourcesConfigResult, type DataSourcesConfigUpdateResult, type DataSourcesCountResult, type DataSourcesCreateResult, type DataSourcesDeleteResult, type DataSourcesDictionaryPushResult, type DataSourcesDictionaryReport, type DataSourcesDictionaryStatus, type DataSourcesDocument, type DataSourcesDocumentConfirmResult, type DataSourcesDocumentDeleteManyResult, type DataSourcesDocumentDeleteResult, type DataSourcesDocumentSelector, type DataSourcesDocumentStatus, type DataSourcesDocumentsResult, type DataSourcesDropResult, type DataSourcesEntitiesResult, type DataSourcesHydrateResult, type DataSourcesHydration, type DataSourcesIndex, type DataSourcesIngestConfig, type DataSourcesIngestUpdate, type DataSourcesLinkResult, type DataSourcesListEntry, type DataSourcesListResult, type DataSourcesMigration, type DataSourcesMoveResult, type DataSourcesPassage, type DataSourcesPassagesResult, type DataSourcesPlacement, type DataSourcesPromoteResult, type DataSourcesRelink, type DataSourcesRetrievalConfig, type DataSourcesRetrievalUpdate, type DataSourcesRevectorizeResult, type DataSourcesSampleResult, type DataSourcesSearchCitation, type DataSourcesSearchResult, type DataSourcesSearchResultItem, type DataSourcesUploadTokenResult, type DatasetFile, type DbQueryResult, type DiagnosticsAuditEnvironment, type DiagnosticsDashboardResult, type DiagnosticsFinding, type DiagnosticsLighthouseScores, type DiagnosticsPayload, type DiagnosticsReleaseResult, type DiagnosticsRuntimeFindings, type DomainsCheckResult, type DomainsCustomAddResult, type DomainsCustomCheckResult, type DomainsCustomHostnameUiStatus, type DomainsCustomHostnameView, type DomainsCustomListResult, type DomainsCustomRemoveResult, type DomainsCustomRetryResult, type DomainsDnsInstructions, type DomainsGetResult, type DomainsSetResult, type EmailBatchLifecycle, type EmailBatchResult, type EmailBatchSummary, type EmailBatchesResult, type EmailDomainBase, type EmailEffectiveSender, type EmailInboxResult, type EmailListResult, type EmailMessageKind, type EmailMessageResult, type EmailMessageStatus, type EmailSenderTier, type EmailSendingStatusResult, type EmailStatsResult, type EmailSummary, type EmailSuppressResult, type EmailSuppressionsResult, type EmailUnsuppressResult, type EvalAggregates, type EvalCompareResult, type EvalExpectation, type EvalQueriesAddResult, type EvalQueriesListResult, type EvalQuery, type EvalQueryResult, type EvalQueryStyle, type EvalRetrieval, type EvalRun, type EvalRunResult, type EvalRunState, type EvalRunsListResult, type EvalSet, type EvalSetGetResult, type EvalSetResult, type EvalSetState, type EvalSetsListResult, type EventChannelActivity, type EventsChannelsListResult, type EventsPublishResult, type EventsTailFrame, type FilesDeleteResult, type FilesFileMeta, type FilesListEntry, type FilesListResult, type FilesLsResult, type FilesScanBadge, type FilesScanFlagged, type FilesScanStore, type FilesStatResult, type FilesStoreSummaryEntry, type FilesUploadUrlResult, type FilesUrlResult, type FrontendErrorType, type InboundDnsInstructions, type InboundEmailDomainAddResult, type InboundEmailDomainCheckResult, type InboundEmailDomainDeleteResult, type InboundEmailDomainUiStatus, type InboundEmailDomainVerifyResult, type InboundEmailDomainView, type InboundEmailDomainsListResult, type InboxEmailPreview, type IssueAuthorKind, type IssueCommentRow, type IssueEventType, type IssueRow, type IssueStatus, type IssuesCommentResult, type IssuesCreateResult, type IssuesDeleteResult, type IssuesGetResult, type IssuesListResult, type IssuesUpdateResult, type JewelPairRow, type JewelPairSummaryRow, type JewelVerdict, type JewelsDatasetSummary, type JewelsDryrunResult, type JewelsExportResult, type JewelsGradeResult, type JewelsGrading, type JewelsOverviewResult, type JewelsPairResult, type JewelsPairsResult, type JewelsQueueResult, type JewelsResolveResult, type JewelsRunResult, type JewelsRunsResult, type JewelsTimeseriesBucket, type JewelsTimeseriesResult, type JewelsTrainResult, type LiftedDatabase, type MethodsInvokeResult, type OperationProgress, type OutboundDnsInstructions, type OutboundDnsRecord, type OutboundEmailDomainAddResult, type OutboundEmailDomainCheckResult, type OutboundEmailDomainDeleteResult, type OutboundEmailDomainUiStatus, type OutboundEmailDomainVerifyResult, type OutboundEmailDomainView, type OutboundEmailDomainsListResult, type PlatformSuppression, type PrerenderGetResult, type PrerenderInvalidateResult, type PrerenderPage, type PrerenderPagesResult, type PrerenderViewResult, type ReleaseFailureFields, type ReleaseFragment, type ReleasesByCommitResult, type ReleasesGetResult, type ReleasesListResult, type RequestsGetResult, type RequestsListResult, type RequestsListRow, type RequestsStatsMethodBucket, type RequestsStatsMethodResult, type RequestsStatsSummaryBucket, type RequestsStatsSummaryResult, type SecretsDeleteResult, type SecretsGetResult, type SecretsListResult, type SecretsSetResult, type SettingsResult, type SuppressionSource, type TaskTraceOutcome, type TaskTraceSummary, type TaskTranscriptMessage, type TaskTurnError, type TasksGetResult, type TasksListResult, type TrainingLogEntry, type TrainingRunRow, type TrainingRunStatus, type UserAuthProvider, type UserListItem, type UserRecord, type UsersCreateApiKeyResult, type UsersListResult, type UsersRevokeApiKeyResult, type UsersSetRoleResult, type V2AppSettings, type V2BuildLogEntry, type V2BuildStats, type V2CommitInfo, type V2EmailMessage, type V2ReleaseStatus, type VoiceAvailableNumber, type VoiceNumbersBuyResult, type VoiceNumbersListResult, type VoiceNumbersReleaseResult, type VoiceNumbersSearchResult, type VoiceNumbersSetNameResult, type VoicePhoneNumberStatus, type VoicePhoneNumberView, type VoiceResolvedPolicy, type VoiceSessionChannel, type VoiceSessionCost, type VoiceSessionCostLine, type VoiceSessionDetail, type VoiceSessionGetResult, type VoiceSessionListItem, type VoiceSessionSip, type VoiceSessionSpeechEntry, type VoiceSessionStatus, type VoiceSessionToolEntry, type VoiceSessionTranscriptEntry, type VoiceSessionsListResult, type VoiceSettingsCeilings, type VoiceSettingsGetResult, type VoiceSettingsOverrides, type VoiceSettingsSetResult, admin, createAdminClient, admin as default };
8757
+ export { AdminApiError, type AdminClient, type AdminClientOptions, type AdminContext, AdminTimeoutError, type AgentThreadDetail, type AgentThreadListItem, type AgentThreadsGetResult, type AgentThreadsListResult, type AgentToolCall, type AgentTranscriptMessage, type AgentTurnError, type AnalyticsAiHostRow, type AnalyticsAiSourcesResult, type AnalyticsAiVendorRow, type AnalyticsBatchResult, type AnalyticsCrawlersOverviewResult, type AnalyticsCrawlersRecentResult, type AnalyticsCrawlersRecentRow, type AnalyticsCrawlersResult, type AnalyticsCrawlersTimeseriesBucket, type AnalyticsCrawlersTimeseriesResult, type AnalyticsLiveResult, type AnalyticsMapPoint, type AnalyticsMapResult, type AnalyticsMetric, type AnalyticsQueryResult, type AnalyticsQueryResultRow, type AnalyticsSourceRow, type AnalyticsSourcesResult, type AppCronJobStatus, type AppCronJobStatusReason, type AppCronRunState, type AppEmailSuppression, type AppSecretRow, type BoughtDomain, type CrashGroup, type CrashOccurrenceRow, type CrashesGetResult, type CrashesListResult, type CrashesOccurrencesResult, type CrashesStatsBucket, type CrashesStatsResult, type CronJobDecorated, type CronOverviewResult, type CronRunResult, type CronRunSummary, type DashboardLiveRelease, type DashboardReleaseMethod, type DashboardResult, type DataLiftFromDevResult, type DataLiftFromLiveResult, type DataSourceConnector, type DataSourceConnectorCredentials, type DataSourceConnectorDeletions, type DataSourceConnectorGetResult, type DataSourceConnectorPolicy, type DataSourceConnectorResult, type DataSourceInspectReport, type DataSourceInspectResult, type DataSourceJob, type DataSourceJobGetResult, type DataSourceJobManifestTokenResult, type DataSourceJobPlan, type DataSourceJobResult, type DataSourceJobSource, type DataSourceJobState, type DataSourceJobsListResult, type DataSourceMapDeployResult, type DataSourceMapTestDocument, type DataSourceMapTestOutcome, type DataSourceMapTestResult, type DataSourceMapper, type DataSourceObjectSelection, type DataSourceQuarantineResult, type DataSourceQuarantinedObject, type DataSourceReader, type DataSourceReaderDeliveries, type DataSourceReaderRetryResult, type DataSourceReaderStatusResult, type DataSourceReaderTestDocument, type DataSourceReaderTestResult, type DataSourceRemapResult, type DataSourceRereadResult, type DataSourceSyncResult, type DataSourcesBuildProgress, type DataSourcesChunkingConfig, type DataSourcesChunkingStrategy, type DataSourcesConfigResult, type DataSourcesConfigUpdateResult, type DataSourcesCountResult, type DataSourcesCreateResult, type DataSourcesDeleteResult, type DataSourcesDictionaryPushResult, type DataSourcesDictionaryReport, type DataSourcesDictionaryStatus, type DataSourcesDocument, type DataSourcesDocumentConfirmResult, type DataSourcesDocumentDeleteManyResult, type DataSourcesDocumentDeleteResult, type DataSourcesDocumentSelector, type DataSourcesDocumentStatus, type DataSourcesDocumentsResult, type DataSourcesDropResult, type DataSourcesEntitiesResult, type DataSourcesHydrateResult, type DataSourcesHydration, type DataSourcesIndex, type DataSourcesIngestConfig, type DataSourcesIngestUpdate, type DataSourcesLinkResult, type DataSourcesListEntry, type DataSourcesListResult, type DataSourcesMigration, type DataSourcesMoveResult, type DataSourcesPassage, type DataSourcesPassagesResult, type DataSourcesPlacement, type DataSourcesPromoteResult, type DataSourcesRelink, type DataSourcesRetrievalConfig, type DataSourcesRetrievalUpdate, type DataSourcesRevectorizeResult, type DataSourcesSampleResult, type DataSourcesSearchCitation, type DataSourcesSearchResult, type DataSourcesSearchResultItem, type DataSourcesUploadTokenResult, type DatasetFile, type DbQueryResult, type DiagnosticsAuditEnvironment, type DiagnosticsDashboardResult, type DiagnosticsFinding, type DiagnosticsLighthouseScores, type DiagnosticsPayload, type DiagnosticsReleaseResult, type DiagnosticsRuntimeFindings, type DomainsCheckResult, type DomainsCustomAddResult, type DomainsCustomCheckResult, type DomainsCustomHostnameUiStatus, type DomainsCustomHostnameView, type DomainsCustomListResult, type DomainsCustomRemoveResult, type DomainsCustomRetryResult, type DomainsDnsInstructions, type DomainsGetResult, type DomainsSetResult, type EmailBatchLifecycle, type EmailBatchResult, type EmailBatchSummary, type EmailBatchesResult, type EmailDomainBase, type EmailEffectiveSender, type EmailInboxResult, type EmailListResult, type EmailMessageKind, type EmailMessageResult, type EmailMessageStatus, type EmailSenderTier, type EmailSendingStatusResult, type EmailStatsResult, type EmailSummary, type EmailSuppressResult, type EmailSuppressionsResult, type EmailUnsuppressResult, type EvalAggregates, type EvalCompareResult, type EvalExpectation, type EvalQueriesAddResult, type EvalQueriesListResult, type EvalQuery, type EvalQueryResult, type EvalQueryStyle, type EvalRetrieval, type EvalRun, type EvalRunResult, type EvalRunState, type EvalRunsListResult, type EvalSet, type EvalSetGetResult, type EvalSetResult, type EvalSetState, type EvalSetsListResult, type EventChannelActivity, type EventsChannelsListResult, type EventsPublishResult, type EventsTailFrame, type FilesDeleteResult, type FilesFileMeta, type FilesListEntry, type FilesListResult, type FilesLsResult, type FilesScanBadge, type FilesScanFlagged, type FilesScanStore, type FilesStatResult, type FilesStoreSummaryEntry, type FilesUploadUrlResult, type FilesUrlResult, type FrontendErrorType, type InboundDnsInstructions, type InboundEmailDomainAddResult, type InboundEmailDomainCheckResult, type InboundEmailDomainDeleteResult, type InboundEmailDomainUiStatus, type InboundEmailDomainVerifyResult, type InboundEmailDomainView, type InboundEmailDomainsListResult, type InboxEmailPreview, type IssueAuthorKind, type IssueCommentRow, type IssueEventType, type IssueRow, type IssueStatus, type IssuesCommentResult, type IssuesCreateResult, type IssuesDeleteResult, type IssuesGetResult, type IssuesListResult, type IssuesUpdateResult, type JewelPairRow, type JewelPairSummaryRow, type JewelVerdict, type JewelsDatasetSummary, type JewelsDryrunResult, type JewelsExportResult, type JewelsGradeResult, type JewelsGrading, type JewelsOverviewResult, type JewelsPairResult, type JewelsPairsResult, type JewelsQueueResult, type JewelsResolveResult, type JewelsRunResult, type JewelsRunsResult, type JewelsTimeseriesBucket, type JewelsTimeseriesResult, type JewelsTrainResult, type LiftedDatabase, type MethodsInvokeResult, type OperationProgress, type OutboundDnsInstructions, type OutboundDnsRecord, type OutboundEmailDomainAddResult, type OutboundEmailDomainCheckResult, type OutboundEmailDomainDeleteResult, type OutboundEmailDomainUiStatus, type OutboundEmailDomainVerifyResult, type OutboundEmailDomainView, type OutboundEmailDomainsListResult, type PlatformSuppression, type PrerenderGetResult, type PrerenderInvalidateResult, type PrerenderPage, type PrerenderPagesResult, type PrerenderViewResult, type RegisteredDomainConnection, type RegisteredDomainOffer, type RegisteredDomainQuote, type RegisteredDomainRecordType, type RegisteredDomainRecords, type RegisteredDomainStatus, type RegisteredDomainView, type RegisteredDomainZoneRecord, type RegisteredDomainsBuyResult, type RegisteredDomainsContactResult, type RegisteredDomainsContactSetResult, type RegisteredDomainsListResult, type RegisteredDomainsQuoteResult, type RegisteredDomainsRecordDeleteResult, type RegisteredDomainsRecordResult, type RegisteredDomainsSearchResult, type RegisteredDomainsZoneResult, type RegistrantContact, type ReleaseFailureFields, type ReleaseFragment, type ReleasesByCommitResult, type ReleasesGetResult, type ReleasesListResult, type RequestsGetResult, type RequestsListResult, type RequestsListRow, type RequestsStatsMethodBucket, type RequestsStatsMethodResult, type RequestsStatsSummaryBucket, type RequestsStatsSummaryResult, type SecretsDeleteResult, type SecretsGetResult, type SecretsListResult, type SecretsSetResult, type SettingsResult, type SuppressionSource, type TaskTraceOutcome, type TaskTraceSummary, type TaskTranscriptMessage, type TaskTurnError, type TasksGetResult, type TasksListResult, type TrainingLogEntry, type TrainingRunRow, type TrainingRunStatus, type UserAuthProvider, type UserListItem, type UserRecord, type UsersCreateApiKeyResult, type UsersListResult, type UsersRevokeApiKeyResult, type UsersSetRoleResult, type V2AppSettings, type V2BuildLogEntry, type V2BuildStats, type V2CommitInfo, type V2EmailMessage, type V2ReleaseStatus, type VoiceAvailableNumber, type VoiceNumbersBuyResult, type VoiceNumbersListResult, type VoiceNumbersReleaseResult, type VoiceNumbersSearchResult, type VoiceNumbersSetNameResult, type VoicePhoneNumberStatus, type VoicePhoneNumberView, type VoiceResolvedPolicy, type VoiceSessionChannel, type VoiceSessionCost, type VoiceSessionCostLine, type VoiceSessionDetail, type VoiceSessionGetResult, type VoiceSessionListItem, type VoiceSessionSip, type VoiceSessionSpeechEntry, type VoiceSessionStatus, type VoiceSessionToolEntry, type VoiceSessionTranscriptEntry, type VoiceSessionsListResult, type VoiceSettingsCeilings, type VoiceSettingsGetResult, type VoiceSettingsOverrides, type VoiceSettingsSetResult, type WorkspaceRegistrantContact, admin, createAdminClient, admin as default };
package/dist/index.js CHANGED
@@ -105,20 +105,20 @@ function seg(value) {
105
105
  return encodeURIComponent(String(value));
106
106
  }
107
107
  function qs(params) {
108
- const search2 = new URLSearchParams();
108
+ const search3 = new URLSearchParams();
109
109
  for (const [key, value] of Object.entries(params)) {
110
110
  if (value === void 0 || value === null) {
111
111
  continue;
112
112
  }
113
113
  if (Array.isArray(value)) {
114
114
  for (const entry of value) {
115
- search2.append(key, String(entry));
115
+ search3.append(key, String(entry));
116
116
  }
117
117
  continue;
118
118
  }
119
- search2.set(key, String(value));
119
+ search3.set(key, String(value));
120
120
  }
121
- const text = search2.toString();
121
+ const text = search3.toString();
122
122
  return text ? `?${text}` : "";
123
123
  }
124
124
  function authHeaders(ctx) {
@@ -1788,15 +1788,26 @@ async function fetchReport(url) {
1788
1788
  // src/ops/domains.ts
1789
1789
  var domains_exports = {};
1790
1790
  __export(domains_exports, {
1791
+ buy: () => buy,
1791
1792
  check: () => check,
1793
+ contactGet: () => contactGet,
1794
+ contactSet: () => contactSet,
1792
1795
  customAdd: () => customAdd,
1793
1796
  customCheck: () => customCheck,
1794
1797
  customList: () => customList,
1795
1798
  customRemove: () => customRemove,
1796
1799
  customRetry: () => customRetry,
1797
1800
  findHostname: () => findHostname,
1801
+ findOwned: () => findOwned,
1798
1802
  get: () => get6,
1799
- set: () => set
1803
+ owned: () => owned,
1804
+ quote: () => quote,
1805
+ search: () => search2,
1806
+ set: () => set,
1807
+ zone: () => zone,
1808
+ zoneAdd: () => zoneAdd,
1809
+ zoneDelete: () => zoneDelete,
1810
+ zoneUpdate: () => zoneUpdate
1800
1811
  });
1801
1812
  function get6(ctx) {
1802
1813
  return call(
@@ -1871,6 +1882,94 @@ async function customRetry(ctx, hostname) {
1871
1882
  `/_internal/v2/apps/${ctx.appId}/settings/custom-domains/${seg(id)}/retry`
1872
1883
  );
1873
1884
  }
1885
+ var REGISTERED = (ctx) => `/_internal/v2/apps/${ctx.appId}/settings/registered-domains`;
1886
+ function search2(ctx, query3) {
1887
+ return call(
1888
+ ctx,
1889
+ "POST",
1890
+ `${REGISTERED(ctx)}/search`,
1891
+ { query: query3 }
1892
+ );
1893
+ }
1894
+ function quote(ctx, name) {
1895
+ return call(
1896
+ ctx,
1897
+ "POST",
1898
+ `${REGISTERED(ctx)}/quote`,
1899
+ { name }
1900
+ );
1901
+ }
1902
+ function buy(ctx, params) {
1903
+ return call(
1904
+ ctx,
1905
+ "POST",
1906
+ `${REGISTERED(ctx)}/purchase`,
1907
+ { name: params.name, expectedPrice: params.price, acceptTerms: true }
1908
+ );
1909
+ }
1910
+ function owned(ctx) {
1911
+ return call(ctx, "GET", REGISTERED(ctx));
1912
+ }
1913
+ async function findOwned(ctx, name) {
1914
+ const wanted = name.toLowerCase();
1915
+ const { domains } = await owned(ctx);
1916
+ const domain = domains.find(
1917
+ (d) => d.name === wanted && (d.status === "active" || d.status === "expired" || d.status === "pending")
1918
+ );
1919
+ if (!domain) {
1920
+ throw new Error(`No domain "${name}" in this workspace`);
1921
+ }
1922
+ return domain;
1923
+ }
1924
+ function contactGet(ctx) {
1925
+ return call(
1926
+ ctx,
1927
+ "GET",
1928
+ `${REGISTERED(ctx)}/contact`
1929
+ );
1930
+ }
1931
+ function contactSet(ctx, contact) {
1932
+ return call(
1933
+ ctx,
1934
+ "POST",
1935
+ `${REGISTERED(ctx)}/contact`,
1936
+ { ...contact }
1937
+ );
1938
+ }
1939
+ async function zone(ctx, name) {
1940
+ const domain = await findOwned(ctx, name);
1941
+ return call(
1942
+ ctx,
1943
+ "GET",
1944
+ `${REGISTERED(ctx)}/${seg(domain.id)}/records`
1945
+ );
1946
+ }
1947
+ async function zoneAdd(ctx, name, record) {
1948
+ const domain = await findOwned(ctx, name);
1949
+ return call(
1950
+ ctx,
1951
+ "POST",
1952
+ `${REGISTERED(ctx)}/${seg(domain.id)}/records`,
1953
+ { ...record }
1954
+ );
1955
+ }
1956
+ async function zoneUpdate(ctx, name, recordId, record) {
1957
+ const domain = await findOwned(ctx, name);
1958
+ return call(
1959
+ ctx,
1960
+ "POST",
1961
+ `${REGISTERED(ctx)}/${seg(domain.id)}/records/${seg(recordId)}`,
1962
+ { ...record }
1963
+ );
1964
+ }
1965
+ async function zoneDelete(ctx, name, recordId) {
1966
+ const domain = await findOwned(ctx, name);
1967
+ return call(
1968
+ ctx,
1969
+ "POST",
1970
+ `${REGISTERED(ctx)}/${seg(domain.id)}/records/${seg(recordId)}/delete`
1971
+ );
1972
+ }
1874
1973
 
1875
1974
  // src/ops/email.ts
1876
1975
  var email_exports = {};
@@ -2152,11 +2251,11 @@ function logs(ctx, params) {
2152
2251
  if (params.limit) {
2153
2252
  query3.set("limit", String(params.limit));
2154
2253
  }
2155
- const search2 = query3.toString();
2254
+ const search3 = query3.toString();
2156
2255
  return call(
2157
2256
  ctx,
2158
2257
  "GET",
2159
- `${base6(ctx.appId)}/${encodeURIComponent(params.id)}/logs${search2 ? `?${search2}` : ""}`
2258
+ `${base6(ctx.appId)}/${encodeURIComponent(params.id)}/logs${search3 ? `?${search3}` : ""}`
2160
2259
  );
2161
2260
  }
2162
2261
  function provision(ctx, params) {