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.44 kB
/** * Domain provisioning daemon — reconciles a set of domains toward `ready`. * * Each tick: gather live signals per domain, derive its lifecycle state, and run * the next action (register / create_cf_zone / delegate_ns / check_ns_propagation * / verify_dns / finalize). Signals + actions are injected so the loop is fully * testable; the CLI wires real Route53/Cloudflare/DNS calls. State is derived * live (no separate persistence needed), so a restart simply re-derives. */ import { type DomainSignals, type DomainProvAction } from "./provision-state.js"; export interface DomainReconcileDeps { gatherSignals: (domain: string) => Promise<DomainSignals>; runAction: (domain: string, action: DomainProvAction) => Promise<void>; log?: (event: string, detail: Record<string, unknown>) => void; } export interface DomainReconcileSummary { processed: number; advanced: number; ready: number; errors: number; } export declare function reconcileDomainTick(domains: string[], deps: DomainReconcileDeps): Promise<DomainReconcileSummary>; export interface DomainDaemonOptions extends DomainReconcileDeps { intervalSec?: number; maxTicks?: number; shouldStop?: () => boolean; sleep?: (ms: number) => Promise<void>; } export declare function runDomainDaemon(domains: () => Promise<string[]>, opts: DomainDaemonOptions): Promise<DomainReconcileSummary>; //# sourceMappingURL=domain-daemon.d.ts.map