@hasna/domains 0.0.28 → 0.0.30

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.
Files changed (69) hide show
  1. package/dist/cli/commands/dns.d.ts.map +1 -1
  2. package/dist/cli/commands/domain.d.ts.map +1 -1
  3. package/dist/cli/commands/outreach.d.ts.map +1 -1
  4. package/dist/cli/commands/owner.d.ts.map +1 -1
  5. package/dist/cli/commands/serve.d.ts.map +1 -1
  6. package/dist/cli/commands/ssl.d.ts.map +1 -1
  7. package/dist/cli/index.js +8239 -1400
  8. package/dist/cli/tui/App.d.ts.map +1 -1
  9. package/dist/cli/tui/DomainDetail.d.ts +1 -1
  10. package/dist/cli/tui/DomainDetail.d.ts.map +1 -1
  11. package/dist/db/dns-tools.d.ts +10 -6
  12. package/dist/db/dns-tools.d.ts.map +1 -1
  13. package/dist/db/domain-owners.d.ts +6 -21
  14. package/dist/db/domain-owners.d.ts.map +1 -1
  15. package/dist/db/domain-reputation.d.ts +0 -11
  16. package/dist/db/domain-reputation.d.ts.map +1 -1
  17. package/dist/db/domain-research.d.ts +1 -1
  18. package/dist/db/domain-research.d.ts.map +1 -1
  19. package/dist/db/domains.d.ts +51 -8
  20. package/dist/db/domains.d.ts.map +1 -1
  21. package/dist/db/history.d.ts +27 -0
  22. package/dist/db/history.d.ts.map +1 -0
  23. package/dist/db/monitoring.d.ts +2 -2
  24. package/dist/db/monitoring.d.ts.map +1 -1
  25. package/dist/db/owners.d.ts +48 -0
  26. package/dist/db/owners.d.ts.map +1 -0
  27. package/dist/db/reputation.d.ts +28 -0
  28. package/dist/db/reputation.d.ts.map +1 -0
  29. package/dist/db/store.d.ts +249 -0
  30. package/dist/db/store.d.ts.map +1 -0
  31. package/dist/generated/storage-kit/index.d.ts +1 -1
  32. package/dist/index.d.ts +4 -5
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +13292 -5988
  35. package/dist/lib/brandsight.d.ts +3 -3
  36. package/dist/lib/brandsight.d.ts.map +1 -1
  37. package/dist/lib/cloudflare.js +3 -3
  38. package/dist/lib/godaddy.d.ts +3 -3
  39. package/dist/lib/godaddy.d.ts.map +1 -1
  40. package/dist/lib/namecheap.d.ts +5 -5
  41. package/dist/lib/namecheap.d.ts.map +1 -1
  42. package/dist/lib/registrar.d.ts +4 -4
  43. package/dist/lib/registrar.d.ts.map +1 -1
  44. package/dist/lib/registrar.js +17 -17
  45. package/dist/lib/route53.js +3 -3
  46. package/dist/lib/sedo.d.ts +1 -1
  47. package/dist/lib/sedo.d.ts.map +1 -1
  48. package/dist/mcp/http.d.ts +8 -3
  49. package/dist/mcp/http.d.ts.map +1 -1
  50. package/dist/mcp/index.d.ts.map +1 -1
  51. package/dist/mcp/index.js +9083 -6859
  52. package/dist/server/app.d.ts.map +1 -1
  53. package/dist/server/index.js +1014 -10
  54. package/dist/server/repo.d.ts +53 -1
  55. package/dist/server/repo.d.ts.map +1 -1
  56. package/package.json +4 -7
  57. package/dist/cli/commands/domains.d.ts +0 -3
  58. package/dist/cli/commands/domains.d.ts.map +0 -1
  59. package/dist/cli/commands/storage.d.ts +0 -3
  60. package/dist/cli/commands/storage.d.ts.map +0 -1
  61. package/dist/db/remote-storage.d.ts +0 -10
  62. package/dist/db/remote-storage.d.ts.map +0 -1
  63. package/dist/db/storage-sync.d.ts +0 -55
  64. package/dist/db/storage-sync.d.ts.map +0 -1
  65. package/dist/mcp/storage-tools.d.ts +0 -3
  66. package/dist/mcp/storage-tools.d.ts.map +0 -1
  67. package/dist/storage.d.ts +0 -5
  68. package/dist/storage.d.ts.map +0 -1
  69. package/dist/storage.js +0 -825
@@ -0,0 +1,249 @@
1
+ import { type HasnaStorageClient } from "@hasna/contracts/client/storage";
2
+ import * as records from "./domain-records.js";
3
+ import * as dns from "./dns-records.js";
4
+ import * as alertsDb from "./alerts.js";
5
+ import * as owners from "./domain-owners.js";
6
+ import * as history from "./domain-history.js";
7
+ import * as reputation from "./domain-reputation.js";
8
+ import type { CreateDomainInput, Domain, DomainDetails, DomainEmailLink, DomainOffer, DomainStats, ListDomainsOptions, RecordDomainPurchaseInput, UpdateDomainInput, CreateDomainOfferInput, CreateDomainEmailLinkInput, DomainStatus } from "./domain-records.js";
9
+ import type { DnsRecord, CreateDnsRecordInput, UpdateDnsRecordInput } from "./dns-records.js";
10
+ import type { Alert, CreateAlertInput } from "./alerts.js";
11
+ import type { DomainOwner, CreateDomainOwnerInput, DomainOwnerSource, DomainWithOwner } from "./domain-owners.js";
12
+ import type { DomainHistory, CreateHistoryEntryInput, DomainHistoryType } from "./domain-history.js";
13
+ import type { DomainReputation, CreateReputationInput } from "./domain-reputation.js";
14
+ type Env = Record<string, string | undefined>;
15
+ export interface DomainsStore {
16
+ /** Which transport backs this store (for banners/diagnostics only). */
17
+ readonly transport: "local" | "cloud-http";
18
+ createDomain(input: CreateDomainInput): Promise<Domain>;
19
+ getDomain(id: string): Promise<Domain | null>;
20
+ getDomainByName(name: string): Promise<Domain | null>;
21
+ getDomainByIdentifier(identifier: string): Promise<Domain | null>;
22
+ getDomainDetails(identifier: string): Promise<DomainDetails | null>;
23
+ listDomains(options?: ListDomainsOptions): Promise<Domain[]>;
24
+ updateDomain(id: string, input: UpdateDomainInput): Promise<Domain | null>;
25
+ deleteDomain(id: string): Promise<boolean>;
26
+ countDomains(): Promise<number>;
27
+ searchDomains(query: string): Promise<Domain[]>;
28
+ getByRegistrar(registrar: string): Promise<Domain[]>;
29
+ listExpiring(days: number): Promise<Domain[]>;
30
+ listSslExpiring(days: number): Promise<Domain[]>;
31
+ getDomainStats(): Promise<DomainStats>;
32
+ markDomainPremium(identifier: string, premiumPrice: number, standardPrice?: number): Promise<Domain | null>;
33
+ updateDomainLifecycleStatus(identifier: string, status: DomainStatus, notes?: string): Promise<Domain | null>;
34
+ recordDomainPurchase(identifier: string, input: RecordDomainPurchaseInput): Promise<Domain | null>;
35
+ createDomainOffer(input: CreateDomainOfferInput): Promise<DomainOffer>;
36
+ getDomainOffer(id: string): Promise<DomainOffer | null>;
37
+ listDomainOffers(domainId: string): Promise<DomainOffer[]>;
38
+ linkDomainEmail(input: CreateDomainEmailLinkInput): Promise<DomainEmailLink>;
39
+ getDomainEmailLink(id: string): Promise<DomainEmailLink | null>;
40
+ listDomainEmailLinks(domainId: string): Promise<DomainEmailLink[]>;
41
+ createDnsRecord(input: CreateDnsRecordInput): Promise<DnsRecord>;
42
+ getDnsRecord(id: string): Promise<DnsRecord | null>;
43
+ listDnsRecords(domainId: string, type?: DnsRecord["type"]): Promise<DnsRecord[]>;
44
+ updateDnsRecord(id: string, input: UpdateDnsRecordInput): Promise<DnsRecord | null>;
45
+ deleteDnsRecord(id: string): Promise<boolean>;
46
+ createAlert(input: CreateAlertInput): Promise<Alert>;
47
+ getAlert(id: string): Promise<Alert | null>;
48
+ listAlerts(domainId: string): Promise<Alert[]>;
49
+ deleteAlert(id: string): Promise<boolean>;
50
+ createDomainOwner(input: CreateDomainOwnerInput): Promise<DomainOwner>;
51
+ getDomainOwner(id: string): Promise<DomainOwner | null>;
52
+ getDomainOwnerByDomain(domainId: string): Promise<DomainOwner | null>;
53
+ getDomainOwnerByDomainName(domainName: string): Promise<DomainOwner | null>;
54
+ listDomainOwners(options?: {
55
+ search?: string;
56
+ source?: DomainOwnerSource;
57
+ verified?: boolean;
58
+ }): Promise<DomainOwner[]>;
59
+ updateDomainOwner(id: string, input: Partial<CreateDomainOwnerInput>): Promise<DomainOwner | null>;
60
+ deleteDomainOwner(id: string): Promise<boolean>;
61
+ listDomainsWithOwners(): Promise<DomainWithOwner[]>;
62
+ createHistoryEntry(input: CreateHistoryEntryInput): Promise<DomainHistory>;
63
+ getHistoryEntry(id: string): Promise<DomainHistory | null>;
64
+ getHistoryByDomain(domainId: string, options?: {
65
+ type?: DomainHistoryType;
66
+ limit?: number;
67
+ }): Promise<DomainHistory[]>;
68
+ getLatestSnapshot(domainId: string, type: DomainHistoryType): Promise<DomainHistory | null>;
69
+ getHistoryByDateRange(startDate: string, endDate: string, domainId?: string): Promise<DomainHistory[]>;
70
+ listDomainsWithHistoryChanges(): Promise<Array<{
71
+ domain_id: string;
72
+ domain_name: string;
73
+ latest_snapshot_type: string;
74
+ latest_snapshot_at: string;
75
+ snapshot_count: number;
76
+ }>>;
77
+ deleteHistoryEntry(id: string): Promise<boolean>;
78
+ deleteHistoryByDomain(domainId: string): Promise<boolean>;
79
+ upsertDomainReputation(input: CreateReputationInput): Promise<DomainReputation>;
80
+ getDomainReputation(domainId: string): Promise<DomainReputation | null>;
81
+ getDomainReputationByName(domainName: string): Promise<DomainReputation | null>;
82
+ updateDomainReputation(id: string, input: Partial<CreateReputationInput>): Promise<DomainReputation | null>;
83
+ listBlacklistedDomains(): Promise<DomainReputation[]>;
84
+ listHighThreatDomains(threshold?: number): Promise<DomainReputation[]>;
85
+ deleteDomainReputation(id: string): Promise<boolean>;
86
+ }
87
+ export declare class LocalStore implements DomainsStore {
88
+ readonly transport: "local";
89
+ createDomain(input: CreateDomainInput): Promise<records.Domain>;
90
+ getDomain(id: string): Promise<records.Domain | null>;
91
+ getDomainByName(name: string): Promise<records.Domain | null>;
92
+ getDomainByIdentifier(identifier: string): Promise<records.Domain | null>;
93
+ getDomainDetails(identifier: string): Promise<records.DomainDetails | null>;
94
+ listDomains(options?: ListDomainsOptions): Promise<records.Domain[]>;
95
+ updateDomain(id: string, input: UpdateDomainInput): Promise<records.Domain | null>;
96
+ deleteDomain(id: string): Promise<boolean>;
97
+ countDomains(): Promise<number>;
98
+ searchDomains(query: string): Promise<records.Domain[]>;
99
+ getByRegistrar(registrar: string): Promise<records.Domain[]>;
100
+ listExpiring(days: number): Promise<records.Domain[]>;
101
+ listSslExpiring(days: number): Promise<records.Domain[]>;
102
+ getDomainStats(): Promise<records.DomainStats>;
103
+ markDomainPremium(identifier: string, premiumPrice: number, standardPrice?: number): Promise<records.Domain | null>;
104
+ updateDomainLifecycleStatus(identifier: string, status: DomainStatus, notes?: string): Promise<records.Domain | null>;
105
+ recordDomainPurchase(identifier: string, input: RecordDomainPurchaseInput): Promise<records.Domain | null>;
106
+ createDomainOffer(input: CreateDomainOfferInput): Promise<records.DomainOffer>;
107
+ getDomainOffer(id: string): Promise<records.DomainOffer | null>;
108
+ listDomainOffers(domainId: string): Promise<records.DomainOffer[]>;
109
+ linkDomainEmail(input: CreateDomainEmailLinkInput): Promise<records.DomainEmailLink>;
110
+ getDomainEmailLink(id: string): Promise<records.DomainEmailLink | null>;
111
+ listDomainEmailLinks(domainId: string): Promise<records.DomainEmailLink[]>;
112
+ createDnsRecord(input: CreateDnsRecordInput): Promise<dns.DnsRecord>;
113
+ getDnsRecord(id: string): Promise<dns.DnsRecord | null>;
114
+ listDnsRecords(domainId: string, type?: DnsRecord["type"]): Promise<dns.DnsRecord[]>;
115
+ updateDnsRecord(id: string, input: UpdateDnsRecordInput): Promise<dns.DnsRecord | null>;
116
+ deleteDnsRecord(id: string): Promise<boolean>;
117
+ createAlert(input: CreateAlertInput): Promise<alertsDb.Alert>;
118
+ getAlert(id: string): Promise<alertsDb.Alert | null>;
119
+ listAlerts(domainId: string): Promise<alertsDb.Alert[]>;
120
+ deleteAlert(id: string): Promise<boolean>;
121
+ createDomainOwner(input: CreateDomainOwnerInput): Promise<owners.DomainOwner>;
122
+ getDomainOwner(id: string): Promise<owners.DomainOwner | null>;
123
+ getDomainOwnerByDomain(domainId: string): Promise<owners.DomainOwner | null>;
124
+ getDomainOwnerByDomainName(domainName: string): Promise<owners.DomainOwner | null>;
125
+ listDomainOwners(options?: {
126
+ search?: string;
127
+ source?: DomainOwnerSource;
128
+ verified?: boolean;
129
+ }): Promise<owners.DomainOwner[]>;
130
+ updateDomainOwner(id: string, input: Partial<CreateDomainOwnerInput>): Promise<owners.DomainOwner | null>;
131
+ deleteDomainOwner(id: string): Promise<boolean>;
132
+ listDomainsWithOwners(): Promise<owners.DomainWithOwner[]>;
133
+ createHistoryEntry(input: CreateHistoryEntryInput): Promise<history.DomainHistory>;
134
+ getHistoryEntry(id: string): Promise<history.DomainHistory | null>;
135
+ getHistoryByDomain(domainId: string, options?: {
136
+ type?: DomainHistoryType;
137
+ limit?: number;
138
+ }): Promise<history.DomainHistory[]>;
139
+ getLatestSnapshot(domainId: string, type: DomainHistoryType): Promise<history.DomainHistory | null>;
140
+ getHistoryByDateRange(startDate: string, endDate: string, domainId?: string): Promise<history.DomainHistory[]>;
141
+ listDomainsWithHistoryChanges(): Promise<{
142
+ domain_id: string;
143
+ domain_name: string;
144
+ latest_snapshot_type: string;
145
+ latest_snapshot_at: string;
146
+ snapshot_count: number;
147
+ }[]>;
148
+ deleteHistoryEntry(id: string): Promise<boolean>;
149
+ deleteHistoryByDomain(domainId: string): Promise<boolean>;
150
+ upsertDomainReputation(input: CreateReputationInput): Promise<reputation.DomainReputation>;
151
+ getDomainReputation(domainId: string): Promise<reputation.DomainReputation | null>;
152
+ getDomainReputationByName(domainName: string): Promise<reputation.DomainReputation | null>;
153
+ updateDomainReputation(id: string, input: Partial<CreateReputationInput>): Promise<reputation.DomainReputation | null>;
154
+ listBlacklistedDomains(): Promise<reputation.DomainReputation[]>;
155
+ listHighThreatDomains(threshold?: number): Promise<reputation.DomainReputation[]>;
156
+ deleteDomainReputation(id: string): Promise<boolean>;
157
+ }
158
+ export declare class ApiStore implements DomainsStore {
159
+ private readonly client;
160
+ readonly transport: "cloud-http";
161
+ constructor(client: HasnaStorageClient);
162
+ private get http();
163
+ createDomain(input: CreateDomainInput): Promise<Domain>;
164
+ getDomain(id: string): Promise<Domain | null>;
165
+ getDomainByName(name: string): Promise<Domain | null>;
166
+ getDomainByIdentifier(identifier: string): Promise<Domain | null>;
167
+ getDomainDetails(identifier: string): Promise<DomainDetails | null>;
168
+ listDomains(options?: ListDomainsOptions): Promise<Domain[]>;
169
+ updateDomain(id: string, input: UpdateDomainInput): Promise<Domain | null>;
170
+ deleteDomain(id: string): Promise<boolean>;
171
+ countDomains(): Promise<number>;
172
+ searchDomains(query: string): Promise<Domain[]>;
173
+ getByRegistrar(registrar: string): Promise<Domain[]>;
174
+ listExpiring(days: number): Promise<Domain[]>;
175
+ listSslExpiring(days: number): Promise<Domain[]>;
176
+ getDomainStats(): Promise<DomainStats>;
177
+ markDomainPremium(identifier: string, premiumPrice: number, standardPrice?: number): Promise<Domain | null>;
178
+ updateDomainLifecycleStatus(identifier: string, status: DomainStatus, notes?: string): Promise<Domain | null>;
179
+ recordDomainPurchase(identifier: string, input: RecordDomainPurchaseInput): Promise<Domain | null>;
180
+ createDomainOffer(input: CreateDomainOfferInput): Promise<DomainOffer>;
181
+ getDomainOffer(id: string): Promise<DomainOffer | null>;
182
+ listDomainOffers(domainId: string): Promise<DomainOffer[]>;
183
+ linkDomainEmail(input: CreateDomainEmailLinkInput): Promise<DomainEmailLink>;
184
+ getDomainEmailLink(id: string): Promise<DomainEmailLink | null>;
185
+ listDomainEmailLinks(domainId: string): Promise<DomainEmailLink[]>;
186
+ createDnsRecord(input: CreateDnsRecordInput): Promise<DnsRecord>;
187
+ getDnsRecord(id: string): Promise<DnsRecord | null>;
188
+ listDnsRecords(domainId: string, type?: DnsRecord["type"]): Promise<DnsRecord[]>;
189
+ updateDnsRecord(id: string, input: UpdateDnsRecordInput): Promise<DnsRecord | null>;
190
+ deleteDnsRecord(id: string): Promise<boolean>;
191
+ createAlert(input: CreateAlertInput): Promise<Alert>;
192
+ getAlert(id: string): Promise<Alert | null>;
193
+ listAlerts(domainId: string): Promise<Alert[]>;
194
+ deleteAlert(id: string): Promise<boolean>;
195
+ createDomainOwner(input: CreateDomainOwnerInput): Promise<DomainOwner>;
196
+ getDomainOwner(id: string): Promise<DomainOwner | null>;
197
+ getDomainOwnerByDomain(domainId: string): Promise<DomainOwner | null>;
198
+ getDomainOwnerByDomainName(domainName: string): Promise<DomainOwner | null>;
199
+ listDomainOwners(options?: {
200
+ search?: string;
201
+ source?: DomainOwnerSource;
202
+ verified?: boolean;
203
+ }): Promise<DomainOwner[]>;
204
+ updateDomainOwner(id: string, input: Partial<CreateDomainOwnerInput>): Promise<DomainOwner | null>;
205
+ deleteDomainOwner(id: string): Promise<boolean>;
206
+ listDomainsWithOwners(): Promise<DomainWithOwner[]>;
207
+ createHistoryEntry(input: CreateHistoryEntryInput): Promise<DomainHistory>;
208
+ getHistoryEntry(id: string): Promise<DomainHistory | null>;
209
+ getHistoryByDomain(domainId: string, options?: {
210
+ type?: DomainHistoryType;
211
+ limit?: number;
212
+ }): Promise<DomainHistory[]>;
213
+ getLatestSnapshot(domainId: string, type: DomainHistoryType): Promise<DomainHistory | null>;
214
+ getHistoryByDateRange(startDate: string, endDate: string, domainId?: string): Promise<DomainHistory[]>;
215
+ listDomainsWithHistoryChanges(): Promise<Array<{
216
+ domain_id: string;
217
+ domain_name: string;
218
+ latest_snapshot_type: string;
219
+ latest_snapshot_at: string;
220
+ snapshot_count: number;
221
+ }>>;
222
+ deleteHistoryEntry(id: string): Promise<boolean>;
223
+ deleteHistoryByDomain(domainId: string): Promise<boolean>;
224
+ upsertDomainReputation(input: CreateReputationInput): Promise<DomainReputation>;
225
+ getDomainReputation(domainId: string): Promise<DomainReputation | null>;
226
+ getDomainReputationByName(domainName: string): Promise<DomainReputation | null>;
227
+ updateDomainReputation(id: string, input: Partial<CreateReputationInput>): Promise<DomainReputation | null>;
228
+ listBlacklistedDomains(): Promise<DomainReputation[]>;
229
+ listHighThreatDomains(threshold?: number): Promise<DomainReputation[]>;
230
+ deleteDomainReputation(id: string): Promise<boolean>;
231
+ }
232
+ /**
233
+ * Return an env in which `self_hosted` is implied when the API URL + key are
234
+ * present but no explicit storage mode is set. Leaves an explicit mode
235
+ * (including `local`) untouched, so the flip stays reversible. The fleet flip
236
+ * writes only the two `HASNA_DOMAINS_API_URL` + `HASNA_DOMAINS_API_KEY` vars.
237
+ */
238
+ export declare function domainsCloudEnv(env?: Env): Env;
239
+ /**
240
+ * Resolve the active {@link DomainsStore} for the current environment. Returns an
241
+ * {@link ApiStore} when the client-flip contract resolves to cloud-http
242
+ * (self_hosted/cloud), else a {@link LocalStore}. Throws if cloud was requested
243
+ * but is misconfigured (so callers can never silently read the wrong dataset).
244
+ */
245
+ export declare function getStore(env?: Env): DomainsStore;
246
+ /** True when the resolved store is the cloud HTTP transport. */
247
+ export declare function isCloudStore(env?: Env): boolean;
248
+ export {};
249
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/db/store.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const KIT_VERSION = "0.4.1";
1
+ export declare const KIT_VERSION = "0.4.2";
2
2
  export * from "./mode.js";
3
3
  export * from "./tls.js";
4
4
  export * from "./query.js";
package/dist/index.d.ts CHANGED
@@ -5,11 +5,10 @@ export { DOMAIN_STATUSES, DOMAIN_OFFER_STATUSES, DOMAIN_EMAIL_TYPES, createDomai
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";
8
- export { getDatabase, closeDatabase } from "./db/database.js";
9
- export { PG_MIGRATIONS } from "./db/pg-migrations.js";
10
- export { PgAdapterAsync } from "./db/remote-storage.js";
11
- export { DOMAINS_STORAGE_FALLBACK_ENV, DOMAINS_STORAGE_MODE_ENV, DOMAINS_STORAGE_MODE_FALLBACK_ENV, DOMAINS_STORAGE_ENV, DOMAINS_STORAGE_TABLES, STORAGE_DATABASE_ENV, STORAGE_MODE_ENV, STORAGE_TABLES, getStorageDatabaseEnvName, getStorageDatabaseUrl, getStorageMode, getStoragePg, getStorageStatus, getStorageSyncMetaAll, getSyncMetaAll, resolveTables, runStorageMigrations, storagePull, storagePush, storageSync, } from "./db/storage-sync.js";
12
- export type { StorageMode, StorageStatus, StorageSyncMeta, StorageSyncResult, SyncMeta, SyncResult, } from "./db/storage-sync.js";
8
+ export { getStore, isCloudStore, LocalStore, ApiStore, type DomainsStore, } from "./db/store.js";
9
+ export { createDomainOwner, getDomainOwner, getDomainOwnerByDomain, getDomainOwnerByDomainName, listDomainOwners, updateDomainOwner, deleteDomainOwner, listDomainsWithOwners, extractOwnerFromWhois, linkOwnerToContacts, DOMAIN_OWNER_SOURCES, type DomainOwner, type DomainOwnerSource, type CreateDomainOwnerInput, type DomainWithOwner, } from "./db/owners.js";
10
+ export { createHistoryEntry, getHistoryEntry, getHistoryByDomain, getLatestSnapshot, getHistoryByDateRange, getLatestByDomainName, listDomainsWithHistoryChanges, deleteHistoryEntry, deleteHistoryByDomain, HISTORY_TYPES, type DomainHistory, type DomainHistoryType, type CreateHistoryEntryInput, } from "./db/history.js";
11
+ export { upsertDomainReputation, getDomainReputation, getDomainReputationByName, updateDomainReputation, listBlacklistedDomains, listHighThreatDomains, deleteDomainReputation, checkDomainReputation, checkDnsBlacklist, type DomainReputation, type CreateReputationInput, } from "./db/reputation.js";
13
12
  export { getProvider, getAvailableProviders, getProviderInfo, getDomainInventoryProvider, providerHasRegistrar, providerHasDns, providerHasInventory, syncAll, autoDetectRegistrar, type DomainInventoryProvider, type RegistrarProvider, type ProviderDnsRecord, type ProviderDomainInfo, type ProviderSyncResult, type ProviderAvailability, type ProviderInfo, type SyncAllResult, } from "./lib/registrar.js";
14
13
  export { checkAvailability as r53CheckAvailability, getTldPrice as r53GetTldPrice, listTldPrices as r53ListTldPrices, registerDomain as r53RegisterDomain, transferDomain as r53TransferDomain, getRegistrationStatus as r53GetRegistrationStatus, requestTransferOutAuthCode as r53RequestTransferOutAuthCode, updateNameservers as r53UpdateNameservers, listRegisteredDomains as r53ListRegisteredDomains, createHostedZone as r53CreateHostedZone, listHostedZones as r53ListHostedZones, getHostedZone as r53GetHostedZone, deleteHostedZone as r53DeleteHostedZone, findHostedZoneByDomain as r53FindHostedZoneByDomain, findHostedZoneByNameservers as r53FindHostedZoneByNameservers, listRecords as r53ListRecords, upsertRecord as r53UpsertRecord, upsertRecords as r53UpsertRecords, deleteRecord as r53DeleteRecord, createRoute53Provider, getConfig as r53GetConfig, type Route53Config, type DomainContactInfo, type DomainAvailability, type Route53RegistrarOptions, type Route53OperationStatus, type Route53TransferOutAuthCode, type Route53TldPrice, type RegisteredDomain, type HostedZoneInfo, type Route53ChangeOptions, type Route53ChangeResult, type Route53Record, type Route53RecordInput, } from "./lib/route53.js";
15
14
  export { createZone as cfCreateZone, getZone as cfGetZone, ensureZone as cfEnsureZone, upsertRecord as cfUpsertRecord, type CloudflareZone, } from "./lib/cloudflare.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}