@hasna/domains 0.0.8 → 0.0.10
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/LICENSE +191 -0
- package/README.md +15 -0
- package/dist/cli/commands/domain.d.ts.map +1 -1
- package/dist/cli/commands/domains.d.ts.map +1 -1
- package/dist/cli/commands/history.d.ts +3 -0
- package/dist/cli/commands/history.d.ts.map +1 -0
- package/dist/cli/commands/outreach.d.ts +3 -0
- package/dist/cli/commands/outreach.d.ts.map +1 -0
- package/dist/cli/commands/owner.d.ts +3 -0
- package/dist/cli/commands/owner.d.ts.map +1 -0
- package/dist/cli/commands/research.d.ts +3 -0
- package/dist/cli/commands/research.d.ts.map +1 -0
- package/dist/cli/commands/sedo.d.ts +3 -0
- package/dist/cli/commands/sedo.d.ts.map +1 -0
- package/dist/cli/commands/wallet.d.ts +29 -0
- package/dist/cli/commands/wallet.d.ts.map +1 -0
- package/dist/cli/index.js +25851 -32666
- package/dist/db/dns-tools.d.ts +70 -1
- package/dist/db/dns-tools.d.ts.map +1 -1
- package/dist/db/domain-history.d.ts +80 -0
- package/dist/db/domain-history.d.ts.map +1 -0
- package/dist/db/domain-owners.d.ts +80 -0
- package/dist/db/domain-owners.d.ts.map +1 -0
- package/dist/db/domain-records.d.ts +105 -4
- package/dist/db/domain-records.d.ts.map +1 -1
- package/dist/db/domain-reputation.d.ts +80 -0
- package/dist/db/domain-reputation.d.ts.map +1 -0
- package/dist/db/domain-research.d.ts +51 -0
- package/dist/db/domain-research.d.ts.map +1 -0
- package/dist/db/domains.d.ts +2 -2
- package/dist/db/domains.d.ts.map +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/monitoring.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +688 -9662
- package/dist/lib/brandsight.d.ts.map +1 -1
- package/dist/lib/registrar.d.ts +4 -0
- package/dist/lib/registrar.d.ts.map +1 -1
- package/dist/lib/route53.d.ts.map +1 -1
- package/dist/lib/sedo.d.ts +108 -0
- package/dist/lib/sedo.d.ts.map +1 -0
- package/dist/mcp/http.d.ts +17 -0
- package/dist/mcp/http.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +2 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +2264 -10724
- package/package.json +4 -2
package/dist/db/dns-tools.d.ts
CHANGED
|
@@ -1,14 +1,83 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* DNS tools: WHOIS lookup, DNS propagation, SSL check, zone file import/export,
|
|
2
|
+
* DNS tools: WHOIS/RDAP lookup, DNS propagation, SSL check, zone file import/export,
|
|
3
3
|
* subdomain discovery, and DNS validation
|
|
4
4
|
*/
|
|
5
5
|
import { type DnsRecord } from "./dns-records.js";
|
|
6
|
+
export interface RdapEntity {
|
|
7
|
+
handle?: string;
|
|
8
|
+
vcardArray?: [string, unknown[]];
|
|
9
|
+
roles?: string[];
|
|
10
|
+
entities?: RdapEntity[];
|
|
11
|
+
remarks?: {
|
|
12
|
+
title?: string;
|
|
13
|
+
description?: string | string[];
|
|
14
|
+
}[];
|
|
15
|
+
}
|
|
16
|
+
export interface RdapNameserver {
|
|
17
|
+
ldhName?: string;
|
|
18
|
+
unicodeName?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface RdapEvent {
|
|
21
|
+
eventAction: string;
|
|
22
|
+
eventDate?: string;
|
|
23
|
+
eventActor?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface RdapResponse {
|
|
26
|
+
handle?: string;
|
|
27
|
+
rdapConformance?: string[];
|
|
28
|
+
status?: string[];
|
|
29
|
+
entities?: RdapEntity[];
|
|
30
|
+
nameservers?: RdapNameserver[];
|
|
31
|
+
events?: RdapEvent[];
|
|
32
|
+
links?: {
|
|
33
|
+
rel: string;
|
|
34
|
+
href: string;
|
|
35
|
+
type?: string;
|
|
36
|
+
}[];
|
|
37
|
+
[key: string]: unknown;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Query RDAP for a domain via rdap.org public bootstrap.
|
|
41
|
+
* Returns structured JSON with registrant, registrar, expiry, nameservers.
|
|
42
|
+
* Throws if the RDAP server returns an error.
|
|
43
|
+
*/
|
|
44
|
+
export declare function rdapLookup(domainName: string): Promise<RdapResponse>;
|
|
45
|
+
/**
|
|
46
|
+
* Extract registrant contact info from RDAP entities.
|
|
47
|
+
* Looks for entities with role "registrant" and parses vCard data.
|
|
48
|
+
*/
|
|
49
|
+
export declare function extractRegistrantFromRdap(rdap: RdapResponse): {
|
|
50
|
+
name: string | null;
|
|
51
|
+
email: string | null;
|
|
52
|
+
phone: string | null;
|
|
53
|
+
organization: string | null;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Extract registrar name from RDAP data.
|
|
57
|
+
* Looks for entities with role "registrar" or "sponsor".
|
|
58
|
+
*/
|
|
59
|
+
export declare function extractRegistrarFromRdap(rdap: RdapResponse): string | null;
|
|
60
|
+
/**
|
|
61
|
+
* Extract expiry date from RDAP events.
|
|
62
|
+
*/
|
|
63
|
+
export declare function extractExpiryFromRdap(rdap: RdapResponse): string | null;
|
|
64
|
+
/**
|
|
65
|
+
* Extract nameservers from RDAP response.
|
|
66
|
+
*/
|
|
67
|
+
export declare function extractNameserversFromRdap(rdap: RdapResponse): string[];
|
|
6
68
|
export interface WhoisResult {
|
|
7
69
|
domain: string;
|
|
8
70
|
registrar: string | null;
|
|
9
71
|
expires_at: string | null;
|
|
10
72
|
nameservers: string[];
|
|
11
73
|
raw: string;
|
|
74
|
+
source: "rdap" | "cli";
|
|
75
|
+
registrant: {
|
|
76
|
+
name: string | null;
|
|
77
|
+
email: string | null;
|
|
78
|
+
phone: string | null;
|
|
79
|
+
organization: string | null;
|
|
80
|
+
};
|
|
12
81
|
}
|
|
13
82
|
export declare function whoisLookup(domainName: string): WhoisResult;
|
|
14
83
|
export interface DnsPropagationResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dns-tools.d.ts","sourceRoot":"","sources":["../../src/db/dns-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"dns-tools.d.ts","sourceRoot":"","sources":["../../src/db/dns-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain History — tracks WHOIS/RDAP/DNS/SSL snapshots over time per domain.
|
|
3
|
+
* Each lookup creates a historical record so we can track ownership changes,
|
|
4
|
+
* registrar changes, nameserver changes, etc.
|
|
5
|
+
*/
|
|
6
|
+
export interface DomainHistory {
|
|
7
|
+
id: string;
|
|
8
|
+
domain_id: string;
|
|
9
|
+
snapshot_type: DomainHistoryType;
|
|
10
|
+
raw_data: Record<string, unknown>;
|
|
11
|
+
registrant_name: string | null;
|
|
12
|
+
registrant_email: string | null;
|
|
13
|
+
registrant_org: string | null;
|
|
14
|
+
nameservers: string[];
|
|
15
|
+
registrar: string | null;
|
|
16
|
+
status: string | null;
|
|
17
|
+
notes: string | null;
|
|
18
|
+
created_at: string;
|
|
19
|
+
}
|
|
20
|
+
export type DomainHistoryType = (typeof HISTORY_TYPES)[number];
|
|
21
|
+
export declare const HISTORY_TYPES: readonly ["whois", "rdap", "dns", "ssl", "reputation", "exa_research", "purchase", "renewal"];
|
|
22
|
+
export interface CreateHistoryEntryInput {
|
|
23
|
+
domain_id: string;
|
|
24
|
+
snapshot_type: DomainHistoryType;
|
|
25
|
+
raw_data?: Record<string, unknown>;
|
|
26
|
+
registrant_name?: string;
|
|
27
|
+
registrant_email?: string;
|
|
28
|
+
registrant_org?: string;
|
|
29
|
+
nameservers?: string[];
|
|
30
|
+
registrar?: string;
|
|
31
|
+
status?: string;
|
|
32
|
+
notes?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create a new history entry for a domain.
|
|
36
|
+
*/
|
|
37
|
+
export declare function createHistoryEntry(input: CreateHistoryEntryInput): DomainHistory;
|
|
38
|
+
/**
|
|
39
|
+
* Get a single history entry by ID.
|
|
40
|
+
*/
|
|
41
|
+
export declare function getHistoryEntry(id: string): DomainHistory | null;
|
|
42
|
+
/**
|
|
43
|
+
* Get all history entries for a domain, newest first.
|
|
44
|
+
*/
|
|
45
|
+
export declare function getHistoryByDomain(domainId: string, options?: {
|
|
46
|
+
type?: DomainHistoryType;
|
|
47
|
+
limit?: number;
|
|
48
|
+
}): DomainHistory[];
|
|
49
|
+
/**
|
|
50
|
+
* Get history entries within a date range.
|
|
51
|
+
*/
|
|
52
|
+
export declare function getHistoryByDateRange(startDate: string, endDate: string, domainId?: string): DomainHistory[];
|
|
53
|
+
/**
|
|
54
|
+
* Get the latest snapshot of a given type for a domain.
|
|
55
|
+
*/
|
|
56
|
+
export declare function getLatestSnapshot(domainId: string, type: DomainHistoryType): DomainHistory | null;
|
|
57
|
+
/**
|
|
58
|
+
* Get the latest history entry for a domain by domain name.
|
|
59
|
+
*/
|
|
60
|
+
export declare function getLatestByDomainName(domainName: string, type?: DomainHistoryType): DomainHistory | null;
|
|
61
|
+
/**
|
|
62
|
+
* List all domains that have any history entries.
|
|
63
|
+
* Returns structured data with the domain name and latest snapshot info.
|
|
64
|
+
*/
|
|
65
|
+
export declare function listDomainsWithHistoryChanges(): {
|
|
66
|
+
domain_id: string;
|
|
67
|
+
domain_name: string;
|
|
68
|
+
latest_snapshot_type: string;
|
|
69
|
+
latest_snapshot_at: string;
|
|
70
|
+
snapshot_count: number;
|
|
71
|
+
}[];
|
|
72
|
+
/**
|
|
73
|
+
* Delete a history entry.
|
|
74
|
+
*/
|
|
75
|
+
export declare function deleteHistoryEntry(id: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Delete all history for a domain.
|
|
78
|
+
*/
|
|
79
|
+
export declare function deleteHistoryByDomain(domainId: string): boolean;
|
|
80
|
+
//# sourceMappingURL=domain-history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-history.d.ts","sourceRoot":"","sources":["../../src/db/domain-history.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,aAAa,+FAShB,CAAC;AA0BX,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,uBAAuB,GAC7B,aAAa,CAsBf;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAMhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,aAAa,EAAE,CAsBjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,aAAa,EAAE,CAiBjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,aAAa,GAAG,IAAI,CAMtB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,iBAAiB,GACvB,aAAa,GAAG,IAAI,CAOtB;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB,EAAE,CAwBF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAMtD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAM/D"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain owner tracking — links premium/unavailable domains to their owners
|
|
3
|
+
* via open-contacts integration or local owner records.
|
|
4
|
+
*/
|
|
5
|
+
export interface DomainOwner {
|
|
6
|
+
id: string;
|
|
7
|
+
domain_id: string;
|
|
8
|
+
contact_id: string | null;
|
|
9
|
+
owner_name: string | null;
|
|
10
|
+
owner_email: string | null;
|
|
11
|
+
owner_phone: string | null;
|
|
12
|
+
owner_organization: string | null;
|
|
13
|
+
source: DomainOwnerSource;
|
|
14
|
+
verified: boolean;
|
|
15
|
+
notes: string | null;
|
|
16
|
+
created_at: string;
|
|
17
|
+
updated_at: string;
|
|
18
|
+
}
|
|
19
|
+
export type DomainOwnerSource = (typeof DOMAIN_OWNER_SOURCES)[number];
|
|
20
|
+
export declare const DOMAIN_OWNER_SOURCES: readonly ["whois", "manual", "brandsight", "import"];
|
|
21
|
+
export interface CreateDomainOwnerInput {
|
|
22
|
+
domain_id: string;
|
|
23
|
+
contact_id?: string;
|
|
24
|
+
owner_name?: string;
|
|
25
|
+
owner_email?: string;
|
|
26
|
+
owner_phone?: string;
|
|
27
|
+
owner_organization?: string;
|
|
28
|
+
source?: DomainOwnerSource;
|
|
29
|
+
verified?: boolean;
|
|
30
|
+
notes?: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function createDomainOwner(input: CreateDomainOwnerInput): DomainOwner;
|
|
33
|
+
export declare function getDomainOwner(id: string): DomainOwner | null;
|
|
34
|
+
export declare function getDomainOwnerByDomain(domainId: string): DomainOwner | null;
|
|
35
|
+
export declare function getDomainOwnerByDomainName(domainName: string): DomainOwner | null;
|
|
36
|
+
export declare function listDomainOwners(options?: {
|
|
37
|
+
search?: string;
|
|
38
|
+
source?: DomainOwnerSource;
|
|
39
|
+
verified?: boolean;
|
|
40
|
+
}): DomainOwner[];
|
|
41
|
+
export declare function updateDomainOwner(id: string, input: Partial<CreateDomainOwnerInput>): DomainOwner | null;
|
|
42
|
+
export declare function deleteDomainOwner(id: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Extract owner info from WHOIS data (RDAP JSON or CLI raw text) and create/update a domain owner record.
|
|
45
|
+
*/
|
|
46
|
+
export declare function extractOwnerFromWhois(domainName: string, whoisData: string): DomainOwner | null;
|
|
47
|
+
/**
|
|
48
|
+
* Create a contact in open-contacts for a domain owner and link them.
|
|
49
|
+
* Returns the contact_id from open-contacts.
|
|
50
|
+
*/
|
|
51
|
+
export declare function linkOwnerToContacts(domainId: string, contactsDbFns: {
|
|
52
|
+
createContact: (input: {
|
|
53
|
+
first_name: string;
|
|
54
|
+
last_name?: string;
|
|
55
|
+
email?: string;
|
|
56
|
+
phone?: string;
|
|
57
|
+
job_title?: string;
|
|
58
|
+
source: string;
|
|
59
|
+
notes?: string;
|
|
60
|
+
}) => {
|
|
61
|
+
id: string;
|
|
62
|
+
};
|
|
63
|
+
getContactByEmail: (email: string) => {
|
|
64
|
+
id: string;
|
|
65
|
+
} | null;
|
|
66
|
+
}): string | null;
|
|
67
|
+
export interface DomainWithOwner {
|
|
68
|
+
domain_name: string;
|
|
69
|
+
domain_status: string;
|
|
70
|
+
is_premium: boolean;
|
|
71
|
+
premium_price: number | null;
|
|
72
|
+
owner_name: string | null;
|
|
73
|
+
owner_email: string | null;
|
|
74
|
+
owner_organization: string | null;
|
|
75
|
+
contact_id: string | null;
|
|
76
|
+
source: DomainOwnerSource | null;
|
|
77
|
+
verified: boolean;
|
|
78
|
+
}
|
|
79
|
+
export declare function listDomainsWithOwners(): DomainWithOwner[];
|
|
80
|
+
//# sourceMappingURL=domain-owners.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-owners.d.ts","sourceRoot":"","sources":["../../src/db/domain-owners.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,15 @@ export interface Domain {
|
|
|
5
5
|
id: string;
|
|
6
6
|
name: string;
|
|
7
7
|
registrar: string | null;
|
|
8
|
-
status:
|
|
8
|
+
status: DomainStatus;
|
|
9
9
|
registered_at: string | null;
|
|
10
10
|
expires_at: string | null;
|
|
11
11
|
auto_renew: boolean;
|
|
12
|
+
is_premium: boolean;
|
|
13
|
+
premium_price: number | null;
|
|
14
|
+
standard_price: number | null;
|
|
15
|
+
purchase_price: number | null;
|
|
16
|
+
purchase_date: string | null;
|
|
12
17
|
nameservers: string[];
|
|
13
18
|
whois: Record<string, unknown>;
|
|
14
19
|
ssl_expires_at: string | null;
|
|
@@ -26,6 +31,11 @@ interface DomainRow {
|
|
|
26
31
|
registered_at: string | null;
|
|
27
32
|
expires_at: string | null;
|
|
28
33
|
auto_renew: number;
|
|
34
|
+
is_premium: number;
|
|
35
|
+
premium_price: number | null;
|
|
36
|
+
standard_price: number | null;
|
|
37
|
+
purchase_price: number | null;
|
|
38
|
+
purchase_date: string | null;
|
|
29
39
|
nameservers: string;
|
|
30
40
|
whois: string;
|
|
31
41
|
ssl_expires_at: string | null;
|
|
@@ -35,14 +45,25 @@ interface DomainRow {
|
|
|
35
45
|
created_at: string;
|
|
36
46
|
updated_at: string;
|
|
37
47
|
}
|
|
48
|
+
export declare const DOMAIN_STATUSES: readonly ["discovered", "researching", "offered", "negotiating", "purchased", "active", "not_available", "premium_only", "declined", "expired", "transferring", "redemption"];
|
|
49
|
+
export type DomainStatus = (typeof DOMAIN_STATUSES)[number];
|
|
50
|
+
export declare const DOMAIN_OFFER_STATUSES: readonly ["pending", "accepted", "rejected", "countered"];
|
|
51
|
+
export type DomainOfferStatus = (typeof DOMAIN_OFFER_STATUSES)[number];
|
|
52
|
+
export declare const DOMAIN_EMAIL_TYPES: readonly ["inquiry", "offer", "counter_offer", "confirmation", "renewal_notice", "transfer"];
|
|
53
|
+
export type DomainEmailType = (typeof DOMAIN_EMAIL_TYPES)[number];
|
|
38
54
|
export declare function rowToDomain(row: DomainRow): Domain;
|
|
39
55
|
export interface CreateDomainInput {
|
|
40
56
|
name: string;
|
|
41
57
|
registrar?: string;
|
|
42
|
-
status?:
|
|
58
|
+
status?: DomainStatus;
|
|
43
59
|
registered_at?: string;
|
|
44
60
|
expires_at?: string;
|
|
45
61
|
auto_renew?: boolean;
|
|
62
|
+
is_premium?: boolean;
|
|
63
|
+
premium_price?: number;
|
|
64
|
+
standard_price?: number;
|
|
65
|
+
purchase_price?: number;
|
|
66
|
+
purchase_date?: string;
|
|
46
67
|
nameservers?: string[];
|
|
47
68
|
whois?: Record<string, unknown>;
|
|
48
69
|
ssl_expires_at?: string;
|
|
@@ -52,10 +73,12 @@ export interface CreateDomainInput {
|
|
|
52
73
|
}
|
|
53
74
|
export declare function createDomain(input: CreateDomainInput): Domain;
|
|
54
75
|
export declare function getDomain(id: string): Domain | null;
|
|
76
|
+
export declare function getDomainByIdentifier(identifier: string): Domain | null;
|
|
55
77
|
export interface ListDomainsOptions {
|
|
56
78
|
search?: string;
|
|
57
|
-
status?:
|
|
79
|
+
status?: DomainStatus;
|
|
58
80
|
registrar?: string;
|
|
81
|
+
is_premium?: boolean;
|
|
59
82
|
limit?: number;
|
|
60
83
|
offset?: number;
|
|
61
84
|
}
|
|
@@ -63,10 +86,15 @@ export declare function listDomains(options?: ListDomainsOptions): Domain[];
|
|
|
63
86
|
export interface UpdateDomainInput {
|
|
64
87
|
name?: string;
|
|
65
88
|
registrar?: string;
|
|
66
|
-
status?:
|
|
89
|
+
status?: DomainStatus;
|
|
67
90
|
registered_at?: string;
|
|
68
91
|
expires_at?: string;
|
|
69
92
|
auto_renew?: boolean;
|
|
93
|
+
is_premium?: boolean;
|
|
94
|
+
premium_price?: number | null;
|
|
95
|
+
standard_price?: number | null;
|
|
96
|
+
purchase_price?: number | null;
|
|
97
|
+
purchase_date?: string | null;
|
|
70
98
|
nameservers?: string[];
|
|
71
99
|
whois?: Record<string, unknown>;
|
|
72
100
|
ssl_expires_at?: string;
|
|
@@ -93,5 +121,78 @@ export interface DomainStats {
|
|
|
93
121
|
}
|
|
94
122
|
export declare function getDomainStats(): DomainStats;
|
|
95
123
|
export declare function getDomainByName(name: string): Domain | null;
|
|
124
|
+
export interface DomainOffer {
|
|
125
|
+
id: string;
|
|
126
|
+
domain_id: string;
|
|
127
|
+
our_offer: number | null;
|
|
128
|
+
their_ask: number | null;
|
|
129
|
+
status: DomainOfferStatus;
|
|
130
|
+
notes: string | null;
|
|
131
|
+
created_at: string;
|
|
132
|
+
}
|
|
133
|
+
interface DomainOfferRow {
|
|
134
|
+
id: string;
|
|
135
|
+
domain_id: string;
|
|
136
|
+
our_offer: number | null;
|
|
137
|
+
their_ask: number | null;
|
|
138
|
+
status: string;
|
|
139
|
+
notes: string | null;
|
|
140
|
+
created_at: string;
|
|
141
|
+
}
|
|
142
|
+
export interface CreateDomainOfferInput {
|
|
143
|
+
domain_id: string;
|
|
144
|
+
our_offer?: number;
|
|
145
|
+
their_ask?: number;
|
|
146
|
+
status?: DomainOfferStatus;
|
|
147
|
+
notes?: string;
|
|
148
|
+
}
|
|
149
|
+
export declare function rowToDomainOffer(row: DomainOfferRow): DomainOffer;
|
|
150
|
+
export declare function createDomainOffer(input: CreateDomainOfferInput): DomainOffer;
|
|
151
|
+
export declare function getDomainOffer(id: string): DomainOffer | null;
|
|
152
|
+
export declare function listDomainOffers(domainId: string): DomainOffer[];
|
|
153
|
+
export interface DomainEmailLink {
|
|
154
|
+
id: string;
|
|
155
|
+
domain_id: string;
|
|
156
|
+
email_id: string;
|
|
157
|
+
thread_id: string | null;
|
|
158
|
+
type: DomainEmailType;
|
|
159
|
+
created_at: string;
|
|
160
|
+
}
|
|
161
|
+
interface DomainEmailLinkRow {
|
|
162
|
+
id: string;
|
|
163
|
+
domain_id: string;
|
|
164
|
+
email_id: string;
|
|
165
|
+
thread_id: string | null;
|
|
166
|
+
type: string;
|
|
167
|
+
created_at: string;
|
|
168
|
+
}
|
|
169
|
+
export interface CreateDomainEmailLinkInput {
|
|
170
|
+
domain_id: string;
|
|
171
|
+
email_id: string;
|
|
172
|
+
thread_id?: string;
|
|
173
|
+
type: DomainEmailType;
|
|
174
|
+
}
|
|
175
|
+
export declare function rowToDomainEmailLink(row: DomainEmailLinkRow): DomainEmailLink;
|
|
176
|
+
export declare function linkDomainEmail(input: CreateDomainEmailLinkInput): DomainEmailLink;
|
|
177
|
+
export declare function getDomainEmailLink(id: string): DomainEmailLink | null;
|
|
178
|
+
export declare function listDomainEmailLinks(domainId: string): DomainEmailLink[];
|
|
179
|
+
export interface DomainDetails {
|
|
180
|
+
domain: Domain;
|
|
181
|
+
offers: DomainOffer[];
|
|
182
|
+
emails: DomainEmailLink[];
|
|
183
|
+
}
|
|
184
|
+
export declare function getDomainDetails(identifier: string): DomainDetails | null;
|
|
185
|
+
export declare function markDomainPremium(identifier: string, premiumPrice: number, standardPrice?: number): Domain | null;
|
|
186
|
+
export declare function updateDomainLifecycleStatus(identifier: string, status: DomainStatus, notes?: string): Domain | null;
|
|
187
|
+
export interface RecordDomainPurchaseInput {
|
|
188
|
+
price: number;
|
|
189
|
+
registrar: string;
|
|
190
|
+
purchase_date?: string;
|
|
191
|
+
expires_at?: string;
|
|
192
|
+
auto_renew?: boolean;
|
|
193
|
+
notes?: string;
|
|
194
|
+
standard_price?: number;
|
|
195
|
+
}
|
|
196
|
+
export declare function recordDomainPurchase(identifier: string, input: RecordDomainPurchaseInput): Domain | null;
|
|
96
197
|
export {};
|
|
97
198
|
//# sourceMappingURL=domain-records.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-records.d.ts","sourceRoot":"","sources":["../../src/db/domain-records.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"domain-records.d.ts","sourceRoot":"","sources":["../../src/db/domain-records.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Reputation — tracks blacklist status, threat scores, and
|
|
3
|
+
* security reputation for domains.
|
|
4
|
+
*/
|
|
5
|
+
export interface DomainReputation {
|
|
6
|
+
id: string;
|
|
7
|
+
domain_id: string;
|
|
8
|
+
is_blacklisted: boolean;
|
|
9
|
+
blacklist_sources: string[];
|
|
10
|
+
threat_score: number | null;
|
|
11
|
+
spam_score: number | null;
|
|
12
|
+
malware_detected: boolean;
|
|
13
|
+
phishing_detected: boolean;
|
|
14
|
+
reputation_sources: string[];
|
|
15
|
+
last_checked_at: string | null;
|
|
16
|
+
notes: string | null;
|
|
17
|
+
created_at: string;
|
|
18
|
+
updated_at: string;
|
|
19
|
+
}
|
|
20
|
+
export interface CreateReputationInput {
|
|
21
|
+
domain_id: string;
|
|
22
|
+
is_blacklisted?: boolean;
|
|
23
|
+
blacklist_sources?: string[];
|
|
24
|
+
threat_score?: number;
|
|
25
|
+
spam_score?: number;
|
|
26
|
+
malware_detected?: boolean;
|
|
27
|
+
phishing_detected?: boolean;
|
|
28
|
+
reputation_sources?: string[];
|
|
29
|
+
last_checked_at?: string;
|
|
30
|
+
notes?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Create or update a reputation record for a domain.
|
|
34
|
+
*/
|
|
35
|
+
export declare function upsertDomainReputation(input: CreateReputationInput): DomainReputation;
|
|
36
|
+
/**
|
|
37
|
+
* Get reputation for a domain.
|
|
38
|
+
*/
|
|
39
|
+
export declare function getDomainReputation(domainId: string): DomainReputation | null;
|
|
40
|
+
/**
|
|
41
|
+
* Get reputation by domain name.
|
|
42
|
+
*/
|
|
43
|
+
export declare function getDomainReputationByName(domainName: string): DomainReputation | null;
|
|
44
|
+
/**
|
|
45
|
+
* Update reputation record.
|
|
46
|
+
*/
|
|
47
|
+
export declare function updateDomainReputation(id: string, input: Partial<CreateReputationInput>): DomainReputation | null;
|
|
48
|
+
/**
|
|
49
|
+
* List all blacklisted domains.
|
|
50
|
+
*/
|
|
51
|
+
export declare function listBlacklistedDomains(): DomainReputation[];
|
|
52
|
+
/**
|
|
53
|
+
* List domains with threat score above a threshold.
|
|
54
|
+
*/
|
|
55
|
+
export declare function listHighThreatDomains(threshold?: number): DomainReputation[];
|
|
56
|
+
/**
|
|
57
|
+
* Check domain against common DNS-based blacklists (DNSBL zones).
|
|
58
|
+
* Returns a list of zones where the domain is listed.
|
|
59
|
+
*/
|
|
60
|
+
export declare function checkDnsBlacklist(domainName: string): {
|
|
61
|
+
listed: boolean;
|
|
62
|
+
zones: string[];
|
|
63
|
+
details: string[];
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Run a full reputation check on a domain and save the results.
|
|
67
|
+
* Combines DNS blacklist check with history tracking.
|
|
68
|
+
*/
|
|
69
|
+
export declare function checkDomainReputation(domainName: string): {
|
|
70
|
+
reputation: DomainReputation | null;
|
|
71
|
+
dnsBlacklist: {
|
|
72
|
+
listed: boolean;
|
|
73
|
+
zones: string[];
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Delete reputation record.
|
|
78
|
+
*/
|
|
79
|
+
export declare function deleteDomainReputation(id: string): boolean;
|
|
80
|
+
//# sourceMappingURL=domain-reputation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-reputation.d.ts","sourceRoot":"","sources":["../../src/db/domain-reputation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AA6BD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,qBAAqB,GAC3B,gBAAgB,CA4BlB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GACf,gBAAgB,GAAG,IAAI,CAMzB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,GACjB,gBAAgB,GAAG,IAAI,CAIzB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACpC,gBAAgB,GAAG,IAAI,CAwDzB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,EAAE,CAQ3D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,GAAE,MAAW,GAAG,gBAAgB,EAAE,CAQhF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GACjB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAczD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG;IACzD,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACpD,CA2BA;AAQD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAM1D"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Research — Exa AI integration for deep domain research.
|
|
3
|
+
* Uses the Exa connector to search for domain ownership info, company details,
|
|
4
|
+
* and historical context.
|
|
5
|
+
*/
|
|
6
|
+
import { type DomainHistory } from "./domain-history.js";
|
|
7
|
+
export interface ExaSearchResult {
|
|
8
|
+
title: string;
|
|
9
|
+
url: string;
|
|
10
|
+
text: string;
|
|
11
|
+
score: number;
|
|
12
|
+
publishedDate?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ExaCompanyResult {
|
|
15
|
+
name: string;
|
|
16
|
+
domain: string;
|
|
17
|
+
description: string;
|
|
18
|
+
industry?: string;
|
|
19
|
+
size?: string;
|
|
20
|
+
founded?: string;
|
|
21
|
+
location?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ExaResearchResult {
|
|
24
|
+
domain: string;
|
|
25
|
+
summary: string | null;
|
|
26
|
+
results: ExaSearchResult[];
|
|
27
|
+
companies: ExaCompanyResult[];
|
|
28
|
+
ownerId: string | null;
|
|
29
|
+
savedHistory: DomainHistory | null;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Search for domain ownership and company information using Exa.
|
|
33
|
+
*/
|
|
34
|
+
export declare function searchDomainWithExa(domainName: string): Promise<{
|
|
35
|
+
results: ExaSearchResult[];
|
|
36
|
+
companies: ExaCompanyResult[];
|
|
37
|
+
}>;
|
|
38
|
+
/**
|
|
39
|
+
* Deep research on a domain using Exa's research task API.
|
|
40
|
+
* This is more expensive but provides detailed analysis.
|
|
41
|
+
*/
|
|
42
|
+
export declare function deepSearchDomain(domainName: string): Promise<string | null>;
|
|
43
|
+
/**
|
|
44
|
+
* Full domain research: search + company lookup + history save.
|
|
45
|
+
*/
|
|
46
|
+
export declare function researchDomain(domainName: string): Promise<ExaResearchResult>;
|
|
47
|
+
/**
|
|
48
|
+
* Answer a specific question about a domain using Exa.
|
|
49
|
+
*/
|
|
50
|
+
export declare function answerAboutDomain(domainName: string, question: string): Promise<string | null>;
|
|
51
|
+
//# sourceMappingURL=domain-research.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-research.d.ts","sourceRoot":"","sources":["../../src/db/domain-research.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAI7E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;CACpC;AAkBD;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACrE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B,CAAC,CA2BD;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWjF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8BnF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYxB"}
|
package/dist/db/domains.d.ts
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* This file re-exports everything from the individual modules so that
|
|
5
5
|
* existing imports continue to work without changes.
|
|
6
6
|
*/
|
|
7
|
-
export type { Domain, CreateDomainInput, UpdateDomainInput, ListDomainsOptions, DomainStats, } from "./domain-records.js";
|
|
8
|
-
export { rowToDomain, createDomain, getDomain, listDomains, updateDomain, deleteDomain, countDomains, searchDomains, getByRegistrar, listExpiring, listSslExpiring, getDomainStats, getDomainByName, } from "./domain-records.js";
|
|
7
|
+
export type { Domain, DomainStatus, CreateDomainInput, UpdateDomainInput, ListDomainsOptions, DomainStats, DomainOffer, CreateDomainOfferInput, DomainOfferStatus, DomainEmailLink, CreateDomainEmailLinkInput, DomainEmailType, DomainDetails, RecordDomainPurchaseInput, } from "./domain-records.js";
|
|
8
|
+
export { DOMAIN_STATUSES, DOMAIN_OFFER_STATUSES, DOMAIN_EMAIL_TYPES, rowToDomain, createDomain, getDomain, getDomainByIdentifier, getDomainDetails, listDomains, updateDomain, markDomainPremium, updateDomainLifecycleStatus, recordDomainPurchase, deleteDomain, countDomains, searchDomains, getByRegistrar, listExpiring, listSslExpiring, getDomainStats, getDomainByName, rowToDomainOffer, createDomainOffer, getDomainOffer, listDomainOffers, rowToDomainEmailLink, linkDomainEmail, getDomainEmailLink, listDomainEmailLinks, } from "./domain-records.js";
|
|
9
9
|
export type { DnsRecord, CreateDnsRecordInput, UpdateDnsRecordInput, } from "./dns-records.js";
|
|
10
10
|
export { rowToDnsRecord, createDnsRecord, getDnsRecord, listDnsRecords, updateDnsRecord, deleteDnsRecord, } from "./dns-records.js";
|
|
11
11
|
export type { Alert, CreateAlertInput, } from "./alerts.js";
|
package/dist/db/domains.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../src/db/domains.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,MAAM,EACN,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,
|
|
1
|
+
{"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../src/db/domains.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,0BAA0B,EAC1B,eAAe,EACf,aAAa,EACb,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,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,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,SAAS,EACT,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,KAAK,EACL,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,UAAU,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,UAAU,EAAE,cAAc,EA+PtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitoring.d.ts","sourceRoot":"","sources":["../../src/db/monitoring.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,wBAAgB,eAAe,CAAC,MAAM,GAAE,KAAK,GAAG,MAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"monitoring.d.ts","sourceRoot":"","sources":["../../src/db/monitoring.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,wBAAgB,eAAe,CAAC,MAAM,GAAE,KAAK,GAAG,MAAe,GAAG,MAAM,CAkEvE;AAaD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChF,GAAG,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5E;AAED,wBAAgB,eAAe,IAAI,eAAe,EAAE,CA+CnD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* open-domains — Domain portfolio and DNS management for AI agents
|
|
3
3
|
*/
|
|
4
|
-
export { createDomain, getDomain, listDomains, updateDomain, deleteDomain, countDomains, searchDomains, getByRegistrar, listExpiring, listSslExpiring, getDomainStats, getDomainByName, type Domain, type CreateDomainInput, type UpdateDomainInput, type ListDomainsOptions, type DomainStats, } from "./db/domains.js";
|
|
4
|
+
export { DOMAIN_STATUSES, DOMAIN_OFFER_STATUSES, DOMAIN_EMAIL_TYPES, createDomain, getDomain, getDomainByIdentifier, getDomainDetails, listDomains, updateDomain, markDomainPremium, updateDomainLifecycleStatus, recordDomainPurchase, deleteDomain, countDomains, searchDomains, getByRegistrar, listExpiring, listSslExpiring, getDomainStats, getDomainByName, createDomainOffer, getDomainOffer, listDomainOffers, linkDomainEmail, getDomainEmailLink, listDomainEmailLinks, type Domain, type DomainStatus, type CreateDomainInput, type UpdateDomainInput, type ListDomainsOptions, type DomainStats, type DomainOffer, type CreateDomainOfferInput, type DomainOfferStatus, type DomainEmailLink, type CreateDomainEmailLinkInput, type DomainEmailType, type DomainDetails, type RecordDomainPurchaseInput, } from "./db/domains.js";
|
|
5
5
|
export { createDnsRecord, getDnsRecord, listDnsRecords, updateDnsRecord, deleteDnsRecord, type DnsRecord, type CreateDnsRecordInput, type UpdateDnsRecordInput, } from "./db/domains.js";
|
|
6
6
|
export { createAlert, getAlert, listAlerts, deleteAlert, type Alert, type CreateAlertInput, } from "./db/domains.js";
|
|
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";
|