UNPKG

@hasna/domains

Version:

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

34 lines • 2.52 kB
import { type TypedQueryClient } from "../generated/storage-kit/index.js"; import { type DomainProvisioningJob, type DomainDnsReconciliation, type DomainProvisioningProviderState, type DomainProvisioningRequest, type DomainProvisioningStore, type PortfolioDomainRegistration, type RegisteredDomainDetail, type HostedDnsRecord } from "../lib/provisioning.js"; export declare class DomainsProvisioningRepo implements DomainProvisioningStore { private readonly db; private readonly domains; constructor(db: TypedQueryClient); private assertCanonicalRequestHash; private resolveUniqueReservationConflict; reserve(request: DomainProvisioningRequest, requestHash: string): Promise<DomainProvisioningJob>; reserveAdoption(request: DomainProvisioningRequest, requestHash: string, detail: RegisteredDomainDetail, initialProviderState?: DomainProvisioningProviderState): Promise<DomainProvisioningJob>; get(id: string): Promise<DomainProvisioningJob | null>; getByName(name: string): Promise<DomainProvisioningJob | null>; getPortfolioRegistration(name: string): Promise<PortfolioDomainRegistration | null>; listRunnable(limit: number): Promise<DomainProvisioningJob[]>; claim(id: string, leaseToken: string, leaseUntil: string): Promise<DomainProvisioningJob | null>; update(id: string, patch: Partial<Pick<DomainProvisioningJob, "status" | "provider_state" | "attempts" | "error" | "lease_token" | "lease_until">>, leaseToken?: string): Promise<DomainProvisioningJob | null>; markPortfolioReady(job: DomainProvisioningJob, detail: RegisteredDomainDetail): Promise<void>; listDnsReconciliations(name: string, query: { id?: string; idempotency_key?: string; limit: number; offset: number; }): Promise<DomainDnsReconciliation[]>; reserveDnsReconciliation(input: { job: DomainProvisioningJob; idempotencyKey: string; requestHash: string; records: HostedDnsRecord[]; }): Promise<DomainDnsReconciliation>; withDnsZoneLock<T>(zoneId: string, work: (store: DomainProvisioningStore) => Promise<T>): Promise<T>; claimDnsReconciliation(id: string, leaseToken: string, leaseUntil: string): Promise<DomainDnsReconciliation | null>; updateDnsReconciliation(id: string, patch: Partial<Pick<DomainDnsReconciliation, "status" | "result" | "error" | "lease_token" | "lease_until">>, leaseToken: string): Promise<DomainDnsReconciliation | null>; } //# sourceMappingURL=provisioning-repo.d.ts.map