@aoxborrow/registrar-client 0.1.0 → 0.2.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/README.md CHANGED
@@ -55,8 +55,9 @@ npm install @aoxborrow/registrar-client
55
55
  | `spaceship` | Spaceship | key + secret | — | |
56
56
 
57
57
  Each provider class exposes static discovery metadata — `displayName`,
58
- `configFields` (the credential fields it needs), and `helpText` (where to get
59
- them) — so you can build a credential UI generically.
58
+ `website` (its public domain, e.g. `gandi.net`), `configFields` (the credential
59
+ fields it needs), and `helpText` (where to get them) — so you can build a
60
+ credential UI generically.
60
61
 
61
62
  Research notes for additional registrars live in
62
63
  [`docs/registrars/`](docs/registrars). Three are documented but **not**
package/dist/index.cjs CHANGED
@@ -743,6 +743,7 @@ var BaseRegistrar = class {
743
743
  var CloudflareRegistrar = class _CloudflareRegistrar extends BaseRegistrar {
744
744
  name = "cloudflare";
745
745
  static displayName = "Cloudflare";
746
+ static website = "cloudflare.com";
746
747
  static helpText = 'Create an API token in your Cloudflare dashboard under My Profile > API Tokens. The token needs "Account.Registrar" read/write permissions. Find your Account ID in the URL or on the Overview page of any zone.';
747
748
  static configFields = [
748
749
  { name: "apiToken", label: "API Token", type: "password", required: true },
@@ -1599,6 +1600,7 @@ var SUPPORTED_DNS_TYPES = /* @__PURE__ */ new Set(["A", "AAAA", "CNAME", "MX", "
1599
1600
  var DynadotRegistrar = class extends BaseRegistrar {
1600
1601
  name = "dynadot";
1601
1602
  static displayName = "Dynadot";
1603
+ static website = "dynadot.com";
1602
1604
  static helpText = "Under Tools > API in your Dynadot account, generate an API Key and API Secret. The account must be unlocked with API access enabled. The key identifies you; the secret signs requests (X-Signature) and is never sent directly.";
1603
1605
  static configFields = [
1604
1606
  { name: "apiKey", label: "API Key", type: "password", required: true },
@@ -2346,6 +2348,7 @@ var GANDI_TYPE_TO_FORWARD = {
2346
2348
  var GandiRegistrar = class extends BaseRegistrar {
2347
2349
  name = "gandi";
2348
2350
  static displayName = "Gandi.net";
2351
+ static website = "gandi.net";
2349
2352
  static helpText = "Generate a Personal Access Token (PAT) in your Gandi account under Account Settings > Security. The token needs permission to manage domains. (Gandi has deprecated the legacy API Key; use a PAT.)";
2350
2353
  static configFields = [
2351
2354
  { name: "apiKey", label: "Personal Access Token", type: "password", required: true }
@@ -3032,6 +3035,7 @@ var PRICE_MICRO_UNITS = 1e6;
3032
3035
  var GoDaddyRegistrar = class _GoDaddyRegistrar extends BaseRegistrar {
3033
3036
  name = "godaddy";
3034
3037
  static displayName = "GoDaddy";
3038
+ static website = "godaddy.com";
3035
3039
  static helpText = 'Authenticate one of two ways. For production, create a Personal Access Token (PAT) at https://developer.godaddy.com and pass it as `apiToken` \u2014 this enables the modern v3 API. For sandbox testing, create OTE (test environment) keys and pass `apiKey` + `apiSecret` with { environment: "sandbox" }; OTE only exposes the legacy v1 API. The sso-key (API Key/Secret) scheme is deprecated by GoDaddy in 2026. Domain forwarding uses the v2 customer-scoped API \u2014 set `customerId` to your GoDaddy customer UUID, or to your numeric shopper/account ID (which the client resolves to the UUID via an sso-key-authenticated lookup).';
3036
3040
  static configFields = [
3037
3041
  { name: "apiToken", label: "API Token (PAT)", type: "password", required: false },
@@ -3896,6 +3900,7 @@ var TOKEN_URL = "https://api.namebright.com/auth/token";
3896
3900
  var NameBrightRegistrar = class extends BaseRegistrar {
3897
3901
  name = "namebright";
3898
3902
  static displayName = "NameBright";
3903
+ static website = "namebright.com";
3899
3904
  static helpText = 'API access is not enabled by default \u2014 you must request it from NameBright (contact support / your account manager) before the API Management page is available. Once enabled, create an API Application under my.namebright.com > My Account > API Management. The Client ID is "<accountName>:<applicationName>"; NameBright issues the Client Secret. Note the application also enforces an IP whitelist.';
3900
3905
  static configFields = [
3901
3906
  { name: "clientId", label: "Client ID", type: "text", required: true },
@@ -4386,6 +4391,7 @@ var NC_CONTACT_ROLES = [
4386
4391
  var NamecheapRegistrar = class extends BaseRegistrar {
4387
4392
  name = "namecheap";
4388
4393
  static displayName = "Namecheap";
4394
+ static website = "namecheap.com";
4389
4395
  static helpText = "Enable API access in your Namecheap account under Profile > Tools > API Access, generate an API key, and whitelist your request IP(s) in the API settings. Provide the whitelisted IP as the Client IP field.";
4390
4396
  static configFields = [
4391
4397
  { name: "username", label: "Username", type: "text", required: true },
@@ -4943,6 +4949,7 @@ function toNcContactParams(prefix, c) {
4943
4949
  var NameSiloRegistrar = class extends BaseRegistrar {
4944
4950
  name = "namesilo";
4945
4951
  static displayName = "NameSilo";
4952
+ static website = "namesilo.com";
4946
4953
  static helpText = 'Generate an API key in your NameSilo account under Account Options > API Manager. You can optionally restrict the key to specific IP addresses there. For sandbox testing, use { environment: "sandbox" } (OTE host ote.namesilo.com) \u2014 OTE credentials are not self-service; you must contact NameSilo support to be issued them.';
4947
4954
  static configFields = [
4948
4955
  { name: "apiKey", label: "API Key", type: "password", required: true }
@@ -5624,6 +5631,7 @@ var PB_TYPE_TO_FORWARD = {
5624
5631
  var PorkbunRegistrar = class extends BaseRegistrar {
5625
5632
  name = "porkbun";
5626
5633
  static displayName = "Porkbun";
5634
+ static website = "porkbun.com";
5627
5635
  static helpText = 'Create an API key and secret in your Porkbun account under Account > API Access, then enable "API Access" on each domain you want to manage (per-domain toggle in the domain details). For testing, use a sandbox key (prefixed "pk1_sb_") with { environment: "sandbox" } \u2014 it hits the same base URL but an isolated test environment with $1,000 of fake credit and no real charges (top up or reset via POST /sandbox/topup and POST /sandbox/reset).';
5628
5636
  static configFields = [
5629
5637
  { name: "apiKey", label: "API Key", type: "password", required: true },
@@ -6230,6 +6238,7 @@ var WRITABLE_DNS_TYPES = /* @__PURE__ */ new Set(["A", "AAAA", "CNAME", "NS", "T
6230
6238
  var SpaceshipRegistrar = class extends BaseRegistrar {
6231
6239
  name = "spaceship";
6232
6240
  static displayName = "Spaceship";
6241
+ static website = "spaceship.com";
6233
6242
  static helpText = 'Generate your API key and secret in the API Manager at Spaceship using the "New API key" button. The API requires both X-API-Key and X-API-Secret headers.';
6234
6243
  static configFields = [
6235
6244
  { name: "apiKey", label: "API Key", type: "password", required: true },