@hasna/domains
Version:
Domain portfolio, registrar, marketplace, and DNS management for AI agents — CLI + MCP + HTTP API + SDK, shared account API and PostgreSQL
48 lines • 2.29 kB
TypeScript
/**
* Routed domain-owner facade. Every operation goes through the single
* {@link DomainsStore} resolved by {@link getStore} (LocalStore or ApiStore),
* so owner reads/writes hit the same dataset the rest of the app uses. No direct
* sqlite access here; the sqlite-backed `domain-owners` module is only reached
* via the store's LocalStore transport.
*/
export type { DomainOwner, DomainOwnerSource, CreateDomainOwnerInput, DomainWithOwner, } from "./domain-owners.js";
export { DOMAIN_OWNER_SOURCES } from "./domain-owners.js";
import type { DomainOwner, DomainOwnerSource, CreateDomainOwnerInput, DomainWithOwner } from "./domain-owners.js";
export declare function createDomainOwner(input: CreateDomainOwnerInput): Promise<DomainOwner>;
export declare function getDomainOwner(id: string): Promise<DomainOwner | null>;
export declare function getDomainOwnerByDomain(domainId: string): Promise<DomainOwner | null>;
export declare function getDomainOwnerByDomainName(domainName: string): Promise<DomainOwner | null>;
export declare function listDomainOwners(options?: {
search?: string;
source?: DomainOwnerSource;
verified?: boolean;
}): Promise<DomainOwner[]>;
export declare function updateDomainOwner(id: string, input: Partial<CreateDomainOwnerInput>): Promise<DomainOwner | null>;
export declare function deleteDomainOwner(id: string): Promise<boolean>;
export declare function listDomainsWithOwners(): Promise<DomainWithOwner[]>;
/**
* Extract owner info from WHOIS/RDAP data and create/update the domain's owner
* record through the resolved store.
*/
export declare function extractOwnerFromWhois(domainName: string, whoisData: string): Promise<DomainOwner | null>;
/**
* Create a contact in open-contacts for a domain owner and link them, routing
* owner reads/writes through the store.
*/
export declare function linkOwnerToContacts(domainId: string, contactsDbFns: {
createContact: (input: {
first_name: string;
last_name?: string;
email?: string;
phone?: string;
job_title?: string;
source: string;
notes?: string;
}) => {
id: string;
};
getContactByEmail: (email: string) => {
id: string;
} | null;
}): Promise<string | null>;
//# sourceMappingURL=owners.d.ts.map