@hasna/domains 0.0.11 → 0.0.13
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/cli/commands/domain.d.ts.map +1 -1
- package/dist/cli/index.js +84 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -0
- package/dist/lib/delegate.d.ts +28 -0
- package/dist/lib/delegate.d.ts.map +1 -0
- package/dist/lib/route53.d.ts +17 -0
- package/dist/lib/route53.d.ts.map +1 -1
- package/dist/mcp/index.js +12 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkDzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyvB5D"}
|
package/dist/cli/index.js
CHANGED
|
@@ -31990,6 +31990,7 @@ var _Ex = "Expiry";
|
|
|
31990
31990
|
var _F2 = "Fax";
|
|
31991
31991
|
var _FC = "FilterCondition";
|
|
31992
31992
|
var _FCi = "FilterConditions";
|
|
31993
|
+
var _FIAK = "FIAuthKey";
|
|
31993
31994
|
var _FN = "FirstName";
|
|
31994
31995
|
var _Fl2 = "Flags";
|
|
31995
31996
|
var _GDD = "GetDomainDetail";
|
|
@@ -32063,6 +32064,9 @@ var _TTD = "TagsToDelete";
|
|
|
32063
32064
|
var _Tl = "Tld";
|
|
32064
32065
|
var _Ty = "Type";
|
|
32065
32066
|
var _UD = "UpdatedDate";
|
|
32067
|
+
var _UDN = "UpdateDomainNameservers";
|
|
32068
|
+
var _UDNR = "UpdateDomainNameserversRequest";
|
|
32069
|
+
var _UDNRp = "UpdateDomainNameserversResponse";
|
|
32066
32070
|
var _UTLD = "UnsupportedTLD";
|
|
32067
32071
|
var _V2 = "Value";
|
|
32068
32072
|
var _Va = "Values";
|
|
@@ -32153,6 +32157,7 @@ var ContactNumber = [0, n02, _CNo2, 8, 0];
|
|
|
32153
32157
|
var CountryCode = [0, n02, _CC2, 8, 0];
|
|
32154
32158
|
var Email = [0, n02, _E, 8, 0];
|
|
32155
32159
|
var ExtraParamValue = [0, n02, _EPV, 8, 0];
|
|
32160
|
+
var FIAuthKey = [0, n02, _FIAK, 8, 0];
|
|
32156
32161
|
var State = [0, n02, _S2, 8, 0];
|
|
32157
32162
|
var ZipCode = [0, n02, _ZC, 8, 0];
|
|
32158
32163
|
var CheckDomainAvailabilityRequest$ = [
|
|
@@ -32349,6 +32354,23 @@ var SortCondition$ = [
|
|
|
32349
32354
|
[0, 0],
|
|
32350
32355
|
2
|
|
32351
32356
|
];
|
|
32357
|
+
var UpdateDomainNameserversRequest$ = [
|
|
32358
|
+
3,
|
|
32359
|
+
n02,
|
|
32360
|
+
_UDNR,
|
|
32361
|
+
0,
|
|
32362
|
+
[_DN, _Na2, _FIAK],
|
|
32363
|
+
[0, () => NameserverList, [() => FIAuthKey, 0]],
|
|
32364
|
+
2
|
|
32365
|
+
];
|
|
32366
|
+
var UpdateDomainNameserversResponse$ = [
|
|
32367
|
+
3,
|
|
32368
|
+
n02,
|
|
32369
|
+
_UDNRp,
|
|
32370
|
+
0,
|
|
32371
|
+
[_OI],
|
|
32372
|
+
[0]
|
|
32373
|
+
];
|
|
32352
32374
|
var DnssecKeyList = [
|
|
32353
32375
|
1,
|
|
32354
32376
|
n02,
|
|
@@ -32448,6 +32470,14 @@ var RegisterDomain$ = [
|
|
|
32448
32470
|
() => RegisterDomainRequest$,
|
|
32449
32471
|
() => RegisterDomainResponse$
|
|
32450
32472
|
];
|
|
32473
|
+
var UpdateDomainNameservers$ = [
|
|
32474
|
+
9,
|
|
32475
|
+
n02,
|
|
32476
|
+
_UDN,
|
|
32477
|
+
0,
|
|
32478
|
+
() => UpdateDomainNameserversRequest$,
|
|
32479
|
+
() => UpdateDomainNameserversResponse$
|
|
32480
|
+
];
|
|
32451
32481
|
|
|
32452
32482
|
// node_modules/@aws-sdk/client-route-53-domains/dist-es/runtimeConfig.shared.js
|
|
32453
32483
|
var getRuntimeConfig3 = (config) => {
|
|
@@ -32652,6 +32682,14 @@ class RegisterDomainCommand extends import_smithy_client23.Command.classBuilder(
|
|
|
32652
32682
|
}).s("Route53Domains_v20140515", "RegisterDomain", {}).n("Route53DomainsClient", "RegisterDomainCommand").sc(RegisterDomain$).build() {
|
|
32653
32683
|
}
|
|
32654
32684
|
|
|
32685
|
+
// node_modules/@aws-sdk/client-route-53-domains/dist-es/commands/UpdateDomainNameserversCommand.js
|
|
32686
|
+
var import_middleware_endpoint15 = __toESM(require_dist_cjs39(), 1);
|
|
32687
|
+
var import_smithy_client24 = __toESM(require_dist_cjs27(), 1);
|
|
32688
|
+
class UpdateDomainNameserversCommand extends import_smithy_client24.Command.classBuilder().ep(commonParams2).m(function(Command2, cs, config, o3) {
|
|
32689
|
+
return [import_middleware_endpoint15.getEndpointPlugin(config, Command2.getEndpointParameterInstructions())];
|
|
32690
|
+
}).s("Route53Domains_v20140515", "UpdateDomainNameservers", {}).n("Route53DomainsClient", "UpdateDomainNameserversCommand").sc(UpdateDomainNameservers$).build() {
|
|
32691
|
+
}
|
|
32692
|
+
|
|
32655
32693
|
// src/lib/route53.ts
|
|
32656
32694
|
function getConfig2() {
|
|
32657
32695
|
return {
|
|
@@ -32751,6 +32789,17 @@ async function getDomainDetail(domain, config) {
|
|
|
32751
32789
|
nameservers: (result.Nameservers ?? []).map((ns) => ns.Name ?? "").filter(Boolean)
|
|
32752
32790
|
};
|
|
32753
32791
|
}
|
|
32792
|
+
async function updateNameservers(domain, nameservers, config, client) {
|
|
32793
|
+
if (!nameservers.length) {
|
|
32794
|
+
throw new Error("updateNameservers requires at least one nameserver");
|
|
32795
|
+
}
|
|
32796
|
+
const domains = client ?? makeClients(config).domains;
|
|
32797
|
+
const result = await domains.send(new UpdateDomainNameserversCommand({
|
|
32798
|
+
DomainName: domain,
|
|
32799
|
+
Nameservers: nameservers.map((name) => ({ Name: name }))
|
|
32800
|
+
}));
|
|
32801
|
+
return { operationId: result.OperationId ?? "" };
|
|
32802
|
+
}
|
|
32754
32803
|
async function listRegisteredDomains(config) {
|
|
32755
32804
|
const { domains } = makeClients(config);
|
|
32756
32805
|
const all = [];
|
|
@@ -33732,6 +33781,16 @@ function resolveContact(opts) {
|
|
|
33732
33781
|
return { first_name, last_name, email, phone, address_line_1, city, state, country_code, zip_code, organization_name };
|
|
33733
33782
|
}
|
|
33734
33783
|
|
|
33784
|
+
// src/lib/delegate.ts
|
|
33785
|
+
async function delegateDomainToCloudflare(domain, deps) {
|
|
33786
|
+
const zone = await deps.createCloudflareZone(domain);
|
|
33787
|
+
if (!zone.nameservers || zone.nameservers.length === 0) {
|
|
33788
|
+
throw new Error(`Cloudflare zone for ${domain} returned no nameservers; cannot delegate`);
|
|
33789
|
+
}
|
|
33790
|
+
const { operationId } = await deps.updateNameservers(domain, zone.nameservers);
|
|
33791
|
+
return { zoneId: zone.id, nameservers: zone.nameservers, operationId };
|
|
33792
|
+
}
|
|
33793
|
+
|
|
33735
33794
|
// src/cli/commands/domain.ts
|
|
33736
33795
|
var DOMAIN_STATUS_HELP = DOMAIN_STATUSES.join("/");
|
|
33737
33796
|
var DOMAIN_OFFER_STATUS_HELP = DOMAIN_OFFER_STATUSES.join("/");
|
|
@@ -34155,7 +34214,7 @@ WHOIS for ${result.domain} [${result.source}]:`);
|
|
|
34155
34214
|
process.exit(1);
|
|
34156
34215
|
}
|
|
34157
34216
|
});
|
|
34158
|
-
domain.command("buy <name>").description("Purchase a domain via Route 53 (contact defaults from: domains config set contact.*)").option("--provider <name>", "Registrar provider (default: config default-registrar or route53)").option("--registrar <name>", "Registrar/seller for recorded purchases (alias of --provider)").option("--email <email>", "Registrant email").option("--first-name <n>", "First name").option("--last-name <n>", "Last name").option("--phone <p>", "Phone").option("--address <a>", "Street address").option("--city <c>", "City").option("--state <s>", "State/province").option("--country <c>", "Country code").option("--zip <z>", "ZIP code").option("--org <o>", "Organization").option("--price <amount>", "Record a completed purchase instead of registering via Route 53").option("--expires <date>", "Expiry date for recorded purchases").option("--auto-renew <bool>", "Auto-renew for recorded purchases (true/false)").option("--years <n>", "Years", "1").option("--wait", "Poll until registration completes").action(async (name, opts) => {
|
|
34217
|
+
domain.command("buy <name>").description("Purchase a domain via Route 53 (contact defaults from: domains config set contact.*)").option("--provider <name>", "Registrar provider (default: config default-registrar or route53)").option("--registrar <name>", "Registrar/seller for recorded purchases (alias of --provider)").option("--email <email>", "Registrant email").option("--first-name <n>", "First name").option("--last-name <n>", "Last name").option("--phone <p>", "Phone").option("--address <a>", "Street address").option("--city <c>", "City").option("--state <s>", "State/province").option("--country <c>", "Country code").option("--zip <z>", "ZIP code").option("--org <o>", "Organization").option("--price <amount>", "Record a completed purchase instead of registering via Route 53").option("--expires <date>", "Expiry date for recorded purchases").option("--auto-renew <bool>", "Auto-renew for recorded purchases (true/false)").option("--years <n>", "Years", "1").option("--wait", "Poll until registration completes").option("--dns <provider>", "DNS provider to delegate to after purchase (always cloudflare)", "cloudflare").option("--no-delegate", "Skip delegating DNS to Cloudflare after purchase").action(async (name, opts) => {
|
|
34159
34218
|
const recordedPrice = parseOptionalNumber(opts.price, "--price");
|
|
34160
34219
|
if (recordedPrice !== undefined) {
|
|
34161
34220
|
const registrarName = opts.registrar ?? opts.provider ?? "manual";
|
|
@@ -34238,6 +34297,30 @@ WHOIS for ${result.domain} [${result.source}]:`);
|
|
|
34238
34297
|
});
|
|
34239
34298
|
}
|
|
34240
34299
|
console.log(`\u2713 Added to portfolio`);
|
|
34300
|
+
const dnsProvider = opts.dns ?? "cloudflare";
|
|
34301
|
+
if (opts.delegate !== false && dnsProvider === "cloudflare") {
|
|
34302
|
+
if (!opts.wait) {
|
|
34303
|
+
console.log(` DNS: run 'domains domain buy ${name} --wait' or delegate later \u2014 registration must finish before NS can change.`);
|
|
34304
|
+
} else {
|
|
34305
|
+
try {
|
|
34306
|
+
console.log(`Delegating DNS to Cloudflare...`);
|
|
34307
|
+
const del = await delegateDomainToCloudflare(name, {
|
|
34308
|
+
createCloudflareZone: async (d3) => {
|
|
34309
|
+
const z2 = await createZone(d3);
|
|
34310
|
+
return { id: z2.id, nameservers: z2.nameservers };
|
|
34311
|
+
},
|
|
34312
|
+
updateNameservers: (d3, ns) => updateNameservers(d3, ns)
|
|
34313
|
+
});
|
|
34314
|
+
const existing2 = getDomainByName(name);
|
|
34315
|
+
if (existing2)
|
|
34316
|
+
updateDomain(existing2.id, { nameservers: del.nameservers });
|
|
34317
|
+
console.log(`\u2713 Cloudflare zone ${del.zoneId}; nameservers \u2192 ${del.nameservers.join(", ")} (op ${del.operationId})`);
|
|
34318
|
+
} catch (e3) {
|
|
34319
|
+
console.error(`\u26A0 DNS delegation failed (domain is registered): ${e3 instanceof Error ? e3.message : String(e3)}`);
|
|
34320
|
+
console.error(` Retry: create the Cloudflare zone and point Route53 NS at it.`);
|
|
34321
|
+
}
|
|
34322
|
+
}
|
|
34323
|
+
}
|
|
34241
34324
|
if (!opts.wait)
|
|
34242
34325
|
console.log(` Check: domains r53 status ${reg.operationId}`);
|
|
34243
34326
|
} catch (e3) {
|
package/dist/index.d.ts
CHANGED
|
@@ -7,5 +7,5 @@ export { createAlert, getAlert, listAlerts, deleteAlert, type Alert, type Create
|
|
|
7
7
|
export { whoisLookup, checkDnsPropagation, checkSsl, exportZoneFile, importZoneFile, discoverSubdomains, validateDns, exportPortfolio, checkAllDomains, type WhoisResult, type DnsPropagationResult, type SslCheckResult, type ZoneImportResult, type SubdomainResult, type DnsValidationIssue, type DnsValidationResult, type BulkCheckResult, } from "./db/domains.js";
|
|
8
8
|
export { getDatabase, closeDatabase } from "./db/database.js";
|
|
9
9
|
export { getProvider, getAvailableProviders, syncAll, autoDetectRegistrar, type RegistrarProvider, type ProviderDnsRecord, type ProviderDomainInfo, type ProviderAvailability, type ProviderInfo, type SyncAllResult, } from "./lib/registrar.js";
|
|
10
|
-
export { checkAvailability as r53CheckAvailability, registerDomain as r53RegisterDomain, getRegistrationStatus as r53GetRegistrationStatus, listRegisteredDomains as r53ListRegisteredDomains, createHostedZone as r53CreateHostedZone, listHostedZones as r53ListHostedZones, getHostedZone as r53GetHostedZone, deleteHostedZone as r53DeleteHostedZone, findHostedZoneByDomain as r53FindHostedZoneByDomain, listRecords as r53ListRecords, upsertRecord as r53UpsertRecord, upsertRecords as r53UpsertRecords, deleteRecord as r53DeleteRecord, createRoute53Provider, getConfig as r53GetConfig, type Route53Config, type DomainContactInfo, type DomainAvailability, type RegisteredDomain, type HostedZoneInfo, type Route53Record, type Route53RecordInput, } from "./lib/route53.js";
|
|
10
|
+
export { checkAvailability as r53CheckAvailability, registerDomain as r53RegisterDomain, getRegistrationStatus as r53GetRegistrationStatus, updateNameservers as r53UpdateNameservers, listRegisteredDomains as r53ListRegisteredDomains, createHostedZone as r53CreateHostedZone, listHostedZones as r53ListHostedZones, getHostedZone as r53GetHostedZone, deleteHostedZone as r53DeleteHostedZone, findHostedZoneByDomain as r53FindHostedZoneByDomain, listRecords as r53ListRecords, upsertRecord as r53UpsertRecord, upsertRecords as r53UpsertRecords, deleteRecord as r53DeleteRecord, createRoute53Provider, getConfig as r53GetConfig, type Route53Config, type DomainContactInfo, type DomainAvailability, type RegisteredDomain, type HostedZoneInfo, type Route53Record, type Route53RecordInput, } from "./lib/route53.js";
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,yBAAyB,GAC/B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,KAAK,KAAK,EACV,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,OAAO,EACP,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,iBAAiB,IAAI,oBAAoB,EACzC,cAAc,IAAI,iBAAiB,EACnC,qBAAqB,IAAI,wBAAwB,EACjD,qBAAqB,IAAI,wBAAwB,EACjD,gBAAgB,IAAI,mBAAmB,EACvC,eAAe,IAAI,kBAAkB,EACrC,aAAa,IAAI,gBAAgB,EACjC,gBAAgB,IAAI,mBAAmB,EACvC,sBAAsB,IAAI,yBAAyB,EACnD,WAAW,IAAI,cAAc,EAC7B,YAAY,IAAI,eAAe,EAC/B,aAAa,IAAI,gBAAgB,EACjC,YAAY,IAAI,eAAe,EAC/B,qBAAqB,EACrB,SAAS,IAAI,YAAY,EACzB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,yBAAyB,GAC/B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,KAAK,KAAK,EACV,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,OAAO,EACP,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,iBAAiB,IAAI,oBAAoB,EACzC,cAAc,IAAI,iBAAiB,EACnC,qBAAqB,IAAI,wBAAwB,EACjD,iBAAiB,IAAI,oBAAoB,EACzC,qBAAqB,IAAI,wBAAwB,EACjD,gBAAgB,IAAI,mBAAmB,EACvC,eAAe,IAAI,kBAAkB,EACrC,aAAa,IAAI,gBAAgB,EACjC,gBAAgB,IAAI,mBAAmB,EACvC,sBAAsB,IAAI,yBAAyB,EACnD,WAAW,IAAI,cAAc,EAC7B,YAAY,IAAI,eAAe,EAC/B,aAAa,IAAI,gBAAgB,EACjC,YAAY,IAAI,eAAe,EAC/B,qBAAqB,EACrB,SAAS,IAAI,YAAY,EACzB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -29640,6 +29640,7 @@ var _Ex = "Expiry";
|
|
|
29640
29640
|
var _F2 = "Fax";
|
|
29641
29641
|
var _FC = "FilterCondition";
|
|
29642
29642
|
var _FCi = "FilterConditions";
|
|
29643
|
+
var _FIAK = "FIAuthKey";
|
|
29643
29644
|
var _FN = "FirstName";
|
|
29644
29645
|
var _Fl2 = "Flags";
|
|
29645
29646
|
var _GDD = "GetDomainDetail";
|
|
@@ -29713,6 +29714,9 @@ var _TTD = "TagsToDelete";
|
|
|
29713
29714
|
var _Tl = "Tld";
|
|
29714
29715
|
var _Ty = "Type";
|
|
29715
29716
|
var _UD = "UpdatedDate";
|
|
29717
|
+
var _UDN = "UpdateDomainNameservers";
|
|
29718
|
+
var _UDNR = "UpdateDomainNameserversRequest";
|
|
29719
|
+
var _UDNRp = "UpdateDomainNameserversResponse";
|
|
29716
29720
|
var _UTLD = "UnsupportedTLD";
|
|
29717
29721
|
var _V2 = "Value";
|
|
29718
29722
|
var _Va = "Values";
|
|
@@ -29803,6 +29807,7 @@ var ContactNumber = [0, n02, _CNo2, 8, 0];
|
|
|
29803
29807
|
var CountryCode = [0, n02, _CC2, 8, 0];
|
|
29804
29808
|
var Email = [0, n02, _E, 8, 0];
|
|
29805
29809
|
var ExtraParamValue = [0, n02, _EPV, 8, 0];
|
|
29810
|
+
var FIAuthKey = [0, n02, _FIAK, 8, 0];
|
|
29806
29811
|
var State = [0, n02, _S2, 8, 0];
|
|
29807
29812
|
var ZipCode = [0, n02, _ZC, 8, 0];
|
|
29808
29813
|
var CheckDomainAvailabilityRequest$ = [
|
|
@@ -29999,6 +30004,23 @@ var SortCondition$ = [
|
|
|
29999
30004
|
[0, 0],
|
|
30000
30005
|
2
|
|
30001
30006
|
];
|
|
30007
|
+
var UpdateDomainNameserversRequest$ = [
|
|
30008
|
+
3,
|
|
30009
|
+
n02,
|
|
30010
|
+
_UDNR,
|
|
30011
|
+
0,
|
|
30012
|
+
[_DN, _Na2, _FIAK],
|
|
30013
|
+
[0, () => NameserverList, [() => FIAuthKey, 0]],
|
|
30014
|
+
2
|
|
30015
|
+
];
|
|
30016
|
+
var UpdateDomainNameserversResponse$ = [
|
|
30017
|
+
3,
|
|
30018
|
+
n02,
|
|
30019
|
+
_UDNRp,
|
|
30020
|
+
0,
|
|
30021
|
+
[_OI],
|
|
30022
|
+
[0]
|
|
30023
|
+
];
|
|
30002
30024
|
var DnssecKeyList = [
|
|
30003
30025
|
1,
|
|
30004
30026
|
n02,
|
|
@@ -30098,6 +30120,14 @@ var RegisterDomain$ = [
|
|
|
30098
30120
|
() => RegisterDomainRequest$,
|
|
30099
30121
|
() => RegisterDomainResponse$
|
|
30100
30122
|
];
|
|
30123
|
+
var UpdateDomainNameservers$ = [
|
|
30124
|
+
9,
|
|
30125
|
+
n02,
|
|
30126
|
+
_UDN,
|
|
30127
|
+
0,
|
|
30128
|
+
() => UpdateDomainNameserversRequest$,
|
|
30129
|
+
() => UpdateDomainNameserversResponse$
|
|
30130
|
+
];
|
|
30101
30131
|
|
|
30102
30132
|
// node_modules/@aws-sdk/client-route-53-domains/dist-es/runtimeConfig.shared.js
|
|
30103
30133
|
var getRuntimeConfig3 = (config) => {
|
|
@@ -30302,6 +30332,14 @@ class RegisterDomainCommand extends import_smithy_client23.Command.classBuilder(
|
|
|
30302
30332
|
}).s("Route53Domains_v20140515", "RegisterDomain", {}).n("Route53DomainsClient", "RegisterDomainCommand").sc(RegisterDomain$).build() {
|
|
30303
30333
|
}
|
|
30304
30334
|
|
|
30335
|
+
// node_modules/@aws-sdk/client-route-53-domains/dist-es/commands/UpdateDomainNameserversCommand.js
|
|
30336
|
+
var import_middleware_endpoint15 = __toESM(require_dist_cjs39(), 1);
|
|
30337
|
+
var import_smithy_client24 = __toESM(require_dist_cjs27(), 1);
|
|
30338
|
+
class UpdateDomainNameserversCommand extends import_smithy_client24.Command.classBuilder().ep(commonParams2).m(function(Command, cs, config, o3) {
|
|
30339
|
+
return [import_middleware_endpoint15.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
|
|
30340
|
+
}).s("Route53Domains_v20140515", "UpdateDomainNameservers", {}).n("Route53DomainsClient", "UpdateDomainNameserversCommand").sc(UpdateDomainNameservers$).build() {
|
|
30341
|
+
}
|
|
30342
|
+
|
|
30305
30343
|
// src/lib/route53.ts
|
|
30306
30344
|
function getConfig2() {
|
|
30307
30345
|
return {
|
|
@@ -30401,6 +30439,17 @@ async function getDomainDetail(domain, config) {
|
|
|
30401
30439
|
nameservers: (result.Nameservers ?? []).map((ns) => ns.Name ?? "").filter(Boolean)
|
|
30402
30440
|
};
|
|
30403
30441
|
}
|
|
30442
|
+
async function updateNameservers(domain, nameservers, config, client) {
|
|
30443
|
+
if (!nameservers.length) {
|
|
30444
|
+
throw new Error("updateNameservers requires at least one nameserver");
|
|
30445
|
+
}
|
|
30446
|
+
const domains = client ?? makeClients(config).domains;
|
|
30447
|
+
const result = await domains.send(new UpdateDomainNameserversCommand({
|
|
30448
|
+
DomainName: domain,
|
|
30449
|
+
Nameservers: nameservers.map((name) => ({ Name: name }))
|
|
30450
|
+
}));
|
|
30451
|
+
return { operationId: result.OperationId ?? "" };
|
|
30452
|
+
}
|
|
30404
30453
|
async function listRegisteredDomains(config) {
|
|
30405
30454
|
const { domains } = makeClients(config);
|
|
30406
30455
|
const all = [];
|
|
@@ -31242,6 +31291,7 @@ export {
|
|
|
31242
31291
|
recordDomainPurchase,
|
|
31243
31292
|
upsertRecords as r53UpsertRecords,
|
|
31244
31293
|
upsertRecord as r53UpsertRecord,
|
|
31294
|
+
updateNameservers as r53UpdateNameservers,
|
|
31245
31295
|
registerDomain as r53RegisterDomain,
|
|
31246
31296
|
listRegisteredDomains as r53ListRegisteredDomains,
|
|
31247
31297
|
listRecords as r53ListRecords,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare delegation — the always-Cloudflare-DNS rule in one place.
|
|
3
|
+
*
|
|
4
|
+
* After a domain is registered with ANY registrar, DNS is managed in Cloudflare:
|
|
5
|
+
* create (or reuse) a Cloudflare zone, then point the registrar's nameservers at
|
|
6
|
+
* the zone's assigned Cloudflare nameservers.
|
|
7
|
+
*
|
|
8
|
+
* Dependency-injected so it is fully unit-testable; the CLI wires the real
|
|
9
|
+
* Cloudflare `createZone` and Route53 `updateNameservers`.
|
|
10
|
+
*/
|
|
11
|
+
export interface DelegateDeps {
|
|
12
|
+
/** Create or reuse a Cloudflare zone; returns its id + assigned nameservers. */
|
|
13
|
+
createCloudflareZone: (domain: string) => Promise<{
|
|
14
|
+
id: string;
|
|
15
|
+
nameservers: string[];
|
|
16
|
+
}>;
|
|
17
|
+
/** Point the registrar's nameservers at the given set. */
|
|
18
|
+
updateNameservers: (domain: string, nameservers: string[]) => Promise<{
|
|
19
|
+
operationId: string;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
export interface DelegateResult {
|
|
23
|
+
zoneId: string;
|
|
24
|
+
nameservers: string[];
|
|
25
|
+
operationId: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function delegateDomainToCloudflare(domain: string, deps: DelegateDeps): Promise<DelegateResult>;
|
|
28
|
+
//# sourceMappingURL=delegate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/lib/delegate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,YAAY;IAC3B,gFAAgF;IAChF,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACzF,0DAA0D;IAC1D,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChG;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,cAAc,CAAC,CAOzB"}
|
package/dist/lib/route53.d.ts
CHANGED
|
@@ -85,6 +85,22 @@ export interface DomainDetail extends RegisteredDomain {
|
|
|
85
85
|
nameservers: string[];
|
|
86
86
|
}
|
|
87
87
|
export declare function getDomainDetail(domain: string, config?: Route53Config): Promise<DomainDetail>;
|
|
88
|
+
/** Minimal Route53 Domains client surface — lets tests inject a fake `send`. */
|
|
89
|
+
type Route53DomainsSend = {
|
|
90
|
+
send: (cmd: unknown) => Promise<{
|
|
91
|
+
OperationId?: string;
|
|
92
|
+
}>;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Point a domain's nameservers at a new set (the Cloudflare zone NS).
|
|
96
|
+
*
|
|
97
|
+
* Enforces the always-Cloudflare-DNS rule: after a domain is registered with
|
|
98
|
+
* ANY registrar, delegate DNS to Cloudflare by calling this with the Cloudflare
|
|
99
|
+
* zone's nameservers. Returns the async operation id (poll getOperationDetail).
|
|
100
|
+
*/
|
|
101
|
+
export declare function updateNameservers(domain: string, nameservers: string[], config?: Route53Config, client?: Route53DomainsSend): Promise<{
|
|
102
|
+
operationId: string;
|
|
103
|
+
}>;
|
|
88
104
|
export declare function listRegisteredDomains(config?: Route53Config): Promise<RegisteredDomain[]>;
|
|
89
105
|
export declare function createHostedZone(domain: string, comment?: string, config?: Route53Config): Promise<HostedZoneInfo>;
|
|
90
106
|
export declare function listHostedZones(config?: Route53Config): Promise<HostedZoneInfo[]>;
|
|
@@ -98,4 +114,5 @@ export declare function upsertRecord(hostedZoneId: string, record: Route53Record
|
|
|
98
114
|
export declare function deleteRecord(hostedZoneId: string, record: Route53RecordInput, config?: Route53Config): Promise<void>;
|
|
99
115
|
export declare function upsertRecords(hostedZoneId: string, records: Route53RecordInput[], config?: Route53Config): Promise<void>;
|
|
100
116
|
export declare function createRoute53Provider(config?: Route53Config): FullProvider;
|
|
117
|
+
export {};
|
|
101
118
|
//# sourceMappingURL=route53.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route53.d.ts","sourceRoot":"","sources":["../../src/lib/route53.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"route53.d.ts","sourceRoot":"","sources":["../../src/lib/route53.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/index.js
CHANGED
|
@@ -30795,6 +30795,7 @@ var exports_route53 = {};
|
|
|
30795
30795
|
__export(exports_route53, {
|
|
30796
30796
|
upsertRecords: () => upsertRecords,
|
|
30797
30797
|
upsertRecord: () => upsertRecord,
|
|
30798
|
+
updateNameservers: () => updateNameservers,
|
|
30798
30799
|
registerDomain: () => registerDomain,
|
|
30799
30800
|
listRegisteredDomains: () => listRegisteredDomains,
|
|
30800
30801
|
listRecords: () => listRecords,
|
|
@@ -30908,6 +30909,17 @@ async function getDomainDetail(domain, config) {
|
|
|
30908
30909
|
nameservers: (result.Nameservers ?? []).map((ns) => ns.Name ?? "").filter(Boolean)
|
|
30909
30910
|
};
|
|
30910
30911
|
}
|
|
30912
|
+
async function updateNameservers(domain, nameservers, config, client) {
|
|
30913
|
+
if (!nameservers.length) {
|
|
30914
|
+
throw new Error("updateNameservers requires at least one nameserver");
|
|
30915
|
+
}
|
|
30916
|
+
const domains = client ?? makeClients(config).domains;
|
|
30917
|
+
const result = await domains.send(new UpdateDomainNameserversCommand({
|
|
30918
|
+
DomainName: domain,
|
|
30919
|
+
Nameservers: nameservers.map((name) => ({ Name: name }))
|
|
30920
|
+
}));
|
|
30921
|
+
return { operationId: result.OperationId ?? "" };
|
|
30922
|
+
}
|
|
30911
30923
|
async function listRegisteredDomains(config) {
|
|
30912
30924
|
const { domains } = makeClients(config);
|
|
30913
30925
|
const all = [];
|