UNPKG

@hasna/domains

Version:

Domain portfolio, registrar, marketplace, and DNS management for AI agents — CLI + MCP + HTTP API + SDK, shared account API and PostgreSQL

30 lines • 1.38 kB
import type { ProviderDnsRecord } from "./registrar.js"; export interface DesiredDnsState { domain?: string; records: ProviderDnsRecord[]; } export type DnsPlanOperationType = "create" | "delete" | "update" | "unchanged"; export interface DnsPlanOperation { op: DnsPlanOperationType; record: ProviderDnsRecord; current?: ProviderDnsRecord; } export interface DnsPlan { domain: string; creates: number; updates: number; deletes: number; unchanged: number; operations: DnsPlanOperation[]; } export type DnsApplyBlockReason = "confirmation-required" | "delete-confirmation-required" | "delete-apply-unsupported"; export declare function normalizeDnsRecord(record: ProviderDnsRecord, domain: string): ProviderDnsRecord; export declare function parseDesiredDnsState(input: string, domainHint?: string): DesiredDnsState; export declare function createDnsPlan(domain: string, current: ProviderDnsRecord[], desired: ProviderDnsRecord[]): DnsPlan; export declare function planHasChanges(plan: DnsPlan): boolean; export declare function selectChangedDnsRecords(plan: DnsPlan, desired: ProviderDnsRecord[]): ProviderDnsRecord[]; export declare function getDnsApplyBlockReason(plan: DnsPlan, opts: { yes?: boolean; allowDelete?: boolean; }, deleteSupported?: boolean): DnsApplyBlockReason | undefined; //# sourceMappingURL=dns-plan.d.ts.map