@hasna/domains 0.0.20 → 0.0.21
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 +139 -63
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/domain.d.ts.map +1 -1
- package/dist/cli/commands/provider.d.ts.map +1 -1
- package/dist/cli/commands/providers.d.ts.map +1 -1
- package/dist/cli/commands/storage.d.ts +3 -0
- package/dist/cli/commands/storage.d.ts.map +1 -0
- package/dist/cli/index.js +1525 -448
- package/dist/db/pg-migrations.d.ts +1 -1
- package/dist/db/storage-sync.d.ts +55 -0
- package/dist/db/storage-sync.d.ts.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +348 -58
- package/dist/lib/brandsight.d.ts.map +1 -1
- package/dist/lib/capability.d.ts.map +1 -1
- package/dist/lib/cloudflare-auth.d.ts.map +1 -1
- package/dist/lib/creds-check.d.ts.map +1 -1
- package/dist/lib/env-aliases.d.ts +43 -0
- package/dist/lib/env-aliases.d.ts.map +1 -0
- package/dist/lib/namecheap.d.ts +13 -0
- package/dist/lib/namecheap.d.ts.map +1 -1
- package/dist/lib/registrar.d.ts +36 -2
- package/dist/lib/registrar.d.ts.map +1 -1
- package/dist/lib/route53.d.ts.map +1 -1
- package/dist/lib/sedo.d.ts +7 -0
- package/dist/lib/sedo.d.ts.map +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +16721 -18634
- package/dist/mcp/storage-tools.d.ts +3 -0
- package/dist/mcp/storage-tools.d.ts.map +1 -0
- package/dist/storage.d.ts +5 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +5703 -0
- package/package.json +8 -2
- package/dist/cli/commands/cloud.d.ts +0 -3
- package/dist/cli/commands/cloud.d.ts.map +0 -1
- package/dist/db/cloud-sync.d.ts +0 -33
- package/dist/db/cloud-sync.d.ts.map +0 -1
- package/dist/mcp/cloud-tools.d.ts +0 -3
- package/dist/mcp/cloud-tools.d.ts.map +0 -1
package/dist/index.js
CHANGED
|
@@ -28633,8 +28633,8 @@ class PgAdapterAsync {
|
|
|
28633
28633
|
await this.pool.end();
|
|
28634
28634
|
}
|
|
28635
28635
|
}
|
|
28636
|
-
// src/db/
|
|
28637
|
-
var
|
|
28636
|
+
// src/db/storage-sync.ts
|
|
28637
|
+
var STORAGE_TABLES = [
|
|
28638
28638
|
"domains",
|
|
28639
28639
|
"dns_records",
|
|
28640
28640
|
"alerts",
|
|
@@ -28644,6 +28644,7 @@ var CLOUD_TABLES = [
|
|
|
28644
28644
|
"domain_history",
|
|
28645
28645
|
"domain_reputation"
|
|
28646
28646
|
];
|
|
28647
|
+
var DOMAINS_STORAGE_TABLES = STORAGE_TABLES;
|
|
28647
28648
|
var PRIMARY_KEYS = {
|
|
28648
28649
|
domains: ["id"],
|
|
28649
28650
|
dns_records: ["id"],
|
|
@@ -28654,25 +28655,57 @@ var PRIMARY_KEYS = {
|
|
|
28654
28655
|
domain_history: ["id"],
|
|
28655
28656
|
domain_reputation: ["id"]
|
|
28656
28657
|
};
|
|
28657
|
-
|
|
28658
|
-
|
|
28658
|
+
var DOMAINS_STORAGE_ENV = "HASNA_DOMAINS_DATABASE_URL";
|
|
28659
|
+
var DOMAINS_STORAGE_FALLBACK_ENV = "DOMAINS_DATABASE_URL";
|
|
28660
|
+
var DOMAINS_STORAGE_MODE_ENV = "HASNA_DOMAINS_STORAGE_MODE";
|
|
28661
|
+
var DOMAINS_STORAGE_MODE_FALLBACK_ENV = "DOMAINS_STORAGE_MODE";
|
|
28662
|
+
var STORAGE_DATABASE_ENV = [DOMAINS_STORAGE_ENV, DOMAINS_STORAGE_FALLBACK_ENV];
|
|
28663
|
+
var STORAGE_MODE_ENV = [DOMAINS_STORAGE_MODE_ENV, DOMAINS_STORAGE_MODE_FALLBACK_ENV];
|
|
28664
|
+
function firstEnv(names) {
|
|
28665
|
+
for (const name of names) {
|
|
28666
|
+
const value = process.env[name];
|
|
28667
|
+
if (value)
|
|
28668
|
+
return value;
|
|
28669
|
+
}
|
|
28670
|
+
return null;
|
|
28671
|
+
}
|
|
28672
|
+
function normalizeStorageMode(value) {
|
|
28673
|
+
if (!value)
|
|
28674
|
+
return null;
|
|
28675
|
+
const normalized = value.trim().toLowerCase();
|
|
28676
|
+
if (normalized === "local" || normalized === "remote" || normalized === "hybrid")
|
|
28677
|
+
return normalized;
|
|
28678
|
+
return null;
|
|
28659
28679
|
}
|
|
28660
|
-
|
|
28661
|
-
|
|
28680
|
+
function getStorageDatabaseUrl() {
|
|
28681
|
+
return firstEnv(STORAGE_DATABASE_ENV);
|
|
28682
|
+
}
|
|
28683
|
+
function getStorageDatabaseEnvName() {
|
|
28684
|
+
for (const name of STORAGE_DATABASE_ENV) {
|
|
28685
|
+
if (process.env[name])
|
|
28686
|
+
return name;
|
|
28687
|
+
}
|
|
28688
|
+
return null;
|
|
28689
|
+
}
|
|
28690
|
+
function getStorageMode() {
|
|
28691
|
+
return normalizeStorageMode(firstEnv(STORAGE_MODE_ENV)) ?? (getStorageDatabaseUrl() ? "remote" : "local");
|
|
28692
|
+
}
|
|
28693
|
+
async function getStoragePg() {
|
|
28694
|
+
const url = getStorageDatabaseUrl();
|
|
28662
28695
|
if (!url) {
|
|
28663
|
-
throw new Error("Missing
|
|
28696
|
+
throw new Error("Missing HASNA_DOMAINS_DATABASE_URL or DOMAINS_DATABASE_URL");
|
|
28664
28697
|
}
|
|
28665
28698
|
return new PgAdapterAsync(url);
|
|
28666
28699
|
}
|
|
28667
|
-
async function
|
|
28700
|
+
async function runStorageMigrations(remote) {
|
|
28668
28701
|
for (const sql of PG_MIGRATIONS)
|
|
28669
28702
|
await remote.run(sql);
|
|
28670
28703
|
}
|
|
28671
|
-
async function
|
|
28672
|
-
const remote = await
|
|
28704
|
+
async function storagePush(options) {
|
|
28705
|
+
const remote = await getStoragePg();
|
|
28673
28706
|
const db = getDatabase();
|
|
28674
28707
|
try {
|
|
28675
|
-
await
|
|
28708
|
+
await runStorageMigrations(remote);
|
|
28676
28709
|
const results = [];
|
|
28677
28710
|
for (const table of resolveTables(options?.tables))
|
|
28678
28711
|
results.push(await pushTable(db, remote, table));
|
|
@@ -28682,11 +28715,11 @@ async function cloudPush(options) {
|
|
|
28682
28715
|
await remote.close();
|
|
28683
28716
|
}
|
|
28684
28717
|
}
|
|
28685
|
-
async function
|
|
28686
|
-
const remote = await
|
|
28718
|
+
async function storagePull(options) {
|
|
28719
|
+
const remote = await getStoragePg();
|
|
28687
28720
|
const db = getDatabase();
|
|
28688
28721
|
try {
|
|
28689
|
-
await
|
|
28722
|
+
await runStorageMigrations(remote);
|
|
28690
28723
|
const results = [];
|
|
28691
28724
|
for (const table of resolveTables(options?.tables))
|
|
28692
28725
|
results.push(await pullTable(remote, db, table));
|
|
@@ -28696,20 +28729,33 @@ async function cloudPull(options) {
|
|
|
28696
28729
|
await remote.close();
|
|
28697
28730
|
}
|
|
28698
28731
|
}
|
|
28699
|
-
async function
|
|
28700
|
-
const pull = await
|
|
28701
|
-
const push = await
|
|
28732
|
+
async function storageSync(options) {
|
|
28733
|
+
const pull = await storagePull(options);
|
|
28734
|
+
const push = await storagePush(options);
|
|
28702
28735
|
return { pull, push };
|
|
28703
28736
|
}
|
|
28704
|
-
function
|
|
28737
|
+
function getStorageSyncMetaAll() {
|
|
28705
28738
|
const db = getDatabase();
|
|
28706
28739
|
ensureSyncMetaTable(db);
|
|
28707
28740
|
return db.query("SELECT table_name, last_synced_at, direction FROM _domains_sync_meta ORDER BY table_name, direction").all();
|
|
28708
28741
|
}
|
|
28742
|
+
function getStorageStatus() {
|
|
28743
|
+
return {
|
|
28744
|
+
configured: Boolean(getStorageDatabaseUrl()),
|
|
28745
|
+
env: STORAGE_DATABASE_ENV,
|
|
28746
|
+
mode: getStorageMode(),
|
|
28747
|
+
service: "domains",
|
|
28748
|
+
tables: STORAGE_TABLES,
|
|
28749
|
+
sync: getStorageSyncMetaAll()
|
|
28750
|
+
};
|
|
28751
|
+
}
|
|
28752
|
+
function getSyncMetaAll() {
|
|
28753
|
+
return getStorageSyncMetaAll();
|
|
28754
|
+
}
|
|
28709
28755
|
function resolveTables(tables) {
|
|
28710
28756
|
if (!tables || tables.length === 0)
|
|
28711
|
-
return [...
|
|
28712
|
-
const allowed = new Set(
|
|
28757
|
+
return [...STORAGE_TABLES];
|
|
28758
|
+
const allowed = new Set(STORAGE_TABLES);
|
|
28713
28759
|
const requested = tables.map((table) => table.trim()).filter(Boolean);
|
|
28714
28760
|
const invalid = requested.filter((table) => !allowed.has(table));
|
|
28715
28761
|
if (invalid.length > 0)
|
|
@@ -28943,6 +28989,61 @@ async function renewDomain(domain, years = 1, config) {
|
|
|
28943
28989
|
chargedAmount: chargedAmount || undefined
|
|
28944
28990
|
};
|
|
28945
28991
|
}
|
|
28992
|
+
function namecheapContactParams(contact) {
|
|
28993
|
+
const organization = contact.organization_name || "NA";
|
|
28994
|
+
const base = {
|
|
28995
|
+
FirstName: contact.first_name,
|
|
28996
|
+
LastName: contact.last_name,
|
|
28997
|
+
OrganizationName: organization,
|
|
28998
|
+
Address1: contact.address_line_1,
|
|
28999
|
+
City: contact.city,
|
|
29000
|
+
StateProvince: contact.state,
|
|
29001
|
+
PostalCode: contact.zip_code,
|
|
29002
|
+
Country: contact.country_code,
|
|
29003
|
+
Phone: contact.phone,
|
|
29004
|
+
EmailAddress: contact.email
|
|
29005
|
+
};
|
|
29006
|
+
const params = {};
|
|
29007
|
+
for (const prefix of ["Registrant", "Tech", "Admin", "AuxBilling"]) {
|
|
29008
|
+
for (const [key, value] of Object.entries(base)) {
|
|
29009
|
+
params[prefix + key] = value;
|
|
29010
|
+
}
|
|
29011
|
+
}
|
|
29012
|
+
return params;
|
|
29013
|
+
}
|
|
29014
|
+
async function registerDomain(domain, contact, options = {}, config) {
|
|
29015
|
+
const cfg = config || getConfig();
|
|
29016
|
+
const params = {
|
|
29017
|
+
DomainName: domain,
|
|
29018
|
+
Years: String(options.years ?? 1),
|
|
29019
|
+
AddFreeWhoisguard: options.whoisGuard === false ? "no" : "yes",
|
|
29020
|
+
WGEnabled: options.whoisGuard === false ? "no" : "yes",
|
|
29021
|
+
...namecheapContactParams(contact)
|
|
29022
|
+
};
|
|
29023
|
+
if (options.premiumPrice !== undefined) {
|
|
29024
|
+
params.IsPremiumDomain = "true";
|
|
29025
|
+
params.PremiumPrice = String(options.premiumPrice);
|
|
29026
|
+
}
|
|
29027
|
+
const xml = await apiRequest(cfg, "namecheap.domains.create", params);
|
|
29028
|
+
return {
|
|
29029
|
+
domain,
|
|
29030
|
+
success: xml.includes('Status="OK"') || xml.includes('Registered="true"'),
|
|
29031
|
+
orderId: parseXmlValue(xml, "OrderId") || undefined,
|
|
29032
|
+
chargedAmount: parseXmlValue(xml, "ChargedAmount") || undefined
|
|
29033
|
+
};
|
|
29034
|
+
}
|
|
29035
|
+
async function updateNameservers(domain, nameservers, config) {
|
|
29036
|
+
if (nameservers.length === 0)
|
|
29037
|
+
throw new Error("updateNameservers requires at least one nameserver");
|
|
29038
|
+
const cfg = config || getConfig();
|
|
29039
|
+
const { sld, tld } = splitDomain(domain);
|
|
29040
|
+
const xml = await apiRequest(cfg, "namecheap.domains.dns.setCustom", {
|
|
29041
|
+
SLD: sld,
|
|
29042
|
+
TLD: tld,
|
|
29043
|
+
Nameservers: nameservers.join(",")
|
|
29044
|
+
});
|
|
29045
|
+
return xml.includes('Status="OK"') || xml.includes('Updated="true"');
|
|
29046
|
+
}
|
|
28946
29047
|
async function getDnsRecords(_domain, sld, tld, config) {
|
|
28947
29048
|
const cfg = config || getConfig();
|
|
28948
29049
|
const xml = await apiRequest(cfg, "namecheap.domains.dns.getHosts", {
|
|
@@ -35661,7 +35762,7 @@ async function checkAvailability3(domain, config) {
|
|
|
35661
35762
|
} catch {}
|
|
35662
35763
|
return availability;
|
|
35663
35764
|
}
|
|
35664
|
-
async function
|
|
35765
|
+
async function registerDomain2(domain, contact, durationYears = 1, autoRenew = true, config) {
|
|
35665
35766
|
const { domains } = makeClients(config);
|
|
35666
35767
|
const contactDetail = {
|
|
35667
35768
|
FirstName: contact.first_name,
|
|
@@ -35710,7 +35811,7 @@ async function getDomainDetail(domain, config) {
|
|
|
35710
35811
|
nameservers: (result.Nameservers ?? []).map((ns) => ns.Name ?? "").filter(Boolean)
|
|
35711
35812
|
};
|
|
35712
35813
|
}
|
|
35713
|
-
async function
|
|
35814
|
+
async function updateNameservers2(domain, nameservers, config, client) {
|
|
35714
35815
|
if (!nameservers.length) {
|
|
35715
35816
|
throw new Error("updateNameservers requires at least one nameserver");
|
|
35716
35817
|
}
|
|
@@ -35895,6 +35996,8 @@ async function upsertRecords(hostedZoneId, records, config) {
|
|
|
35895
35996
|
}
|
|
35896
35997
|
function createRoute53Provider(config) {
|
|
35897
35998
|
const cfg = config ?? getConfig2();
|
|
35999
|
+
const registerWithRoute53 = registerDomain2;
|
|
36000
|
+
const updateRoute53Nameservers = updateNameservers2;
|
|
35898
36001
|
return {
|
|
35899
36002
|
name: "route53",
|
|
35900
36003
|
async listDomains() {
|
|
@@ -35921,6 +36024,14 @@ function createRoute53Provider(config) {
|
|
|
35921
36024
|
auto_renew: detail.auto_renew
|
|
35922
36025
|
};
|
|
35923
36026
|
},
|
|
36027
|
+
async registerDomain(domain, contact, options = {}) {
|
|
36028
|
+
const result = await registerWithRoute53(domain, contact, options.years ?? 1, options.autoRenew ?? true, cfg);
|
|
36029
|
+
return { domain, success: !!result.operationId, operationId: result.operationId };
|
|
36030
|
+
},
|
|
36031
|
+
async updateNameservers(domain, nameservers) {
|
|
36032
|
+
const result = await updateRoute53Nameservers(domain, nameservers, cfg);
|
|
36033
|
+
return { domain, success: !!result.operationId, operationId: result.operationId };
|
|
36034
|
+
},
|
|
35924
36035
|
async renewDomain(_domain) {
|
|
35925
36036
|
return { domain: _domain, success: false, orderId: undefined, chargedAmount: undefined };
|
|
35926
36037
|
},
|
|
@@ -36004,15 +36115,129 @@ function createRoute53Provider(config) {
|
|
|
36004
36115
|
};
|
|
36005
36116
|
}
|
|
36006
36117
|
|
|
36007
|
-
// src/lib/
|
|
36008
|
-
function
|
|
36009
|
-
const
|
|
36010
|
-
|
|
36011
|
-
|
|
36118
|
+
// src/lib/env-aliases.ts
|
|
36119
|
+
function firstEnv2(env, names) {
|
|
36120
|
+
for (const key of names) {
|
|
36121
|
+
const value = env[key];
|
|
36122
|
+
if (value)
|
|
36123
|
+
return { key, value };
|
|
36124
|
+
}
|
|
36125
|
+
return;
|
|
36126
|
+
}
|
|
36127
|
+
function hasEveryEnv(env, groups) {
|
|
36128
|
+
return groups.every((names) => !!firstEnv2(env, names));
|
|
36129
|
+
}
|
|
36130
|
+
function flattenEnvNames(groups) {
|
|
36131
|
+
return Array.from(new Set(groups.flatMap((names) => [...names])));
|
|
36132
|
+
}
|
|
36133
|
+
var NAMECHEAP_ENV = {
|
|
36134
|
+
apiKey: ["NAMECHEAP_API_KEY"],
|
|
36135
|
+
username: ["NAMECHEAP_USERNAME"],
|
|
36136
|
+
clientIp: ["NAMECHEAP_CLIENT_IP"]
|
|
36137
|
+
};
|
|
36138
|
+
var GODADDY_ENV = {
|
|
36139
|
+
apiKey: ["GODADDY_API_KEY"],
|
|
36140
|
+
apiSecret: ["GODADDY_API_SECRET"]
|
|
36141
|
+
};
|
|
36142
|
+
var BRANDSIGHT_ENV = {
|
|
36143
|
+
apiKey: [
|
|
36144
|
+
"BRANDSIGHT_API_KEY",
|
|
36145
|
+
"HASNAXYZ_BRANDSIGHT_LIVE_API_KEY",
|
|
36146
|
+
"HASNAXYZ_BRANDSIGHT_SANDBOX_API_KEY"
|
|
36147
|
+
],
|
|
36148
|
+
apiSecret: [
|
|
36149
|
+
"BRANDSIGHT_API_SECRET",
|
|
36150
|
+
"HASNAXYZ_BRANDSIGHT_LIVE_API_SECRET",
|
|
36151
|
+
"HASNAXYZ_BRANDSIGHT_SANDBOX_API_SECRET"
|
|
36152
|
+
],
|
|
36153
|
+
customerId: [
|
|
36154
|
+
"BRANDSIGHT_CUSTOMER_ID",
|
|
36155
|
+
"HASNAXYZ_BRANDSIGHT_LIVE_CUSTOMER_ID",
|
|
36156
|
+
"HASNAXYZ_BRANDSIGHT_SANDBOX_CUSTOMER_ID"
|
|
36157
|
+
],
|
|
36158
|
+
shopperId: [
|
|
36159
|
+
"BRANDSIGHT_SHOPPER_ID",
|
|
36160
|
+
"HASNAXYZ_BRANDSIGHT_LIVE_SHOPPER_ID",
|
|
36161
|
+
"HASNAXYZ_BRANDSIGHT_SANDBOX_SHOPPER_ID"
|
|
36162
|
+
],
|
|
36163
|
+
accountId: ["BRANDSIGHT_ACCOUNT_ID", "HASNAXYZ_BRANDSIGHT_LIVE_ACCOUNT_ID"]
|
|
36164
|
+
};
|
|
36165
|
+
var SEDO_ENV = {
|
|
36166
|
+
partnerId: ["SEDO_PARTNER_ID", "HASNAXYZ_SEDO_LIVE_PARTNER_ID"],
|
|
36167
|
+
signKey: ["SEDO_API_KEY", "SEDO_SIGN_KEY", "HASNAXYZ_SEDO_LIVE_API_KEY"],
|
|
36168
|
+
username: ["SEDO_USERNAME", "SEDO_EMAIL", "HASNAXYZ_SEDO_LIVE_USERNAME", "HASNAXYZ_SEDO_LIVE_EMAIL"],
|
|
36169
|
+
password: ["SEDO_PASSWORD", "HASNAXYZ_SEDO_LIVE_PASSWORD"]
|
|
36170
|
+
};
|
|
36171
|
+
var CLOUDFLARE_ENV = {
|
|
36172
|
+
apiToken: ["CLOUDFLARE_API_TOKEN", "HASNAXYZ_CLOUDFLARE_LIVE_API_TOKEN"],
|
|
36173
|
+
apiKey: ["CLOUDFLARE_API_KEY", "HASNAXYZ_CLOUDFLARE_LIVE_API_KEY"],
|
|
36174
|
+
email: ["CLOUDFLARE_EMAIL", "HASNAXYZ_CLOUDFLARE_LIVE_EMAIL"],
|
|
36175
|
+
accountId: ["CLOUDFLARE_ACCOUNT_ID", "HASNAXYZ_CLOUDFLARE_LIVE_ACCOUNT_ID"]
|
|
36176
|
+
};
|
|
36177
|
+
var BEEPMEDIA_AWS_ENV = {
|
|
36178
|
+
accessKeyId: ["HASNASTUDIO_BEEPMEDIA_AWS_LIVE_ACCESS_KEY_ID", "BEEPMEDIA_AWS_ACCESS_KEY_ID"],
|
|
36179
|
+
secretAccessKey: ["HASNASTUDIO_BEEPMEDIA_AWS_LIVE_SECRET_ACCESS_KEY", "BEEPMEDIA_AWS_SECRET_ACCESS_KEY"]
|
|
36180
|
+
};
|
|
36181
|
+
function providerEnvNames(provider) {
|
|
36182
|
+
switch (provider.toLowerCase()) {
|
|
36183
|
+
case "namecheap":
|
|
36184
|
+
return flattenEnvNames([NAMECHEAP_ENV.apiKey, NAMECHEAP_ENV.username, NAMECHEAP_ENV.clientIp]);
|
|
36185
|
+
case "godaddy":
|
|
36186
|
+
return flattenEnvNames([GODADDY_ENV.apiKey, GODADDY_ENV.apiSecret]);
|
|
36187
|
+
case "brandsight":
|
|
36188
|
+
return flattenEnvNames([
|
|
36189
|
+
BRANDSIGHT_ENV.apiKey,
|
|
36190
|
+
BRANDSIGHT_ENV.apiSecret,
|
|
36191
|
+
BRANDSIGHT_ENV.customerId,
|
|
36192
|
+
BRANDSIGHT_ENV.shopperId,
|
|
36193
|
+
BRANDSIGHT_ENV.accountId
|
|
36194
|
+
]);
|
|
36195
|
+
case "sedo":
|
|
36196
|
+
return flattenEnvNames([SEDO_ENV.partnerId, SEDO_ENV.signKey, SEDO_ENV.username, SEDO_ENV.password]);
|
|
36197
|
+
case "cloudflare":
|
|
36198
|
+
return flattenEnvNames([CLOUDFLARE_ENV.apiToken, CLOUDFLARE_ENV.apiKey, CLOUDFLARE_ENV.email, CLOUDFLARE_ENV.accountId]);
|
|
36199
|
+
case "route53":
|
|
36200
|
+
return ["AWS_PROFILE", "AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_REGION"];
|
|
36201
|
+
case "aws:beepmedia":
|
|
36202
|
+
return flattenEnvNames([BEEPMEDIA_AWS_ENV.accessKeyId, BEEPMEDIA_AWS_ENV.secretAccessKey]);
|
|
36203
|
+
default:
|
|
36204
|
+
return [];
|
|
36012
36205
|
}
|
|
36013
|
-
|
|
36014
|
-
|
|
36206
|
+
}
|
|
36207
|
+
function hasProviderCredentials(provider, env = process.env) {
|
|
36208
|
+
switch (provider.toLowerCase()) {
|
|
36209
|
+
case "namecheap":
|
|
36210
|
+
return hasEveryEnv(env, [NAMECHEAP_ENV.apiKey, NAMECHEAP_ENV.username, NAMECHEAP_ENV.clientIp]);
|
|
36211
|
+
case "godaddy":
|
|
36212
|
+
return hasEveryEnv(env, [GODADDY_ENV.apiKey, GODADDY_ENV.apiSecret]);
|
|
36213
|
+
case "brandsight":
|
|
36214
|
+
return hasEveryEnv(env, [BRANDSIGHT_ENV.apiKey, BRANDSIGHT_ENV.apiSecret, BRANDSIGHT_ENV.customerId]);
|
|
36215
|
+
case "sedo":
|
|
36216
|
+
return hasEveryEnv(env, [SEDO_ENV.partnerId, SEDO_ENV.signKey, SEDO_ENV.username, SEDO_ENV.password]);
|
|
36217
|
+
case "cloudflare": {
|
|
36218
|
+
const tokenMode = !!firstEnv2(env, CLOUDFLARE_ENV.apiToken);
|
|
36219
|
+
const keyMode = hasEveryEnv(env, [CLOUDFLARE_ENV.apiKey, CLOUDFLARE_ENV.email]);
|
|
36220
|
+
return tokenMode || keyMode;
|
|
36221
|
+
}
|
|
36222
|
+
case "route53":
|
|
36223
|
+
return !!env["AWS_PROFILE"] || hasEveryEnv(env, [["AWS_ACCESS_KEY_ID"], ["AWS_SECRET_ACCESS_KEY"]]);
|
|
36224
|
+
case "aws:beepmedia":
|
|
36225
|
+
return hasEveryEnv(env, [BEEPMEDIA_AWS_ENV.accessKeyId, BEEPMEDIA_AWS_ENV.secretAccessKey]);
|
|
36226
|
+
default:
|
|
36227
|
+
return false;
|
|
36015
36228
|
}
|
|
36229
|
+
}
|
|
36230
|
+
|
|
36231
|
+
// src/lib/cloudflare-auth.ts
|
|
36232
|
+
function resolveCloudflareConfig(env = process.env) {
|
|
36233
|
+
const accountId = firstEnv2(env, CLOUDFLARE_ENV.accountId)?.value;
|
|
36234
|
+
const apiToken = firstEnv2(env, CLOUDFLARE_ENV.apiToken)?.value;
|
|
36235
|
+
if (apiToken)
|
|
36236
|
+
return { apiToken, accountId };
|
|
36237
|
+
const apiKey = firstEnv2(env, CLOUDFLARE_ENV.apiKey)?.value;
|
|
36238
|
+
const email = firstEnv2(env, CLOUDFLARE_ENV.email)?.value;
|
|
36239
|
+
if (apiKey && email)
|
|
36240
|
+
return { apiKey, email, accountId };
|
|
36016
36241
|
return accountId ? { accountId } : {};
|
|
36017
36242
|
}
|
|
36018
36243
|
function cloudflareAuthHeaders(cfg) {
|
|
@@ -36136,6 +36361,21 @@ function createCloudflareProvider(config) {
|
|
|
36136
36361
|
}
|
|
36137
36362
|
|
|
36138
36363
|
// src/lib/brandsight.ts
|
|
36364
|
+
function resolveBrandsightConfig(env = process.env) {
|
|
36365
|
+
const apiKey = firstEnv2(env, BRANDSIGHT_ENV.apiKey)?.value ?? "";
|
|
36366
|
+
const apiSecret = firstEnv2(env, BRANDSIGHT_ENV.apiSecret)?.value;
|
|
36367
|
+
const customerId = firstEnv2(env, BRANDSIGHT_ENV.customerId)?.value;
|
|
36368
|
+
const shopperId = firstEnv2(env, BRANDSIGHT_ENV.shopperId)?.value;
|
|
36369
|
+
const accountId = firstEnv2(env, BRANDSIGHT_ENV.accountId)?.value;
|
|
36370
|
+
return {
|
|
36371
|
+
apiKey,
|
|
36372
|
+
apiSecret,
|
|
36373
|
+
customerId,
|
|
36374
|
+
shopperId,
|
|
36375
|
+
accountId,
|
|
36376
|
+
baseUrl: env["BRANDSIGHT_BASE_URL"]
|
|
36377
|
+
};
|
|
36378
|
+
}
|
|
36139
36379
|
class BrandsightApiError extends Error {
|
|
36140
36380
|
statusCode;
|
|
36141
36381
|
responseBody;
|
|
@@ -36148,10 +36388,7 @@ class BrandsightApiError extends Error {
|
|
|
36148
36388
|
}
|
|
36149
36389
|
var _fetchFn = null;
|
|
36150
36390
|
function getConfig4() {
|
|
36151
|
-
return
|
|
36152
|
-
apiKey: process.env["BRANDSIGHT_API_KEY"] ?? "",
|
|
36153
|
-
accountId: process.env["BRANDSIGHT_ACCOUNT_ID"]
|
|
36154
|
-
};
|
|
36391
|
+
return resolveBrandsightConfig();
|
|
36155
36392
|
}
|
|
36156
36393
|
var BRANDSIGHT_BASE = "https://api.brandsight.com/v1";
|
|
36157
36394
|
async function apiRequest3(method, path, apiKey, body, baseUrl = BRANDSIGHT_BASE) {
|
|
@@ -36299,8 +36536,8 @@ function createBrandsightProvider(config) {
|
|
|
36299
36536
|
auto_renew: d3.auto_renew
|
|
36300
36537
|
};
|
|
36301
36538
|
},
|
|
36302
|
-
async renewDomain(domain) {
|
|
36303
|
-
const result = await renewDomain3(domain,
|
|
36539
|
+
async renewDomain(domain, years = 1) {
|
|
36540
|
+
const result = await renewDomain3(domain, years, cfg);
|
|
36304
36541
|
return { domain, success: result.success, orderId: result.orderId };
|
|
36305
36542
|
},
|
|
36306
36543
|
async checkAvailability(domain) {
|
|
@@ -36348,9 +36585,27 @@ function createNamecheapProvider() {
|
|
|
36348
36585
|
auto_renew: true
|
|
36349
36586
|
};
|
|
36350
36587
|
},
|
|
36351
|
-
async
|
|
36588
|
+
async registerDomain(domain, contact, options = {}) {
|
|
36352
36589
|
const config = getConfig();
|
|
36353
|
-
const result = await
|
|
36590
|
+
const result = await registerDomain(domain, contact, {
|
|
36591
|
+
years: options.years,
|
|
36592
|
+
premiumPrice: options.premiumPrice
|
|
36593
|
+
}, config);
|
|
36594
|
+
return {
|
|
36595
|
+
domain: result.domain,
|
|
36596
|
+
success: result.success,
|
|
36597
|
+
orderId: result.orderId,
|
|
36598
|
+
chargedAmount: result.chargedAmount
|
|
36599
|
+
};
|
|
36600
|
+
},
|
|
36601
|
+
async updateNameservers(domain, nameservers) {
|
|
36602
|
+
const config = getConfig();
|
|
36603
|
+
const success = await updateNameservers(domain, nameservers, config);
|
|
36604
|
+
return { domain, success };
|
|
36605
|
+
},
|
|
36606
|
+
async renewDomain(domain, years = 1) {
|
|
36607
|
+
const config = getConfig();
|
|
36608
|
+
const result = await renewDomain(domain, years, config);
|
|
36354
36609
|
return {
|
|
36355
36610
|
domain: result.domain,
|
|
36356
36611
|
success: result.success,
|
|
@@ -36486,7 +36741,7 @@ var providerRegistry = new Map([
|
|
|
36486
36741
|
name: "namecheap",
|
|
36487
36742
|
type: "full",
|
|
36488
36743
|
configured: false,
|
|
36489
|
-
envVars:
|
|
36744
|
+
envVars: providerEnvNames("namecheap")
|
|
36490
36745
|
},
|
|
36491
36746
|
createRegistrar: createNamecheapProvider,
|
|
36492
36747
|
createDns: createNamecheapProvider
|
|
@@ -36496,7 +36751,7 @@ var providerRegistry = new Map([
|
|
|
36496
36751
|
name: "godaddy",
|
|
36497
36752
|
type: "full",
|
|
36498
36753
|
configured: false,
|
|
36499
|
-
envVars:
|
|
36754
|
+
envVars: providerEnvNames("godaddy")
|
|
36500
36755
|
},
|
|
36501
36756
|
createRegistrar: createGoDaddyProvider,
|
|
36502
36757
|
createDns: createGoDaddyProvider
|
|
@@ -36506,7 +36761,7 @@ var providerRegistry = new Map([
|
|
|
36506
36761
|
name: "route53",
|
|
36507
36762
|
type: "full",
|
|
36508
36763
|
configured: false,
|
|
36509
|
-
envVars:
|
|
36764
|
+
envVars: providerEnvNames("route53")
|
|
36510
36765
|
},
|
|
36511
36766
|
createRegistrar: () => createRoute53Provider(),
|
|
36512
36767
|
createDns: () => createRoute53Provider()
|
|
@@ -36516,7 +36771,7 @@ var providerRegistry = new Map([
|
|
|
36516
36771
|
name: "cloudflare",
|
|
36517
36772
|
type: "dns",
|
|
36518
36773
|
configured: false,
|
|
36519
|
-
envVars:
|
|
36774
|
+
envVars: providerEnvNames("cloudflare")
|
|
36520
36775
|
},
|
|
36521
36776
|
createDns: createCloudflareProvider
|
|
36522
36777
|
}],
|
|
@@ -36525,22 +36780,42 @@ var providerRegistry = new Map([
|
|
|
36525
36780
|
name: "brandsight",
|
|
36526
36781
|
type: "registrar",
|
|
36527
36782
|
configured: false,
|
|
36528
|
-
envVars:
|
|
36783
|
+
envVars: providerEnvNames("brandsight")
|
|
36529
36784
|
},
|
|
36530
36785
|
createRegistrar: createBrandsightProvider
|
|
36786
|
+
}],
|
|
36787
|
+
["sedo", {
|
|
36788
|
+
info: {
|
|
36789
|
+
name: "sedo",
|
|
36790
|
+
type: "marketplace",
|
|
36791
|
+
configured: false,
|
|
36792
|
+
envVars: providerEnvNames("sedo")
|
|
36793
|
+
}
|
|
36531
36794
|
}]
|
|
36532
36795
|
]);
|
|
36533
|
-
function isConfigured(
|
|
36534
|
-
return
|
|
36796
|
+
function isConfigured(providerName) {
|
|
36797
|
+
return hasProviderCredentials(providerName);
|
|
36535
36798
|
}
|
|
36536
36799
|
function getAvailableProviders() {
|
|
36537
36800
|
return Array.from(providerRegistry.values()).map((e3) => ({
|
|
36538
36801
|
...e3.info,
|
|
36539
|
-
configured: isConfigured(e3.info.
|
|
36802
|
+
configured: isConfigured(e3.info.name)
|
|
36540
36803
|
}));
|
|
36541
36804
|
}
|
|
36805
|
+
function getProviderInfo(name) {
|
|
36806
|
+
const entry = providerRegistry.get(name.toLowerCase());
|
|
36807
|
+
if (!entry)
|
|
36808
|
+
return null;
|
|
36809
|
+
return { ...entry.info, configured: isConfigured(entry.info.name) };
|
|
36810
|
+
}
|
|
36811
|
+
function providerHasRegistrar(name) {
|
|
36812
|
+
return !!providerRegistry.get(name.toLowerCase())?.createRegistrar;
|
|
36813
|
+
}
|
|
36814
|
+
function providerHasDns(name) {
|
|
36815
|
+
return !!providerRegistry.get(name.toLowerCase())?.createDns;
|
|
36816
|
+
}
|
|
36542
36817
|
function getRegistrarProvider(name) {
|
|
36543
|
-
const entry = providerRegistry.get(name);
|
|
36818
|
+
const entry = providerRegistry.get(name.toLowerCase());
|
|
36544
36819
|
if (!entry?.createRegistrar)
|
|
36545
36820
|
throw new Error(`No registrar provider: ${name}`);
|
|
36546
36821
|
return entry.createRegistrar();
|
|
@@ -36549,7 +36824,7 @@ function getProvider(name) {
|
|
|
36549
36824
|
return getRegistrarProvider(name);
|
|
36550
36825
|
}
|
|
36551
36826
|
async function syncAll(dbFns) {
|
|
36552
|
-
const available = getAvailableProviders().filter((p3) => p3.configured && (p3.
|
|
36827
|
+
const available = getAvailableProviders().filter((p3) => p3.configured && providerHasRegistrar(p3.name));
|
|
36553
36828
|
const result = { providers: [], totalSynced: 0, totalErrors: [] };
|
|
36554
36829
|
for (const info of available) {
|
|
36555
36830
|
try {
|
|
@@ -36597,8 +36872,9 @@ var PROVIDER_CAPABILITIES = {
|
|
|
36597
36872
|
route53: { canBuy: true, canDns: true, gated: false, notes: "Full self-serve buy + hosted zones via AWS API; primary buy path." },
|
|
36598
36873
|
cloudflare: { canBuy: false, canDns: true, gated: false, notes: "DNS/zone management only; not a registrar. Always our DNS." },
|
|
36599
36874
|
namecheap: { canBuy: true, canDns: true, gated: false, notes: "Buy + DNS via API; requires API access + whitelisted IP." },
|
|
36600
|
-
godaddy: { canBuy:
|
|
36601
|
-
brandsight: { canBuy:
|
|
36875
|
+
godaddy: { canBuy: false, canDns: true, gated: true, notes: "Domains API is account-gated; this CLI supports availability/sync/renew/DNS records where allowed, but not direct automated purchase." },
|
|
36876
|
+
brandsight: { canBuy: false, canDns: false, gated: true, notes: "GoDaddy Corporate Domains (enterprise/contract-only); portfolio/renewal surface only in this CLI, with purchase and DNS operations contract-specific." },
|
|
36877
|
+
sedo: { canBuy: false, canDns: false, gated: true, notes: "Marketplace API only: search/portfolio/listings and recorded purchases; no registrar DNS or direct registration API in this CLI." }
|
|
36602
36878
|
};
|
|
36603
36879
|
var UNKNOWN = { canBuy: false, canDns: false, gated: true, notes: "Unknown provider." };
|
|
36604
36880
|
function getCapability(name) {
|
|
@@ -36656,17 +36932,20 @@ export {
|
|
|
36656
36932
|
updateDomain,
|
|
36657
36933
|
updateDnsRecord,
|
|
36658
36934
|
syncAll,
|
|
36935
|
+
storageSync,
|
|
36936
|
+
storagePush,
|
|
36937
|
+
storagePull,
|
|
36659
36938
|
selectDnsProvider,
|
|
36660
36939
|
selectBuyRegistrar,
|
|
36661
36940
|
searchDomains,
|
|
36662
|
-
|
|
36941
|
+
runStorageMigrations,
|
|
36663
36942
|
resolveTables,
|
|
36664
36943
|
resolveCloudflareConfig,
|
|
36665
36944
|
recordDomainPurchase,
|
|
36666
36945
|
upsertRecords as r53UpsertRecords,
|
|
36667
36946
|
upsertRecord as r53UpsertRecord,
|
|
36668
|
-
|
|
36669
|
-
|
|
36947
|
+
updateNameservers2 as r53UpdateNameservers,
|
|
36948
|
+
registerDomain2 as r53RegisterDomain,
|
|
36670
36949
|
listRegisteredDomains as r53ListRegisteredDomains,
|
|
36671
36950
|
listRecords as r53ListRecords,
|
|
36672
36951
|
listHostedZones as r53ListHostedZones,
|
|
@@ -36678,6 +36957,8 @@ export {
|
|
|
36678
36957
|
deleteHostedZone as r53DeleteHostedZone,
|
|
36679
36958
|
createHostedZone as r53CreateHostedZone,
|
|
36680
36959
|
checkAvailability3 as r53CheckAvailability,
|
|
36960
|
+
providerHasRegistrar,
|
|
36961
|
+
providerHasDns,
|
|
36681
36962
|
pollRegistrationUntilDone,
|
|
36682
36963
|
markDomainPremium,
|
|
36683
36964
|
listSslExpiring,
|
|
@@ -36690,6 +36971,13 @@ export {
|
|
|
36690
36971
|
linkDomainEmail,
|
|
36691
36972
|
importZoneFile,
|
|
36692
36973
|
getSyncMetaAll,
|
|
36974
|
+
getStorageSyncMetaAll,
|
|
36975
|
+
getStorageStatus,
|
|
36976
|
+
getStoragePg,
|
|
36977
|
+
getStorageMode,
|
|
36978
|
+
getStorageDatabaseUrl,
|
|
36979
|
+
getStorageDatabaseEnvName,
|
|
36980
|
+
getProviderInfo,
|
|
36693
36981
|
getProvider,
|
|
36694
36982
|
getDomainStats,
|
|
36695
36983
|
getDomainOffer,
|
|
@@ -36700,8 +36988,6 @@ export {
|
|
|
36700
36988
|
getDomain,
|
|
36701
36989
|
getDnsRecord,
|
|
36702
36990
|
getDatabase,
|
|
36703
|
-
getCloudPg,
|
|
36704
|
-
getCloudDatabaseUrl,
|
|
36705
36991
|
getCapability,
|
|
36706
36992
|
getByRegistrar,
|
|
36707
36993
|
getAvailableProviders,
|
|
@@ -36720,9 +37006,6 @@ export {
|
|
|
36720
37006
|
createAlert,
|
|
36721
37007
|
countDomains,
|
|
36722
37008
|
cloudflareAuthHeaders,
|
|
36723
|
-
cloudSync,
|
|
36724
|
-
cloudPush,
|
|
36725
|
-
cloudPull,
|
|
36726
37009
|
closeDatabase,
|
|
36727
37010
|
classifyRegistrationStatus,
|
|
36728
37011
|
checkSsl,
|
|
@@ -36734,11 +37017,18 @@ export {
|
|
|
36734
37017
|
createZone as cfCreateZone,
|
|
36735
37018
|
canBuy,
|
|
36736
37019
|
autoDetectRegistrar,
|
|
37020
|
+
STORAGE_TABLES,
|
|
37021
|
+
STORAGE_MODE_ENV,
|
|
37022
|
+
STORAGE_DATABASE_ENV,
|
|
36737
37023
|
PgAdapterAsync,
|
|
36738
37024
|
PROVIDER_CAPABILITIES,
|
|
36739
37025
|
PG_MIGRATIONS,
|
|
36740
37026
|
DOMAIN_STATUSES,
|
|
36741
37027
|
DOMAIN_OFFER_STATUSES,
|
|
36742
37028
|
DOMAIN_EMAIL_TYPES,
|
|
36743
|
-
|
|
37029
|
+
DOMAINS_STORAGE_TABLES,
|
|
37030
|
+
DOMAINS_STORAGE_MODE_FALLBACK_ENV,
|
|
37031
|
+
DOMAINS_STORAGE_MODE_ENV,
|
|
37032
|
+
DOMAINS_STORAGE_FALLBACK_ENV,
|
|
37033
|
+
DOMAINS_STORAGE_ENV
|
|
36744
37034
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brandsight.d.ts","sourceRoot":"","sources":["../../src/lib/brandsight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"brandsight.d.ts","sourceRoot":"","sources":["../../src/lib/brandsight.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/lib/capability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,iFAAiF;IACjF,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/lib/capability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,iFAAiF;IACjF,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAOpE,CAAC;AAIF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAE9D;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG5C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ9D;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare-auth.d.ts","sourceRoot":"","sources":["../../src/lib/cloudflare-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"cloudflare-auth.d.ts","sourceRoot":"","sources":["../../src/lib/cloudflare-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CACrC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAqD,GAC1F,gBAAgB,CAUlB;AAED,mDAAmD;AACnD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMnF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creds-check.d.ts","sourceRoot":"","sources":["../../src/lib/creds-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"creds-check.d.ts","sourceRoot":"","sources":["../../src/lib/creds-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAUD,wBAAgB,4BAA4B,CAC1C,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAqD,GAC1F,UAAU,EAAE,CA2Ed"}
|